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