ContentControllerApi.java 11.6 KB
package com.cnlive.shenhe.api;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.cnlive.shenhe.bean.ErrorEnum;
import com.cnlive.shenhe.bean.ResponseBean;
import com.cnlive.shenhe.entity.ShyContent;
import com.cnlive.shenhe.serviceImpl.ContentServiceImpl;
import com.cnlive.shenhe.utils.CommonConst;
import com.cnlive.shenhe.utils.CommonUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;

import java.util.Date;
import java.util.List;

/**
 * 图文审核
 *
 * @author
 */
@Controller
@RequestMapping("/api/content")
public class ContentControllerApi {
    private static Logger logger = LoggerFactory.getLogger(ContentControllerApi.class);

    @Autowired
    ContentServiceImpl contentService;

    /**
     * @author liwei
     * @Date: 2019/05/15 11:17
     * @Description: 图文送审接口
     */
    @PostMapping("/import")
    @ResponseBody
    public ResponseBean importContent(String param) {
        logger.info("图文入库,param=====" + param);
        JSONObject json = JSONObject.parseObject(param);
        //判断是否存在
        ShyContent shyContent = new ShyContent();
        String contentId = json.getString("contentId");
        shyContent.setContent_id(contentId);
        //图文标签
        shyContent.setContent_tag("content");
        //图文标签
        String contentTag = json.getString("content_tag");
        String newContentTag = StringUtils.isEmpty(contentTag) ? "content" : contentTag;
        //获取审核类型
        Integer shenheType = contentService.getShenheType(json.getInteger("spId"), newContentTag);
        List<ShyContent> contentList = contentService.findshyContent(shyContent);
        //存在则更新
        if (contentList.size() > 0) {
            ShyContent shyContent1 = contentList.get(0);
            //标题
            shyContent1.setTitle(json.getString("title"));
            //标题图片
            shyContent1.setTitle_image(json.getString("titleImage"));
            //审核类型
            shyContent1.setShenhe_type(shenheType);
            //当前图文的审核状态
            shyContent1.setContent_status(json.getInteger("contentStatus"));
            //来源
            shyContent1.setSource(json.getString("source"));
            //作者
            shyContent1.setAuthor(json.getString("author"));
            //图文内容
            shyContent1.setContent_text(json.getString("content_text"));
            //图文创建时间
            String contentTime = json.getString("contentTime");
            if (CommonUtils.isNotEmpty(contentTime)) {
                Date timestamp = CommonUtils.getTimestamp(contentTime, "yyyy-MM-dd HH:mm:ss");
                shyContent1.setContent_time(timestamp);

            }
            shyContent1.setCreate_date(CommonUtils.getCurrentTime());
            //回调地址
            shyContent1.setCallback(json.getString("callback"));
            //图文发布h5的url
            shyContent1.setContent_url(json.getString("contentUrl"));
            //图文发布pc的url
            shyContent1.setContent_pc_url(json.getString("contentPCUrl"));
            //spid
            shyContent1.setSp_id(json.getInteger("spId"));
            //图文标签
            shyContent1.setContent_tag(newContentTag);
            //领取状态
            shyContent1.setReceive_status(CommonConst.RECEIVE_BEFORE);
            //最后一次更新时间
            shyContent1.setLast_update(CommonUtils.getCurrentTime());
            boolean YorN = contentService.updateshyContent(shyContent1);
            if (YorN == true) {
                logger.info("图文同步接口更新成功:{}", contentId);
                return new ResponseBean(ErrorEnum.SUCCESS);
            } else {
                return new ResponseBean(ErrorEnum.ERROR);
            }
        }
        return saveContent(json, shyContent, shenheType);
    }

    /**
     * 保存操作
     *
     * @param json
     * @param shyContent
     * @param shenheType
     * @return
     */
    private ResponseBean saveContent(JSONObject json, ShyContent shyContent, Integer shenheType) {
        //如果不存在直接插入
        //标题
        shyContent.setTitle(json.getString("title"));
        //标题图片
        shyContent.setTitle_image(json.getString("titleImage"));
        //审核类型
        shyContent.setShenhe_type(shenheType);
        //当前图文的审核状态
        shyContent.setContent_status(json.getInteger("contentStatus"));
        //来源
        shyContent.setSource(json.getString("source"));
        //作者
        shyContent.setAuthor(json.getString("author"));
        //图文内容
        shyContent.setContent_text(json.getString("content_text"));
        //创建时间
        String contentTime = json.getString("contentTime");
        if (CommonUtils.isNotEmpty(contentTime)) {
            Date timestamp = CommonUtils.getTimestamp(contentTime, "yyyy-MM-dd HH:mm:ss");
            shyContent.setContent_time(timestamp);

        }
        String contentTag = json.getString("content_tag");
        shyContent.setContent_tag(StringUtils.isEmpty(contentTag) ? "content" : contentTag);

        shyContent.setCreate_date(CommonUtils.getCurrentTime());
        //回调地址
        shyContent.setCallback(json.getString("callback"));
        //图文发布h5的url
        shyContent.setContent_url(json.getString("contentUrl"));
        //图文发布pc的url
        shyContent.setContent_pc_url(json.getString("contentPCUrl"));
        //spid
        shyContent.setSp_id(json.getInteger("spId"));
        //领取状态
        shyContent.setReceive_status(CommonConst.RECEIVE_BEFORE);
        //最后一次更新时间
        shyContent.setLast_update(CommonUtils.getCurrentTime());
        boolean YorN = contentService.impotContent(shyContent);
        if (YorN == true) {
            logger.info("图文同步接口保存操作成功:{}", json.getString("contentId"));
            return new ResponseBean(ErrorEnum.SUCCESS);
        } else {
            return new ResponseBean(ErrorEnum.ERROR);
        }
    }


