Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
P
poc-api
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
poc
poc-api
Commits
bbaf2a77
Commit
bbaf2a77
authored
Oct 31, 2025
by
R10
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
c2f update
parent
d282f61c
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
73 additions
and
49 deletions
+73
-49
AiDataAuditRuleQuery.sql
...a/cn/com/poc/ai_data_audit/query/AiDataAuditRuleQuery.sql
+2
-1
AiDataAuditRuleQueryCondition.java
...oc/ai_data_audit/query/AiDataAuditRuleQueryCondition.java
+10
-1
AirportConsumerServiceImpl.java
.../poc/message/service/impl/AirportConsumerServiceImpl.java
+61
-47
No files found.
src/main/java/cn/com/poc/ai_data_audit/query/AiDataAuditRuleQuery.sql
View file @
bbaf2a77
...
@@ -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
src/main/java/cn/com/poc/ai_data_audit/query/AiDataAuditRuleQueryCondition.java
View file @
bbaf2a77
...
@@ -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
src/main/java/cn/com/poc/message/service/impl/AirportConsumerServiceImpl.java
View file @
bbaf2a77
...
@@ -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
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment