From 6727c89745faa938cc053fa67ea3b9f819f5cbfe Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期三, 16 七月 2025 16:46:20 +0800
Subject: [PATCH] bug修改

---
 src/main/java/com/linghu/controller/TypeController.java |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 50 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/linghu/controller/TypeController.java b/src/main/java/com/linghu/controller/TypeController.java
index 9296c81..fe65ac2 100644
--- a/src/main/java/com/linghu/controller/TypeController.java
+++ b/src/main/java/com/linghu/controller/TypeController.java
@@ -2,24 +2,36 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.linghu.mapper.KeywordMapper;
+import com.linghu.mapper.ReferenceMapper;
 import com.linghu.model.common.ResponseResult;
+import com.linghu.model.entity.Keyword;
+import com.linghu.model.entity.Reference;
 import com.linghu.model.entity.Type;
+import com.linghu.service.KeywordService;
 import com.linghu.service.TypeService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 @RestController
-@RequestMapping("/type")
+    @RequestMapping("/type")
 @Api(value = "类型相关接口", tags = "设置-类型")
 public class TypeController {
 
     @Autowired
     private TypeService typeService;
+    @Autowired
+    private KeywordMapper keywordMapper;
+    @Autowired
+    private ReferenceMapper referenceMapper;
 
     @PostMapping
     @ApiOperation(value = "添加类型")
@@ -92,12 +104,48 @@
         return ResponseResult.error("批量删除类型失败");
     }
 
+
     @GetMapping("/list")
     @ApiOperation(value = "查询类型列表,不传页数和大小就查全部")
     public ResponseResult<List<Type>> list(
             @RequestParam(required = false) Integer page,
-            @RequestParam(required = false) Integer pageSize) {
+            @RequestParam(required = false) Integer pageSize,
+            @RequestParam(required = false) Integer keywordId,
+            @RequestParam(required = false) Integer questionId,
+            @RequestParam Integer isNow
+            ) {
+        List<Integer> typeIds=new ArrayList<>();
+        //先查找当前关键词下,所有的回答 的 所有的平台名称
+        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 && questionId == null) {
+
+            List<Reference> references = referenceMapper.selectList(new LambdaQueryWrapper<Reference>()
+                    .eq(Reference::getKeyword_id, keywordId)
+                    .eq(Reference::getNum,isNow == 0 ? 1 : keyword.getNum())
+            );
+            typeIds = references.stream().map(Reference::getType_id).filter(Objects::nonNull).distinct().collect(Collectors.toList());
+        }
+        if (questionId != null) {
+            List<Reference> references = referenceMapper.selectList(new LambdaQueryWrapper<Reference>()
+                    .eq(Reference::getKeyword_id, keywordId)
+                    .eq(Reference::getNum, isNow == 0 ? 1 : keyword.getNum())
+                    .eq(Reference::getQuestion_id, questionId)
+            );
+            typeIds = references.stream().map(Reference::getType_id).filter(Objects::nonNull).distinct().collect(Collectors.toList());
+        }
+*/
         LambdaQueryWrapper<Type> queryWrapper = new LambdaQueryWrapper<>();
+        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);

--
Gitblit v1.7.1