| | |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | public R<PageInfo<SubjectVO>> subjectList(@RequestBody SubjectQuery query) { |
| | | PageInfo<SubjectVO> res = new PageInfo<>(query.getPageNumber(), query.getPageSize()); |
| | | List<Integer> integers = new ArrayList<>(); |
| | | int type=0; |
| | | if (StringUtils.hasLength(query.getCategoryName())) { |
| | | // 查询分类id包含的 |
| | | List<Integer> collect = categoryService.lambdaQuery().eq(TCategory::getState, 1) |
| | |
| | | List<Integer> collect2 = categoryService.lambdaQuery().eq(TCategory::getState, 1) |
| | | .eq(TCategory::getType, 2) |
| | | .like(TCategory::getName, query.getCategoryName()).list() |
| | | .stream().map(TCategory::getParentId).collect(Collectors.toList()); |
| | | .stream().map(TCategory::getId).collect(Collectors.toList()); |
| | | collect.addAll(collect2); |
| | | if (collect2.isEmpty()) { |
| | | if (collect.isEmpty()) { |
| | | collect.add(-1); |
| | | } |
| | | type=1; |
| | | integers = collect; |
| | | }else{ |
| | | type=2; |
| | | integers = collect2; |
| | | } |
| | | } |
| | | |
| | | query.setIds(integers); |
| | | List<SubjectVO> list = subjectService.listAll(query); |
| | | List<SubjectVO> list = subjectService.listAll(query,type,res); |
| | | Map<Integer, String> categoryMap = categoryService.list(null).stream() |
| | | .collect(Collectors.toMap(TCategory::getId, TCategory::getName)); |
| | | for (SubjectVO subjectVO : list) { |
| | | if (subjectVO.getFirstCategory()!=null&&subjectVO.getSecondCategory()!=null){ |
| | | TCategory byId1 = categoryService.getById(subjectVO.getFirstCategory()); |
| | | TCategory byId2 = categoryService.getById(subjectVO.getSecondCategory()); |
| | | String byId1 = categoryMap.get(subjectVO.getFirstCategory()); |
| | | String byId2 = categoryMap.get(subjectVO.getSecondCategory()); |
| | | if (byId1!=null&& byId2!=null){ |
| | | subjectVO.setCategoryName(byId1.getName()+"-"+byId2.getName()); |
| | | subjectVO.setCategoryName(byId1+"-"+byId2); |
| | | } |
| | | } |
| | | // StringBuilder stringBuilder = new StringBuilder(""); |
| | |
| | | subjectVO.setType(subjectVO.getType()); |
| | | } |
| | | res.setRecords(list); |
| | | res.setTotal(list.size()); |
| | | return R.ok(res); |
| | | } |
| | | @PostMapping("/add") |