索赔检核审计流程代码
This commit is contained in:
@@ -0,0 +1,11 @@
|
|||||||
|
package com.volvo.ai.analytic.center.constant;
|
||||||
|
|
||||||
|
public class ClaimVerificationConstant {
|
||||||
|
|
||||||
|
public static final String ID = "id";
|
||||||
|
public static final String EXTENSION = "extension";
|
||||||
|
public static final String TYPE = "type";
|
||||||
|
public static final String UPLOAD_FILE_ID = "upload_file_id";
|
||||||
|
public static final String TRANSFER_METHOD = "transfer_method";
|
||||||
|
public static final String LOCAL_FILE = "local_file";
|
||||||
|
}
|
||||||
@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
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.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.entity.AiAnalysisRequestLogs;
|
import com.volvo.ai.analytic.center.entity.AiAnalysisRequestLogs;
|
||||||
@@ -78,20 +79,7 @@ public class ClaimVerificationServiceImpl implements ClaimVerificationService {
|
|||||||
List<String> fileObsPath = claimVerificationFileAnalysisDTO.getFileObsPath();
|
List<String> fileObsPath = claimVerificationFileAnalysisDTO.getFileObsPath();
|
||||||
List<HashMap<String,String>> fileIds = Collections.EMPTY_LIST;
|
List<HashMap<String,String>> fileIds = Collections.EMPTY_LIST;
|
||||||
//上传所有文件到dify
|
//上传所有文件到dify
|
||||||
if(fileObsPath != null && fileObsPath.size() > 0){
|
uploadFileToObs(fileObsPath, fileIds);
|
||||||
for (String filePath : fileObsPath) {
|
|
||||||
HashMap<String,String> fileToDifyDTO = new HashMap<>();
|
|
||||||
ObsObject obsObject = ObsUtil.downloadFile(filePath);
|
|
||||||
InputStream inputStream = obsObject.getObjectContent();
|
|
||||||
MultipartFile file = ObsUtil.getMultipartFile(inputStream, ObsUtil.getFilenameByUrl(filePath));
|
|
||||||
JSONObject fileUploadRes = diFyFeign.fileUpload(fileToken,file);
|
|
||||||
String uploadFileId = fileUploadRes.getString("id");
|
|
||||||
String extension = fileUploadRes.getString("extension");
|
|
||||||
fileToDifyDTO.put("id", uploadFileId);
|
|
||||||
fileToDifyDTO.put("type", extension);
|
|
||||||
fileIds.add(fileToDifyDTO);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//根据业务线标识和文件配置分类查询配置
|
//根据业务线标识和文件配置分类查询配置
|
||||||
List<AiAnalyticBusinessConfig> aiAnalyticBusinessConfigs = aiAnalyticBusinessConfigMapper.selectList(
|
List<AiAnalyticBusinessConfig> aiAnalyticBusinessConfigs = aiAnalyticBusinessConfigMapper.selectList(
|
||||||
Wrappers.<AiAnalyticBusinessConfig>lambdaQuery()
|
Wrappers.<AiAnalyticBusinessConfig>lambdaQuery()
|
||||||
@@ -104,9 +92,9 @@ public class ClaimVerificationServiceImpl implements ClaimVerificationService {
|
|||||||
JSONArray files = new JSONArray();
|
JSONArray files = new JSONArray();
|
||||||
for (HashMap<String, String> fileToDifyDTO : fileIds) {
|
for (HashMap<String, String> fileToDifyDTO : fileIds) {
|
||||||
JSONObject object = new JSONObject();
|
JSONObject object = new JSONObject();
|
||||||
object.put("upload_file_id", fileToDifyDTO.get("id"));
|
object.put(ClaimVerificationConstant.UPLOAD_FILE_ID, fileToDifyDTO.get(ClaimVerificationConstant.ID));
|
||||||
object.put("type", fileToDifyDTO.get("type"));
|
object.put(ClaimVerificationConstant.TYPE, fileToDifyDTO.get(ClaimVerificationConstant.TYPE));
|
||||||
object.put("transfer_method", "local_file");
|
object.put(ClaimVerificationConstant.TRANSFER_METHOD, ClaimVerificationConstant.LOCAL_FILE);
|
||||||
files.add(object);
|
files.add(object);
|
||||||
}
|
}
|
||||||
JSONObject fileToDifyDTO = new JSONObject();
|
JSONObject fileToDifyDTO = new JSONObject();
|
||||||
@@ -172,15 +160,15 @@ public class ClaimVerificationServiceImpl implements ClaimVerificationService {
|
|||||||
|
|
||||||
//组装审计报告workflow入参
|
//组装审计报告workflow入参
|
||||||
JSONObject auditRules = new JSONObject();
|
JSONObject auditRules = new JSONObject();
|
||||||
auditRules.put("AnalysisRules", aiAnalyticBusinessConfigs
|
auditRules.put("analysisRules", aiAnalyticBusinessConfigs
|
||||||
.stream()
|
.stream()
|
||||||
.filter(config -> config.getConfigType().equals("AuditRules"))
|
.filter(config -> config.getConfigType().equals("AuditRules"))
|
||||||
.map(AiAnalyticBusinessConfig::getConfigData)
|
.map(AiAnalyticBusinessConfig::getConfigData)
|
||||||
.findFirst()
|
.findFirst()
|
||||||
.orElse(null));
|
.orElse(null));
|
||||||
auditRules.put("DiagnosticReport", claimVerificationFileAnalysisDTO.getDiagnosticReport());
|
auditRules.put("diagnosticReport", claimVerificationFileAnalysisDTO.getDiagnosticReport());
|
||||||
auditRules.put("PreCheckReport", claimVerificationFileAnalysisDTO.getPreCheckReport());
|
auditRules.put("preCheckReport", claimVerificationFileAnalysisDTO.getPreCheckReport());
|
||||||
auditRules.put("DTCReport", claimVerificationFileAnalysisDTO.getDtcReport());
|
auditRules.put("dtcReport", claimVerificationFileAnalysisDTO.getDtcReport());
|
||||||
|
|
||||||
DiFyReq diFyReq = new DiFyReq();
|
DiFyReq diFyReq = new DiFyReq();
|
||||||
diFyReq.setUser(BusinessTypeEnum.CLAIM_VERIFICATION.getCode());
|
diFyReq.setUser(BusinessTypeEnum.CLAIM_VERIFICATION.getCode());
|
||||||
@@ -206,6 +194,24 @@ public class ClaimVerificationServiceImpl implements ClaimVerificationService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void uploadFileToObs(List<String> fileObsPath, List<HashMap<String, String>> fileIds) {
|
||||||
|
if(fileObsPath != null && fileObsPath.size() > 0){
|
||||||
|
for (String filePath : fileObsPath) {
|
||||||
|
HashMap<String,String> fileToDifyDTO = new HashMap<>();
|
||||||
|
ObsObject obsObject = ObsUtil.downloadFile(filePath);
|
||||||
|
InputStream inputStream = obsObject.getObjectContent();
|
||||||
|
MultipartFile file = ObsUtil.getMultipartFile(inputStream, ObsUtil.getFilenameByUrl(filePath));
|
||||||
|
JSONObject fileUploadRes = diFyFeign.fileUpload(fileToken,file);
|
||||||
|
log.info("索赔检核文件上传dify响应结果:{}",fileUploadRes);
|
||||||
|
String uploadFileId = fileUploadRes.getString(ClaimVerificationConstant.ID);
|
||||||
|
String extension = fileUploadRes.getString(ClaimVerificationConstant.EXTENSION);
|
||||||
|
fileToDifyDTO.put(ClaimVerificationConstant.ID, uploadFileId);
|
||||||
|
fileToDifyDTO.put(ClaimVerificationConstant.TYPE, extension);
|
||||||
|
fileIds.add(fileToDifyDTO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Async
|
@Async
|
||||||
protected void syncUpdateDiFyResponse(JSONObject difResult, String aiAnalysisRequestId) {
|
protected void syncUpdateDiFyResponse(JSONObject difResult, String aiAnalysisRequestId) {
|
||||||
|
|||||||
Reference in New Issue
Block a user