| | |
| | | private PlatformService platformService; |
| | | @Autowired |
| | | private TypeService typeService; |
| | | @Autowired |
| | | private UserService userService; |
| | | |
| | | |
| | | /* @PostMapping("/search") |
| | |
| | | }) |
| | | .onErrorResume(e -> { |
| | | System.out.println("获取任务结果失败"); |
| | | if (e.getMessage().contains("登陆失败")){ |
| | | |
| | | } |
| | | TaskResultResponse result = new TaskResultResponse(); |
| | | result.setDetail("获取任务结果失败: " + e.getMessage()); |
| | | return Mono.just(result); |
| | |
| | | private Mono<Void> updateQuestionAndReference(TaskResultResponse result) { |
| | | return Mono.fromRunnable(() -> { |
| | | try { |
| | | //查看每个账号信息的status是否正常 |
| | | |
| | | // 1. 根据KeywordTask更新关键词状态 |
| | | // 查询关键词ID |
| | | LambdaQueryWrapper<KeywordTask> keywordTaskWrapper = new LambdaQueryWrapper<>(); |
| | |
| | | throw new Exception("未找到关联的关键词,task_id: " + result.getTask_id()); |
| | | // return; |
| | | } |
| | | keyword.setStatus("completed"); |
| | | LambdaQueryWrapper<KeywordTask> keywordTaskWrapper2 = new LambdaQueryWrapper<>(); |
| | | keywordTaskWrapper2.eq(KeywordTask::getKeyword_id, keyword.getKeyword_id()); |
| | | List<KeywordTask> keywordTasks = keywordTaskService.list(keywordTaskWrapper2); |
| | | |
| | | // 定义状态优先级:canceled > false > completed |
| | | String finalStatus = "completed"; // 默认状态为 completed |
| | | |
| | | for (KeywordTask task : keywordTasks) { |
| | | String status = task.getStatus(); |
| | | if ("canceled".equals(status)) { |
| | | finalStatus = "canceled"; |
| | | break; // 遇到 canceled 直接跳出循环,因为优先级最高 |
| | | } else if ("false".equals(status)) { |
| | | finalStatus = "false"; |
| | | // 不跳出循环,继续检查是否存在 canceled |
| | | } |
| | | } |
| | | |
| | | // 更新关键词状态 |
| | | if (!finalStatus.equals(keyword.getStatus())) { |
| | | keyword.setStatus(finalStatus); |
| | | keywordService.updateById(keyword); |
| | | } |
| | | |
| | | // 2. 批量查询所有问题 |
| | | LambdaQueryWrapper<Question> queryWrapper = new LambdaQueryWrapper<>(); |