Commit d1f36fc198c68d3e95019e59571d3b3b113e8c50
Merge branch 'dev'
Showing
4 changed files
with
164 additions
and
19 deletions
src/main/java/com/cnlive/shenhe/enums/ImageLabels.java
0 → 100644
| 1 | +package com.cnlive.shenhe.enums; | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * @Author: xujincheng | ||
| 5 | + * @Date: 2020/6/22 15:30 | ||
| 6 | + */ | ||
| 7 | +public enum ImageLabels { | ||
| 8 | + PORNOGRAPHIC("色情", 100), SEXYANDVULGAR("性感低俗", 110), ADVERTISEMENT("广告", 200), | ||
| 9 | + QRCODE("二维码", 210), POLITICSINVOLVED("涉政", 300), ABUSE("谩骂", 400), | ||
| 10 | + IRRIGATION("灌水", 500), OTHER("其他", 900); | ||
| 11 | + | ||
| 12 | + private String name; | ||
| 13 | + private int index; | ||
| 14 | + | ||
| 15 | + ImageLabels(String name, int index) { | ||
| 16 | + this.name = name; | ||
| 17 | + this.index = index; | ||
| 18 | + } | ||
| 19 | + | ||
| 20 | + public static String getName(int index) { | ||
| 21 | + for (ImageLabels c : ImageLabels.values()) { | ||
| 22 | + if (c.getIndex() == index) { | ||
| 23 | + return c.name; | ||
| 24 | + } | ||
| 25 | + } | ||
| 26 | + return null; | ||
| 27 | + } | ||
| 28 | + | ||
| 29 | + public String getName() { | ||
| 30 | + return name; | ||
| 31 | + } | ||
| 32 | + | ||
| 33 | + public void setName(String name) { | ||
| 34 | + this.name = name; | ||
| 35 | + } | ||
| 36 | + | ||
| 37 | + public int getIndex() { | ||
| 38 | + return index; | ||
| 39 | + } | ||
| 40 | +} |
src/main/java/com/cnlive/shenhe/enums/TextLabels.java
0 → 100644
| 1 | +package com.cnlive.shenhe.enums; | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * @Author: xujincheng | ||
| 5 | + * @Date: 2020/6/22 14:08 | ||
| 6 | + */ | ||
| 7 | +public enum TextLabels { | ||
| 8 | + | ||
| 9 | + PORNOGRAPHIC("色情", 100), ADVERTISEMENT("广告", 200), VIOLENTFEAR("暴恐", 300), | ||
| 10 | + CONTRABAND("违禁", 400), POLITICSINVOLVED("涉政", 500), ABUSE("谩骂", 600), | ||
| 11 | + IRRIGATION("灌水", 700), OTHER("其他", 900); | ||
| 12 | + | ||
| 13 | + private String name; | ||
| 14 | + private int index; | ||
| 15 | + | ||
| 16 | + TextLabels(String name, int index) { | ||
| 17 | + this.name = name; | ||
| 18 | + this.index = index; | ||
| 19 | + } | ||
| 20 | + | ||
| 21 | + public static String getName(int index) { | ||
| 22 | + for (TextLabels c : TextLabels.values()) { | ||
| 23 | + if (c.getIndex() == index) { | ||
| 24 | + return c.name; | ||
| 25 | + } | ||
| 26 | + } | ||
| 27 | + return null; | ||
| 28 | + } | ||
| 29 | + | ||
| 30 | + public String getName() { | ||
| 31 | + return name; | ||
| 32 | + } | ||
| 33 | + | ||
| 34 | + public void setName(String name) { | ||
| 35 | + this.name = name; | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + public int getIndex() { | ||
| 39 | + return index; | ||
| 40 | + } | ||
| 41 | +} |
src/main/java/com/cnlive/shenhe/job/YiDunUrlResultJob.java
| @@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSONArray; | @@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSONArray; | ||
| 4 | import com.alibaba.fastjson.JSONObject; | 4 | import com.alibaba.fastjson.JSONObject; |
| 5 | import com.cnlive.shenhe.entity.ShyContent; | 5 | import com.cnlive.shenhe.entity.ShyContent; |
| 6 | import com.cnlive.shenhe.entity.ShyYidun; | 6 | import com.cnlive.shenhe.entity.ShyYidun; |
| 7 | +import com.cnlive.shenhe.enums.ImageLabels; | ||
| 8 | +import com.cnlive.shenhe.enums.TextLabels; | ||
| 7 | import com.cnlive.shenhe.serviceImpl.ContentServiceImpl; | 9 | import com.cnlive.shenhe.serviceImpl.ContentServiceImpl; |
| 8 | import com.cnlive.shenhe.serviceImpl.YiDunServiceImpl; | 10 | import com.cnlive.shenhe.serviceImpl.YiDunServiceImpl; |
| 9 | import com.cnlive.shenhe.utils.CommonConst; | 11 | import com.cnlive.shenhe.utils.CommonConst; |
| @@ -76,14 +78,11 @@ public class YiDunUrlResultJob { | @@ -76,14 +78,11 @@ public class YiDunUrlResultJob { | ||
| 76 | JSONObject resultObject = JSONObject.parseObject(s1); | 78 | JSONObject resultObject = JSONObject.parseObject(s1); |
| 77 | int code = resultObject.getIntValue("code"); | 79 | int code = resultObject.getIntValue("code"); |
| 78 | String msg = resultObject.getString("msg"); | 80 | String msg = resultObject.getString("msg"); |
| 79 | - //易盾返回结果的类型 | ||
| 80 | - String type; | ||
| 81 | - //易盾失败结果的详情 | ||
| 82 | - String desc = "易盾网站审核"; | ||
| 83 | if (code == 200 && "ok".equals(msg)) { | 81 | if (code == 200 && "ok".equals(msg)) { |
| 84 | JSONArray resultJSONArray = resultObject.getJSONArray("result"); | 82 | JSONArray resultJSONArray = resultObject.getJSONArray("result"); |
| 85 | if (resultJSONArray != null && resultJSONArray.size() > 0) { | 83 | if (resultJSONArray != null && resultJSONArray.size() > 0) { |
| 86 | for (int i = 0; i < resultJSONArray.size(); i++) { | 84 | for (int i = 0; i < resultJSONArray.size(); i++) { |
| 85 | + String desc = "易盾网站审核"; | ||
| 87 | ShyYidun newYiDunMsg = new ShyYidun(); | 86 | ShyYidun newYiDunMsg = new ShyYidun(); |
| 88 | ShyContent shyContent = new ShyContent(); | 87 | ShyContent shyContent = new ShyContent(); |
| 89 | try { | 88 | try { |
| @@ -106,7 +105,6 @@ public class YiDunUrlResultJob { | @@ -106,7 +105,6 @@ public class YiDunUrlResultJob { | ||
| 106 | newYiDunMsg.setDesc_msg(desc); | 105 | newYiDunMsg.setDesc_msg(desc); |
| 107 | //修改图文状态 | 106 | //修改图文状态 |
| 108 | contentServiceImpl.callback(yiDunMsg.getContent_id(), desc, CommonConst.AUDIT_SUCCESS, "", "机审通过"); | 107 | contentServiceImpl.callback(yiDunMsg.getContent_id(), desc, CommonConst.AUDIT_SUCCESS, "", "机审通过"); |
| 109 | - desc=""; | ||
| 110 | } else { | 108 | } else { |
| 111 | JSONObject evidences = jsonObject.getJSONObject("evidences"); | 109 | JSONObject evidences = jsonObject.getJSONObject("evidences"); |
| 112 | JSONArray texts = evidences.getJSONArray("texts"); | 110 | JSONArray texts = evidences.getJSONArray("texts"); |
| @@ -115,12 +113,26 @@ public class YiDunUrlResultJob { | @@ -115,12 +113,26 @@ public class YiDunUrlResultJob { | ||
| 115 | JSONObject jsonObject1 = texts.getJSONObject(j); | 113 | JSONObject jsonObject1 = texts.getJSONObject(j); |
| 116 | //检测结果,0:通过,1:嫌疑,2:不通过 | 114 | //检测结果,0:通过,1:嫌疑,2:不通过 |
| 117 | int action = jsonObject1.getIntValue("action"); | 115 | int action = jsonObject1.getIntValue("action"); |
| 116 | + String labelMsg=""; | ||
| 117 | + if(action!=0){ | ||
| 118 | + JSONArray labels = jsonObject1.getJSONArray("labels"); | ||
| 119 | + labelMsg="("; | ||
| 120 | + if(labels!=null&&labels.size()>0){ | ||
| 121 | + for (Object obj : labels) { | ||
| 122 | + JSONObject jsonObjectone = (JSONObject) obj; | ||
| 123 | + Integer label = jsonObjectone.getInteger("label"); | ||
| 124 | + String name = TextLabels.getName(label); | ||
| 125 | + labelMsg=labelMsg+name; | ||
| 126 | + | ||
| 127 | + } | ||
| 128 | + } | ||
| 129 | + } | ||
| 118 | if (action == 1) { | 130 | if (action == 1) { |
| 119 | - desc = desc + "文字嫌疑"; | 131 | + desc = desc + "文字嫌疑"+labelMsg+")"; |
| 120 | break; | 132 | break; |
| 121 | } | 133 | } |
| 122 | if (action == 2) { | 134 | if (action == 2) { |
| 123 | - desc = desc + "文字违规"; | 135 | + desc = desc + "文字违规"+labelMsg+")"; |
| 124 | break; | 136 | break; |
| 125 | } | 137 | } |
| 126 | } | 138 | } |
| @@ -131,12 +143,30 @@ public class YiDunUrlResultJob { | @@ -131,12 +143,30 @@ public class YiDunUrlResultJob { | ||
| 131 | JSONObject jsonObject1 = images.getJSONObject(k); | 143 | JSONObject jsonObject1 = images.getJSONObject(k); |
| 132 | //0:正常,1:不确定,2:确定 | 144 | //0:正常,1:不确定,2:确定 |
| 133 | int level = jsonObject1.getIntValue("level"); | 145 | int level = jsonObject1.getIntValue("level"); |
| 146 | + String labelMsg=""; | ||
| 147 | + if(level!=0){ | ||
| 148 | + JSONArray labels = jsonObject1.getJSONArray("labels"); | ||
| 149 | + labelMsg="("; | ||
| 150 | + if(labels!=null&&labels.size()>0){ | ||
| 151 | + for (Object obj : labels) { | ||
| 152 | + JSONObject jsonObjectone = (JSONObject) obj; | ||
| 153 | + int labelsLevel = jsonObjectone.getIntValue("level"); | ||
| 154 | + //分类级别 0-正常 1-不确定 2-确定 | ||
| 155 | + if(labelsLevel!=0){ | ||
| 156 | + Integer label = jsonObjectone.getInteger("label"); | ||
| 157 | + String name = ImageLabels.getName(label); | ||
| 158 | + labelMsg=labelMsg+name; | ||
| 159 | + } | ||
| 160 | + } | ||
| 161 | + } | ||
| 162 | + | ||
| 163 | + } | ||
| 134 | if (level == 1) { | 164 | if (level == 1) { |
| 135 | - desc = desc + "第" + (i + 1) + "张图片嫌疑"; | 165 | + desc = desc + "第" + (i + 1) + "张图片嫌疑"+labelMsg+")"; |
| 136 | break; | 166 | break; |
| 137 | } | 167 | } |
| 138 | if (level == 2) { | 168 | if (level == 2) { |
| 139 | - desc = desc + "第" + (i + 1) + "张图片违规"; | 169 | + desc = desc + "第" + (i + 1) + "张图片违规"+labelMsg+")"; |
| 140 | break; | 170 | break; |
| 141 | } | 171 | } |
| 142 | } | 172 | } |
| @@ -147,8 +177,6 @@ public class YiDunUrlResultJob { | @@ -147,8 +177,6 @@ public class YiDunUrlResultJob { | ||
| 147 | //拒绝原因 | 177 | //拒绝原因 |
| 148 | shyContent.setShenhe_msg(desc); | 178 | shyContent.setShenhe_msg(desc); |
| 149 | newYiDunMsg.setDesc_msg(desc); | 179 | newYiDunMsg.setDesc_msg(desc); |
| 150 | - | ||
| 151 | - desc = ""; | ||
| 152 | } | 180 | } |
| 153 | } catch (NumberFormatException e) { | 181 | } catch (NumberFormatException e) { |
| 154 | e.printStackTrace(); | 182 | e.printStackTrace(); |
src/main/java/com/cnlive/shenhe/utils/YiDunAntiFraudUtil.java
| @@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSONArray; | @@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSONArray; | ||
| 4 | import com.alibaba.fastjson.JSONObject; | 4 | import com.alibaba.fastjson.JSONObject; |
| 5 | import com.cnlive.shenhe.api.AvsampleCallBackControllerApi; | 5 | import com.cnlive.shenhe.api.AvsampleCallBackControllerApi; |
| 6 | import com.cnlive.shenhe.entity.ShyYidun; | 6 | import com.cnlive.shenhe.entity.ShyYidun; |
| 7 | +import com.cnlive.shenhe.enums.ImageLabels; | ||
| 8 | +import com.cnlive.shenhe.enums.TextLabels; | ||
| 7 | import com.cnlive.shenhe.serviceImpl.YiDunServiceImpl; | 9 | import com.cnlive.shenhe.serviceImpl.YiDunServiceImpl; |
| 8 | import org.apache.commons.codec.digest.DigestUtils; | 10 | import org.apache.commons.codec.digest.DigestUtils; |
| 9 | import org.slf4j.Logger; | 11 | import org.slf4j.Logger; |
| @@ -76,10 +78,10 @@ public class YiDunAntiFraudUtil { | @@ -76,10 +78,10 @@ public class YiDunAntiFraudUtil { | ||
| 76 | public static void main(String[] args) { | 78 | public static void main(String[] args) { |
| 77 | 79 | ||
| 78 | //智能文本识别审核测试 | 80 | //智能文本识别审核测试 |
| 79 | - //getTextFilter("好人"); | 81 | + //getTextFilter("王八蛋"); |
| 80 | 82 | ||
| 81 | //智能图片识别审核测试 | 83 | //智能图片识别审核测试 |
| 82 | - /*JSONArray jsonArray = new JSONArray(); | 84 | + JSONArray jsonArray = new JSONArray(); |
| 83 | JSONObject image1 = new JSONObject(); | 85 | JSONObject image1 = new JSONObject(); |
| 84 | image1.put("name", UUID.randomUUID()); | 86 | image1.put("name", UUID.randomUUID()); |
| 85 | image1.put("type", 1); | 87 | image1.put("type", 1); |
| @@ -95,7 +97,7 @@ public class YiDunAntiFraudUtil { | @@ -95,7 +97,7 @@ public class YiDunAntiFraudUtil { | ||
| 95 | image3.put("type", 1); | 97 | image3.put("type", 1); |
| 96 | image3.put("data", "https://wjj.ys2.cnliveimg.com/769/img/0/2020/03/21/158474856886077030277.jpg"); | 98 | image3.put("data", "https://wjj.ys2.cnliveimg.com/769/img/0/2020/03/21/158474856886077030277.jpg"); |
| 97 | jsonArray.add(image3); | 99 | jsonArray.add(image3); |
| 98 | - getImagesFilter(jsonArray.toJSONString());*/ | 100 | + getImagesFilter(jsonArray.toJSONString()); |
| 99 | 101 | ||
| 100 | //智能网页识别审核测试 | 102 | //智能网页识别审核测试 |
| 101 | //getURLFilter(FILE_URL); | 103 | //getURLFilter(FILE_URL); |
| @@ -140,17 +142,32 @@ public class YiDunAntiFraudUtil { | @@ -140,17 +142,32 @@ public class YiDunAntiFraudUtil { | ||
| 140 | //检测结果,0:通过,1:嫌疑,2:不通过 | 142 | //检测结果,0:通过,1:嫌疑,2:不通过 |
| 141 | int action = resultJsonObject.getIntValue("action"); | 143 | int action = resultJsonObject.getIntValue("action"); |
| 142 | String taskId = resultJsonObject.getString("taskId"); | 144 | String taskId = resultJsonObject.getString("taskId"); |
| 145 | + String labelMsg=""; | ||
| 146 | + if(action!=0){ | ||
| 147 | + JSONArray labels = resultJsonObject.getJSONArray("labels"); | ||
| 148 | + labelMsg="("; | ||
| 149 | + if(labels!=null&&labels.size()>0){ | ||
| 150 | + for (Object obj : labels) { | ||
| 151 | + JSONObject jsonObjectone = (JSONObject) obj; | ||
| 152 | + Integer label = jsonObjectone.getInteger("label"); | ||
| 153 | + String name = TextLabels.getName(label); | ||
| 154 | + labelMsg=labelMsg+name; | ||
| 155 | + | ||
| 156 | + } | ||
| 157 | + } | ||
| 158 | + } | ||
| 159 | + | ||
| 143 | if (action == 0) { | 160 | if (action == 0) { |
| 144 | jsonObj.put("type", "PASS"); | 161 | jsonObj.put("type", "PASS"); |
| 145 | - jsonObj.put("desc", "易盾审核通过"); | 162 | + jsonObj.put("desc", "易盾文本审核通过"); |
| 146 | } | 163 | } |
| 147 | if (action == 1) { | 164 | if (action == 1) { |
| 148 | jsonObj.put("type", "REJECT"); | 165 | jsonObj.put("type", "REJECT"); |
| 149 | - jsonObj.put("desc", "文本嫌疑"); | 166 | + jsonObj.put("desc", "易盾文本审核文本嫌疑"+labelMsg+")"); |
| 150 | } | 167 | } |
| 151 | if (action == 2) { | 168 | if (action == 2) { |
| 152 | jsonObj.put("type", "REJECT"); | 169 | jsonObj.put("type", "REJECT"); |
| 153 | - jsonObj.put("desc", "文本违规"); | 170 | + jsonObj.put("desc", "易盾文本审核文本违规"+labelMsg+")"); |
| 154 | } | 171 | } |
| 155 | jsonObj.put("taskId", taskId); | 172 | jsonObj.put("taskId", taskId); |
| 156 | logger.info("审核云文本识别处理后结果:{}", jsonObj.toString()); | 173 | logger.info("审核云文本识别处理后结果:{}", jsonObj.toString()); |
| @@ -210,13 +227,32 @@ public class YiDunAntiFraudUtil { | @@ -210,13 +227,32 @@ public class YiDunAntiFraudUtil { | ||
| 210 | int status = jsonObject.getIntValue("status"); | 227 | int status = jsonObject.getIntValue("status"); |
| 211 | //建议动作,2:建议删除,1:建议审核,0:建议通过 | 228 | //建议动作,2:建议删除,1:建议审核,0:建议通过 |
| 212 | int action = jsonObject.getIntValue("action"); | 229 | int action = jsonObject.getIntValue("action"); |
| 230 | + | ||
| 231 | + String labelMsg=""; | ||
| 232 | + if(action!=0){ | ||
| 233 | + JSONArray labels = jsonObject.getJSONArray("labels"); | ||
| 234 | + if(labels!=null&&labels.size()>0){ | ||
| 235 | + for (Object obj : labels) { | ||
| 236 | + JSONObject jsonObjectone = (JSONObject) obj; | ||
| 237 | + int level = jsonObjectone.getIntValue("level"); | ||
| 238 | + //分类级别 0-正常 1-不确定 2-确定 | ||
| 239 | + if(level!=0){ | ||
| 240 | + Integer label = jsonObjectone.getInteger("label"); | ||
| 241 | + String name = ImageLabels.getName(label); | ||
| 242 | + labelMsg=labelMsg+name; | ||
| 243 | + } | ||
| 244 | + } | ||
| 245 | + } | ||
| 246 | + | ||
| 247 | + } | ||
| 248 | + | ||
| 213 | if (status == 0 && action == 1) { | 249 | if (status == 0 && action == 1) { |
| 214 | - strBuffer.append("(第" + (i + 1) + "张图片嫌疑)"); | 250 | + strBuffer.append("(第" + (i + 1) + "张图片嫌疑"+labelMsg+")"); |
| 215 | count++; | 251 | count++; |
| 216 | continue; | 252 | continue; |
| 217 | } | 253 | } |
| 218 | if (status == 0 && action == 2) { | 254 | if (status == 0 && action == 2) { |
| 219 | - strBuffer.append("(第" + (i + 1) + "张图片违规)"); | 255 | + strBuffer.append("(第" + (i + 1) + "张图片违规"+labelMsg+")"); |
| 220 | count++; | 256 | count++; |
| 221 | continue; | 257 | continue; |
| 222 | } | 258 | } |