@At("/epg_recommend/list")
    @Ok("jsp:/epg_recommend_preview.jsp")
    public Object list(@Param("productId") Integer productId) {

        if (productId == null) {
            return null;
        }

        String jsonStr = HttpUtils.getJSONStr(StaticValue.config.get("epg_recommend_list_api") + "?productId=" + productId);
        JSONArray parseArray = JSONArray.parseArray(jsonStr);

        JSONObject job = null;

        List<JSONObject> result = new ArrayList<JSONObject>();

        List<JSONObject> nullResult = new ArrayList<JSONObject>();
        for (Object object : parseArray) {
            job = (JSONObject) object;
            Record record = kytvBasicDao
                .selectOne("select cd_name from kytv_resource_column_tvstation where id ="
                           + job.getLong("programId"));
            if (record != null) {
                job.put("cd_name", record.getString("cd_name"));
            } else {
                job.put("cd_name", "我竟然没有找到这个EPG的名字！");
            }

            record = kytvBasicDao.selectOne("select tv_name from kytv_resource_station where id ="
                                            + job.getLong("channelId"));
            if (record != null) {
                job.put("tv_name", record.getString("tv_name"));
            } else {
                job.put("tv_name", "我竟然没有找到这个电视台的名字！");
            }
            result.add(job);
        }

        result.addAll(nullResult);

        return result;
    }