huliguo
2025-08-08 749570394745ae95ee65605eadb42800f42fa20a
src/main/java/com/linghu/controller/TypeController.java
@@ -28,20 +28,14 @@
    @Autowired
    private TypeService typeService;
    @Autowired
    private KeywordMapper keywordMapper;
    @Autowired
    private ReferenceMapper referenceMapper;
    @PostMapping
    @ApiOperation(value = "添加类型")
    public ResponseResult<Type> add(@RequestBody Type type) {
        boolean success = typeService.save(type);
        if (success) {
            return ResponseResult.success(type);
        }
        return ResponseResult.error("添加类型失败");
        return typeService.addType(type);
    }
    @PostMapping("/batch")
    @ApiOperation(value = "批量添加类型")
@@ -56,9 +50,7 @@
    @DeleteMapping("/{typeId}")
    @ApiOperation(value = "删除类型")
    public ResponseResult<Void> delete(@PathVariable Integer typeId) {
        typeService.removeById(typeId);
        return ResponseResult.success();
    }
@@ -92,74 +84,21 @@
    @DeleteMapping("/batch")
    @ApiOperation(value = "批量删除类型")
    public ResponseResult<Void> batchDelete(@RequestBody List<Integer> typeIds) {
        List<Type> types = typeIds.stream().map(id -> {
            Type type = new Type();
            type.setType_id(id);
            return type;
        }).collect(java.util.stream.Collectors.toList());
        boolean success = typeService.updateBatchById(types);
        if (success) {
            return ResponseResult.success();
        }
        return ResponseResult.error("批量删除类型失败");
        return typeService.batchDeleteTypes(typeIds);
    }
    @GetMapping("/list")
    @ApiOperation(value = "查询类型列表,不传页数和大小就查全部")
    @ApiOperation(value = "查询类型列表")
    public ResponseResult<List<Type>> list(
            @RequestParam(required = false) Integer page,
            @RequestParam(required = false) Integer pageSize,
            @RequestParam(required = false) Integer keywordId,
            @RequestParam(required = false) Integer questionId,
            @RequestParam(required = false) Integer isNow
            ) {
        List<Integer> typeIds=new ArrayList<>();
        Keyword keyword=new Keyword();
        //先查找当前关键词下,所有的回答 的 所有的平台名称
        if (keywordId != null) {
             keyword = keywordMapper.selectById(keywordId);
        }
            typeIds= keywordMapper.getTypeIds(keywordId,questionId,isNow,keyword);
     /*   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 {
            if (keywordId != null) {
                return ResponseResult.success(new ArrayList<>());
            }else {
                List<Type> list = typeService.list(queryWrapper);
                return ResponseResult.success(list);
            }
        }
            List<Type> list = typeService.list(queryWrapper);
            return ResponseResult.success(list);
        return typeService.pageList(keywordId, questionId, isNow);
    }
}