Commit bbaf2a77 authored by R10's avatar R10

c2f update

parent d282f61c
...@@ -10,5 +10,6 @@ SELECT ...@@ -10,5 +10,6 @@ SELECT
rule_desc rule_desc
from from
biz_ai_data_audit_rule biz_ai_data_audit_rule
where is_deleted = 'N' where 1 = 1
<< and is_deleted = :isDeleted >>
<< and data_audit_rule_id in (:ids) >> << and data_audit_rule_id in (:ids) >>
\ No newline at end of file
...@@ -20,5 +20,14 @@ public class AiDataAuditRuleQueryCondition implements Serializable{ ...@@ -20,5 +20,14 @@ public class AiDataAuditRuleQueryCondition implements Serializable{
public void setIds(List<Integer> ids){ public void setIds(List<Integer> ids){
this.ids = ids; this.ids = ids;
} }
public String isDeleted;
public String getIsDeleted() {
return isDeleted;
}
public void setIsDeleted(String isDeleted) {
this.isDeleted = isDeleted;
}
} }
\ No newline at end of file
...@@ -3,6 +3,7 @@ package cn.com.poc.message.service.impl; ...@@ -3,6 +3,7 @@ package cn.com.poc.message.service.impl;
import cn.com.gsst.dify_client.DifyChatClient; import cn.com.gsst.dify_client.DifyChatClient;
import cn.com.gsst.dify_client.DifyClientFactory; import cn.com.gsst.dify_client.DifyClientFactory;
import cn.com.gsst.dify_client.enums.ResponseMode; import cn.com.gsst.dify_client.enums.ResponseMode;
import cn.com.gsst.dify_client.exception.DifyApiException;
import cn.com.gsst.dify_client.model.chat.ChatMessage; import cn.com.gsst.dify_client.model.chat.ChatMessage;
import cn.com.gsst.dify_client.model.chat.ChatMessageResponse; import cn.com.gsst.dify_client.model.chat.ChatMessageResponse;
import cn.com.poc.ai_data_audit.constants.DataAuditEnum; import cn.com.poc.ai_data_audit.constants.DataAuditEnum;
...@@ -17,6 +18,7 @@ import cn.com.poc.ai_data_audit.service.BizAiDataAuditTaskService; ...@@ -17,6 +18,7 @@ import cn.com.poc.ai_data_audit.service.BizAiDataAuditTaskService;
import cn.com.poc.common.constant.CommonConstant; import cn.com.poc.common.constant.CommonConstant;
import cn.com.poc.common.service.RedisService; import cn.com.poc.common.service.RedisService;
import cn.com.poc.common.utils.DocumentLoad; import cn.com.poc.common.utils.DocumentLoad;
import cn.com.poc.common.utils.JsonUtils;
import cn.com.poc.common.utils.StringUtils; import cn.com.poc.common.utils.StringUtils;
import cn.com.poc.message.entity.AirportTaskCreateMessage; import cn.com.poc.message.entity.AirportTaskCreateMessage;
import cn.com.poc.message.entity.AirportPDFPaperMessage; import cn.com.poc.message.entity.AirportPDFPaperMessage;
...@@ -36,6 +38,7 @@ import org.springframework.stereotype.Service; ...@@ -36,6 +38,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.File; import java.io.File;
import java.io.IOException;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -340,6 +343,30 @@ public class AirportConsumerServiceImpl implements AirportConsumerService { ...@@ -340,6 +343,30 @@ public class AirportConsumerServiceImpl implements AirportConsumerService {
// 字段对文件 // 字段对文件
private void c2f(List<BizAiDataAuditFileEntity> fileList, AiDataAuditRuleQueryItem aiDataAuditRuleQueryItem, List<AuditResultDto> results, CountDownLatch countDownLatch) throws Exception { private void c2f(List<BizAiDataAuditFileEntity> fileList, AiDataAuditRuleQueryItem aiDataAuditRuleQueryItem, List<AuditResultDto> results, CountDownLatch countDownLatch) throws Exception {
class C2fResult {
private String flag;
private String desc;
public String getFlag() {
return flag;
}
public void setFlag(String flag) {
this.flag = flag;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
executor.submit(() -> { executor.submit(() -> {
try { try {
String ruleDesc = aiDataAuditRuleQueryItem.getRuleDesc();// 规则描述 String ruleDesc = aiDataAuditRuleQueryItem.getRuleDesc();// 规则描述
...@@ -370,20 +397,41 @@ public class AirportConsumerServiceImpl implements AirportConsumerService { ...@@ -370,20 +397,41 @@ public class AirportConsumerServiceImpl implements AirportConsumerService {
//需要判断是否有第二个文件 //需要判断是否有第二个文件
if (CollectionUtils.isNotEmpty(groupedByTemplateCode.get(secondFile))) { //执行c2f判断
//执行c2f判断
AuditResultDto auditResultDto = doC2f(firstFileContent, firstField, ruleDesc, aiDataAuditRuleQueryItem); //如果成立就需要走文件是否为空的判断
// 执行工作流
Map<String, Object> inputs = new LinkedHashMap<>();
inputs.put("rule", ruleDesc);
inputs.put("doc1", firstFileContent);
inputs.put("filed_1", firstField);
// 创建聊天客户端
DifyChatClient chatClient = DifyClientFactory.createChatClient("https://dify.gsstcloud.com/v1", "app-z52CVvKwnoYPcjP3hpxlwKRC");
// 创建聊天消息
ChatMessage message = ChatMessage.builder()
.query("run")
.user("0")
.inputs(inputs)
.conversationId(StringUtils.EMPTY)
.responseMode(ResponseMode.BLOCKING)
.build();
// 发送消息并获取响应
ChatMessageResponse response = chatClient.sendChatMessage(message);
String result = response.getAnswer();
C2fResult c2fResult = JsonUtils.deSerialize(result, C2fResult.class);
if (c2fResult != null && "N".equals(c2fResult.getFlag()) && CollectionUtils.isEmpty(groupedByTemplateCode.get(secondFile))) {
AuditResultDto auditResultDto = new AuditResultDto();
auditResultDto.setRiskLevel(aiDataAuditRuleQueryItem.getRiskLevel());
auditResultDto.setRiskTitle(aiDataAuditRuleQueryItem.getTitle());
String templateName = DataAuditEnum.getTemplateNameByCode(secondFile);
auditResultDto.setRiskAnalysis(templateName + " file has not been submitted.");
auditResultDto.setRiskDescription(c2fResult.getDesc());
auditResultDto.setModificationSuggestions("Please submitt " + templateName + " file");
results.add(auditResultDto); results.add(auditResultDto);
} else {
// AuditResultDto auditResultDto = new AuditResultDto();
// auditResultDto.setRiskLevel(aiDataAuditRuleQueryItem.getRiskLevel());
// auditResultDto.setRiskTitle(aiDataAuditRuleQueryItem.getTitle());
//
// String templateName = DataAuditEnum.getTemplateNameByCode(secondFile);
// auditResultDto.setRiskAnalysis(templateName + " file has not been submitted.");
// auditResultDto.setRiskDescription(ruleDesc);
// auditResultDto.setModificationSuggestions("Please submitt " + templateName + " file");
// results.add(auditResultDto);
} }
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException(e); throw new RuntimeException(e);
...@@ -393,40 +441,6 @@ public class AirportConsumerServiceImpl implements AirportConsumerService { ...@@ -393,40 +441,6 @@ public class AirportConsumerServiceImpl implements AirportConsumerService {
}); });
} }
// 判断文件文件1里面的字端是否等于某个值
private AuditResultDto doC2f(String firstFileContent, String firstField, String ruleDesc, AiDataAuditRuleQueryItem aiDataAuditRuleQueryItem) throws Exception {
// 执行工作流
Map<String, Object> inputs = new LinkedHashMap<>();
inputs.put("rule", ruleDesc);
inputs.put("doc1", firstFileContent);
inputs.put("filed_1", firstField);
// 创建聊天客户端
DifyChatClient chatClient = DifyClientFactory.createChatClient(DIFY_BASE_URL, "xxxx");
// 创建聊天消息
ChatMessage message = ChatMessage.builder()
.query("run")
.user("0")
.inputs(inputs)
.conversationId(StringUtils.EMPTY)
.responseMode(ResponseMode.BLOCKING)
.build();
// 发送消息并获取响应
ChatMessageResponse response = chatClient.sendChatMessage(message);
String result = response.getAnswer();
AuditResultDto auditResultDto = new AuditResultDto();
auditResultDto.setRiskLevel(aiDataAuditRuleQueryItem.getRiskLevel());
auditResultDto.setRiskTitle(aiDataAuditRuleQueryItem.getTitle());
//TODO:
auditResultDto.setRiskAnalysis(result);
auditResultDto.setRiskDescription(result);
auditResultDto.setModificationSuggestions(result);
return auditResultDto;
}
// 文件对文件 // 文件对文件
private void f2f(List<BizAiDataAuditFileEntity> fileList, AiDataAuditRuleQueryItem aiDataAuditRuleQueryItem, List<AuditResultDto> results, CountDownLatch countDownLatch) { private void f2f(List<BizAiDataAuditFileEntity> fileList, AiDataAuditRuleQueryItem aiDataAuditRuleQueryItem, List<AuditResultDto> results, CountDownLatch countDownLatch) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment