feed流好内容,更新dify响应结果调整

This commit is contained in:
lxu75
2025-05-27 19:28:20 +08:00
parent fb8f68dc83
commit 1f3c35b146

View File

@@ -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;
@@ -171,14 +172,36 @@ public class MqMessageRecordServiceImpl extends ServiceImpl<MqMessageRecordMappe
//返回结果推送到社区的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) {
@@ -332,9 +355,7 @@ public class MqMessageRecordServiceImpl extends ServiceImpl<MqMessageRecordMappe
//返回结果推送到社区的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())