pom.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/linghu/controller/PlatformController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/linghu/controller/TypeController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/linghu/mapper/KeywordMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/keywordMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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> 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) { 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) { 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); } 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>