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