From 46835c4640dfab2b7caed877649545c706c98a83 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Wed, 6 Jul 2022 14:38:33 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AB=A0=E8=8A=82=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...onthlyReportTitleTemplateEOController.java | 53 ++++++++------- .../LawsMonthlyReportTitleTemplateEO.java | 1 - ...wsMonthlyReportTitleTemplateEOService.java | 16 +++-- ...nthlyReportTitleTemplateEOServiceImpl.java | 65 +++++++++++++++++-- .../vo/LawsMonthlyReportTitleTemplateVO.java | 51 +++++++++++++++ 5 files changed, 146 insertions(+), 40 deletions(-) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/vo/LawsMonthlyReportTitleTemplateVO.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportTitleTemplateEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportTitleTemplateEOController.java index b5ecaf9ed..db6a7d163 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportTitleTemplateEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportTitleTemplateEOController.java @@ -1,25 +1,30 @@ package com.jero.modules.report.controller; -import java.util.Arrays; -import java.util.List; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; -import com.jero.common.system.query.QueryGenerator; +import com.jero.common.aspect.annotation.AutoLog; +import com.jero.common.system.base.controller.JeroController; import com.jero.modules.report.entity.LawsMonthlyReportTitleTemplateEO; import com.jero.modules.report.service.ILawsMonthlyReportTitleTemplateEOService; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.extern.slf4j.Slf4j; -import com.jero.common.system.base.controller.JeroController; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.servlet.ModelAndView; +import com.jero.modules.report.vo.LawsMonthlyReportTitleTemplateVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import com.jero.common.aspect.annotation.AutoLog; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.List; /** @@ -52,23 +57,21 @@ public class LawsMonthlyReportTitleTemplateEOController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(lawsMonthlyReportTitleTemplateEO, req.getParameterMap()); -// Page page = new Page(pageNo, pageSize); -// IPage pageList = lawsMonthlyReportTitleTemplateEOService.page(page, queryWrapper); - IPage pageList = lawsMonthlyReportTitleTemplateEOService.getPageInfo(pageNo,pageSize, queryWrapper); - return Result.OK(pageList); + List pageList = lawsMonthlyReportTitleTemplateEOService.getPageInfo(lawsMonthlyReportTitleTemplateEO, req); + Page pages = lawsMonthlyReportTitleTemplateEOService.getPages(pageNo, pageSize, pageList); + return Result.OK(pages); } /** - * 列表查询 + * 章节目录 * * @return */ - @AutoLog(value = "月报标题模板-列表查询") - @ApiOperation(value="月报标题模板-列表查询", notes="月报标题模板-列表查询") + @AutoLog(value = "章节目录") + @ApiOperation(value="章节目录", notes="章节目录") @GetMapping(value = "/list") - public Result> queryList() { - List list = lawsMonthlyReportTitleTemplateEOService.queryList(); + public Result> queryList(String cut) { + List list = lawsMonthlyReportTitleTemplateEOService.queryList(cut); return Result.OK(list); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/LawsMonthlyReportTitleTemplateEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/LawsMonthlyReportTitleTemplateEO.java index ab1b5a6c6..7b9888886 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/LawsMonthlyReportTitleTemplateEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/LawsMonthlyReportTitleTemplateEO.java @@ -81,5 +81,4 @@ public class LawsMonthlyReportTitleTemplateEO implements Serializable { //排序 private int sort; - } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportTitleTemplateEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportTitleTemplateEOService.java index 51def4c31..6a2b744c1 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportTitleTemplateEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportTitleTemplateEOService.java @@ -1,10 +1,11 @@ package com.jero.modules.report.service; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.modules.report.entity.LawsMonthlyReportTitleTemplateEO; +import com.jero.modules.report.vo.LawsMonthlyReportTitleTemplateVO; +import javax.servlet.http.HttpServletRequest; import java.util.List; /** @@ -60,16 +61,15 @@ public interface ILawsMonthlyReportTitleTemplateEOService extends IService queryList(); + List queryList(String cut); /** * 分页 - * @param pageNo - * @param pageSize - * @param queryWrapper + * @param lawsMonthlyReportTitleTemplateEO * @return */ - IPage getPageInfo(Integer pageNo,Integer pageSize, QueryWrapper queryWrapper); + List getPageInfo(LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEO, + HttpServletRequest req); /** * 一级菜单 @@ -81,4 +81,6 @@ public interface ILawsMonthlyReportTitleTemplateEOService extends IService lawsMonthlyReportTitleTemplateEOS); + + Page getPages(Integer currentPage, Integer pageSize, List list); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportTitleTemplateEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportTitleTemplateEOServiceImpl.java index 02ba9a702..151bfe9d2 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportTitleTemplateEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportTitleTemplateEOServiceImpl.java @@ -2,15 +2,18 @@ package com.jero.modules.report.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.constant.enums.CutEnum; +import com.jero.common.system.query.QueryGenerator; import com.jero.modules.report.entity.LawsMonthlyReportTitleTemplateEO; import com.jero.modules.report.mapper.LawsMonthlyReportTitleTemplateEOMapper; import com.jero.modules.report.service.ILawsMonthlyReportTitleTemplateEOService; +import com.jero.modules.report.vo.LawsMonthlyReportTitleTemplateVO; import com.jero.modules.system.util.StringUtils; import org.springframework.stereotype.Service; +import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; @@ -115,13 +118,62 @@ public class LawsMonthlyReportTitleTemplateEOServiceImpl extends ServiceImpl queryList() { - return list(); + public List queryList(String cut) { + List lawsMonthlyReportTitleTemplateEOS = this.list(); + //数据结构重组 + List lawsMonthlyReportTitleTemplateVOS = new ArrayList<>(); + for (LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEO : lawsMonthlyReportTitleTemplateEOS) { + LawsMonthlyReportTitleTemplateVO lawsMonthlyReportTitleTemplateVO = new LawsMonthlyReportTitleTemplateVO(); + lawsMonthlyReportTitleTemplateVO.setId(lawsMonthlyReportTitleTemplateEO.getId()); + lawsMonthlyReportTitleTemplateVO.setKey(lawsMonthlyReportTitleTemplateEO.getId()); + lawsMonthlyReportTitleTemplateVO.setValue(lawsMonthlyReportTitleTemplateEO.getId()); + lawsMonthlyReportTitleTemplateVO.setParentId(lawsMonthlyReportTitleTemplateEO.getParentId()); + lawsMonthlyReportTitleTemplateVO.setSort(lawsMonthlyReportTitleTemplateEO.getSort()); + if(CutEnum.CN.getValue().equals(cut)){ + lawsMonthlyReportTitleTemplateVO.setTitle(lawsMonthlyReportTitleTemplateEO.getTitleCn()); + }else{ + lawsMonthlyReportTitleTemplateVO.setTitle(lawsMonthlyReportTitleTemplateEO.getTitleEn()); + } + lawsMonthlyReportTitleTemplateVOS.add(lawsMonthlyReportTitleTemplateVO); + } + + List parentList = lawsMonthlyReportTitleTemplateVOS.stream() + .filter(e -> StringUtils.isBlank(e.getParentId())).collect(Collectors.toList()); + Collections.sort(parentList, new Comparator() { + @Override + public int compare(LawsMonthlyReportTitleTemplateVO p1, LawsMonthlyReportTitleTemplateVO p2) { + return String.valueOf(p1.getSort()).compareTo(String.valueOf(p2.getSort())); + } + }); + + for (LawsMonthlyReportTitleTemplateVO lawsMonthlyReportTitleTemplateVO : parentList) { + List children = lawsMonthlyReportTitleTemplateVOS.stream() + .filter(e -> lawsMonthlyReportTitleTemplateVO.getId().equals(e.getParentId())).collect(Collectors.toList()); + if(children.size() != 0){ + Collections.sort(children, new Comparator() { + @Override + public int compare(LawsMonthlyReportTitleTemplateVO p1, LawsMonthlyReportTitleTemplateVO p2) { + return String.valueOf(p1.getSort()).compareTo(String.valueOf(p2.getSort())); + } + }); + for (LawsMonthlyReportTitleTemplateVO child : children) { + if(child.getChildren().size() == 0){ + child.setChildren(null); + } + } + lawsMonthlyReportTitleTemplateVO.setChildren(children); + } + else{ + lawsMonthlyReportTitleTemplateVO.setChildren(null); + } + } + return parentList; } @Override - public IPage getPageInfo( Integer pageNo,Integer pageSize,QueryWrapper queryWrapper) { - List lawsMonthlyReportTitleTemplateEOS = this.list(); + public List getPageInfo(LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEOTemp, HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(lawsMonthlyReportTitleTemplateEOTemp, req.getParameterMap()); + List lawsMonthlyReportTitleTemplateEOS = this.list(queryWrapper); List parentList = lawsMonthlyReportTitleTemplateEOS.stream() .filter(e -> StringUtils.isBlank(e.getParentId())).collect(Collectors.toList()); Collections.sort(parentList, new Comparator() { @@ -152,8 +204,7 @@ public class LawsMonthlyReportTitleTemplateEOServiceImpl extends ServiceImpl children = new ArrayList<>(); + + private int sort; + + +}