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) {