Просмотр исходного кода

Merge remote-tracking branch 'origin/sit' into uat-20260202

dujian 8 часов назад
Родитель
Сommit
ef771334aa

+ 8 - 1
alien-job/src/main/java/shop/alien/job/store/AiTagJob.java

@@ -84,6 +84,13 @@ public class AiTagJob {
     @Value("${third-party-getresult.base-url}")
     private String getResultUrl;
 
+    /**
+     * 店铺入驻 AI 审核提交接口,例如: http://host:port/ai/auto-review/api/v1/merchant-onboarding/applications
+     * (与 {@link shop.alien.job.second.AiProductComplaintJob} 中 third-party-aiProductComplaintResultUrl 用法相同,在 Nacos 配置)
+     */
+    @Value("${third-party-aiMerchantOnboardingApplicationsUrl.base-url}")
+    private String aiMerchantOnboardingApplicationsUrl;
+
     //用户名
     @Value("${third-party-user-name.base-url}")
     private String userName;
@@ -978,7 +985,7 @@ public class AiTagJob {
                 HttpEntity<AiApproveStoreInfo> request = new HttpEntity<>(aiApproveStoreInfo, aiHeaders);
                 ResponseEntity<String> response = null;
                 try {
-                    response = restTemplate.postForEntity("http://192.168.2.250:9000/ai/auto-review/api/v1/merchant-onboarding/applications", request, String.class);
+                    response = restTemplate.postForEntity(aiMerchantOnboardingApplicationsUrl, request, String.class);
                     if (response.getStatusCodeValue() != 200) {
                         log.error("店铺AI审核接口调用失败 storeId={}, http状态={}", storeInfo.getId(), response.getStatusCode());
                         continue;

+ 10 - 11
alien-store/src/main/java/shop/alien/store/controller/LifeUserDynamicsController.java

@@ -3,11 +3,9 @@ package shop.alien.store.controller;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
-import com.google.common.collect.Lists;
 import io.swagger.annotations.*;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import shop.alien.entity.result.R;
 import shop.alien.entity.store.LifeUserDynamics;
@@ -15,8 +13,8 @@ import shop.alien.entity.store.vo.LifePinglunVo;
 import shop.alien.entity.store.vo.LifeUserDynamicsVo;
 import shop.alien.store.annotation.TrackEvent;
 import shop.alien.store.service.LifeUserDynamicsService;
+import shop.alien.store.util.ai.AiContentModerationUtil;
 import shop.alien.util.common.ListToPage;
-import shop.alien.util.common.safe.*;
 
 import java.util.*;
 
@@ -33,8 +31,7 @@ public class LifeUserDynamicsController {
 
     private final LifeUserDynamicsService lifeUserDynamicsService;
 
-    @Autowired
-    private TextModerationUtil textModerationUtil;
+    private final AiContentModerationUtil aiContentModerationUtil;
 
     @ApiOperation("社区列表")
     @ApiOperationSupport(order = 1)
@@ -92,14 +89,16 @@ public class LifeUserDynamicsController {
             return R.data(3);
         }*/
         try {
-            List<String> servicesList = Lists.newArrayList();
-            servicesList.add(TextReviewServiceEnum.COMMENT_DETECTION_PRO.getService());
-            servicesList.add(TextReviewServiceEnum.LLM_QUERY_MODERATION.getService());
-            TextModerationResultVO textCheckResult = textModerationUtil.invokeFunction(lifeUserDynamics.getContext(), servicesList);
-            if ("high".equals(textCheckResult.getRiskLevel())) {
+            // 与 saveCommonRating 一致:AiContentModerationUtil(ai.service.moderate-url),仅校验正文;配图由前端审核
+            AiContentModerationUtil.AuditResult contentAuditResult =
+                    aiContentModerationUtil.auditContent(lifeUserDynamics.getContext(), null);
+            if (!contentAuditResult.isPassed()) {
+                log.warn("发布动态文本审核未通过: {}", contentAuditResult.getFailureReason());
                 return R.data(2);
             }
-            // 配图由前端直连AI审核,服务端只做动态正文文本审核(ImageModerationUtil已去掉)
+            // 审核通过(含无正文:moderate 侧跳过请求,视为通过)→ 落库审核状态为「审核完成」
+            lifeUserDynamics.setCheckFlag(2);
+            lifeUserDynamics.setReason(null);
             lifeUserDynamics.setUpdatedTime(new java.util.Date());
             int cnt = lifeUserDynamicsService.addOrUpdateStore(lifeUserDynamics);
             if (cnt == 0) {