From 26ed81515988a8fc6f8946eaf3bc0f31138bc7fc Mon Sep 17 00:00:00 2001 From: lxu75 Date: Mon, 14 Apr 2025 18:38:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E5=AE=A1=E6=A0=B8=E8=AE=B0?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/AiAnalyticWarrantyAudit.java | 70 +++++++++++++++++++ .../mapper/AiAnalyticWarrantyAuditMapper.java | 9 +++ .../impl/ClaimVerificationServiceImpl.java | 28 ++++++++ 3 files changed, 107 insertions(+) create mode 100644 ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/AiAnalyticWarrantyAudit.java create mode 100644 ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mapper/AiAnalyticWarrantyAuditMapper.java diff --git a/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/AiAnalyticWarrantyAudit.java b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/AiAnalyticWarrantyAudit.java new file mode 100644 index 0000000..57a13d3 --- /dev/null +++ b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/AiAnalyticWarrantyAudit.java @@ -0,0 +1,70 @@ +package com.volvo.ai.analytic.center.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@TableName("tt_ai_analytic_warranty_audit") +public class AiAnalyticWarrantyAudit { + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 配置版本 + */ + @TableField(value = "audit_count") + private Integer auditCount; + + @TableField(value = "new_bie_after_sales_id") + private String newBieAfterSalesId; + /** + * 删除标识(0-未删除,1-已删除) + */ + @TableField(value = "is_deleted") + private Integer isDeleted; + + /** + * 创建时间 + */ + @TableField(value = "create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField(value = "update_time") + private Date updateTime; + + /** + * 创建人 + */ + @TableField(value = "create_by") + private String createBy; + + /** + * 更新人 + */ + @TableField(value = "update_by") + private String updateBy; + + /** + * 乐观锁 + */ + @TableField(value = "versions") + private Integer versions; +} diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mapper/AiAnalyticWarrantyAuditMapper.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mapper/AiAnalyticWarrantyAuditMapper.java new file mode 100644 index 0000000..fc68261 --- /dev/null +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mapper/AiAnalyticWarrantyAuditMapper.java @@ -0,0 +1,9 @@ +package com.volvo.ai.analytic.center.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.volvo.ai.analytic.center.entity.AiAnalyticWarrantyAudit; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface AiAnalyticWarrantyAuditMapper extends BaseMapper { +} diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/ClaimVerificationServiceImpl.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/ClaimVerificationServiceImpl.java index a635824..8f70805 100644 --- a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/ClaimVerificationServiceImpl.java +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/ClaimVerificationServiceImpl.java @@ -13,9 +13,11 @@ import com.volvo.ai.analytic.center.dto.req.DiFyReq; import com.volvo.ai.analytic.center.dto.req.RunMaskingRuleInput; import com.volvo.ai.analytic.center.entity.AiAnalysisRequestLogs; import com.volvo.ai.analytic.center.entity.AiAnalyticBusinessConfig; +import com.volvo.ai.analytic.center.entity.AiAnalyticWarrantyAudit; import com.volvo.ai.analytic.center.entity.DataMaskingRule; import com.volvo.ai.analytic.center.enums.BusinessTypeEnum; import com.volvo.ai.analytic.center.enums.ClaimVerificationFileTypeEnums; +import com.volvo.ai.analytic.center.mapper.AiAnalyticWarrantyAuditMapper; import com.volvo.ai.analytic.center.service.DataMaskingRuleService; import org.apache.commons.lang3.StringUtils; import org.apache.commons.text.StringEscapeUtils; @@ -71,6 +73,9 @@ public class ClaimVerificationServiceImpl implements ClaimVerificationService { @Autowired private DataMaskingRuleService dataMaskingRuleService; + + @Autowired + private AiAnalyticWarrantyAuditMapper aiAnalyticWarrantyAuditMapper; @Override public void consumerMessageByMQ(String message) { log.info("售后索赔检核MQ message: {}", message); @@ -228,12 +233,35 @@ public class ClaimVerificationServiceImpl implements ClaimVerificationService { log.info("索赔检核审计报告发送回调MQ完成: {}", data); //异步更新请求日志表的difyResponse字段 syncUpdateDiFyResponse(diFyObject, aiAnalysisRequestId); + //审核次数记录 + saveAuditCount(claimVerificationFileAnalysisDTO); } }else { throw new RuntimeException("售后索赔检核业务类型错误"); } } + //异步保存审核次数 + @Async + protected void saveAuditCount(ClaimVerificationFileDTO claimVerificationFileAnalysisDTO) { + AiAnalyticWarrantyAudit warrantyAudit = aiAnalyticWarrantyAuditMapper.selectOne( + Wrappers.lambdaQuery() + .eq(AiAnalyticWarrantyAudit::getNewBieAfterSalesId, claimVerificationFileAnalysisDTO.getNewBieAfterSalesId()) + .eq(AiAnalyticWarrantyAudit::getIsDeleted, 0) + ); + if (warrantyAudit != null) { + //存在则auditCount+1 + warrantyAudit.setAuditCount(warrantyAudit.getAuditCount() + 1); + aiAnalyticWarrantyAuditMapper.updateById(warrantyAudit); + } else { + //不存在则新增一条记录 + AiAnalyticWarrantyAudit warrantyAuditNew = new AiAnalyticWarrantyAudit(); + warrantyAuditNew.setNewBieAfterSalesId(claimVerificationFileAnalysisDTO.getNewBieAfterSalesId()); + warrantyAuditNew.setAuditCount(1); + aiAnalyticWarrantyAuditMapper.insert(warrantyAuditNew); + } + } + private void uploadFileToObs(List fileObsPath, List> fileIds) { if(fileObsPath != null && fileObsPath.size() > 0){ for (String filePath : fileObsPath) {