From 1435b019775a31e1350db2d72ad8eb23a8e2a72a Mon Sep 17 00:00:00 2001 From: xiangZr-hhh <“2774915446@qq.com”> Date: Sun, 21 Jan 2024 12:16:38 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=86=E5=89=B2=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E6=B7=BB=E5=8A=A0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oa/controllers/PermissionController.java | 4 +- .../jsl/oa/controllers/ProjectController.java | 48 +++++++++++++++---- .../jsl/oa/controllers/UserController.java | 4 +- src/main/java/com/jsl/oa/dao/ProjectDAO.java | 14 ++++++ .../java/com/jsl/oa/mapper/ProjectMapper.java | 4 ++ ...ssionEditVo.java => PermissionEditVO.java} | 3 +- .../oa/model/voData/ProjectCuttingAddVO.java | 23 +++++++++ .../voData/{UserAddVo.java => UserAddVO.java} | 3 +- .../jsl/oa/services/PermissionService.java | 4 +- .../com/jsl/oa/services/ProjectService.java | 3 ++ .../java/com/jsl/oa/services/UserService.java | 4 +- .../services/impl/PermissionServiceImpl.java | 4 +- .../oa/services/impl/ProjectServiceImpl.java | 20 +++++++- .../jsl/oa/services/impl/UserServiceImpl.java | 2 +- src/main/resources/application.yml | 35 ++++++++++---- 15 files changed, 141 insertions(+), 34 deletions(-) rename src/main/java/com/jsl/oa/model/voData/{PermissionEditVo.java => PermissionEditVO.java} (80%) create mode 100644 src/main/java/com/jsl/oa/model/voData/ProjectCuttingAddVO.java rename src/main/java/com/jsl/oa/model/voData/{UserAddVo.java => UserAddVO.java} (96%) diff --git a/src/main/java/com/jsl/oa/controllers/PermissionController.java b/src/main/java/com/jsl/oa/controllers/PermissionController.java index c149794..23b7c1f 100755 --- a/src/main/java/com/jsl/oa/controllers/PermissionController.java +++ b/src/main/java/com/jsl/oa/controllers/PermissionController.java @@ -1,6 +1,6 @@ package com.jsl.oa.controllers; -import com.jsl.oa.model.voData.PermissionEditVo; +import com.jsl.oa.model.voData.PermissionEditVO; import com.jsl.oa.services.PermissionService; import com.jsl.oa.utils.BaseResponse; import com.jsl.oa.utils.ErrorCode; @@ -49,7 +49,7 @@ public class PermissionController { @PutMapping("/permission/edit") - public BaseResponse permissionEdit(@RequestBody @Validated PermissionEditVo permissionEditVo, BindingResult bindingResult, HttpServletRequest request){ + public BaseResponse permissionEdit(@RequestBody @Validated PermissionEditVO permissionEditVo, BindingResult bindingResult, HttpServletRequest request){ log.info("请求接口[PUT]: /permission/edit"); // 判断是否有参数错误 if (bindingResult.hasErrors()) { diff --git a/src/main/java/com/jsl/oa/controllers/ProjectController.java b/src/main/java/com/jsl/oa/controllers/ProjectController.java index 460a041..68cfea5 100755 --- a/src/main/java/com/jsl/oa/controllers/ProjectController.java +++ b/src/main/java/com/jsl/oa/controllers/ProjectController.java @@ -1,5 +1,6 @@ package com.jsl.oa.controllers; +import com.jsl.oa.model.voData.ProjectCuttingAddVO; import com.jsl.oa.model.voData.ProjectInfoVO; import com.jsl.oa.model.voData.business.info.ProjectShowVO; import com.jsl.oa.services.ProjectService; @@ -25,6 +26,7 @@ public class ProjectController { /** * 项目展示获取 + * * @param id * @return */ @@ -36,6 +38,7 @@ public class ProjectController { /** * 全部项目的信息获取(打开项目页) + * * @return */ @GetMapping("/project/get") @@ -46,6 +49,7 @@ public class ProjectController { /** * 单个项目的详细 + * * @param name * @return */ @@ -57,6 +61,7 @@ public class ProjectController { /** * 增加项目展示 + * * @param projectShowVO * @param request * @param bindingResult @@ -75,6 +80,7 @@ public class ProjectController { /** * 编辑展示的项目 + * * @param projectShowVO * @param id * @param request @@ -99,6 +105,7 @@ public class ProjectController { /** * 删除项目展示 + * * @param id * @param request * @return @@ -111,38 +118,41 @@ public class ProjectController { /** * 项目表进行,项目增加 + * * @param projectAdd * @param bindingResult * @return */ @PostMapping("/project/add") - public BaseResponse projectAdd(HttpServletRequest request,@RequestBody @Validated ProjectInfoVO projectAdd, @NotNull BindingResult bindingResult) { + 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(request,projectAdd); + return projectService.projectAdd(request, projectAdd); } /** * 项目表进行,项目的修改 + * * @param projectEdit * @param bindingResult * @return */ @PutMapping("/project/edit") - public BaseResponse projectEdit(HttpServletRequest request,@RequestBody @Validated ProjectInfoVO projectEdit, @NotNull BindingResult bindingResult) { + 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(request,projectEdit); + return projectService.projectEdit(request, projectEdit); } /** * 用户获取所分到的项目模块 + * * @param uid * @return */ @@ -158,33 +168,53 @@ public class ProjectController { /** * 给某用户分配项目模块 + * * @param uid * @param pid * @return */ @PostMapping("/project/cut/user/add") - public BaseResponse projectAddUserForCutting(HttpServletRequest request,@RequestParam Long uid, @RequestParam Long pid) { + 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(request,uid, pid); + return projectService.projectAddUserForCutting(request, uid, pid); } /** * 删除某项目记录 + * * @param id * @return */ @DeleteMapping("/project/delete") - public BaseResponse projectDelete(HttpServletRequest request,@RequestParam Long id){ + public BaseResponse projectDelete(HttpServletRequest request, @RequestParam Long id) { log.info("请求接口[Delete]: /project/delete"); - if(id == null){ + if (id == null) { return ResultUtil.error(ErrorCode.PARAMETER_ERROR); } - return projectService.projectDelete(request,id); + return projectService.projectDelete(request, id); + } + + /** + * @Description: 添加项目模块 + * @Date: 2024/1/21 + * @Param request + * @Param projectCuttingAddVO + * @Param bindingResult + **/ + @PostMapping("/project/cut/add") + public BaseResponse projectCuttingAdd(HttpServletRequest request, @RequestBody @Validated ProjectCuttingAddVO projectCuttingAddVO, @NotNull BindingResult bindingResult) { + log.info("请求接口[Post]: /project/cut/add"); + // 判断是否有参数错误 + if (bindingResult.hasErrors()) { + return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult)); + } + return projectService.projectCuttingAdd(request, projectCuttingAddVO); } + } diff --git a/src/main/java/com/jsl/oa/controllers/UserController.java b/src/main/java/com/jsl/oa/controllers/UserController.java index b680272..f22356a 100644 --- a/src/main/java/com/jsl/oa/controllers/UserController.java +++ b/src/main/java/com/jsl/oa/controllers/UserController.java @@ -1,6 +1,6 @@ package com.jsl.oa.controllers; -import com.jsl.oa.model.voData.UserAddVo; +import com.jsl.oa.model.voData.UserAddVO; import com.jsl.oa.model.voData.UserAllCurrentVO; import com.jsl.oa.model.voData.UserEditProfileVO; import com.jsl.oa.model.voData.UserEditVO; @@ -154,7 +154,7 @@ public class UserController { * @Param bindingResult: **/ @PostMapping("/user/add") - public BaseResponse userAdd(@RequestBody @Validated UserAddVo userAddVo, BindingResult bindingResult, HttpServletRequest request) { + public BaseResponse userAdd(@RequestBody @Validated UserAddVO userAddVo, BindingResult bindingResult, HttpServletRequest request) { log.info("请求接口[POST]: /user/add"); // 判断是否有参数错误 if (bindingResult.hasErrors()) { diff --git a/src/main/java/com/jsl/oa/dao/ProjectDAO.java b/src/main/java/com/jsl/oa/dao/ProjectDAO.java index 4d322f9..384d52b 100644 --- a/src/main/java/com/jsl/oa/dao/ProjectDAO.java +++ b/src/main/java/com/jsl/oa/dao/ProjectDAO.java @@ -5,6 +5,7 @@ import com.jsl.oa.mapper.ProjectMapper; import com.jsl.oa.model.doData.ProjectCuttingDO; import com.jsl.oa.model.doData.ProjectDO; import com.jsl.oa.model.doData.info.ProjectShowDO; +import com.jsl.oa.model.voData.ProjectCuttingAddVO; import com.jsl.oa.model.voData.ProjectInfoVO; import com.jsl.oa.utils.BaseResponse; import com.jsl.oa.utils.ErrorCode; @@ -109,6 +110,19 @@ public class ProjectDAO { } public boolean projectDelete(Long id){ + log.info("\t> 执行 DAO 层 ProjectDAO.projectDelete 方法"); return projectMapper.deleteProject(id); } + + public void projectCuttingAdd(ProjectCuttingDO projectCuttingDO){ + log.info("\t> 执行 DAO 层 ProjectDAO.projectCuttingAdd 方法"); + projectMapper.projectCuttingAdd(projectCuttingDO); + } + + public boolean isExistProjectById(Long id){ + log.info("\t> 执行 DAO 层 ProjectDAO.isExistProjectById 方法"); + if(projectMapper.getProjectById(id) == null){ + return false; + }else {return true;} + } } diff --git a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java index ff79a63..ab7bd77 100644 --- a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java @@ -47,4 +47,8 @@ public interface ProjectMapper { @Delete("DELETE FROM organize_oa.oa_project where id=#{id}") boolean deleteProject(Long id); + @Insert("INSERT INTO organize_oa.oa_project_cutting (pid, name, tag, real_time) " + + "VALUES (#{pid}, #{name}, #{tag}, #{realTime})") + void projectCuttingAdd(ProjectCuttingDO projectCuttingDO); + } diff --git a/src/main/java/com/jsl/oa/model/voData/PermissionEditVo.java b/src/main/java/com/jsl/oa/model/voData/PermissionEditVO.java similarity index 80% rename from src/main/java/com/jsl/oa/model/voData/PermissionEditVo.java rename to src/main/java/com/jsl/oa/model/voData/PermissionEditVO.java index 42f2f6f..6a34d61 100644 --- a/src/main/java/com/jsl/oa/model/voData/PermissionEditVo.java +++ b/src/main/java/com/jsl/oa/model/voData/PermissionEditVO.java @@ -3,10 +3,9 @@ package com.jsl.oa.model.voData; import lombok.Data; import javax.validation.constraints.NotNull; -import java.sql.Timestamp; @Data -public class PermissionEditVo { +public class PermissionEditVO { @NotNull private Long id; diff --git a/src/main/java/com/jsl/oa/model/voData/ProjectCuttingAddVO.java b/src/main/java/com/jsl/oa/model/voData/ProjectCuttingAddVO.java new file mode 100644 index 0000000..ee00bc0 --- /dev/null +++ b/src/main/java/com/jsl/oa/model/voData/ProjectCuttingAddVO.java @@ -0,0 +1,23 @@ +package com.jsl.oa.model.voData; + +import lombok.Data; +import lombok.Value; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.sql.Timestamp; + + +@Data +public class ProjectCuttingAddVO { + + @NotNull(message = "父id不能为空") + private Long pid; + @NotBlank(message = "模块名称不为空") + private String name; + private String tag; + private Integer realTime; + +} + + diff --git a/src/main/java/com/jsl/oa/model/voData/UserAddVo.java b/src/main/java/com/jsl/oa/model/voData/UserAddVO.java similarity index 96% rename from src/main/java/com/jsl/oa/model/voData/UserAddVo.java rename to src/main/java/com/jsl/oa/model/voData/UserAddVO.java index 5b48434..e85f5b4 100644 --- a/src/main/java/com/jsl/oa/model/voData/UserAddVo.java +++ b/src/main/java/com/jsl/oa/model/voData/UserAddVO.java @@ -1,14 +1,13 @@ package com.jsl.oa.model.voData; -import lombok.Data; import lombok.Getter; import javax.validation.constraints.*; @Getter -public class UserAddVo { +public class UserAddVO { @NotBlank(message = "用户名不能为空") @Pattern(regexp = "^[0-9A-Za-z_]{3,40}$", message = "用户名只能为字母、数字或下划线") diff --git a/src/main/java/com/jsl/oa/services/PermissionService.java b/src/main/java/com/jsl/oa/services/PermissionService.java index 89b3b80..62129a3 100644 --- a/src/main/java/com/jsl/oa/services/PermissionService.java +++ b/src/main/java/com/jsl/oa/services/PermissionService.java @@ -1,6 +1,6 @@ package com.jsl.oa.services; -import com.jsl.oa.model.voData.PermissionEditVo; +import com.jsl.oa.model.voData.PermissionEditVO; import com.jsl.oa.utils.BaseResponse; import javax.servlet.http.HttpServletRequest; @@ -13,7 +13,7 @@ public interface PermissionService { BaseResponse permissionGet(HttpServletRequest request); - BaseResponse permissionEdit(PermissionEditVo permissionEditVo, HttpServletRequest request); + BaseResponse permissionEdit(PermissionEditVO permissionEditVo, HttpServletRequest request); BaseResponse permissionDelete(HttpServletRequest request, Long pid); } diff --git a/src/main/java/com/jsl/oa/services/ProjectService.java b/src/main/java/com/jsl/oa/services/ProjectService.java index 5bc7816..7ca8034 100644 --- a/src/main/java/com/jsl/oa/services/ProjectService.java +++ b/src/main/java/com/jsl/oa/services/ProjectService.java @@ -1,6 +1,7 @@ package com.jsl.oa.services; import com.jsl.oa.model.doData.info.ProjectShowDO; +import com.jsl.oa.model.voData.ProjectCuttingAddVO; import com.jsl.oa.model.voData.ProjectInfoVO; import com.jsl.oa.model.voData.business.info.ProjectShowVO; import com.jsl.oa.utils.BaseResponse; @@ -29,4 +30,6 @@ public interface ProjectService { BaseResponse getByName(String name); BaseResponse projectDelete(HttpServletRequest request,Long id); + + BaseResponse projectCuttingAdd(HttpServletRequest request, ProjectCuttingAddVO projectCuttingAddVO); } diff --git a/src/main/java/com/jsl/oa/services/UserService.java b/src/main/java/com/jsl/oa/services/UserService.java index 054b667..80a8ac5 100755 --- a/src/main/java/com/jsl/oa/services/UserService.java +++ b/src/main/java/com/jsl/oa/services/UserService.java @@ -1,7 +1,7 @@ package com.jsl.oa.services; import com.jsl.oa.model.doData.UserDO; -import com.jsl.oa.model.voData.UserAddVo; +import com.jsl.oa.model.voData.UserAddVO; import com.jsl.oa.model.voData.UserAllCurrentVO; import com.jsl.oa.model.voData.UserEditProfileVO; import com.jsl.oa.model.voData.UserEditVO; @@ -84,7 +84,7 @@ public interface UserService { BaseResponse userCurrent(HttpServletRequest request, String id, String username, String email, String phone); - BaseResponse userAdd(UserAddVo userAddVo, HttpServletRequest request); + BaseResponse userAdd(UserAddVO userAddVo, HttpServletRequest request); BaseResponse userEdit(UserEditVO userEditVo, HttpServletRequest request); diff --git a/src/main/java/com/jsl/oa/services/impl/PermissionServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/PermissionServiceImpl.java index 89b59d0..ff7c989 100644 --- a/src/main/java/com/jsl/oa/services/impl/PermissionServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/PermissionServiceImpl.java @@ -5,7 +5,7 @@ import com.jsl.oa.mapper.PermissionMapper; import com.jsl.oa.mapper.RoleMapper; import com.jsl.oa.model.doData.PermissionDO; import com.jsl.oa.model.voData.PermissionContentVo; -import com.jsl.oa.model.voData.PermissionEditVo; +import com.jsl.oa.model.voData.PermissionEditVO; import com.jsl.oa.services.PermissionService; import com.jsl.oa.utils.BaseResponse; import com.jsl.oa.utils.ErrorCode; @@ -64,7 +64,7 @@ public class PermissionServiceImpl implements PermissionService { } @Override - public BaseResponse permissionEdit(PermissionEditVo permissionEditVo, HttpServletRequest request) { + public BaseResponse permissionEdit(PermissionEditVO permissionEditVo, HttpServletRequest request) { log.info("\t> 执行 Service 层 PermissionService.permissionEdit 方法"); //检验用户权限是否为管理员 if(!Processing.checkUserIsAdmin(request,roleMapper)){ 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 14a7437..a956265 100644 --- a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java @@ -7,6 +7,7 @@ import com.jsl.oa.model.doData.ProjectCuttingDO; import com.jsl.oa.model.doData.ProjectDO; import com.jsl.oa.model.doData.UserDO; import com.jsl.oa.model.doData.info.ProjectShowDO; +import com.jsl.oa.model.voData.ProjectCuttingAddVO; import com.jsl.oa.model.voData.ProjectInfoVO; import com.jsl.oa.model.voData.business.info.ProjectShowVO; import com.jsl.oa.services.ProjectService; @@ -31,7 +32,6 @@ public class ProjectServiceImpl implements ProjectService { private final ProjectDAO projectDAO; private final UserDAO userDAO; - private final RoleMapper roleMapper; @Override @@ -195,6 +195,7 @@ public class ProjectServiceImpl implements ProjectService { @Override public BaseResponse projectDelete(HttpServletRequest request,Long id) { + log.info("\t> 执行 Service 层 ProjectService.projectDelete 方法"); if(Processing.checkUserIsAdmin(request,roleMapper)) { if (!projectDAO.projectDelete(id)) { return ResultUtil.error(ErrorCode.DATABASE_DELETE_ERROR); @@ -202,5 +203,22 @@ public class ProjectServiceImpl implements ProjectService { }else return ResultUtil.error(ErrorCode.NOT_ADMIN); } + @Override + public BaseResponse projectCuttingAdd(HttpServletRequest request, ProjectCuttingAddVO projectCuttingAddVO) { + log.info("\t> 执行 Service 层 ProjectService.projectCuttingAdd方法"); + if(Processing.checkUserIsAdmin(request,roleMapper)) { + //赋值数据 + ProjectCuttingDO projectCuttingDO = new ProjectCuttingDO(); + Processing.copyProperties(projectCuttingAddVO,projectCuttingDO); + //根据pid检测项目是否存在 + if(!projectDAO.isExistProjectById(projectCuttingAddVO.getPid())){ + return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST); + } + //向数据库添加数据 + projectDAO.projectCuttingAdd(projectCuttingDO); + return ResultUtil.success(); + }else return ResultUtil.error(ErrorCode.NOT_ADMIN); + } + } diff --git a/src/main/java/com/jsl/oa/services/impl/UserServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/UserServiceImpl.java index 8833292..b5f6958 100755 --- a/src/main/java/com/jsl/oa/services/impl/UserServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/UserServiceImpl.java @@ -160,7 +160,7 @@ public class UserServiceImpl implements UserService { @Override - public BaseResponse userAdd(UserAddVo userAddVo, HttpServletRequest request) { + public BaseResponse userAdd(UserAddVO userAddVo, HttpServletRequest request) { log.info("\t> 执行 Service 层 UserService.userAdd 方法"); // 检测用户是否为管理员 if (!Processing.checkUserIsAdmin(request, roleMapper)) { diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 22149f4..7fbc977 100755 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,18 +1,35 @@ -server: - port: 8080 spring: datasource: - url: jdbc:mysql://localhost:3306 + url: jdbc:mysql://localhost:3306?organize_oa username: root - password: 123456 + password: Zrx@20041009 driver-class-name: com.mysql.cj.jdbc.Driver redis: database: 0 - host: 192.168.80.129 + host: localhost port: 6379 - password: 123456 - profiles: - active: dev + password: Zrx@20041009 + mail: + default-encoding: UTF-8 + host: smtp.qiye.aliyun.com + username: wxxydeveloper@x-lf.cn + password: 114477225588Zcw + properties: + form: wxxydeveloper@x-lf.cn + mail: + smtp: + auth: true + starttls: + enable: true + ssl: + enable: true mybatis: configuration: - map-underscore-to-camel-case: true \ No newline at end of file + map-underscore-to-camel-case: true +#logging: +# level: +# root: TRACE +# sun.rmi: OFF +# org.apache.tomcat: WARN +server: + port: 8155 \ No newline at end of file