无关风月
1 天以前 c97ae0369607c7091041273012b291d3b6e6bdc1
ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TSubjectController.java
@@ -61,25 +61,27 @@
    public R<PageInfo<SubjectVO>> subjectList(@RequestBody SubjectQuery query) {
        PageInfo<SubjectVO> res = new PageInfo<>(query.getPageNumber(), query.getPageSize());
        List<Integer> integers = new ArrayList<>();
        if (StringUtils.hasLength(query.getCategoryName())){
            List<Integer> collect = categoryService.lambdaQuery()
                    .eq(TCategory::getType, 2)
                    .eq(TCategory::getState, 1)
                    .like(TCategory::getName, query.getCategoryName())
                    .list().stream().map(TCategory::getParentId).collect(Collectors.toList());
            integers.addAll(collect);
            List<Integer> collect2 = categoryService.lambdaQuery()
        if (StringUtils.hasLength(query.getCategoryName())) {
            // 查询分类id包含的
            List<Integer> collect = categoryService.lambdaQuery().eq(TCategory::getState, 1)
                    .eq(TCategory::getType, 1)
                    .eq(TCategory::getState, 1)
                    .like(TCategory::getName, query.getCategoryName())
                    .list().stream().map(TCategory::getId).collect(Collectors.toList());
            integers.addAll(collect2);
        }
        if (StringUtils.hasLength(query.getCategoryName())){
            if (integers.isEmpty()){
                integers.add(-1);
                    .like(TCategory::getName, query.getCategoryName()).list()
                    .stream().map(TCategory::getId).collect(Collectors.toList());// 查询分类id包含的
            List<Integer> collect2 = categoryService.lambdaQuery().eq(TCategory::getState, 1)
                    .eq(TCategory::getType, 2)
                    .like(TCategory::getName, query.getCategoryName()).list()
                    .stream().map(TCategory::getId).collect(Collectors.toList());
            collect.addAll(collect2);
            if (collect2.isEmpty()) {
                if (collect.isEmpty()) {
                    collect.add(-1);
                }
                integers = collect;
            }else{
                integers = collect2;
            }
        }
        query.setIds(integers);
        List<SubjectVO> list =  subjectService.listAll(query);
        for (SubjectVO subjectVO : list) {