Commit 4e201c1f1d6caaf0a7d6823832341a34acc835ee

Authored by liwei2917
1 parent 5c8453b0

图文免审和机审

src/main/java/com/cnlive/shenhe/api/ContentControllerApi.java
@@ -48,12 +48,15 @@ public class ContentControllerApi { @@ -48,12 +48,15 @@ public class ContentControllerApi {
48 shyContent.setContent_id(json.getString("contentId")); 48 shyContent.setContent_id(json.getString("contentId"));
49 shyContent.setContent_tag("content");//图文标签 49 shyContent.setContent_tag("content");//图文标签
50 List<ShyContent> contentList = contentService.findshyContent(shyContent); 50 List<ShyContent> contentList = contentService.findshyContent(shyContent);
  51 +
  52 + //获取审核类型
  53 + Integer shenheType = contentService.getShenheType(json.getInteger("spId"));
51 //存在则更新 54 //存在则更新
52 if (contentList.size() > 0) { 55 if (contentList.size() > 0) {
53 ShyContent shyContent1 = contentList.get(0); 56 ShyContent shyContent1 = contentList.get(0);
54 shyContent1.setTitle(json.getString("title"));//标题 57 shyContent1.setTitle(json.getString("title"));//标题
55 shyContent1.setTitle_image(json.getString("titleImage"));//标题图片 58 shyContent1.setTitle_image(json.getString("titleImage"));//标题图片
56 - shyContent1.setShenhe_type(CommonConst.AUDIT_TYPE_USER);//审核类型是人工 59 + shyContent1.setShenhe_type(shenheType);//审核类型
57 shyContent1.setContent_status(json.getInteger("contentStatus"));//当前图文的审核状态 60 shyContent1.setContent_status(json.getInteger("contentStatus"));//当前图文的审核状态
58 shyContent1.setSource(json.getString("source"));//来源 61 shyContent1.setSource(json.getString("source"));//来源
59 shyContent1.setAuthor(json.getString("author"));//作者 62 shyContent1.setAuthor(json.getString("author"));//作者
@@ -83,7 +86,7 @@ public class ContentControllerApi { @@ -83,7 +86,7 @@ public class ContentControllerApi {
83 //如果不存在直接插入 86 //如果不存在直接插入
84 shyContent.setTitle(json.getString("title"));//标题 87 shyContent.setTitle(json.getString("title"));//标题
85 shyContent.setTitle_image(json.getString("titleImage"));//标题图片 88 shyContent.setTitle_image(json.getString("titleImage"));//标题图片
86 - shyContent.setShenhe_type(CommonConst.AUDIT_TYPE_USER);//审核类型是人工 89 + shyContent.setShenhe_type(shenheType);//审核类型
87 shyContent.setContent_status(json.getInteger("contentStatus"));//当前图文的审核状态 90 shyContent.setContent_status(json.getInteger("contentStatus"));//当前图文的审核状态
88 shyContent.setSource(json.getString("source"));//来源 91 shyContent.setSource(json.getString("source"));//来源
89 shyContent.setAuthor(json.getString("author"));//作者 92 shyContent.setAuthor(json.getString("author"));//作者
@@ -123,12 +126,14 @@ public class ContentControllerApi { @@ -123,12 +126,14 @@ public class ContentControllerApi {
123 shyContent.setContent_id(json.getString("momentId"));//朋友圈id 126 shyContent.setContent_id(json.getString("momentId"));//朋友圈id
124 shyContent.setContent_tag("moment");//朋友圈标签 127 shyContent.setContent_tag("moment");//朋友圈标签
125 List<ShyContent> contentList = contentService.findshyContent(shyContent); 128 List<ShyContent> contentList = contentService.findshyContent(shyContent);
  129 + //获取审核类型
  130 + Integer shenheType = contentService.getShenheType(json.getInteger("spId"));
126 //存在则更新 131 //存在则更新
127 if (contentList.size() > 0) { 132 if (contentList.size() > 0) {
128 ShyContent shyContent1 = contentList.get(0); 133 ShyContent shyContent1 = contentList.get(0);
129 shyContent1.setTitle(json.getString("title"));//标题 134 shyContent1.setTitle(json.getString("title"));//标题
130 shyContent1.setTitle_image(json.getString("image"));//用户头像 135 shyContent1.setTitle_image(json.getString("image"));//用户头像
131 - shyContent1.setShenhe_type(CommonConst.AUDIT_TYPE_USER);//审核类型是人工 136 + shyContent1.setShenhe_type(shenheType);//审核类型
132 String contentTime = json.getString("createTime");//朋友圈内容创建时间 137 String contentTime = json.getString("createTime");//朋友圈内容创建时间
133 if (CommonUtils.isNotEmpty(contentTime)) { 138 if (CommonUtils.isNotEmpty(contentTime)) {
134 // Date timestamp = CommonUtils.getTimestamp(contentTime, "yyyy-MM-dd HH:mm:ss"); 139 // Date timestamp = CommonUtils.getTimestamp(contentTime, "yyyy-MM-dd HH:mm:ss");
@@ -158,7 +163,7 @@ public class ContentControllerApi { @@ -158,7 +163,7 @@ public class ContentControllerApi {
158 //如果不存在直接插入 163 //如果不存在直接插入
159 shyContent.setTitle(json.getString("title"));//标题 164 shyContent.setTitle(json.getString("title"));//标题
160 shyContent.setTitle_image(json.getString("image"));//用户头像 165 shyContent.setTitle_image(json.getString("image"));//用户头像
161 - shyContent.setShenhe_type(CommonConst.AUDIT_TYPE_USER);//审核类型是人工 166 + shyContent.setShenhe_type(shenheType);//审核类型
162 shyContent.setContent_status(1);//当前朋友圈内容的审核状态,先发后审 167 shyContent.setContent_status(1);//当前朋友圈内容的审核状态,先发后审
163 String contentTime = json.getString("createTime");//创建时间 168 String contentTime = json.getString("createTime");//创建时间
164 if (CommonUtils.isNotEmpty(contentTime)) { 169 if (CommonUtils.isNotEmpty(contentTime)) {
src/main/java/com/cnlive/shenhe/controller/SitesController.java
@@ -79,7 +79,7 @@ public class SitesController { @@ -79,7 +79,7 @@ public class SitesController {
79 ShySites site = sitesService.get(siteId); 79 ShySites site = sitesService.get(siteId);
80 SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey()); 80 SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey());
81 Integer spid = sessionUser.getSpid(); 81 Integer spid = sessionUser.getSpid();
82 - if ((!sessionUser.isMaster() && spid != 0) || (sessionUser.isMaster() && site.getSpid() != spid)) { 82 + if ((!sessionUser.isMaster() && spid != 0) ) {
83 return "page/error.html"; 83 return "page/error.html";
84 } 84 }
85 String write = ""; 85 String write = "";
src/main/java/com/cnlive/shenhe/job/ContentJob.java
@@ -39,7 +39,7 @@ public class ContentJob { @@ -39,7 +39,7 @@ public class ContentJob {
39 /** 39 /**
40 * 白名单sp图文通过 40 * 白名单sp图文通过
41 */ 41 */
42 -// @Scheduled(fixedRate = 60 * 1000) 42 + @Scheduled(fixedRate = 60 * 1000)
43 public void updateVideos() { 43 public void updateVideos() {
44 ShyContent shyContent = new ShyContent(); 44 ShyContent shyContent = new ShyContent();
45 shyContent.setShenhe_type(CommonConst.AUDIT_TYPE_FREE);// 审核类型为免审 45 shyContent.setShenhe_type(CommonConst.AUDIT_TYPE_FREE);// 审核类型为免审
@@ -58,7 +58,7 @@ public class ContentJob { @@ -58,7 +58,7 @@ public class ContentJob {
58 /** 58 /**
59 * 定时发送数美检测视频 59 * 定时发送数美检测视频
60 */ 60 */
61 -// @Scheduled(cron="0 0/1 10-23 * * ? ")//每天10点到23点执行,每分钟一次 61 + @Scheduled(cron="0 0/1 10-23 * * ? ")//每天10点到23点执行,每分钟一次
62 public void videofilter() { 62 public void videofilter() {
63 ShyContent shyContent = new ShyContent(); 63 ShyContent shyContent = new ShyContent();
64 shyContent.setShenhe_type(CommonConst.AUDIT_TYPE_MACHANE);//审核类型为机审 64 shyContent.setShenhe_type(CommonConst.AUDIT_TYPE_MACHANE);//审核类型为机审
@@ -68,7 +68,7 @@ public class ContentJob { @@ -68,7 +68,7 @@ public class ContentJob {
68 for (ShyContent content : shyContentList) { 68 for (ShyContent content : shyContentList) {
69 logger.info("定时发送数美检测的content_id:"+content.getId()); 69 logger.info("定时发送数美检测的content_id:"+content.getId());
70 //数美图片过滤 70 //数美图片过滤
71 -// videosService.videoFilter(video.getId(),CommonConst.DYNAMIC_USER); 71 + contentService.contentFilter(content,"");
72 } 72 }
73 } 73 }
74 } 74 }
src/main/java/com/cnlive/shenhe/serviceImpl/CommentsServiceImpl.java
@@ -255,7 +255,7 @@ public class CommentsServiceImpl { @@ -255,7 +255,7 @@ public class CommentsServiceImpl {
255 */ 255 */
256 public void getShenheType(ShyComments shyComments){ 256 public void getShenheType(ShyComments shyComments){
257 257
258 - //获取点播免审sp 258 + //获取评论免审sp
259 List<Integer> sites = sitesService.getBusinessList(CommonConst.BUSINESS_COMMENT); 259 List<Integer> sites = sitesService.getBusinessList(CommonConst.BUSINESS_COMMENT);
260 //初始化一个审核状态 260 //初始化一个审核状态
261 Integer shenheType=3;//审核类型,1:免审,2:机审,3:人工审 261 Integer shenheType=3;//审核类型,1:免审,2:机审,3:人工审
src/main/java/com/cnlive/shenhe/serviceImpl/ContentServiceImpl.java
1 package com.cnlive.shenhe.serviceImpl; 1 package com.cnlive.shenhe.serviceImpl;
2 2
  3 +import com.alibaba.fastjson.JSONArray;
3 import com.alibaba.fastjson.JSONObject; 4 import com.alibaba.fastjson.JSONObject;
4 import com.cnlive.shenhe.entity.ShyComments; 5 import com.cnlive.shenhe.entity.ShyComments;
5 import com.cnlive.shenhe.entity.ShyContent; 6 import com.cnlive.shenhe.entity.ShyContent;
6 import com.cnlive.shenhe.entity.ShyLive; 7 import com.cnlive.shenhe.entity.ShyLive;
7 import com.cnlive.shenhe.entity.ShySites; 8 import com.cnlive.shenhe.entity.ShySites;
8 import com.cnlive.shenhe.entity.ShyUsers; 9 import com.cnlive.shenhe.entity.ShyUsers;
  10 +import com.cnlive.shenhe.entity.ShyVideofilter;
9 import com.cnlive.shenhe.entity.ShyVideos; 11 import com.cnlive.shenhe.entity.ShyVideos;
10 import com.cnlive.shenhe.mapper.ShyCommentsMapper; 12 import com.cnlive.shenhe.mapper.ShyCommentsMapper;
11 import com.cnlive.shenhe.mapper.ShyContentMapper; 13 import com.cnlive.shenhe.mapper.ShyContentMapper;
12 import com.cnlive.shenhe.mapper.ShySitesMapper; 14 import com.cnlive.shenhe.mapper.ShySitesMapper;
13 import com.cnlive.shenhe.mapper.ShyUsersMapper; 15 import com.cnlive.shenhe.mapper.ShyUsersMapper;
  16 +import com.cnlive.shenhe.utils.AntiFraudUtil;
14 import com.cnlive.shenhe.utils.AuditPass; 17 import com.cnlive.shenhe.utils.AuditPass;
15 import com.cnlive.shenhe.utils.CommonConst; 18 import com.cnlive.shenhe.utils.CommonConst;
16 import com.cnlive.shenhe.utils.CommonUtils; 19 import com.cnlive.shenhe.utils.CommonUtils;
@@ -25,8 +28,12 @@ import tk.mybatis.mapper.entity.Example; @@ -25,8 +28,12 @@ import tk.mybatis.mapper.entity.Example;
25 28
26 import java.sql.Timestamp; 29 import java.sql.Timestamp;
27 import java.text.ParseException; 30 import java.text.ParseException;
  31 +import java.util.ArrayList;
28 import java.util.Date; 32 import java.util.Date;
  33 +import java.util.HashMap;
29 import java.util.List; 34 import java.util.List;
  35 +import java.util.Map;
  36 +import java.util.UUID;
30 37
31 /** 38 /**
32 * @Auther: liwei 39 * @Auther: liwei
@@ -51,6 +58,8 @@ public class ContentServiceImpl { @@ -51,6 +58,8 @@ public class ContentServiceImpl {
51 SitesServiceImpl sitesService; 58 SitesServiceImpl sitesService;
52 @Autowired 59 @Autowired
53 VideosServiceImpl videosService; 60 VideosServiceImpl videosService;
  61 + @Autowired
  62 + VideofilterServiceImpl videofilterServiceImpl;
54 63
55 public ShyContent getShyContent(ShyContent shyContent) { 64 public ShyContent getShyContent(ShyContent shyContent) {
56 List<ShyContent> shyContentList = shyContentMapper.select(shyContent); 65 List<ShyContent> shyContentList = shyContentMapper.select(shyContent);
@@ -320,6 +329,70 @@ public class ContentServiceImpl { @@ -320,6 +329,70 @@ public class ContentServiceImpl {
320 public int updateByPrimaryKeySelective(ShyContent content) { 329 public int updateByPrimaryKeySelective(ShyContent content) {
321 return shyContentMapper.updateByPrimaryKeySelective(content); 330 return shyContentMapper.updateByPrimaryKeySelective(content);
322 } 331 }
  332 +
  333 + /**
  334 + * 获得审核类型
  335 + * @param spId
  336 + */
  337 + public Integer getShenheType(Integer spId){
  338 +
  339 + //获取图文免审sp
  340 + List<Integer> sites = sitesService.getBusinessList(CommonConst.BUSINESS_CONTENT);
  341 + //初始化一个审核状态
  342 + Integer shenheType=3;//审核类型,1:免审,2:机审,3:人工审
  343 + //如果当前sp是免审sp
  344 + if(sites.contains(spId)){
  345 + shenheType=1;//免审
  346 + }else{
  347 + shenheType=2;//机审
  348 + }
  349 + return shenheType;
  350 + }
  351 +
  352 + /**
  353 + * 数美视频(图片)过滤
  354 + * @param cid 审核云中图文id
  355 + * @param channel 尺度
  356 + * @return
  357 + */
  358 + public int contentFilter(ShyContent shyContent,String channel){
  359 +
  360 + JSONObject result = null;//数美返回结果
  361 + String type="";//数美返回结果的类型
  362 + String desc="";//数美失败结果的详情
  363 + String Token_id=UUID.randomUUID().toString();
  364 + try{
  365 + //调用数美接口
  366 + result = AntiFraudUtil.filterArticle(Token_id,shyContent.getContent_url(),channel);
  367 + type=result.getString("type");
  368 + desc=result.getString("desc");//数美失败结果的详情
  369 + }catch(Exception e){
  370 + type=CommonConst.REJECT;//报错就给一个拒绝状态
  371 + desc="数美审核报错了";
  372 + }
  373 + if(type.toLowerCase().equals(CommonConst.PASS)){//数美通过
  374 + desc="数美审核通过了";
  375 + shyContent.setShenhe_msg(desc);
  376 + //修改图文状态
  377 + callback(shyContent.getId().toString(),desc,CommonConst.AUDIT_SUCCESS,"");
  378 + }else if(type.toLowerCase().equals(CommonConst.REJECT)){//数美拒绝
  379 + shyContent.setShenhe_type(CommonConst.AUDIT_TYPE_USER);//审核类型改为人工审核
  380 + shyContent.setShenhe_msg(desc);//拒绝原因
  381 + updateshyContent(shyContent);
  382 +// videosService.updateDianboAndShenhe(shyVideos,4);
  383 + }
  384 + ShyVideofilter videofilter=new ShyVideofilter();
  385 + videofilter.setChannel(channel);
  386 + videofilter.setDesc_msg(desc);
  387 + videofilter.setResult_type(type);
  388 + videofilter.setToken_id(Token_id);
  389 + videofilter.setVideos_id(shyContent.getId());
  390 + videofilter.setDuration(-1);
  391 + videofilter.setCreated_at(CommonUtils.getCurrentTime());
  392 + videofilterServiceImpl.impotVideofilter(videofilter);
  393 +
  394 + return 0;
  395 + }
323 396
324 } 397 }
325 398
src/main/java/com/cnlive/shenhe/serviceImpl/SitesServiceImpl.java
@@ -30,15 +30,18 @@ public class SitesServiceImpl { @@ -30,15 +30,18 @@ public class SitesServiceImpl {
30 public PageInfo<ShySites> getPage(Integer page, Integer pageSize, String orderByClause, String key, Integer spId) { 30 public PageInfo<ShySites> getPage(Integer page, Integer pageSize, String orderByClause, String key, Integer spId) {
31 Example example = new Example(ShySites.class); 31 Example example = new Example(ShySites.class);
32 Example.Criteria criteria = example.createCriteria(); 32 Example.Criteria criteria = example.createCriteria();
  33 + Example.Criteria criteria2 = example.createCriteria();
33 if (CommonUtils.isNotEmpty(orderByClause)) { 34 if (CommonUtils.isNotEmpty(orderByClause)) {
34 example.setOrderByClause(orderByClause); 35 example.setOrderByClause(orderByClause);
35 } 36 }
36 if (CommonUtils.isNotEmpty(key)) { 37 if (CommonUtils.isNotEmpty(key)) {
37 criteria.andLike("name", "%" + key + "%"); 38 criteria.andLike("name", "%" + key + "%");
38 - criteria.andLike("company", "%" + key + "%"); 39 + criteria2.andLike("spid", "%" + key + "%");
  40 + example.or(criteria2);
39 } 41 }
40 if (CommonUtils.isNotNull(spId)) 42 if (CommonUtils.isNotNull(spId))
41 criteria.andEqualTo("spid", spId); 43 criteria.andEqualTo("spid", spId);
  44 + criteria2.andEqualTo("spid", spId);
42 PageHelper.startPage(page, pageSize, true); 45 PageHelper.startPage(page, pageSize, true);
43 List<ShySites> shySitesList = shySitesMapper.selectByExample(example); 46 List<ShySites> shySitesList = shySitesMapper.selectByExample(example);
44 PageInfo<ShySites> pageInfo = new PageInfo<ShySites>(shySitesList); 47 PageInfo<ShySites> pageInfo = new PageInfo<ShySites>(shySitesList);
src/main/java/com/cnlive/shenhe/utils/AntiFraudUtil.java
@@ -5,8 +5,12 @@ import com.alibaba.fastjson.JSONArray; @@ -5,8 +5,12 @@ import com.alibaba.fastjson.JSONArray;
5 import com.alibaba.fastjson.JSONObject; 5 import com.alibaba.fastjson.JSONObject;
6 import org.apache.commons.lang3.StringUtils; 6 import org.apache.commons.lang3.StringUtils;
7 7
  8 +import java.util.HashMap;
  9 +import java.util.Map;
8 import java.util.UUID; 10 import java.util.UUID;
9 11
  12 +import javax.swing.plaf.basic.BasicScrollPaneUI.HSBChangeListener;
  13 +
10 14
11 /** 15 /**
12 * 数美 反欺诈工具类 16 * 数美 反欺诈工具类
@@ -44,6 +48,13 @@ public class AntiFraudUtil { @@ -44,6 +48,13 @@ public class AntiFraudUtil {
44 //queryVideoResult("02b649b7-3451-403e-abd0-592302cec2a0"); 48 //queryVideoResult("02b649b7-3451-403e-abd0-592302cec2a0");
45 49
46 try { 50 try {
  51 + Map<Object, Object> hashMap = new HashMap<Object, Object>();
  52 + hashMap.put("11", "1111");
  53 + String object = (String) hashMap.get("11");
  54 + String object2 = (String) hashMap.get("22");
  55 + System.out.println(object);
  56 + System.out.println(object2);
  57 +
47 // System.out.println(addBlackContents("2222")); 58 // System.out.println(addBlackContents("2222"));
48 } catch (Exception e) { 59 } catch (Exception e) {
49 e.printStackTrace(); 60 e.printStackTrace();
src/main/java/com/cnlive/shenhe/utils/CommonConst.java
@@ -78,7 +78,7 @@ public class CommonConst { @@ -78,7 +78,7 @@ public class CommonConst {
78 */ 78 */
79 public static Integer BUSINESS_CONTENT = 3; 79 public static Integer BUSINESS_CONTENT = 3;
80 80
81 - public static JSONObject BUSINESS = JSONObject.parseObject("{\"1\":\"点播业务\",\"2\":\"评论业务\"}"); 81 + public static JSONObject BUSINESS = JSONObject.parseObject("{\"1\":\"点播业务\",\"2\":\"评论业务\",\"3\":\"图文业务\"}");
82 82
83 /** 83 /**
84 * 抽帧状态:未抽帧 84 * 抽帧状态:未抽帧