From 0a12db6dfe2257bd4ff48d6bb8f7e8e0bff73d51 Mon Sep 17 00:00:00 2001 From: "yang.yongquan" <3395816735@qq.com> Date: Mon, 4 Jul 2022 10:15:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E5=A2=9E=E5=8A=A0=E6=8E=92?= =?UTF-8?q?=E5=BA=8F=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ProjectController.java | 8 ++++-- .../projectmanagement/entity/Project.java | 2 ++ .../projectmanagement/entity/SortEntity.java | 26 +++++++++++++++++++ .../service/IProjectService.java | 3 ++- .../service/impl/ProjectServiceImpl.java | 9 ++++--- 5 files changed, 42 insertions(+), 6 deletions(-) create mode 100644 src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/SortEntity.java diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectController.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectController.java index 5207c43..2f284a7 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectController.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectController.java @@ -2,6 +2,7 @@ package cn.edu.hfut.rmdjzz.projectmanagement.controller; import cn.edu.hfut.rmdjzz.projectmanagement.entity.Project; import cn.edu.hfut.rmdjzz.projectmanagement.entity.ResultProject; +import cn.edu.hfut.rmdjzz.projectmanagement.entity.SortEntity; import cn.edu.hfut.rmdjzz.projectmanagement.service.IProjectService; import cn.edu.hfut.rmdjzz.projectmanagement.utils.http.ResponseList; import cn.edu.hfut.rmdjzz.projectmanagement.utils.http.ResponseMap; @@ -19,6 +20,7 @@ import java.util.Map; /** * @author 佘语殊 * @since 2022/6/30 11:24 + * */ @RestController @RequestMapping("/project") @@ -39,8 +41,10 @@ public class ProjectController { @RequestParam("pageSize") Integer pageSize, @RequestParam("pageCurrent") Integer pageCurrent, @RequestParam("paramMap") Map paramMap - ) { - Page page = projectService.getOnePageProject(token, pageCurrent, pageSize, paramMap); + //@RequestParam("sort") SortEntity sortEntity + ) { + SortEntity sortEntity = new SortEntity(); + Page page = projectService.getOnePageProject(token, pageCurrent, pageSize, paramMap, sortEntity); return ResponseList.ofSuccess("成功返回列表", page); } diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/Project.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/Project.java index 7265f8b..59f15ee 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/Project.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/Project.java @@ -8,6 +8,7 @@ import lombok.Data; import java.math.BigDecimal; import java.time.LocalDate; +import java.time.LocalDateTime; /** * @author 阳勇权 @@ -43,4 +44,5 @@ public class Project { @TableLogic private Boolean deleted; private Integer projectCreator; + private LocalDateTime projectCreateTime; } diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/SortEntity.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/SortEntity.java new file mode 100644 index 0000000..6f5a999 --- /dev/null +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/SortEntity.java @@ -0,0 +1,26 @@ +package cn.edu.hfut.rmdjzz.projectmanagement.entity; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.Data; + +/** + * @author 阳勇权 + * @since 2022/7/4 9:25 + */ +@Data +public class SortEntity { + String sortName; + Boolean ascOrder; + + public Page sortPage(Page page) { + if(ascOrder == null) return page; + if (ascOrder) { + return page.addOrder(OrderItem.asc(sortName)); + } else { + return page.addOrder(OrderItem.desc(sortName)); + } + } +} diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IProjectService.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IProjectService.java index c3b095d..65db6c6 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IProjectService.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IProjectService.java @@ -2,6 +2,7 @@ package cn.edu.hfut.rmdjzz.projectmanagement.service; import cn.edu.hfut.rmdjzz.projectmanagement.entity.Project; import cn.edu.hfut.rmdjzz.projectmanagement.entity.ResultProject; +import cn.edu.hfut.rmdjzz.projectmanagement.entity.SortEntity; import cn.edu.hfut.rmdjzz.projectmanagement.exception.BadRequestException; import cn.edu.hfut.rmdjzz.projectmanagement.exception.TokenException; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -17,7 +18,7 @@ public interface IProjectService extends IService { Long getAllProjectOfStaff(String token) throws TokenException; - Page getOnePageProject(String token, Integer pageCurrent, Integer pageSize, Map params) throws TokenException; + Page getOnePageProject(String token, Integer pageCurrent, Integer pageSize, Map params, SortEntity sortEntity) throws TokenException; Boolean setProjectCompleted(String token, Integer projectId) throws TokenException, BadRequestException; diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/ProjectServiceImpl.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/ProjectServiceImpl.java index 7d57da6..2df8bc1 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/ProjectServiceImpl.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/ProjectServiceImpl.java @@ -2,6 +2,7 @@ package cn.edu.hfut.rmdjzz.projectmanagement.service.impl; import cn.edu.hfut.rmdjzz.projectmanagement.entity.Project; import cn.edu.hfut.rmdjzz.projectmanagement.entity.ResultProject; +import cn.edu.hfut.rmdjzz.projectmanagement.entity.SortEntity; import cn.edu.hfut.rmdjzz.projectmanagement.exception.BadRequestException; import cn.edu.hfut.rmdjzz.projectmanagement.exception.TokenException; import cn.edu.hfut.rmdjzz.projectmanagement.mapper.ProjectMapper; @@ -40,11 +41,12 @@ public class ProjectServiceImpl extends ServiceImpl impl String token, Integer pageCurrent, Integer pageSize, - Map params + Map params, + SortEntity sortEntity ) throws TokenException { Integer staffId = TokenUtils.getStaffId(token); - IPage page = new Page<>(pageCurrent, pageSize); - IPage userPage = baseMapper.findMyProject(page, staffId, WrapperUtils.allEqAndTimeIntervalQueryWrapper(params)); + Page page = new Page<>(pageCurrent, pageSize); + IPage userPage = baseMapper.findMyProject(sortEntity.sortPage(page), staffId, WrapperUtils.allEqAndTimeIntervalQueryWrapper(params)); return (Page) userPage; } @@ -71,6 +73,7 @@ public class ProjectServiceImpl extends ServiceImpl impl public Boolean createProject(String token, Project project) throws TokenException, BadRequestException { project.setProjectId(null); project.setCompleted(false); + project.setProjectCreateTime(null); project.setProjectCreator(TokenUtils.getStaffId(token)); project.setProjectCloseTime(null); if (project.getExpectedCompletion() == null) {