审核流程
This commit is contained in:
@@ -2,7 +2,7 @@ package com.volvo.ai.analytic.center.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.volvo.ai.analytic.center.entity.AiAnalyticBusinessConfig;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface AiAnalyticBusinessConfigMapper extends BaseMapper<AiAnalyticBusinessConfig> {
|
||||
|
||||
@@ -12,7 +12,8 @@ import com.volvo.ai.analytic.center.dto.req.DiFyReq;
|
||||
import com.volvo.ai.analytic.center.entity.AiAnalysisRequestLogs;
|
||||
import com.volvo.ai.analytic.center.entity.AiAnalyticBusinessConfig;
|
||||
import com.volvo.ai.analytic.center.enums.BusinessTypeEnum;
|
||||
import com.volvo.ai.analytic.center.enums.ClaimVerificationFileTypeEnums;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.text.StringEscapeUtils;
|
||||
import com.volvo.ai.analytic.center.feign.DiFyFeign;
|
||||
import com.volvo.ai.analytic.center.mapper.AiAnalysisRequestLogsMapper;
|
||||
import com.volvo.ai.analytic.center.mapper.AiAnalyticBusinessConfigMapper;
|
||||
@@ -30,6 +31,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@@ -59,6 +61,9 @@ public class ClaimVerificationServiceImpl implements ClaimVerificationService {
|
||||
@Value("${rocketmq.producer.claimVerification.topic}")
|
||||
private String topic;
|
||||
|
||||
@Value("${claimVerification.methodList}")
|
||||
private List<String> methodList;
|
||||
|
||||
@Autowired
|
||||
private RocketMQTemplate rocketMQTemplate;
|
||||
@Override
|
||||
@@ -86,6 +91,7 @@ public class ClaimVerificationServiceImpl implements ClaimVerificationService {
|
||||
.eq(AiAnalyticBusinessConfig::getBusinessLine, BusinessTypeEnum.CLAIM_VERIFICATION.getCode())
|
||||
.eq(AiAnalyticBusinessConfig::getFileConfigCategory, claimVerificationFileAnalysisDTO.getFileType())
|
||||
.eq(AiAnalyticBusinessConfig::getIsDeleted, 0)
|
||||
.eq(AiAnalyticBusinessConfig::getConfigVersion, 1)
|
||||
);
|
||||
|
||||
//组装文件分析workflow入参
|
||||
@@ -137,11 +143,23 @@ public class ClaimVerificationServiceImpl implements ClaimVerificationService {
|
||||
log.error(" 售后索赔检核文件分析dify返回结果为空");
|
||||
throw new RuntimeException(" 售后索赔检核文件分析dify返回结果为空");
|
||||
}else {
|
||||
String toAfter = "";
|
||||
String textDoc = diFyObject.getString("textDoc");
|
||||
String textImage = diFyObject.getString("textImage");
|
||||
//判断字符串那个是不为空的然后进行处理
|
||||
if (StringUtils.isNotBlank(textDoc)) {
|
||||
toAfter = StringEscapeUtils.unescapeJava(textDoc);
|
||||
} else if (StringUtils.isNotBlank(textImage)) {
|
||||
toAfter = StringEscapeUtils.unescapeJava(textImage);
|
||||
} else {
|
||||
throw new RuntimeException(" 售后索赔检核文件分析dify返回结果为空");
|
||||
}
|
||||
JSONObject difyToAfter = JSONObject.parseObject(toAfter);
|
||||
JSONObject data = new JSONObject();
|
||||
data.put("newBieAfterSalesId", claimVerificationFileAnalysisDTO.getNewBieAfterSalesId());
|
||||
data.put("businessType", claimVerificationFileAnalysisDTO.getBusinessType());
|
||||
data.put("fileType", claimVerificationFileAnalysisDTO.getFileType());
|
||||
data.put("fileData",diFyObject);
|
||||
data.put("fileData",difyToAfter);
|
||||
//返回结果推送到Newbie的MQ
|
||||
rocketMQTemplate.syncSend(topic, data);
|
||||
log.info("索赔检核文件分析发送回调MQ完成: {}", data);
|
||||
@@ -150,22 +168,22 @@ public class ClaimVerificationServiceImpl implements ClaimVerificationService {
|
||||
syncUpdateDiFyResponse(diFyObject, aiAnalysisRequestId);
|
||||
} else if(claimVerificationFileAnalysisDTO.getBusinessType().equals(BusinessTypeEnum.CLAIM_VERIFICATION_AUDIT.getCode())){
|
||||
//审计报告
|
||||
|
||||
//加载审计规则配置
|
||||
List<AiAnalyticBusinessConfig> aiAnalyticBusinessConfigs = aiAnalyticBusinessConfigMapper.selectList(
|
||||
Wrappers.<AiAnalyticBusinessConfig>lambdaQuery()
|
||||
.eq(AiAnalyticBusinessConfig::getBusinessLine, BusinessTypeEnum.CLAIM_VERIFICATION.getCode())
|
||||
.eq(AiAnalyticBusinessConfig::getConfigType, BusinessTypeEnum.AUDITRULES.getCode())
|
||||
.eq(AiAnalyticBusinessConfig::getIsDeleted, 0));
|
||||
.eq(AiAnalyticBusinessConfig::getIsDeleted, 0)
|
||||
.in(AiAnalyticBusinessConfig::getVerificationMethod,methodList)
|
||||
)
|
||||
|
||||
;
|
||||
String configDataString = aiAnalyticBusinessConfigs.stream()
|
||||
.map(AiAnalyticBusinessConfig::getConfigData)
|
||||
.collect(Collectors.joining(" "));
|
||||
//组装审计报告workflow入参
|
||||
JSONObject auditRules = new JSONObject();
|
||||
auditRules.put("analysisRules", aiAnalyticBusinessConfigs
|
||||
.stream()
|
||||
.filter(config -> config.getConfigType().equals("AuditRules"))
|
||||
.map(AiAnalyticBusinessConfig::getConfigData)
|
||||
.findFirst()
|
||||
.orElse(null));
|
||||
auditRules.put("analysisRules", configDataString);
|
||||
auditRules.put("diagnosticReport", claimVerificationFileAnalysisDTO.getDiagnosticReport());
|
||||
auditRules.put("preCheckReport", claimVerificationFileAnalysisDTO.getPreCheckReport());
|
||||
auditRules.put("dtcReport", claimVerificationFileAnalysisDTO.getDtcReport());
|
||||
@@ -181,10 +199,13 @@ public class ClaimVerificationServiceImpl implements ClaimVerificationService {
|
||||
log.error(" 售后索赔检核审计报告dify返回结果为空");
|
||||
throw new RuntimeException(" 售后索赔检核审计报告dify返回结果为空");
|
||||
}else {
|
||||
String warrantyAuditReport = diFyObject.getString("warrantyAuditReport");
|
||||
warrantyAuditReport = StringEscapeUtils.unescapeJava(warrantyAuditReport);
|
||||
JSONObject audiResToAfter = JSON.parseObject(warrantyAuditReport);
|
||||
JSONObject data = new JSONObject();
|
||||
data.put("newBieAfterSalesId", claimVerificationFileAnalysisDTO.getNewBieAfterSalesId());
|
||||
data.put("businessType", claimVerificationFileAnalysisDTO.getBusinessType());
|
||||
data.put("warrantyAuditReport",diFyObject);
|
||||
data.put("warrantyAuditReport",audiResToAfter);
|
||||
//返回结果推送到Newbie的MQ
|
||||
rocketMQTemplate.syncSend(topic, data);
|
||||
log.info("索赔检核审计报告发送回调MQ完成: {}", data);
|
||||
@@ -212,7 +233,6 @@ public class ClaimVerificationServiceImpl implements ClaimVerificationService {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Async
|
||||
protected void syncUpdateDiFyResponse(JSONObject difResult, String aiAnalysisRequestId) {
|
||||
aiAnalysisRequestLogsMapper.update(new AiAnalysisRequestLogs(),
|
||||
|
||||
Reference in New Issue
Block a user