feed流好内容,更新dify响应结果调整
This commit is contained in:
@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
@@ -167,30 +168,52 @@ public class MqMessageRecordServiceImpl extends ServiceImpl<MqMessageRecordMappe
|
||||
diFyFeedQualityReq.setInputs(difyCommunityTargetDTO);
|
||||
JSONObject difFeedQualityResult = (JSONObject) diFyService.getDiFyObject(diFyFeedQualityReq);
|
||||
if (difFeedQualityResult != null) {
|
||||
difFeedQualityResult.put("communityType",BusinessTypeEnum.FEEDQUALITY.getCode());
|
||||
difFeedQualityResult.put("communityType", BusinessTypeEnum.FEEDQUALITY.getCode());
|
||||
//返回结果推送到社区的MQ
|
||||
rocketMQTemplate.syncSend(topic, difFeedQualityResult.toString());
|
||||
log.info("Feed流好内容发送回调MQ完成: {}", difFeedQualityResult);
|
||||
aiAnalysisRequestLogsMapper.update(new AiAnalysisRequestLogs(),
|
||||
new UpdateWrapper<AiAnalysisRequestLogs>().set("dify_response", difFeedQualityResult.toJSONString())
|
||||
.eq("ai_analysis_request_id", aiAnalysisRequestId));
|
||||
//aiAnalysisRequestId 根据查询日志表,获取dify_response,设置到aiAnalysisRequestLogs表中
|
||||
updaterDifyResponse(aiAnalysisRequestId, difFeedQualityResult, BusinessTypeEnum.FEEDQUALITY.getCode());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
saveOrUpdateError(aiAnalysisRequestId, e, BusinessTypeEnum.FEEDQUALITY.getCode());
|
||||
}
|
||||
}
|
||||
private void updaterDifyResponse(String aiAnalysisRequestId, JSONObject difFeedQualityResult, String businessType) {
|
||||
AiAnalysisRequestLogs aiAnalysisRequestLogs = aiAnalysisRequestLogsMapper.selectOne(
|
||||
new LambdaQueryWrapper<AiAnalysisRequestLogs>()
|
||||
.eq(AiAnalysisRequestLogs::getAiAnalysisRequestId, aiAnalysisRequestId)
|
||||
.last("for update"));
|
||||
|
||||
if (aiAnalysisRequestLogs == null) {
|
||||
log.error("未找到对应的 AiAnalysisRequestLogs,请求ID: {}", aiAnalysisRequestId);
|
||||
throw new RuntimeException("未找到对应的请求日志");
|
||||
}
|
||||
|
||||
String difyResponseStr = aiAnalysisRequestLogs.getDifyResponse();
|
||||
JSONObject difyResponse = StringUtils.isNotBlank(difyResponseStr)
|
||||
? JSONObject.parseObject(difyResponseStr)
|
||||
: new JSONObject();
|
||||
|
||||
difyResponse.put(businessType, difFeedQualityResult);
|
||||
|
||||
aiAnalysisRequestLogsMapper.update(null,
|
||||
new UpdateWrapper<AiAnalysisRequestLogs>()
|
||||
.set("dify_response", difyResponse.toJSONString())
|
||||
.eq("ai_analysis_request_id", aiAnalysisRequestId));
|
||||
}
|
||||
|
||||
@Async
|
||||
protected void processPublicOpinionAutomationDify(DifyCommunityTargetDTO difyCommunityTargetDTO, String user, JSONArray difyResult, String aiAnalysisRequestId) {
|
||||
try {
|
||||
//舆情案件分析
|
||||
JSONObject caseResult = callCaseCommunityWorkFlow(difyCommunityTargetDTO,user, caseToken);
|
||||
JSONObject caseResult = callCaseCommunityWorkFlow(difyCommunityTargetDTO, user, caseToken);
|
||||
|
||||
// 内容主题关键词打标
|
||||
JSONObject keywordResult = callCommunityWorkFlow(difyCommunityTargetDTO,user, keywordToken);
|
||||
JSONObject keywordResult = callCommunityWorkFlow(difyCommunityTargetDTO, user, keywordToken);
|
||||
|
||||
// litecrm线索分析
|
||||
JSONObject clueAnalysisResult = callCommunityWorkFlow(difyCommunityTargetDTO,user, clueAnalysisToken);
|
||||
JSONObject clueAnalysisResult = callCommunityWorkFlow(difyCommunityTargetDTO, user, clueAnalysisToken);
|
||||
|
||||
difyResult.add(caseResult);
|
||||
difyResult.add(keywordResult);
|
||||
@@ -328,13 +351,11 @@ public class MqMessageRecordServiceImpl extends ServiceImpl<MqMessageRecordMappe
|
||||
if (StringUtils.isNotBlank(communityRequestId)) {
|
||||
caseResult.put("communityRequestId", communityRequestId);
|
||||
}
|
||||
caseResult.put("communityType",BusinessTypeEnum.PUBLICOPINIONAUTOMATION.getCode());
|
||||
caseResult.put("communityType", BusinessTypeEnum.PUBLICOPINIONAUTOMATION.getCode());
|
||||
//返回结果推送到社区的MQ
|
||||
rocketMQTemplate.syncSend(topic, caseResult.toString());
|
||||
log.info("舆情分析发送回调MQ完成: {}", caseResult);
|
||||
aiAnalysisRequestLogsMapper.update(new AiAnalysisRequestLogs(),
|
||||
new UpdateWrapper<AiAnalysisRequestLogs>().set("dify_response", caseResult.toJSONString())
|
||||
.eq("ai_analysis_request_id", aiAnalysisRequestId));
|
||||
updaterDifyResponse(aiAnalysisRequestId, caseResult, BusinessTypeEnum.PUBLICOPINIONAUTOMATION.getCode());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -736,10 +757,6 @@ public class MqMessageRecordServiceImpl extends ServiceImpl<MqMessageRecordMappe
|
||||
.eq(AiAnalysisErrors::getAiAnalysisRequestId, aiAnalysisError.getAiAnalysisRequestId())
|
||||
.set(AiAnalysisErrors::getRetryCount, aiAnalysisError.getRetryCount() + 1)
|
||||
.set(AiAnalysisErrors::getAiAnalysisErrorHandlingStatus, "1"));
|
||||
//根据ai_analysis_request_id更新tt_ai_analysis_request_logs表中的dify_response字段
|
||||
aiAnalysisRequestLogsMapper.update(new AiAnalysisRequestLogs(), new LambdaUpdateWrapper<AiAnalysisRequestLogs>()
|
||||
.eq(AiAnalysisRequestLogs::getAiAnalysisRequestId, aiAnalysisError.getAiAnalysisRequestId())
|
||||
.set(AiAnalysisRequestLogs::getDifyResponse, difyResult.toJSONString()));
|
||||
} else {
|
||||
aiAnalysisErrorsMapper.update(new AiAnalysisErrors(), new LambdaUpdateWrapper<AiAnalysisErrors>()
|
||||
.eq(AiAnalysisErrors::getAiAnalysisRequestId, aiAnalysisError.getAiAnalysisRequestId())
|
||||
|
||||
Reference in New Issue
Block a user