新增脱敏处理

This commit is contained in:
lxu75
2025-04-14 17:33:28 +08:00
parent 4aa5d85200
commit 09f5c86d26

View File

@@ -7,12 +7,16 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.obs.services.model.ObsObject; import com.obs.services.model.ObsObject;
import com.volvo.ai.analytic.center.constant.ClaimVerificationConstant; import com.volvo.ai.analytic.center.constant.ClaimVerificationConstant;
import com.volvo.ai.analytic.center.constant.Constant;
import com.volvo.ai.analytic.center.dto.req.ClaimVerificationFileDTO; import com.volvo.ai.analytic.center.dto.req.ClaimVerificationFileDTO;
import com.volvo.ai.analytic.center.dto.req.DiFyReq; 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.AiAnalysisRequestLogs;
import com.volvo.ai.analytic.center.entity.AiAnalyticBusinessConfig; import com.volvo.ai.analytic.center.entity.AiAnalyticBusinessConfig;
import com.volvo.ai.analytic.center.entity.DataMaskingRule;
import com.volvo.ai.analytic.center.enums.BusinessTypeEnum; import com.volvo.ai.analytic.center.enums.BusinessTypeEnum;
import com.volvo.ai.analytic.center.enums.ClaimVerificationFileTypeEnums; import com.volvo.ai.analytic.center.enums.ClaimVerificationFileTypeEnums;
import com.volvo.ai.analytic.center.service.DataMaskingRuleService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.text.StringEscapeUtils; import org.apache.commons.text.StringEscapeUtils;
import com.volvo.ai.analytic.center.feign.DiFyFeign; import com.volvo.ai.analytic.center.feign.DiFyFeign;
@@ -64,6 +68,9 @@ public class ClaimVerificationServiceImpl implements ClaimVerificationService {
@Autowired @Autowired
private RocketMQTemplate rocketMQTemplate; private RocketMQTemplate rocketMQTemplate;
@Autowired
private DataMaskingRuleService dataMaskingRuleService;
@Override @Override
public void consumerMessageByMQ(String message) { public void consumerMessageByMQ(String message) {
log.info("售后索赔检核MQ message: {}", message); log.info("售后索赔检核MQ message: {}", message);
@@ -182,16 +189,25 @@ public class ClaimVerificationServiceImpl implements ClaimVerificationService {
.map(AiAnalyticBusinessConfig::getConfigData) .map(AiAnalyticBusinessConfig::getConfigData)
.collect(Collectors.joining(" ")); .collect(Collectors.joining(" "));
//组装审计报告workflow入参 //组装审计报告workflow入参
JSONObject auditRules = new JSONObject(); JSONObject audit = new JSONObject();
auditRules.put("analysisRules", configDataString); audit.put("analysisRules", configDataString);
auditRules.put("diagnosticReport", claimVerificationFileAnalysisDTO.getDiagnosticReport().toString()); audit.put("diagnosticReport", claimVerificationFileAnalysisDTO.getDiagnosticReport().toString());
auditRules.put("preCheckReport", claimVerificationFileAnalysisDTO.getPreCheckReport().toString()); audit.put("preCheckReport", claimVerificationFileAnalysisDTO.getPreCheckReport().toString());
auditRules.put("dtcReport", claimVerificationFileAnalysisDTO.getDtcReport().toString()); audit.put("dtcReport", claimVerificationFileAnalysisDTO.getDtcReport().toString());
//脱敏处理
List<DataMaskingRule> maskingRuleItems = dataMaskingRuleService.getDataMaskingRuleListByApplicationChannel(Constant.CHANNEL_DCC);
RunMaskingRuleInput runMaskingRuleInput = new RunMaskingRuleInput();
runMaskingRuleInput.setDataMaskingRules(maskingRuleItems);
runMaskingRuleInput.setOldStr(audit.toString());
String corpusChat = dataMaskingRuleService.runMaskingRule(runMaskingRuleInput);
JSONObject parsedAudit = JSON.parseObject(corpusChat);
DiFyReq diFyReq = new DiFyReq(); DiFyReq diFyReq = new DiFyReq();
diFyReq.setUser(BusinessTypeEnum.CLAIM_VERIFICATION.getCode()); diFyReq.setUser(BusinessTypeEnum.CLAIM_VERIFICATION.getCode());
diFyReq.setFlowId(verificationToken); diFyReq.setFlowId(verificationToken);
diFyReq.setInputs(auditRules); diFyReq.setInputs(parsedAudit);
//调用dify 工作流 //调用dify 工作流
JSONObject diFyObject = (JSONObject) diFyService.getDiFyObject(diFyReq); JSONObject diFyObject = (JSONObject) diFyService.getDiFyObject(diFyReq);
//处理结果并推送MQ //处理结果并推送MQ