舆情二期
This commit is contained in:
@@ -3,6 +3,7 @@ package com.volvo.ai.analytic.center.service.impl;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.alibaba.cloud.commons.lang.StringUtils;
|
import com.alibaba.cloud.commons.lang.StringUtils;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
@@ -95,7 +96,7 @@ public class MqMessageRecordServiceImpl extends ServiceImpl<MqMessageRecordMappe
|
|||||||
// 异步保存请求日志
|
// 异步保存请求日志
|
||||||
syncSaveRequestLogs(message, aiAnalysisRequestId);
|
syncSaveRequestLogs(message, aiAnalysisRequestId);
|
||||||
|
|
||||||
JSONObject difResult = new JSONObject();
|
JSONArray difyResult = new JSONArray();
|
||||||
try {
|
try {
|
||||||
boolean hasImageNodeType = communityTargetDTO.getContent().stream()
|
boolean hasImageNodeType = communityTargetDTO.getContent().stream()
|
||||||
.anyMatch(contentNode -> NodeTypeEnum.IMAGE.getCode().equals(contentNode.getNodeType()));
|
.anyMatch(contentNode -> NodeTypeEnum.IMAGE.getCode().equals(contentNode.getNodeType()));
|
||||||
@@ -136,20 +137,17 @@ public class MqMessageRecordServiceImpl extends ServiceImpl<MqMessageRecordMappe
|
|||||||
JSONObject caseResult = caseWorkFlow.get();
|
JSONObject caseResult = caseWorkFlow.get();
|
||||||
JSONObject keywordResult = keywordWorkFlow.get();
|
JSONObject keywordResult = keywordWorkFlow.get();
|
||||||
JSONObject clueAnalysisResult = clueAnalysisWorkFlow.get();
|
JSONObject clueAnalysisResult = clueAnalysisWorkFlow.get();
|
||||||
|
difyResult.add(caseResult);
|
||||||
|
difyResult.add(keywordResult);
|
||||||
|
difyResult.add(clueAnalysisResult);
|
||||||
//处理结果
|
//处理结果
|
||||||
processingCommunityDifyResponse(difResult,caseResult,keywordResult,clueAnalysisResult);
|
processingCommunityDifyResponse(caseResult,keywordResult,clueAnalysisResult,aiAnalysisRequestId);
|
||||||
//异步更新请求日志表的difyResponse字段
|
|
||||||
syncUpdateDiFyResponse(difResult, aiAnalysisRequestId);
|
|
||||||
|
|
||||||
|
|
||||||
//调用舆情文本分析dify工作流
|
|
||||||
// difResult = (JSONObject) diFyService.getDiFyObject(diFyReq);
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("舆情自动化异常:{}", e.getMessage());
|
log.error("舆情自动化异常:{}", e.getMessage());
|
||||||
//保存错误日志
|
//保存错误日志
|
||||||
aiAnalysisErrorsMapper.insert(AiAnalysisErrors.builder()
|
aiAnalysisErrorsMapper.insert(AiAnalysisErrors.builder()
|
||||||
.aiAnalysisRequestId(aiAnalysisRequestId)
|
.aiAnalysisRequestId(aiAnalysisRequestId)
|
||||||
.difyResponse(difResult.toJSONString())
|
.difyResponse(difyResult.toJSONString())
|
||||||
.aiAnalysisErrorMessage(e.getMessage())
|
.aiAnalysisErrorMessage(e.getMessage())
|
||||||
.aiAnalysisRequestType(BusinessTypeEnum.COMMUNITYTARGET.getCode())
|
.aiAnalysisRequestType(BusinessTypeEnum.COMMUNITYTARGET.getCode())
|
||||||
.build());
|
.build());
|
||||||
@@ -215,28 +213,23 @@ public class MqMessageRecordServiceImpl extends ServiceImpl<MqMessageRecordMappe
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理dify返回结果
|
* 处理dify返回结果
|
||||||
* @param difResult
|
* @param
|
||||||
*/
|
*/
|
||||||
private void processingCommunityDifyResponse(JSONObject difResult,
|
private void processingCommunityDifyResponse(
|
||||||
JSONObject caseResult,
|
JSONObject caseResult,
|
||||||
JSONObject keywordResult,
|
JSONObject keywordResult,
|
||||||
JSONObject clueAnalysisResult) {
|
JSONObject clueAnalysisResult,
|
||||||
if (difResult != null) {
|
String aiAnalysisRequestId) {
|
||||||
DifyCommunityTargetResult difyCommunityTargetResult = new DifyCommunityTargetResult();
|
if (caseResult != null && keywordResult != null && clueAnalysisResult != null) {
|
||||||
String targetId = difResult.getString("targetId");
|
|
||||||
String targetType = difResult.getString("targetType");
|
|
||||||
String commentAnswer = difResult.getString("commentAnswer");
|
|
||||||
String keyWords = difResult.getString("keyWords");
|
|
||||||
String targetTag = difResult.getString("targetTag");
|
|
||||||
|
|
||||||
difyCommunityTargetResult.setTargetType(targetType);
|
caseResult.put("keyWords", keywordResult.getString("keyWords"));
|
||||||
difyCommunityTargetResult.setTargetId(targetId);
|
caseResult.put("targetTag", clueAnalysisResult.getString("targetTag"));
|
||||||
difyCommunityTargetResult.setCommentAnswer(commentAnswer);
|
|
||||||
difyCommunityTargetResult.setTargetTag(targetTag);
|
|
||||||
difyCommunityTargetResult.setKeyWords(keyWords);
|
|
||||||
//返回结果推送到社区的MQ
|
//返回结果推送到社区的MQ
|
||||||
rocketMQTemplate.syncSend(topic, JSON.toJSONString(difyCommunityTargetResult));
|
rocketMQTemplate.syncSend(topic, caseResult.toString());
|
||||||
log.info("舆情分析发送回调MQ完成: {}", JSON.toJSONString(difyCommunityTargetResult));
|
log.info("舆情分析发送回调MQ完成: {}", caseResult);
|
||||||
|
aiAnalysisRequestLogsMapper.update(new AiAnalysisRequestLogs(),
|
||||||
|
new UpdateWrapper<AiAnalysisRequestLogs>().set("dify_response", caseResult.toJSONString())
|
||||||
|
.eq("ai_analysis_request_id", aiAnalysisRequestId));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -247,13 +240,6 @@ public class MqMessageRecordServiceImpl extends ServiceImpl<MqMessageRecordMappe
|
|||||||
.eq("ai_analysis_request_id", aiAnalysisRequestId));
|
.eq("ai_analysis_request_id", aiAnalysisRequestId));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Async
|
|
||||||
protected void syncUpdateDiFyResponse(JSONObject difResult, String aiAnalysisRequestId) {
|
|
||||||
aiAnalysisRequestLogsMapper.update(new AiAnalysisRequestLogs(),
|
|
||||||
new UpdateWrapper<AiAnalysisRequestLogs>().set("dify_response", difResult.toJSONString())
|
|
||||||
.eq("ai_analysis_request_id", aiAnalysisRequestId));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Async
|
@Async
|
||||||
protected void syncSaveRequestLogs(String message, String aiAnalysisRequestId) {
|
protected void syncSaveRequestLogs(String message, String aiAnalysisRequestId) {
|
||||||
aiAnalysisRequestLogsMapper.insert(AiAnalysisRequestLogs.builder()
|
aiAnalysisRequestLogsMapper.insert(AiAnalysisRequestLogs.builder()
|
||||||
|
|||||||
Reference in New Issue
Block a user