diff --git a/pom.xml b/pom.xml index 9f9f946..e9f3ab5 100755 --- a/pom.xml +++ b/pom.xml @@ -39,6 +39,14 @@ mybatis-spring-boot-starter 2.3.1 + + + + com.github.pagehelper + pagehelper-spring-boot-starter + 1.4.2 + + com.mysql diff --git a/src/main/java/com/jsl/oa/controllers/ProjectController.java b/src/main/java/com/jsl/oa/controllers/ProjectController.java index 0bfe3df..91f2013 100755 --- a/src/main/java/com/jsl/oa/controllers/ProjectController.java +++ b/src/main/java/com/jsl/oa/controllers/ProjectController.java @@ -65,9 +65,11 @@ public class ProjectController { @GetMapping("/project/get/custom") public BaseResponse projectGetCustom(@RequestParam(required = false) Integer id, @RequestParam(required = false) List tags, - @RequestParam(required = false) List isFinish) { + @RequestParam(required = false) List isFinish, + @RequestParam(required = false,defaultValue = "1") Integer page, + @RequestParam(required = false,defaultValue = "10") Integer pageSize) { log.info("请求接口[GET]: /project/all/get"); - return projectService.tget(id, tags, isFinish); + return projectService.tget(id, tags, isFinish,page,pageSize); } @@ -80,9 +82,11 @@ public class ProjectController { public BaseResponse projectGet(@RequestParam(required = false) Integer listAll, @RequestParam(required = false) List tags, @RequestParam(required = false) List isFinish, + @RequestParam(required = false,defaultValue = "1") Integer page, + @RequestParam(required = false,defaultValue = "10") Integer pageSize, HttpServletRequest request) { log.info("请求接口[GET]: /project/get"); - return projectService.get(listAll, request, tags, isFinish); + return projectService.get(listAll, request, tags, isFinish,page,pageSize); } /** @@ -95,9 +99,11 @@ public class ProjectController { @RequestParam(required = false) List tags, @RequestParam(required = false) List isFinish, @RequestParam(required = false) Integer is, + @RequestParam(required = false,defaultValue = "1") Integer page, + @RequestParam(required = false,defaultValue = "10") Integer pageSize, HttpServletRequest request) { log.info("请求接口[GET]: /project/work/get"); - return projectService.workget(listAll, request, tags, isFinish, is); + return projectService.workget(listAll, request, tags, isFinish, is,page,pageSize); } /** @@ -275,7 +281,7 @@ public class ProjectController { * @return */ @DeleteMapping("/project/delete") - public BaseResponse projectDelete(HttpServletRequest request, @RequestParam Long id) { + public BaseResponse projectDelete(HttpServletRequest request, @RequestParam List id) { log.info("请求接口[Delete]: /project/delete"); if (id == null) { return ResultUtil.error(ErrorCode.PARAMETER_ERROR); diff --git a/src/main/java/com/jsl/oa/dao/ProjectDAO.java b/src/main/java/com/jsl/oa/dao/ProjectDAO.java index 2698af6..21e71e1 100644 --- a/src/main/java/com/jsl/oa/dao/ProjectDAO.java +++ b/src/main/java/com/jsl/oa/dao/ProjectDAO.java @@ -218,7 +218,7 @@ public class ProjectDAO { return projectMapper.updateUserForProjectUser(newUid,projectUserDO.getId()); } - public boolean isPrincipalUser(Long uid,Long projectId){ + public boolean isPrincipalUser(Long uid, Long projectId){ log.info("\t> 执行 DAO 层 ProjectDAO.isPrincipalUser 方法"); log.info("\t\t> 从 MySQL 获取数据"); ProjectDO projectDO = projectMapper.getProjectById(projectId); @@ -227,7 +227,7 @@ public class ProjectDAO { public List tget(Integer id,List isFinish,List tags) { - log.info("DAO层"); + log.info("DAO层tget"); if(tags != null && !tags.isEmpty()){ return projectMapper.tgetBytags(tags,isFinish); diff --git a/src/main/java/com/jsl/oa/services/ProjectService.java b/src/main/java/com/jsl/oa/services/ProjectService.java index e906488..77f614d 100644 --- a/src/main/java/com/jsl/oa/services/ProjectService.java +++ b/src/main/java/com/jsl/oa/services/ProjectService.java @@ -24,11 +24,11 @@ public interface ProjectService { BaseResponse editHeader(HttpServletRequest request, ProjectShowVO projectShowVO, Integer id); - BaseResponse get(Integer listAll, HttpServletRequest request, List tags, List isFinish); + BaseResponse get(Integer listAll, HttpServletRequest request, List tags, List isFinish, Integer page, Integer pageSize); BaseResponse getByName(String name); - BaseResponse projectDelete(HttpServletRequest request, Long id); + BaseResponse projectDelete(HttpServletRequest request, List id); BaseResponse addProjectCutting(HttpServletRequest request, ProjectCuttingAddVO projectCuttingAddVO); @@ -36,11 +36,11 @@ public interface ProjectService { BaseResponse projectToOtherUserForCutting(HttpServletRequest request, Long oldUid, Long pid, Long newUid); - BaseResponse workget(Integer listAll, HttpServletRequest request, List tags, List isFinish, Integer is); + BaseResponse workget(Integer listAll, HttpServletRequest request, List tags, List isFinish, Integer is, Integer page, Integer pageSize); BaseResponse projecWorktAdd(HttpServletRequest request, ProjectWorkVO projectWorkVO); - BaseResponse tget(Integer id, List tags, List isFinish); + BaseResponse tget(Integer id, List tags, List isFinish,Integer page,Integer pageSize); BaseResponse projectFileGet(HttpServletRequest request, Long projectId); diff --git a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java index 88b12be..0aa9fe0 100644 --- a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java @@ -11,7 +11,6 @@ import com.jsl.oa.mapper.RoleMapper; import com.jsl.oa.mapper.UserMapper; import com.jsl.oa.model.doData.ProjectCuttingDO; import com.jsl.oa.model.doData.ProjectDO; -import com.jsl.oa.model.doData.ProjectWorkDO; import com.jsl.oa.model.doData.UserDO; import com.jsl.oa.model.doData.info.ProjectShowDO; import com.jsl.oa.model.voData.*; @@ -89,7 +88,7 @@ public class ProjectServiceImpl implements ProjectService { } @Override - public BaseResponse tget(Integer id, List tags, List isFinish) { + public BaseResponse tget(Integer id, List tags, List isFinish,Integer page,Integer pageSize){ log.info("\t> 执行 Service 层 ProjectService.tget 方法"); //根据id查询 if (id != null){ @@ -109,7 +108,13 @@ public class ProjectServiceImpl implements ProjectService { Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); projectSimpleVOList.add(projectSimpleVO1); } - return ResultUtil.success(projectSimpleVOList); + + //分页返回 + int start = (page-1) * pageSize; + int end = start + pageSize; + List pageData = projectSimpleVOList.subList(start, + Math.min(end,projectSimpleVOList.size())); + return ResultUtil.success(pageData); } //根据状态查询 @@ -122,7 +127,12 @@ public class ProjectServiceImpl implements ProjectService { Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); projectSimpleVOList.add(projectSimpleVO1); } - return ResultUtil.success(projectSimpleVOList); + //分页返回 + int start = (page-1) * pageSize; + int end = start + pageSize; + List pageData = projectSimpleVOList.subList(start, + Math.min(end,projectSimpleVOList.size())); + return ResultUtil.success(pageData); } List projectDOList = projectDAO.tget(id,isFinish,tags); @@ -132,7 +142,12 @@ public class ProjectServiceImpl implements ProjectService { Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); projectSimpleVOList.add(projectSimpleVO1); } - return ResultUtil.success(projectSimpleVOList); + //分页返回 + int start = (page-1) * pageSize; + int end = start + pageSize; + List pageData = projectSimpleVOList.subList(start, + Math.min(end,projectSimpleVOList.size())); + return ResultUtil.success(pageData); } @Override @@ -329,7 +344,7 @@ public class ProjectServiceImpl implements ProjectService { } @Override - public BaseResponse get(Integer listAll, HttpServletRequest request, List tags, List isFinish) { + public BaseResponse get(Integer listAll, HttpServletRequest request, List tags, List isFinish, Integer page, Integer pageSize) { log.info("\t> 执行 Service 层 ProjectService.get 方法"); //获取用户 @@ -344,7 +359,12 @@ public class ProjectServiceImpl implements ProjectService { Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); projectSimpleVOList.add(projectSimpleVO1); } - return ResultUtil.success(projectSimpleVOList); + //分页返回 + int start = (page-1) * pageSize; + int end = start + pageSize; + List pageData = projectSimpleVOList.subList(start, + Math.min(end,projectSimpleVOList.size())); + return ResultUtil.success(pageData); } //根据状态查询 @@ -356,7 +376,12 @@ public class ProjectServiceImpl implements ProjectService { Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); projectSimpleVOList.add(projectSimpleVO1); } - return ResultUtil.success(projectSimpleVOList); + //分页返回 + int start = (page-1) * pageSize; + int end = start + pageSize; + List pageData = projectSimpleVOList.subList(start, + Math.min(end,projectSimpleVOList.size())); + return ResultUtil.success(pageData); } @@ -369,7 +394,12 @@ public class ProjectServiceImpl implements ProjectService { Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); projectSimpleVOList.add(projectSimpleVO1); } - return ResultUtil.success(projectSimpleVOList); + //分页返回 + int start = (page-1) * pageSize; + int end = start + pageSize; + List pageData = projectSimpleVOList.subList(start, + Math.min(end,projectSimpleVOList.size())); + return ResultUtil.success(pageData); } else { listAll = 0; List projectDOList = projectDAO.get(userId, listAll, tags, isFinish); @@ -379,13 +409,18 @@ public class ProjectServiceImpl implements ProjectService { Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); projectSimpleVOList.add(projectSimpleVO1); } - return ResultUtil.success(projectSimpleVOList); + //分页返回 + int start = (page-1) * pageSize; + int end = start + pageSize; + List pageData = projectSimpleVOList.subList(start, + Math.min(end,projectSimpleVOList.size())); + return ResultUtil.success(pageData); } } @Override - public BaseResponse workget(Integer listAll, HttpServletRequest request, List tags, List isFinish, Integer is) { + public BaseResponse workget(Integer listAll, HttpServletRequest request, List tags, List isFinish, Integer is, Integer page, Integer pageSize) { log.info("\t> 执行 Service 层 ProjectService.workget 方法"); //获取用户 @@ -400,7 +435,12 @@ public class ProjectServiceImpl implements ProjectService { Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); projectSimpleVOList.add(projectSimpleVO1); } - return ResultUtil.success(projectSimpleVOList); + //分页返回 + int start = (page-1) * pageSize; + int end = start + pageSize; + List pageData = projectSimpleVOList.subList(start, + Math.min(end,projectSimpleVOList.size())); + return ResultUtil.success(pageData); } //根据状态查询 @@ -412,7 +452,12 @@ public class ProjectServiceImpl implements ProjectService { Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); projectSimpleVOList.add(projectSimpleVO1); } - return ResultUtil.success(projectSimpleVOList); + //分页返回 + int start = (page-1) * pageSize; + int end = start + pageSize; + List pageData = projectSimpleVOList.subList(start, + Math.min(end,projectSimpleVOList.size())); + return ResultUtil.success(pageData); } @@ -425,7 +470,12 @@ public class ProjectServiceImpl implements ProjectService { Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); projectSimpleVOList.add(projectSimpleVO1); } - return ResultUtil.success(projectSimpleVOList); + //分页返回 + int start = (page-1) * pageSize; + int end = start + pageSize; + List pageData = projectSimpleVOList.subList(start, + Math.min(end,projectSimpleVOList.size())); + return ResultUtil.success(pageData); } else { listAll = 0; List projectDOList = projectDAO.workget(userId, listAll, tags, isFinish,is); @@ -435,7 +485,12 @@ public class ProjectServiceImpl implements ProjectService { Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); projectSimpleVOList.add(projectSimpleVO1); } - return ResultUtil.success(projectSimpleVOList); + //分页返回 + int start = (page-1) * pageSize; + int end = start + pageSize; + List pageData = projectSimpleVOList.subList(start, + Math.min(end,projectSimpleVOList.size())); + return ResultUtil.success(pageData); } } @@ -451,21 +506,23 @@ public class ProjectServiceImpl implements ProjectService { } @Override - public BaseResponse projectDelete(HttpServletRequest request, Long id) { + public BaseResponse projectDelete(HttpServletRequest request, List id) { log.info("\t> 执行 Service 层 ProjectService.projectDelete 方法"); - //判断用户是否为老师 或者 项目负责人 或管理员 - if (!Processing.checkUserIsTeacher(request, roleMapper) && - !projectDAO.isPrincipalUser(Processing.getAuthHeaderToUserId(request), id) - && !Processing.checkUserIsAdmin(request, roleMapper)) { + //判断用户是否为老师 或者 项目负责人 + if (!Processing.checkUserIsTeacher(request, roleMapper)){ return ResultUtil.error(ErrorCode.NOT_PERMISSION); } - if (!projectDAO.projectDelete(id)) { - return ResultUtil.error(ErrorCode.DATABASE_DELETE_ERROR); - } else { - return ResultUtil.success(); + for(Long id1:id){ + if(!projectDAO.isPrincipalUser(Processing.getAuthHeaderToUserId(request), id1)) { + return ResultUtil.error(ErrorCode.NOT_PERMISSION); } + + if (!projectDAO.projectDelete(id1)) { + return ResultUtil.error(ErrorCode.DATABASE_DELETE_ERROR); + } + } return ResultUtil.success(); } @Override diff --git a/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml b/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml index d1190d8..e5be938 100644 --- a/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml +++ b/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml @@ -147,7 +147,7 @@