From 70dd9e48965866a5d0b9f04b03b058aff598a708 Mon Sep 17 00:00:00 2001 From: 176yunxuan <362612387@qq.com~> Date: Sun, 21 Jan 2024 09:27:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=AE=8C=E5=96=84=E5=92=8Cbu?= =?UTF-8?q?g=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oa/controllers/PermissionController.java | 1 + .../jsl/oa/controllers/ProjectController.java | 90 ++++++++++++++++--- src/main/java/com/jsl/oa/dao/ProjectDAO.java | 4 +- .../java/com/jsl/oa/mapper/ProjectMapper.java | 2 +- .../com/jsl/oa/services/ProjectService.java | 8 +- .../oa/services/impl/ProjectServiceImpl.java | 55 +++++++----- 6 files changed, 118 insertions(+), 42 deletions(-) diff --git a/src/main/java/com/jsl/oa/controllers/PermissionController.java b/src/main/java/com/jsl/oa/controllers/PermissionController.java index 2c394bb..c149794 100755 --- a/src/main/java/com/jsl/oa/controllers/PermissionController.java +++ b/src/main/java/com/jsl/oa/controllers/PermissionController.java @@ -60,6 +60,7 @@ public class PermissionController { @DeleteMapping("/permission/delete") public BaseResponse permissionDelete(@RequestParam Long pid,HttpServletRequest request){ + log.info("请求接口[Delete]: /permission/delete"); // 判断是否有参数错误 if (pid == null) { return ResultUtil.error(ErrorCode.PARAMETER_ERROR); diff --git a/src/main/java/com/jsl/oa/controllers/ProjectController.java b/src/main/java/com/jsl/oa/controllers/ProjectController.java index 2e2902e..460a041 100755 --- a/src/main/java/com/jsl/oa/controllers/ProjectController.java +++ b/src/main/java/com/jsl/oa/controllers/ProjectController.java @@ -23,23 +23,45 @@ public class ProjectController { private final ProjectService projectService; + /** + * 项目展示获取 + * @param id + * @return + */ @GetMapping("/project/header/get") public BaseResponse projectGetHeader(@RequestParam(required = false) Integer id) { log.info("请求接口[GET]: /project/header/get"); return projectService.getHeader(id); } + /** + * 全部项目的信息获取(打开项目页) + * @return + */ @GetMapping("/project/get") public BaseResponse projectGet() { + log.info("请求接口[GET]: /project/get"); return projectService.get(); } + /** + * 单个项目的详细 + * @param name + * @return + */ @GetMapping("/project/header") public BaseResponse projectGetByName(@RequestParam String name) { log.info("请求接口[GET]: /project/header"); return projectService.getByName(name); } + /** + * 增加项目展示 + * @param projectShowVO + * @param request + * @param bindingResult + * @return + */ @PostMapping("/project/header/add") public BaseResponse projectAddHeader(@RequestBody @Validated ProjectShowVO projectShowVO, HttpServletRequest request, @NotNull BindingResult bindingResult) { log.info("请求接口[POST]: /project/header/add"); @@ -51,9 +73,17 @@ public class ProjectController { return projectService.addHeader(request, projectShowVO); } + /** + * 编辑展示的项目 + * @param projectShowVO + * @param id + * @param request + * @param bindingResult + * @return + */ @PutMapping("/project/header/edit") public BaseResponse projectEditHeader(@RequestBody @Validated ProjectShowVO projectShowVO, @RequestParam Integer id, HttpServletRequest request, @NotNull BindingResult bindingResult) { - log.info("请求接口[PUT]: /project/header/del"); + log.info("请求接口[PUT]: /project/header/edit"); // 参数校验 if (bindingResult.hasErrors()) { log.warn("参数校验失败: {}", Processing.getValidatedErrorList(bindingResult)); @@ -67,35 +97,58 @@ public class ProjectController { } + /** + * 删除项目展示 + * @param id + * @param request + * @return + */ @DeleteMapping("/project/header/del") public BaseResponse projectDelHeader(@RequestParam Integer id, HttpServletRequest request) { log.info("请求接口[Delete]: /project/header/del"); return projectService.delHeader(id, request); } + /** + * 项目表进行,项目增加 + * @param projectAdd + * @param bindingResult + * @return + */ @PostMapping("/project/add") - public BaseResponse projectAdd(@RequestBody @Validated ProjectInfoVO projectAdd, @NotNull BindingResult bindingResult) { - log.info("请求接口[PUT]: /project/header/del"); + public BaseResponse projectAdd(HttpServletRequest request,@RequestBody @Validated ProjectInfoVO projectAdd, @NotNull BindingResult bindingResult) { + log.info("请求接口[POST]: /project/add"); // 判断是否有参数错误 if (bindingResult.hasErrors()) { return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult)); } - return projectService.projectAdd(projectAdd); + return projectService.projectAdd(request,projectAdd); } + /** + * 项目表进行,项目的修改 + * @param projectEdit + * @param bindingResult + * @return + */ @PutMapping("/project/edit") - public BaseResponse projectEdit(@RequestBody @Validated ProjectInfoVO projectEdit, @NotNull BindingResult bindingResult) { - log.info("请求接口[PUT]: /project/header/del"); + public BaseResponse projectEdit(HttpServletRequest request,@RequestBody @Validated ProjectInfoVO projectEdit, @NotNull BindingResult bindingResult) { + log.info("请求接口[PUT]: /project/edit"); // 判断是否有参数错误 if (bindingResult.hasErrors()) { return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult)); } - return projectService.projectEdit(projectEdit); + return projectService.projectEdit(request,projectEdit); } + /** + * 用户获取所分到的项目模块 + * @param uid + * @return + */ @GetMapping("/project/cut/user") public BaseResponse projectGetUserInCutting(@RequestParam Long uid) { - log.info("请求接口[PUT]: /project/header/del"); + log.info("请求接口[GET]: /project/cut/user"); // 判断是否有参数错误 if (uid == null) { return ResultUtil.error(ErrorCode.PARAMETER_ERROR); @@ -103,23 +156,34 @@ public class ProjectController { return projectService.projectGetUserInCutting(uid); } + /** + * 给某用户分配项目模块 + * @param uid + * @param pid + * @return + */ @PostMapping("/project/cut/user/add") - public BaseResponse projectAddUserForCutting(@RequestParam Long uid, @RequestParam Long pid) { - log.info("请求接口[PUT]: /project/header/del"); + public BaseResponse projectAddUserForCutting(HttpServletRequest request,@RequestParam Long uid, @RequestParam Long pid) { + log.info("请求接口[POST]: /project/cut/user/add"); // 判断是否有参数错误 if (uid == null || pid == null) { return ResultUtil.error(ErrorCode.PARAMETER_ERROR); } - return projectService.projectAddUserForCutting(uid, pid); + return projectService.projectAddUserForCutting(request,uid, pid); } + /** + * 删除某项目记录 + * @param id + * @return + */ @DeleteMapping("/project/delete") - public BaseResponse projectDelete(@RequestParam Long id){ + public BaseResponse projectDelete(HttpServletRequest request,@RequestParam Long id){ log.info("请求接口[Delete]: /project/delete"); if(id == null){ return ResultUtil.error(ErrorCode.PARAMETER_ERROR); } - return projectService.projectDelete(id); + return projectService.projectDelete(request,id); } diff --git a/src/main/java/com/jsl/oa/dao/ProjectDAO.java b/src/main/java/com/jsl/oa/dao/ProjectDAO.java index ef78621..4d322f9 100644 --- a/src/main/java/com/jsl/oa/dao/ProjectDAO.java +++ b/src/main/java/com/jsl/oa/dao/ProjectDAO.java @@ -7,6 +7,8 @@ import com.jsl.oa.model.doData.ProjectDO; import com.jsl.oa.model.doData.info.ProjectShowDO; import com.jsl.oa.model.voData.ProjectInfoVO; import com.jsl.oa.utils.BaseResponse; +import com.jsl.oa.utils.ErrorCode; +import com.jsl.oa.utils.ResultUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.dao.DuplicateKeyException; @@ -101,7 +103,7 @@ public class ProjectDAO { return projectMapper.get(); } - public BaseResponse getByName(String name) { + public ProjectDO getByName(String name) { log.info("\t> 执行 DAO 层 ProjectDAO.getByName 方法"); return projectMapper.getByName(name); } diff --git a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java index a86e102..ff79a63 100644 --- a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java @@ -42,7 +42,7 @@ public interface ProjectMapper { List get(); @Select("select * from organize_oa.oa_project where name=#{name}") - BaseResponse getByName(String name); + ProjectDO getByName(String name); @Delete("DELETE FROM organize_oa.oa_project where id=#{id}") boolean deleteProject(Long id); diff --git a/src/main/java/com/jsl/oa/services/ProjectService.java b/src/main/java/com/jsl/oa/services/ProjectService.java index 6f94975..5bc7816 100644 --- a/src/main/java/com/jsl/oa/services/ProjectService.java +++ b/src/main/java/com/jsl/oa/services/ProjectService.java @@ -8,13 +8,13 @@ import com.jsl.oa.utils.BaseResponse; import javax.servlet.http.HttpServletRequest; public interface ProjectService { - BaseResponse projectAdd(ProjectInfoVO projectAdd); + BaseResponse projectAdd(HttpServletRequest request,ProjectInfoVO projectAdd); - BaseResponse projectEdit(ProjectInfoVO projectEdit); + BaseResponse projectEdit(HttpServletRequest request,ProjectInfoVO projectEdit); BaseResponse projectGetUserInCutting(Long uid); - BaseResponse projectAddUserForCutting(Long uid, Long pid); + BaseResponse projectAddUserForCutting(HttpServletRequest request,Long uid, Long pid); BaseResponse getHeader(Integer id); @@ -28,5 +28,5 @@ public interface ProjectService { BaseResponse getByName(String name); - BaseResponse projectDelete(Long id); + BaseResponse projectDelete(HttpServletRequest request,Long id); } 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 aeb5a36..14a7437 100644 --- a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java @@ -31,25 +31,29 @@ public class ProjectServiceImpl implements ProjectService { private final ProjectDAO projectDAO; private final UserDAO userDAO; + private final RoleMapper roleMapper; @Override - public BaseResponse projectAdd(ProjectInfoVO projectAdd) { + public BaseResponse projectAdd(HttpServletRequest request,ProjectInfoVO projectAdd) { log.info("\t> 执行 Service 层 ProjectService.projectAdd 方法"); - projectDAO.projectAdd(projectAdd); - return ResultUtil.success("添加成功"); + if(Processing.checkUserIsAdmin(request,roleMapper)){ + projectDAO.projectAdd(projectAdd); + return ResultUtil.success("添加成功"); + }else return ResultUtil.error(ErrorCode.NOT_ADMIN); + } @Override - public BaseResponse projectEdit(@NotNull ProjectInfoVO projectEdit) { + public BaseResponse projectEdit(HttpServletRequest request,@NotNull ProjectInfoVO projectEdit) { log.info("\t> 执行 Service 层 ProjectService.projectEdit 方法"); - //判断项目是否存在 - if (projectDAO.isExistProject(projectEdit.getId())) { - projectDAO.projectEdit(projectEdit); - return ResultUtil.success("修改成功"); - } else { - return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST); - } + if (Processing.checkUserIsAdmin(request, roleMapper)) { + //判断项目是否存在 + if (projectDAO.isExistProject(projectEdit.getId())) { + projectDAO.projectEdit(projectEdit); + return ResultUtil.success("修改成功"); + } else return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST); + } else return ResultUtil.error(ErrorCode.NOT_ADMIN); } @Override @@ -64,13 +68,14 @@ public class ProjectServiceImpl implements ProjectService { } @Override - public BaseResponse projectAddUserForCutting(Long uid, Long pid) { + public BaseResponse projectAddUserForCutting(HttpServletRequest request,Long uid, Long pid) { log.info("\t> 执行 Service 层 ProjectService.projectAddUserForCutting 方法"); - if (userDAO.isExistUser(uid)) { - projectDAO.projectAddUserForCutting(uid, pid); - return ResultUtil.success(); - } - return null; + if(Processing.checkUserIsAdmin(request,roleMapper)){ + if (userDAO.isExistUser(uid)) { + projectDAO.projectAddUserForCutting(uid, pid); + return ResultUtil.success(); + }else return ResultUtil.error(ErrorCode.USER_NOT_EXIST); + }else return ResultUtil.error(ErrorCode.NOT_ADMIN); } @Override @@ -182,15 +187,19 @@ public class ProjectServiceImpl implements ProjectService { @Override public BaseResponse getByName(String name) { log.info("\t> 执行 Service 层 ProjectService.getByName 方法"); - return ResultUtil.success(projectDAO.getByName(name)); + if (projectDAO.getByName(name)==null){ + return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST); + } + else return ResultUtil.success(projectDAO.getByName(name)); } @Override - public BaseResponse projectDelete(Long id) { - if(!projectDAO.projectDelete(id)){ - return ResultUtil.error(ErrorCode.DATABASE_DELETE_ERROR); - } - return ResultUtil.success(); + public BaseResponse projectDelete(HttpServletRequest request,Long id) { + if(Processing.checkUserIsAdmin(request,roleMapper)) { + if (!projectDAO.projectDelete(id)) { + return ResultUtil.error(ErrorCode.DATABASE_DELETE_ERROR); + }else return ResultUtil.success(); + }else return ResultUtil.error(ErrorCode.NOT_ADMIN); }