修复dify回传

This commit is contained in:
jie.lu
2025-08-14 23:40:13 +08:00
parent be7120d112
commit 20d16ec253

View File

@@ -187,47 +187,53 @@ public class ClaimVerificationServiceImpl implements ClaimVerificationService {
List<ClaimVerificationFile> claimVerificationFiles = claimVerificationFileAnalysisDTO.getClaimVerificationFiles(); List<ClaimVerificationFile> claimVerificationFiles = claimVerificationFileAnalysisDTO.getClaimVerificationFiles();
List<ClaimVerificationFile> resultFiles = new ArrayList<>(); List<ClaimVerificationFile> resultFiles = new ArrayList<>();
for (ClaimVerificationFile claimVerificationFile : claimVerificationFiles) { for (ClaimVerificationFile claimVerificationFile : claimVerificationFiles) {
List<String> fileObsPath = new ArrayList<>(); try {
fileObsPath.add(claimVerificationFile.getFileObsPath()); List<String> fileObsPath = new ArrayList<>();
List<HashMap<String, String>> fileIds = new ArrayList<>(); fileObsPath.add(claimVerificationFile.getFileObsPath());
log.info("文件分类文件ID:{}", fileObsPath); List<HashMap<String, String>> fileIds = new ArrayList<>();
//上传所有文件到dify log.info("文件分类文件ID:{}", fileObsPath);
uploadFileToObs(fileObsPath, fileIds, fileClassifyToken); //上传所有文件到dify
uploadFileToObs(fileObsPath, fileIds, fileClassifyToken);
//组装文件分析workflow入参 //组装文件分析workflow入参
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(ClaimVerificationConstant.UPLOAD_FILE_ID, fileToDifyDTO.get(ClaimVerificationConstant.ID)); object.put(ClaimVerificationConstant.UPLOAD_FILE_ID, fileToDifyDTO.get(ClaimVerificationConstant.ID));
object.put(ClaimVerificationConstant.TYPE, fileToDifyDTO.get(ClaimVerificationConstant.TYPE)); object.put(ClaimVerificationConstant.TYPE, fileToDifyDTO.get(ClaimVerificationConstant.TYPE));
object.put(ClaimVerificationConstant.TRANSFER_METHOD, ClaimVerificationConstant.LOCAL_FILE); object.put(ClaimVerificationConstant.TRANSFER_METHOD, ClaimVerificationConstant.LOCAL_FILE);
files.add(object); files.add(object);
}
//构建入参
JSONObject fileToDifyDTO = new JSONObject();
fileToDifyDTO.put("files", files);
//根据aiAnalysisRequestId更新请求日志表的difyRequest字段
syncUpdateDiFyRequest(fileToDifyDTO.toString(), aiAnalysisRequestId);
DiFyReq diFyReq = new DiFyReq();
diFyReq.setUser(BusinessTypeEnum.CLAIM_VERIFICATION.getCode());
diFyReq.setFlowId(fileClassifyToken);
diFyReq.setInputs(fileToDifyDTO);
//调用dify 工作流
JSONObject classifyDiFyObject = (JSONObject) diFyService.getDiFyObject(diFyReq);
//处理结果
if (classifyDiFyObject == null) {
log.error(" 售后索赔检核文件分类dify返回结果为空");
saveException("售后索赔检核文件分类dify返回结果为空", aiAnalysisRequestId, null);
} else {
//解析dify返回结果
String fileType = diFyObject.getString("fileBusinessType");
//判断字符串那个是不为空的然后进行处理
if (StringUtils.isNotBlank(fileType)) {
claimVerificationFile.setFileType(fileType);
} else {
claimVerificationFile.setFileType("0");
} }
//构建入参
JSONObject fileToDifyDTO = new JSONObject();
fileToDifyDTO.put("files", files);
//根据aiAnalysisRequestId更新请求日志表的difyRequest字段
syncUpdateDiFyRequest(fileToDifyDTO.toString(), aiAnalysisRequestId);
DiFyReq diFyReq = new DiFyReq();
diFyReq.setUser(BusinessTypeEnum.CLAIM_VERIFICATION.getCode());
diFyReq.setFlowId(fileClassifyToken);
diFyReq.setInputs(fileToDifyDTO);
//调用dify 工作流
JSONObject classifyDiFyObject = (JSONObject) diFyService.getDiFyObject(diFyReq);
//处理结果
if (classifyDiFyObject == null) {
log.error(" 售后索赔检核文件分类dify返回结果为空");
saveException("售后索赔检核文件分类dify返回结果为空", aiAnalysisRequestId, null);
} else {
//解析dify返回结果
String fileType = classifyDiFyObject.getString("fileBusinessType");
//判断字符串那个是不为空的然后进行处理
if (StringUtils.isNotBlank(fileType)) {
claimVerificationFile.setFileType(fileType);
} else {
claimVerificationFile.setFileType("3");
}
resultFiles.add(claimVerificationFile);
}
} catch (Exception e) {
log.error("文件分类异常:{}", e.getMessage());
claimVerificationFile.setFileType("3");
resultFiles.add(claimVerificationFile); resultFiles.add(claimVerificationFile);
} }
} }