    /**
     * @author liwei
     * @Date: 2019/05/15 11:17
     * @Description: 朋友圈送审接口
     */
    @PostMapping("/importMoment")
    @ResponseBody
    public ResponseBean impotMoment(@RequestBody String param) {
        logger.info("朋友圈入库,param=====" + param);
        JSONObject json = JSONObject.parseObject(param);
        //判断是否存在
        ShyContent shyContent = new ShyContent();
        shyContent.setContent_id(json.getString("momentId"));//朋友圈id
        shyContent.setContent_tag("moment");//朋友圈标签
        List<ShyContent> contentList = contentService.findshyContent(shyContent);
        //获取审核类型
        Integer shenheType = contentService.getShenheType(json.getInteger("spId"), "moment");

        //获取生活圈内容的类型 1:图片 2:视频 3:分享
        Integer contentType = json.getInteger("contentType");
        String contentImageUrl = "";//内容图片地址
        if (contentType != null && contentType == 1) {
            JSONArray contentImageUrlList = JSONObject.parseArray(json.getString("contentImageUrl"));//朋友圈分享的内容的url
            for (int i = 0; i < contentImageUrlList.size(); i++) {
                JSONObject contentImageUrlMap = contentImageUrlList.getJSONObject(i);
                contentImageUrl += contentImageUrlMap.getString("imageUrl") + ",";
            }
            contentImageUrl = contentImageUrl.substring(0, contentImageUrl.length() - 1);//去掉最后一个逗号
        } else {
            contentImageUrl = json.getString("contentImageUrl");
        }

        //存在则更新
        if (contentList.size() > 0) {
            ShyContent shyContent1 = contentList.get(0);
            shyContent1.setTitle(json.getString("title"));//标题
            shyContent1.setTitle_image(json.getString("image"));//用户头像
            shyContent1.setShenhe_type(shenheType);//审核类型
            String contentTime = json.getString("createTime");//朋友圈内容创建时间
            if (CommonUtils.isNotEmpty(contentTime)) {
//    			Date timestamp = CommonUtils.getTimestamp(contentTime, "yyyy-MM-dd HH:mm:ss");
                shyContent1.setContent_time(new Date(Long.valueOf(contentTime)));

            }
            shyContent1.setCreate_date(CommonUtils.getCurrentTime());
            shyContent1.setCallback(json.getString("callbackUrl"));//回调地址
            shyContent1.setContent_url(json.getString("pageUrl"));//朋友圈分享的url
            shyContent1.setContent_pc_url(contentImageUrl);//朋友圈分享的内容的url,以逗号分隔
            shyContent1.setSp_id(json.getInteger("spId"));//spid
            shyContent1.setAuthor(json.getString("userId"));//用户id
            shyContent1.setSource(json.getString("nickName"));//用户昵称
            shyContent1.setVideo_id(json.getString("videoId"));//关联videoId
            shyContent1.setContent_tag("moment");//图文标签
            shyContent1.setReceive_status(CommonConst.RECEIVE_BEFORE);//领取状态
            shyContent1.setLast_update(CommonUtils.getCurrentTime());//最后一次更新时间


            boolean YorN = contentService.updateshyContent(shyContent1);
            if (YorN == true) {
                return new ResponseBean(ErrorEnum.SUCCESS);
            } else {
                return new ResponseBean(ErrorEnum.ERROR);
            }
        }
        //如果不存在直接插入
        shyContent.setTitle(json.getString("title"));//标题
        shyContent.setTitle_image(json.getString("image"));//用户头像
        shyContent.setShenhe_type(shenheType);//审核类型
        shyContent.setContent_status(1);//当前朋友圈内容的审核状态,先发后审
        String contentTime = json.getString("createTime");//创建时间
        if (CommonUtils.isNotEmpty(contentTime)) {
//    		Date timestamp = CommonUtils.getTimestamp(contentTime, "yyyy-MM-dd HH:mm:ss");
            shyContent.setContent_time(new Date(Long.valueOf(contentTime)));

        }
        shyContent.setCreate_date(CommonUtils.getCurrentTime());
        shyContent.setCallback(json.getString("callbackUrl"));//回调地址
        shyContent.setContent_url(json.getString("pageUrl"));//朋友圈分享的url
        shyContent.setContent_pc_url(contentImageUrl);//朋友圈分享的内容的url,以逗号分隔
        shyContent.setSp_id(json.getInteger("spId"));//spid
        shyContent.setAuthor(json.getString("userId"));//用户id
        shyContent.setSource(json.getString("nickName"));//用户昵称
        shyContent.setVideo_id(json.getString("videoId"));//关联videoId
        shyContent.setReceive_status(CommonConst.RECEIVE_BEFORE);//领取状态
        shyContent.setLast_update(CommonUtils.getCurrentTime());//最后一次更新时间
        boolean YorN = contentService.impotContent(shyContent);
        if (YorN == true) {
            return new ResponseBean(ErrorEnum.SUCCESS);
        } else {
            return new ResponseBean(ErrorEnum.ERROR);
        }
    }

    @GetMapping("/detail/{id}.html")
    public Object getContentDetail(Model model, @PathVariable Integer id) {
        System.out.println("数美送审页面开始进入");
        ShyContent content = contentService.selectByPrimaryKey(id);
        model.addAttribute("contentText", content.getContent_text());
        model.addAttribute("contentTitle", content.getTitle());
        return "html/contentPage.html";
    }


}