Commit 989bae5890a8b199423c805062ca30c7d6df06c1

Authored by 陈浩
1 parent 3d5a1343

更改接口逻辑,评论审核定时任务

src/main/java/com/cnlive/shenhe/api/CommentsControllerApi.java
... ... @@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
18 18 import org.springframework.web.bind.annotation.ResponseBody;
19 19  
20 20 import java.sql.Timestamp;
  21 +import java.time.Year;
21 22 import java.util.Arrays;
22 23 import java.util.Date;
23 24 import java.util.List;
... ... @@ -41,43 +42,43 @@ public class CommentsControllerApi {
41 42 public ResponseBean impotComment(String param) {
42 43 logger.info("评论入库,param=====" + param);
43 44 JSONObject json = JSONObject.parseObject(param);
  45 + //判断是否存在
44 46 ShyComments shyComments = new ShyComments();
45   - ShySites shySites = new ShySites();
46   - String callback = json.getString("callback");
47   - shyComments.setState(CommonConst.AUDIT_INTT);
48   - //判断是否白名单
49   - shySites.setSpid(json.getInteger("spId"));
50   - List<ShySites> shySitesList = commentsService.getBusiness(shySites);
51   - if (!shySitesList.isEmpty()) {
52   - if (CommonUtils.isNotEmpty(shySitesList.get(0).getWrite_business())) {
53   - String write_business = shySitesList.get(0).getWrite_business();
54   - String[] business = write_business.split(",");
55   - List<String> asList = Arrays.asList(business);
56   - if (asList.contains(CommonConst.BUSINESS_COMMENT + "")) {
57   - shyComments.setState(CommonConst.AUDIT_SUCCESS);
58   - //封装json数据传参进行回调
59   - JSONObject json1 = new JSONObject();
60   - json1.put("activity_id", json.getString("activityId"));
61   - json1.put("state", 3);
62   - json1.put("attr_tags", "");
63   - json1.put("msg", "");
64   - JSONObject result = new JSONObject();
65   - try {
66   - result = Pass.commentPass(json1, callback);
67   - } catch (Exception e) {
68   - logger.error("评论回调失败,activity_id:{}", json.getString("activityId"));
69   - return new ResponseBean(ErrorEnum.BACK_ERROR);
70   - }
71   - Integer code = result.getInteger("errorCode");
72   - if (code != 0) {
73   - logger.error("评论回调错误,activity_id:{},code:{},errorMessage:{}", json.getString("activityId"), code, result.getString("errorMessage"));
74   - return new ResponseBean(code, result.getString("errorMessage"));
75   - }
76   - shyComments.setState(CommonConst.AUDIT_SUCCESS);
77   - }
  47 + shyComments.setActivity_id(json.getString("activityId"));
  48 + List<ShyComments> commentsList = commentsService.findshyComments(shyComments);
  49 + //存在则更新
  50 + if (commentsList.size() > 0) {
  51 + ShyComments shyComments1 = commentsList.get(0);
  52 + shyComments1.setState(CommonConst.AUDIT_INTT);
  53 + shyComments1.setProgram_id(json.getString("programId"));
  54 + shyComments1.setComment_original_url(json.getString("originalUrl"));
  55 + shyComments1.setComment_title(json.getString("commentTitle"));
  56 + shyComments1.setComment_user_id(json.getInteger("commentUserId"));
  57 + shyComments1.setComment_user_name(json.getString("commentUserName"));
  58 + shyComments1.setComment_user_avatar(json.getString("commentUserAvatar"));
  59 + shyComments1.setComment_user_ip(json.getString("commentUserIP"));
  60 + shyComments1.setComment_content(json.getString("commentContent"));
  61 + String commentTime = json.getString("commentTime");
  62 + if (CommonUtils.isNotEmpty(commentTime)) {
  63 + Date timestamp = CommonUtils.getTimestamp(commentTime, "yyyy-MM-dd hh:mm");
  64 + shyComments1.setComment_time(timestamp);
  65 +
  66 + }
  67 + shyComments1.setSpid(json.getInteger("spId"));
  68 + shyComments1.setApp_id(json.getString("appId"));
  69 + shyComments1.setPlatform(json.getString("platform"));
  70 + shyComments1.setActivity_id(json.getString("activityId"));
  71 + shyComments1.setIs_hot(json.getBoolean("priority"));
  72 + shyComments1.setCallback(json.getString("callback"));
  73 + boolean YorN = commentsService.updateshyComments1(shyComments1);
  74 + if (YorN == true) {
  75 + return new ResponseBean(ErrorEnum.SUCCESS);
  76 + } else {
  77 + return new ResponseBean(ErrorEnum.ERROR);
78 78 }
79 79 }
80   - //封装数据入库
  80 + //如果不存在直接插入
  81 + shyComments.setState(CommonConst.AUDIT_INTT);
81 82 shyComments.setProgram_id(json.getString("programId"));
82 83 shyComments.setComment_original_url(json.getString("originalUrl"));
83 84 shyComments.setComment_title(json.getString("commentTitle"));
... ... @@ -87,19 +88,18 @@ public class CommentsControllerApi {
87 88 shyComments.setComment_user_ip(json.getString("commentUserIP"));
88 89 shyComments.setComment_content(json.getString("commentContent"));
89 90 String commentTime = json.getString("commentTime");
90   - if(CommonUtils.isNotEmpty(commentTime)){
  91 + if (CommonUtils.isNotEmpty(commentTime)) {
91 92 Date timestamp = CommonUtils.getTimestamp(commentTime, "yyyy-MM-dd hh:mm");
92 93 shyComments.setComment_time(timestamp);
93   -
94 94 }
95 95 shyComments.setSpid(json.getInteger("spId"));
96 96 shyComments.setApp_id(json.getString("appId"));
97 97 shyComments.setPlatform(json.getString("platform"));
98 98 shyComments.setActivity_id(json.getString("activityId"));
99 99 shyComments.setIs_hot(json.getBoolean("priority"));
100   - shyComments.setCallback(callback);
101   - int i = commentsService.impotComments(shyComments);
102   - if (i > 0) {
  100 + shyComments.setCallback(json.getString("callback"));
  101 + boolean YorN = commentsService.impotComments(shyComments);
  102 + if (YorN == true) {
103 103 return new ResponseBean(ErrorEnum.SUCCESS);
104 104 } else {
105 105 return new ResponseBean(ErrorEnum.ERROR);
... ...
src/main/java/com/cnlive/shenhe/api/VideosControllerApi.java
... ... @@ -36,60 +36,65 @@ public class VideosControllerApi {
36 36 VideosServiceImpl videosService;
37 37 @Autowired
38 38 UsersServiceImpl usersService;
39   -
  39 + //先统一入库,入库时查询是否已有,有,更新 无,插入 白名单单独定时任务
40 40 @PostMapping("/import")
41 41 @ResponseBody
42 42 public ResponseBean impotVideo(String param) {
43 43 logger.info("点播入库,param=====" + param);
44 44 JSONObject json = JSONObject.parseObject(param);
45   - ShySites shySites = new ShySites();
46   - ShyVideos shyVideos = new ShyVideos();
47   - shyVideos.setState(CommonConst.AUDIT_INTT);
48   - //判断是否白名单
49   - shySites.setSpid(json.getInteger("spId"));
50   - List<ShySites> shySitesList = videosService.getBusiness(shySites);
  45 + ShyVideos shyVideos1 = new ShyVideos();
  46 + //g得到视频id去查询是否已有
51 47 String videoId = json.getString("videoId");
52   - String callback = json.getString("callback");
53   - if (!shySitesList.isEmpty()) {
54   - if (CommonUtils.isNotEmpty(shySitesList.get(0).getWrite_business())) {
55   - String write_business = shySitesList.get(0).getWrite_business();
56   - String[] business = write_business.split(",");
57   - List<String> asList = Arrays.asList(business);
58   - if (asList.contains(CommonConst.BUSINESS_VIDEO + "")) {
59   - logger.info("白名单回调通过:videoId===" + videoId);
60   - JSONObject result = new JSONObject();
61   - try {
62   - result = Pass.auditPass(videoId, 3, "", "", callback);
63   - } catch (Exception e) {
64   - logger.error("点播回调失败,videoId:{}", videoId);
65   - return new ResponseBean(ErrorEnum.BACK_ERROR);
66   - }
67   - Integer code = result.getInteger("code");
68   - if (code != 0) {
69   - logger.error("点播回调错误,videoId:{},code:{},msg:{}", videoId, code, result.getString("msg"));
70   - return new ResponseBean(code, result.getString("msg"));
71   - }
72   - shyVideos.setState(CommonConst.AUDIT_SUCCESS);
73   - }
  48 + shyVideos1.setVideo_id(videoId);
  49 + //查询一下 存在,更新 没有,插入
  50 + List<ShyVideos> listshyVideos = videosService.findshyVideo(shyVideos1);
  51 + if(listshyVideos.size()>0){
  52 + ShyVideos shyVideos = listshyVideos.get(0);
  53 + //封装数据入库
  54 + shyVideos.setVideo_id(videoId);
  55 + shyVideos.setVideo_title(json.getString("videoTitle"));
  56 + shyVideos.setVideo_url(json.getString("videoUrl"));
  57 + String videoCoverUrl = json.getString("videoCoverUrl");
  58 + shyVideos.setVideo_imgs(videoCoverUrl);
  59 + if (CommonUtils.isNotEmpty(videoCoverUrl)) {
  60 + String poster = json.getJSONObject("videoCoverUrl").getString("224*126");
  61 + shyVideos.setVideo_poster(poster);
  62 + }
  63 + shyVideos.setVideo_desc(json.getString("videoIntro"));
  64 + shyVideos.setVideo_tags(json.getString("videoTag"));
  65 + shyVideos.setVideo_keyword(json.getString("videoKeyword"));
  66 + shyVideos.setVideo_upload_time(json.getDate(" uploadTime"));
  67 + shyVideos.setVideo_priority(json.getString("priority"));
  68 + shyVideos.setCallback(json.getString("callback"));
  69 + shyVideos.setSpid(Integer.parseInt(json.getString("spId")));
  70 + shyVideos.setState(CommonConst.AUDIT_INTT);
  71 + boolean YorN = videosService.updateshyVideos(shyVideos);
  72 + if(YorN == true){
  73 + return new ResponseBean(ErrorEnum.SUCCESS);
  74 + }else {
  75 + return new ResponseBean(ErrorEnum.ERROR);
74 76 }
75 77 }
76   - //封装数据入库
77   - shyVideos.setVideo_id(videoId);
78   - shyVideos.setVideo_title(json.getString("videoTitle"));
79   - shyVideos.setVideo_url(json.getString("videoUrl"));
  78 + //查了,没有,直接插入数据库
  79 + shyVideos1.setVideo_id(videoId);
  80 + shyVideos1.setVideo_title(json.getString("videoTitle"));
  81 + shyVideos1.setVideo_url(json.getString("videoUrl"));
80 82 String videoCoverUrl = json.getString("videoCoverUrl");
81   - shyVideos.setVideo_imgs(videoCoverUrl);
  83 + shyVideos1.setVideo_imgs(videoCoverUrl);
82 84 if (CommonUtils.isNotEmpty(videoCoverUrl)) {
83 85 String poster = json.getJSONObject("videoCoverUrl").getString("224*126");
84   - shyVideos.setVideo_poster(poster);
  86 + shyVideos1.setVideo_poster(poster);
85 87 }
86   - shyVideos.setVideo_desc(json.getString("videoIntro"));
87   - shyVideos.setVideo_keyword(json.getString("videoKeyword"));
88   - shyVideos.setVideo_priority(json.getString("priority"));
89   - shyVideos.setCallback(callback);
90   - shyVideos.setSpid(Integer.parseInt(json.getString("spId")));
91   - int i = videosService.impotVideo(shyVideos);
92   - if (i > 0) {
  88 + shyVideos1.setVideo_desc(json.getString("videoIntro"));
  89 + shyVideos1.setVideo_tags(json.getString("videoTag"));
  90 + shyVideos1.setVideo_keyword(json.getString("videoKeyword"));
  91 + shyVideos1.setVideo_upload_time(json.getDate("uploadTime"));
  92 + shyVideos1.setVideo_priority(json.getString("priority"));
  93 + shyVideos1.setCallback(json.getString("callback"));
  94 + shyVideos1.setSpid(Integer.parseInt(json.getString("spId")));
  95 + shyVideos1.setState(CommonConst.AUDIT_INTT);
  96 + boolean result = videosService.impotVideo(shyVideos1);
  97 + if (result == true) {
93 98 return new ResponseBean(ErrorEnum.SUCCESS);
94 99 } else {
95 100 return new ResponseBean(ErrorEnum.ERROR);
... ...
src/main/java/com/cnlive/shenhe/job/CommentsJob.java 0 → 100644
  1 +package com.cnlive.shenhe.job;
  2 +
  3 +import com.alibaba.fastjson.JSONObject;
  4 +import com.cnlive.shenhe.bean.ErrorEnum;
  5 +import com.cnlive.shenhe.bean.ResponseBean;
  6 +import com.cnlive.shenhe.entity.ShyComments;
  7 +import com.cnlive.shenhe.entity.ShySites;
  8 +import com.cnlive.shenhe.serviceImpl.CommentsServiceImpl;
  9 +import com.cnlive.shenhe.serviceImpl.SitesServiceImpl;
  10 +import com.cnlive.shenhe.serviceImpl.UsersServiceImpl;
  11 +import com.cnlive.shenhe.utils.AuditPass;
  12 +import com.cnlive.shenhe.utils.CommonConst;
  13 +import com.cnlive.shenhe.utils.CommonUtils;
  14 +import org.slf4j.Logger;
  15 +import org.slf4j.LoggerFactory;
  16 +import org.springframework.beans.factory.annotation.Autowired;
  17 +import org.springframework.scheduling.annotation.Scheduled;
  18 +import org.springframework.stereotype.Component;
  19 +
  20 +import java.util.ArrayList;
  21 +import java.util.Arrays;
  22 +import java.util.List;
  23 +
  24 +@Component
  25 +public class CommentsJob {
  26 + private static Logger logger = LoggerFactory.getLogger(CommentsJob.class);
  27 + @Autowired
  28 + SitesServiceImpl sitesService;
  29 + @Autowired
  30 + AuditPass Pass;
  31 + @Autowired
  32 + CommentsServiceImpl commentsService;
  33 +
  34 + @Autowired
  35 + UsersServiceImpl usersService;
  36 +
  37 +
  38 + @Scheduled(fixedRate = 30 * 60 * 1000)
  39 + public void syncComments() {
  40 +
  41 + //收集免审的spid
  42 + List<ShySites> sitesList = sitesService.findAll();
  43 + ArrayList<Integer> sites = new ArrayList<Integer>();
  44 + for (ShySites shySites : sitesList) {
  45 + if (CommonUtils.isNotEmpty(shySites.getWrite_business())) {
  46 + String[] business = shySites.getWrite_business().split(",");
  47 + List<String> asList = Arrays.asList(business);
  48 + if (asList.contains(CommonConst.BUSINESS_COMMENT + "")) {
  49 + sites.add(shySites.getSpid());
  50 + }
  51 + }
  52 + }
  53 + //遍历免审的spid去更改状态值
  54 + ShyComments shyComments = new ShyComments();
  55 + for (int spid : sites) {
  56 + shyComments.setSpid(spid);
  57 + List<ShyComments> commentsList = commentsService.findshyComments(shyComments);
  58 + if (commentsList.size() > 0) {
  59 + for (ShyComments comments : commentsList) {
  60 + //封装json数据传参进行回调
  61 + JSONObject json1 = new JSONObject();
  62 + json1.put("activity_id", comments.getActivity_id());
  63 + json1.put("state", 3);
  64 + json1.put("attr_tags", "");
  65 + json1.put("msg", "");
  66 + JSONObject result = new JSONObject();
  67 + try {
  68 + result = Pass.commentPass(json1, comments.getCallback());
  69 + } catch (Exception e) {
  70 + logger.error("评论回调失败,activity_id:{}", comments.getActivity_id());
  71 + }
  72 + comments.setState(CommonConst.AUDIT_SUCCESS);
  73 + int i = commentsService.updateComment(json1, null, comments.getAuditor_id());
  74 + }
  75 + }
  76 + }
  77 + }
  78 +}
... ...
src/main/java/com/cnlive/shenhe/serviceImpl/CommentsServiceImpl.java
... ... @@ -44,9 +44,25 @@ public class CommentsServiceImpl {
44 44 return sitesList;
45 45 }
46 46  
47   - public int impotComments(ShyComments shyComments) {
  47 + //**************************************
  48 + public List<ShyComments> findshyComments(ShyComments shyComments) {
  49 + List<ShyComments> commentsList = shyCommentsMapper.select(shyComments);
  50 + return commentsList;
  51 + }
  52 + public boolean updateshyComments1(ShyComments shyComments) {
  53 + int result = shyCommentsMapper.updateByPrimaryKeySelective(shyComments);
  54 + if(result==0){
  55 + return false;
  56 + }
  57 + return true;
  58 + }
  59 +
  60 + public boolean impotComments(ShyComments shyComments) {
48 61 int result = shyCommentsMapper.insert(shyComments);
49   - return result;
  62 + if(result==0){
  63 + return false;
  64 + }
  65 + return true;
50 66 }
51 67  
52 68 public int updateComment(JSONObject json, Integer id, String auditor_id) {
... ...
src/main/java/com/cnlive/shenhe/serviceImpl/SitesServiceImpl.java
... ... @@ -47,4 +47,8 @@ public class SitesServiceImpl {
47 47 public boolean update(ShySites site) {
48 48 return shySitesMapper.updateByPrimaryKeySelective(site)==1;
49 49 }
  50 + public List<ShySites> findAll() {
  51 + List<ShySites> shySites = shySitesMapper.selectAll();
  52 + return shySites;
  53 + }
50 54 }
... ...
src/main/java/com/cnlive/shenhe/serviceImpl/VideosServiceImpl.java
... ... @@ -31,16 +31,31 @@ public class VideosServiceImpl {
31 31 @Autowired
32 32 ShyUsersMapper shyUsersMapper;
33 33  
34   - public int impotVideo(ShyVideos shyVideos) {
  34 + public boolean impotVideo(ShyVideos shyVideos) {
35 35 int result = shyVideosMapper.insert(shyVideos);
36   - return result;
  36 + if(result==0){
  37 + return false;
  38 + }
  39 + return true;
37 40 }
38 41  
39 42 public List<ShySites> getBusiness(ShySites shySites) {
40 43 List<ShySites> sitesList = shySitesMapper.select(shySites);
41 44 return sitesList;
42 45 }
  46 +// 重改逻辑后新加的方法============================
  47 + public List<ShyVideos> findshyVideo(ShyVideos shyVideos) {
  48 + List<ShyVideos> shyVideoslist = shyVideosMapper.select(shyVideos);
  49 + return shyVideoslist;
  50 + }
43 51  
  52 + public boolean updateshyVideos(ShyVideos shyVideos) {
  53 + int i = shyVideosMapper.updateByPrimaryKeySelective(shyVideos);
  54 + if(i==0){
  55 + return false;
  56 + }
  57 + return true;
  58 + }
44 59 public int updateVideo(Integer id, String auditor_id, Integer state, String msg) {
45 60 ShyVideos shyVideos = shyVideosMapper.selectByPrimaryKey(id);
46 61 shyVideos.setAuditor_id(auditor_id);
... ...