From d95fe2f1ffa6b6bd07410abd2108bd2ed8f141c3 Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期三, 16 七月 2025 19:56:31 +0800 Subject: [PATCH] bug修改 --- src/main/java/com/linghu/controller/PlatformController.java | 25 +++++++++--- src/main/resources/mapper/keywordMapper.xml | 15 +++++++ pom.xml | 6 +- src/main/java/com/linghu/mapper/KeywordMapper.java | 2 src/main/java/com/linghu/controller/TypeController.java | 24 ++++++++--- 5 files changed, 53 insertions(+), 19 deletions(-) diff --git a/pom.xml b/pom.xml index 00786df..f4d69f8 100644 --- a/pom.xml +++ b/pom.xml @@ -34,11 +34,11 @@ <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.2</version> </dependency> - <dependency> + <!-- <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> - </dependency> + </dependency>--> <!-- Swagger2 核心依赖 --> <dependency> <groupId>io.springfox</groupId> @@ -140,7 +140,7 @@ <version>${spring-boot.version}</version> <configuration> <mainClass>com.linghu.LingHuApplication</mainClass> - <skip>true</skip> + </configuration> <executions> <execution> diff --git a/src/main/java/com/linghu/controller/PlatformController.java b/src/main/java/com/linghu/controller/PlatformController.java index 2e79fb6..6667430 100644 --- a/src/main/java/com/linghu/controller/PlatformController.java +++ b/src/main/java/com/linghu/controller/PlatformController.java @@ -130,11 +130,15 @@ @RequestParam(value = "type_id",required = false) Integer type_id, @RequestParam(value = "keywordId", required = false) Integer keywordId, @RequestParam(value = "questionId",required = false) Integer questionId, - @RequestParam(value = "isNow") Integer isNow + @RequestParam(value = "isNow",required = false) Integer isNow ) { List<Integer> platForm=new ArrayList<>(); //先查找当前关键词下,所有的回答 的 所有的平台名称 - Keyword keyword = keywordMapper.selectById(keywordId); + Keyword keyword=new Keyword(); + if (keywordId!=null){ + keyword = keywordMapper.selectById(keywordId); + } + if (keywordId != null && questionId == null) { List<Reference> references = referenceMapper.selectList(new LambdaQueryWrapper<Reference>() @@ -143,7 +147,7 @@ ); platForm = references.stream().map(Reference::getPlatform_id).filter(Objects::nonNull).distinct().collect(Collectors.toList()); } - if (questionId != null) { + if (keywordId != null && questionId != null) { List<Reference> references = referenceMapper.selectList(new LambdaQueryWrapper<Reference>() .eq(Reference::getKeyword_id, keywordId) .eq(Reference::getNum, isNow== 0 ? 1 : keyword.getNum()) @@ -157,10 +161,17 @@ if (!platForm.isEmpty()){ queryWrapper.in(Platform::getPlatform_id, platForm); }else { - CustomPage<Platform> customPage = new CustomPage<>(new Page<>()); - customPage.setRecords(new ArrayList<>()); - customPage.setTotal(0); - return ResponseResult.success(customPage); + if (page != null && pageSize != null){ + Page<Platform> pageInfo = new Page<>(page, pageSize); + Page<Platform> result = platformService.page(pageInfo, queryWrapper); + return ResponseResult.success(new CustomPage<>(result)); + }else { + CustomPage<Platform> customPage = new CustomPage<>(new Page<>()); + customPage.setRecords(new ArrayList<>()); + customPage.setTotal(0); + return ResponseResult.success(customPage); + } + } if (type_id != null) { diff --git a/src/main/java/com/linghu/controller/TypeController.java b/src/main/java/com/linghu/controller/TypeController.java index fe65ac2..434c470 100644 --- a/src/main/java/com/linghu/controller/TypeController.java +++ b/src/main/java/com/linghu/controller/TypeController.java @@ -112,16 +112,19 @@ @RequestParam(required = false) Integer pageSize, @RequestParam(required = false) Integer keywordId, @RequestParam(required = false) Integer questionId, - @RequestParam Integer isNow + @RequestParam(required = false) Integer isNow ) { List<Integer> typeIds=new ArrayList<>(); + Keyword keyword=new Keyword(); //先查找当前关键词下,所有的回答 的 所有的平台名称 - Keyword keyword = keywordMapper.selectById(keywordId); - if (isNow==0){ - typeIds= keywordMapper.getTypeIds(keywordId,questionId,0); - }else { - typeIds= keywordMapper.getTypeIds(keywordId,questionId,keyword.getNum()); + if (keywordId != null) { + keyword = keywordMapper.selectById(keywordId); } + + + typeIds= keywordMapper.getTypeIds(keywordId,questionId,isNow,keyword); + + /* if (keywordId != null && questionId == null) { @@ -144,7 +147,14 @@ if (!typeIds.isEmpty()) { queryWrapper.in(Type::getType_id, typeIds); }else { - return ResponseResult.success(new ArrayList<>()); + if (page != null && pageSize != null) { + Page<Type> pageInfo = new Page<>(page, pageSize); + Page<Type> result = typeService.page(pageInfo, queryWrapper); + return ResponseResult.success(result.getRecords()); + }else { + return ResponseResult.success(new ArrayList<>()); + } + } if (page != null && pageSize != null) { diff --git a/src/main/java/com/linghu/mapper/KeywordMapper.java b/src/main/java/com/linghu/mapper/KeywordMapper.java index 9d73fc8..54b14ed 100644 --- a/src/main/java/com/linghu/mapper/KeywordMapper.java +++ b/src/main/java/com/linghu/mapper/KeywordMapper.java @@ -24,7 +24,7 @@ List<ResultListVO> getResultByPlatformId(@Param("keywordId") Integer keywordId, @Param("questionId")Integer questionId, @Param("num")Integer num, @Param("platformId") Integer platformId); - List<Integer> getTypeIds(@Param("keywordId") Integer keywordId, @Param("questionId") Integer questionId, @Param("num") Integer num); + List<Integer> getTypeIds(@Param("keywordId") Integer keywordId, @Param("questionId") Integer questionId, @Param("isNow") Integer isNow,@Param("keyword") Keyword keyword); } diff --git a/src/main/resources/mapper/keywordMapper.xml b/src/main/resources/mapper/keywordMapper.xml index 64a7496..4827b19 100644 --- a/src/main/resources/mapper/keywordMapper.xml +++ b/src/main/resources/mapper/keywordMapper.xml @@ -131,7 +131,20 @@ <if test="questionId != null"> AND r.question_id = #{questionId} </if> - AND r.num = #{num} + <if test="isNow != null"> + <!-- 当 isNow=1 时使用 keyword.num,否则使用 1 --> + AND r.num = + <choose> + <when test="isNow == 1"> + #{keyword.num} + </when> + <otherwise> + 1 + </otherwise> + </choose> + </if> + + ORDER BY t.type_id -- 按 type_id 排序,结果更规范 </select> </mapper> -- Gitblit v1.7.1