舆情二期

This commit is contained in:
lxu75
2025-04-27 14:47:53 +08:00
parent 778a6ebf3f
commit 7f963bc505

View File

@@ -37,6 +37,7 @@ import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.stream.Collectors;
@Slf4j
@@ -123,6 +124,22 @@ public class MqMessageRecordServiceImpl extends ServiceImpl<MqMessageRecordMappe
DiFyReq diFyReq = new DiFyReq();
diFyReq.setUser(user);
diFyReq.setInputs(difyCommunityTargetDTO);
//调用DiFy工作流并推送到社区
processDify(diFyReq, difyResult, aiAnalysisRequestId);
} catch (Exception e) {
log.error("舆情自动化异常:{}", e.getMessage());
//保存错误日志
aiAnalysisErrorsMapper.insert(AiAnalysisErrors.builder()
.aiAnalysisRequestId(aiAnalysisRequestId)
.difyResponse(difyResult.toJSONString())
.aiAnalysisErrorMessage(e.getMessage())
.aiAnalysisRequestType(BusinessTypeEnum.COMMUNITYTARGET.getCode())
.build());
}
return true;
}
private void processDify(DiFyReq diFyReq, JSONArray difyResult, String aiAnalysisRequestId) throws InterruptedException, ExecutionException {
// 并行调用三个workflow
//舆情案件分析
CompletableFuture<JSONObject> caseWorkFlow = CompletableFuture.supplyAsync(() -> callCommunityWorkFlow(diFyReq,"app-cB5rd2VGIZn95u5GWgAnysj0"));
@@ -141,18 +158,7 @@ public class MqMessageRecordServiceImpl extends ServiceImpl<MqMessageRecordMappe
difyResult.add(keywordResult);
difyResult.add(clueAnalysisResult);
//处理结果
processingCommunityDifyResponse(caseResult,keywordResult,clueAnalysisResult,aiAnalysisRequestId);
} catch (Exception e) {
log.error("舆情自动化异常:{}", e.getMessage());
//保存错误日志
aiAnalysisErrorsMapper.insert(AiAnalysisErrors.builder()
.aiAnalysisRequestId(aiAnalysisRequestId)
.difyResponse(difyResult.toJSONString())
.aiAnalysisErrorMessage(e.getMessage())
.aiAnalysisRequestType(BusinessTypeEnum.COMMUNITYTARGET.getCode())
.build());
}
return true;
processingCommunityDifyResponse(caseResult,keywordResult,clueAnalysisResult, aiAnalysisRequestId);
}
/**
@@ -613,12 +619,9 @@ public class MqMessageRecordServiceImpl extends ServiceImpl<MqMessageRecordMappe
DiFyReq diFyReq = new DiFyReq();
diFyReq.setUser(user);
diFyReq.setFlowId(flowId);
diFyReq.setInputs(difyCommunityTargetDTO);
//调用舆情文本分析dify工作流
JSONObject difResult = (JSONObject) diFyService.getDiFyObject(diFyReq);
//处理结果
processingCommunityDifyResponse(difResult,null,null,null);
JSONArray difyResult = new JSONArray();
processDify(diFyReq,difyResult,aiAnalysisError.getAiAnalysisRequestId());
//根据ai_analysis_request_id更新ai_analysis_errors表中的retry_count字段+1,更新status字段为1
aiAnalysisErrorsMapper.update(new AiAnalysisErrors(), new LambdaUpdateWrapper<AiAnalysisErrors>()