浏览代码

feat(job): 调整AI审核任务参数与状态判断逻辑

- 修改图片和视频URL字段名以匹配新AI接口规范
- 更新审核状态判断逻辑,确保仅在审核完成时处理结果
- 增加对未完成审核情况的日志记录
- 保留原有不合规内容的禁用及原因记录功能
Lhaibo 2 周之前
父节点
当前提交
32f22285dc
共有 1 个文件被更改,包括 15 次插入11 次删除
  1. 15 11
      alien-job/src/main/java/shop/alien/job/store/AiTagJob.java

+ 15 - 11
alien-job/src/main/java/shop/alien/job/store/AiTagJob.java

@@ -646,8 +646,8 @@ public class AiTagJob {
                             Map<String, Object> jsonBody = new HashMap<>();
                             // text/img/video 三种维度一起传入 AI,便于一次完成合规审查
                             jsonBody.put("text", lifeUserDynamic.getContext());
-                            jsonBody.put("imgUrl", imageList);
-                            jsonBody.put("video", videoList);
+                            jsonBody.put("image_urls", imageList);
+                            jsonBody.put("video_urls", videoList);
 
                             HttpEntity<Map<String, Object>> request = new HttpEntity<>(jsonBody, aiHeaders);
                             ResponseEntity<String> response = null;
@@ -752,16 +752,20 @@ public class AiTagJob {
                                 if(code==200) {
                                     JSONObject dataNode = JSONObject.from(responseNode.get("data"));
                                     LifeUserDynamics dynamics = new LifeUserDynamics();
-                                    if (!(boolean) dataNode.get("is_compliant")) {
-                                        // 只要 AI 判定不合规,立即禁用动态并记录原因
-                                        dynamics.setId(lifeUserDynamic.getId());
-                                        dynamics.setEnableStatus(1);
-                                        dynamics.setReason(String.valueOf(dataNode.get("failure_reason")));
+                                    if ("completed".equals(dataNode.get("is_compliant"))) {
+                                        if (!(boolean) dataNode.get("is_compliant")) {
+                                            // 只要 AI 判定不合规,立即禁用动态并记录原因
+                                            dynamics.setId(lifeUserDynamic.getId());
+                                            dynamics.setEnableStatus(1);
+                                            dynamics.setReason(String.valueOf(dataNode.get("failure_reason")));
+                                        }
+                                        dynamics.setCheckFlag(2);
+                                        lifeUserDynamicsMapper.updateById(dynamics);
+                                        log.info("动态审核结果获取成功,AI返回内容: {}", response.getBody());
+                                        XxlJobHelper.handleSuccess("动态内容审核任务结果获取执行成功");
+                                    } else {
+                                        log.info("动态审核未完成,AI返回内容: {}", response.getBody());
                                     }
-                                    dynamics.setCheckFlag(2);
-                                    lifeUserDynamicsMapper.updateById(dynamics);
-                                    log.info("动态审核结果获取成功,AI返回内容: {}", response.getBody());
-                                    XxlJobHelper.handleSuccess("动态内容审核任务结果获取执行成功");
                                 } else {
                                     log.error("AI接口调用失败,错误码: " + code);
                                 }