src/main/java/com/linghu/service/impl/CollectionServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/keywordMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/linghu/service/impl/CollectionServiceImpl.java
@@ -84,7 +84,12 @@ // 将新的任务请求加入队列 taskQueue.add(searchTaskRequest); //更新状态为采集中 LambdaUpdateWrapper<Keyword> updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(Keyword::getKeyword_id, searchTaskRequest.getKeyword_id()); updateWrapper.set(Keyword::getStatus, FinalStatus.SUBMITTED.getValue()); keywordService.update(updateWrapper); // 如果当前没有任务在处理中,则启动任务队列的处理 if (!isProcessing) { processNextTaskInQueue(); @@ -439,13 +444,12 @@ //更新关键词状态 LambdaUpdateWrapper<Keyword> updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(Keyword::getKeyword_id, batchRequest.getKeyword_id()); updateWrapper.set(Keyword::getStatus, FinalStatus.SUBMITTED.getValue()); updateWrapper.set(Keyword::getTask_id, taskResponse.getTask_id()); keywordService.update(updateWrapper); //设置轮数 Keyword keyword = keywordService.getById(batchRequest.getKeyword_id()); // 更新关键词任务与任务ID的关联 // 获取与关键词相关的任务,task_id 为 null,确保只取一个任务 // 获取与关键词相关的任务 List<KeywordTask> keywordTasks = keywordTaskService.list(new LambdaQueryWrapper<KeywordTask>() .eq(KeywordTask::getKeyword_id, keyword.getKeyword_id()) .eq(KeywordTask::getNum, keyword.getNum()) src/main/resources/mapper/keywordMapper.xml
@@ -99,11 +99,11 @@ </select> <select id="getResultByPlatformId" resultType="com.linghu.model.vo.ResultListVO"> SELECT r.reference_id, MIN(r.reference_id) AS reference_id, p.platform_name, r.title, r.repetition_num, r.create_time, MAX(r.title) AS title, -- 或者使用 GROUP_CONCAT(r.title) 如果你想要所有标题 SUM(r.repetition_num) AS repetition_num, MAX(r.create_time) AS create_time, -- 或者 MIN(r.create_time) 取决于你的需求 r.url FROM reference r @@ -119,8 +119,10 @@ AND r.platform_id = #{platformId} </if> GROUP BY p.platform_name ORDER BY r.repetition_num DESC repetition_num DESC </select> <select id="getTypeIds" resultType="java.lang.Integer"> SELECT DISTINCT t.type_id -- 使用 DISTINCT 去重,确保每个 type_id 只出现一次