Pārlūkot izejas kodu

```
fix(SecondGoodsServiceImpl): 完善商品审核失败处理逻辑

- 在图片和文本审核失败时,调用 recordGoodsOperation 方法记录操作历史
-优化审核失败原因的构建与传递,避免重复拼接字符串
- 统一 createGoodsAudit 方法中失败原因参数的含义,提升代码可读性
- 补充视频审核失败时的操作历史记录
```

wxd 2 mēneši atpakaļ
vecāks
revīzija
8d55fc5a2e

+ 15 - 11
alien-second/src/main/java/shop/alien/second/service/impl/SecondGoodsServiceImpl.java

@@ -596,7 +596,7 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
         // 审核失败。直接返回
         if (!imageAuditResult) {
             // 图片审核不通过,记录操作历史
-//            recordGoodsOperation(goods);
+            recordGoodsOperation(goods,"图片审核失败");
             return;
         }
 
@@ -605,7 +605,7 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
         // 审核失败。直接返回
         if (!textAuditResult) {
             // 文本审核不通过,记录操作历史
-//            recordGoodsOperation(goods);
+            recordGoodsOperation(goods,"文本审核失败");
             return;
         }
         // 视频审核
@@ -704,9 +704,10 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
         if ("high".equals(textCheckResult.getRiskLevel())) {
             // 文本审核不通过或存在高风险
             goods.setGoodsStatus(SecondGoodsStatusEnum.REVIEW_FAILED.getCode()); // 审核失败
-            goods.setFailedReason("文本审核不通过:" + (textCheckResult.getRiskWords() != null ? textCheckResult.getRiskWords() : "存在高风险内容"));
+            String failReason = "文本审核不通过:" + (textCheckResult.getRiskWords() != null ? textCheckResult.getRiskWords() : "存在高风险内容");
+            goods.setFailedReason(failReason);
             // 插入审核记录
-            createGoodsAudit(goods, textCheckResult.getRiskWords(), Constants.AuditStatus.FAILED);
+            createGoodsAudit(goods, failReason, Constants.AuditStatus.FAILED);
             // 发送审核失败消息
             sendFailedMsg(goods);
             return false;
@@ -738,9 +739,10 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
                 if ("high".equals(response.getRiskLevel())) {
                     // 图片审核不通过或存在高风险
                     goods.setGoodsStatus(SecondGoodsStatusEnum.REVIEW_FAILED.getCode()); // 审核失败
-                    goods.setFailedReason("图片审核不通过:图片中包含" + (response.getDescriptions() != null ? response.getDescriptions() : "高风险内容"));
+                    String failReason = "图片审核不通过:图片中包含" + (response.getDescriptions() != null ? response.getDescriptions() : "高风险内容");
+                    goods.setFailedReason(failReason);
                     // 插入审核记录
-                    createGoodsAudit(goods, response.getDescriptions(), Constants.AuditStatus.FAILED);
+                    createGoodsAudit(goods, failReason, Constants.AuditStatus.FAILED);
                     // 发送审核失败消息
                     sendFailedMsg(goods);
                     return false;
@@ -887,17 +889,17 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
      * 创建商品审核记录
      *
      * @param goods 商品
-     * @param riskWords 文本审核结果
+     * @param failReason 审核结果
      */
-    private void createGoodsAudit(SecondGoods goods, String riskWords,Integer goodsStatus) {
+    private void createGoodsAudit(SecondGoods goods, String failReason,Integer goodsStatus) {
         // 保存审核结果
         secondGoodsMapper.updateById(goods);
         // 插入审核记录
         SecondGoodsAudit auditRecord = new SecondGoodsAudit();
         auditRecord.setGoodsId(goods.getId());
-        auditRecord.setGoodsStatus(goodsStatus); // 审核失败
+        auditRecord.setGoodsStatus(goodsStatus); // 审核状态
         if (Constants.AuditStatus.FAILED.equals(goodsStatus)) {
-            auditRecord.setFailedReason("文本审核不通过:" + (riskWords != null ? riskWords : "存在高风险内容"));
+            auditRecord.setFailedReason(failReason);
         }
         auditRecord.setCreatedUserId(goods.getUserId());
         auditRecord.setUpdatedUserId(goods.getUserId());
@@ -1507,7 +1509,9 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
                 
                 // 更新审核记录
                 createGoodsAudit(goods, failedReason, Constants.AuditStatus.FAILED);
-                
+
+                // 记录操作历史
+                recordGoodsOperation(goods, "视频审核失败");
                 // 发送审核失败消息
                 sendFailedMsg(goods);
             }