guyue
2025-07-18 7c6eb5045dad89fabc0eb5fd96b9fc9e6c454247
src/main/java/com/linghu/controller/CollectController.java
@@ -141,7 +141,7 @@
        // ... 原有逻辑 ...
        int maxConcurrentUsers = searchTaskRequest.getConfig() != null ?
                searchTaskRequest.getConfig().getMax_concurrent_users() : 3;
        List<List<UserDto>> userBatches = splitUsersIntoBatches(searchTaskRequest.getUsers(), maxConcurrentUsers, keywordId);
        List<List<UserDto>> userBatches = splitUsersIntoBatches(searchTaskRequest.getUsers(), maxConcurrentUsers, keywordId,searchTaskRequest.getIs_first());
        // 创建批次队列并存入全局映射
@@ -368,13 +368,14 @@
//                .then();
//    }
    private List<List<UserDto>> splitUsersIntoBatches(List<UserDto> users, int batchSize,Integer keywordId) {
    private List<List<UserDto>> splitUsersIntoBatches(List<UserDto> users, int batchSize,Integer keywordId,Boolean isFirst) {
        Keyword keyword = keywordService.getById(keywordId);
        if (null==keyword.getNum()){
            keyword.setNum(0);
        if (isFirst){
            keyword.setNum(1);
        }else {
            keyword.setNum(keyword.getNum()+1);
        }
        keyword.setNum(keyword.getNum()+1);
        keywordService.updateById(keyword);
        List<List<UserDto>> batches = new ArrayList<>();
@@ -430,6 +431,11 @@
                                        keywordTask.setStatus("pending");
                                        keywordTaskService.updateById(keywordTask);
                                    }
                                    //将提问词列表的状态转为pending
                                    for (String questionName : batchRequest.getQuestions()) {
                                        questionService.update(new LambdaUpdateWrapper<Question>().eq(Question::getKeyword_id, keyword.getKeyword_id()).eq(Question::getQuestion,questionName).set(Question::getStatus, "pending"));
                                    }
//                                    KeywordTask taskToUpdate = keywordTaskService.getOne(new LambdaQueryWrapper<KeywordTask>()
//                                            .eq(KeywordTask::getKeyword_id, keyword.getKeyword_id())
//                                            .eq(KeywordTask::getTask_id, null)); // 确保 task_id 为 null 的任务