From 365f2dfa67a13b8e0388dba4719dbe437e33d375 Mon Sep 17 00:00:00 2001 From: xiangZr-hhh <“2774915446@qq.com”> Date: Thu, 11 Apr 2024 17:27:34 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E5=A2=9E=E5=8A=A0=E6=96=B0?= =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=8A=9F=E8=83=BD=E8=8E=B7=E5=8F=96=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsl/oa/aspect/AnnotationsAspect.java | 13 +- .../jsl/oa/common/constant/SafeConstants.java | 2 + .../jsl/oa/controllers/AuthController.java | 3 +- .../oa/controllers/PermissionController.java | 3 +- .../jsl/oa/controllers/ProjectController.java | 31 +++-- .../jsl/oa/controllers/ReviewController.java | 41 ++++++ .../jsl/oa/controllers/RoleController.java | 7 +- .../jsl/oa/controllers/UserController.java | 22 +++- .../java/com/jsl/oa/dao/PermissionDAO.java | 41 ++++-- src/main/java/com/jsl/oa/dao/ProjectDAO.java | 31 ++++- src/main/java/com/jsl/oa/dao/ReviewDAO.java | 49 ++++++++ src/main/java/com/jsl/oa/dao/RoleDAO.java | 10 +- src/main/java/com/jsl/oa/dao/UserDAO.java | 99 ++++++++++----- .../jsl/oa/exception/ProcessException.java | 6 +- .../java/com/jsl/oa/mapper/ModuleMapper.java | 1 + .../java/com/jsl/oa/mapper/ProjectMapper.java | 33 +++-- .../java/com/jsl/oa/mapper/ReviewMapper.java | 27 ++++ .../java/com/jsl/oa/mapper/RoleMapper.java | 3 +- .../java/com/jsl/oa/mapper/UserMapper.java | 20 +-- .../com/jsl/oa/model/dodata/PageBeanDO.java | 2 +- .../jsl/oa/model/dodata/ProjectCuttingDO.java | 4 +- .../com/jsl/oa/model/dodata/ReviewDO.java | 52 ++++++++ .../com/jsl/oa/model/vodata/ReviewVO.java | 47 +++++++ .../jsl/oa/model/vodata/UserRegisterVO.java | 8 +- .../java/com/jsl/oa/services/InfoService.java | 1 - .../com/jsl/oa/services/ProjectService.java | 15 ++- .../com/jsl/oa/services/ReviewService.java | 12 ++ .../java/com/jsl/oa/services/RoleService.java | 4 +- .../java/com/jsl/oa/services/UserService.java | 12 +- .../jsl/oa/services/impl/AuthServiceImpl.java | 4 +- .../oa/services/impl/ProjectServiceImpl.java | 22 ++-- .../oa/services/impl/ReviewServiceImpl.java | 118 ++++++++++++++++++ .../jsl/oa/services/impl/RoleServiceImpl.java | 17 +-- .../jsl/oa/services/impl/UserServiceImpl.java | 54 ++++---- src/main/java/com/jsl/oa/utils/ErrorCode.java | 3 +- .../java/com/jsl/oa/utils/Processing.java | 114 +++++++++++------ src/main/resources/application.yml | 2 +- 37 files changed, 741 insertions(+), 192 deletions(-) create mode 100644 src/main/java/com/jsl/oa/controllers/ReviewController.java create mode 100644 src/main/java/com/jsl/oa/dao/ReviewDAO.java create mode 100644 src/main/java/com/jsl/oa/mapper/ReviewMapper.java create mode 100644 src/main/java/com/jsl/oa/model/dodata/ReviewDO.java create mode 100644 src/main/java/com/jsl/oa/model/vodata/ReviewVO.java create mode 100644 src/main/java/com/jsl/oa/services/ReviewService.java create mode 100644 src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java diff --git a/src/main/java/com/jsl/oa/aspect/AnnotationsAspect.java b/src/main/java/com/jsl/oa/aspect/AnnotationsAspect.java index 9356fd2..5bee70d 100644 --- a/src/main/java/com/jsl/oa/aspect/AnnotationsAspect.java +++ b/src/main/java/com/jsl/oa/aspect/AnnotationsAspect.java @@ -4,6 +4,8 @@ import com.jsl.oa.annotations.CheckUserAbleToUse; import com.jsl.oa.annotations.CheckUserHasPermission; import com.jsl.oa.dao.PermissionDAO; import com.jsl.oa.dao.RoleDAO; +import com.jsl.oa.dao.UserDAO; +import com.jsl.oa.mapper.RoleMapper; import com.jsl.oa.mapper.UserMapper; import com.jsl.oa.model.dodata.RoleDO; import com.jsl.oa.model.dodata.RoleUserDO; @@ -43,8 +45,11 @@ import java.util.Objects; @Component @RequiredArgsConstructor public class AnnotationsAspect { - private final RoleDAO roleDAO; + private final UserMapper userMapper; + private final RoleMapper roleMapper; + private final RoleDAO roleDAO; + private final UserDAO userDAO; private final PermissionDAO permissionDAO; /** @@ -91,12 +96,12 @@ public class AnnotationsAspect { } else { log.info("\t> 用户权限不足,检查是否是管理员"); // 检查用户是管理员 - RoleUserDO roleUserDO = roleDAO.roleMapper + RoleUserDO roleUserDO = roleMapper .getRoleUserByUid(Processing.getAuthHeaderToUserId(request)); if (roleUserDO == null) { return ResultUtil.error(ErrorCode.NOT_ADMIN); } - RoleDO roleDO = roleDAO.roleMapper.getRoleByRoleName("admin"); + RoleDO roleDO = roleMapper.getRoleByRoleName("admin"); if (roleUserDO.getRid().equals(roleDO.getId())) { return pjp.proceed(); } else { @@ -127,7 +132,7 @@ public class AnnotationsAspect { // 获取用户信息 Long userId = Processing.getAuthHeaderToUserId(request); - UserDO userDO = userMapper.getUserById(userId); + UserDO userDO =userMapper.getUserById(userId); // 用户不存在 if (userDO == null) { return ResultUtil.error(ErrorCode.USER_NOT_EXIST); diff --git a/src/main/java/com/jsl/oa/common/constant/SafeConstants.java b/src/main/java/com/jsl/oa/common/constant/SafeConstants.java index a9071d1..913696d 100644 --- a/src/main/java/com/jsl/oa/common/constant/SafeConstants.java +++ b/src/main/java/com/jsl/oa/common/constant/SafeConstants.java @@ -1,5 +1,7 @@ package com.jsl.oa.common.constant; public class SafeConstants { + public static String SECRET_KEY; + } diff --git a/src/main/java/com/jsl/oa/controllers/AuthController.java b/src/main/java/com/jsl/oa/controllers/AuthController.java index c26aa60..b1a1950 100755 --- a/src/main/java/com/jsl/oa/controllers/AuthController.java +++ b/src/main/java/com/jsl/oa/controllers/AuthController.java @@ -178,7 +178,8 @@ public class AuthController { if (bindingResult.hasErrors()) { return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult)); } - return authService.authChangePassword(userChangePasswordVO, request); + return authService. + authChangePassword((UserChangePasswordVO) request, (HttpServletRequest) userChangePasswordVO); } /** diff --git a/src/main/java/com/jsl/oa/controllers/PermissionController.java b/src/main/java/com/jsl/oa/controllers/PermissionController.java index 2c003b4..377dd88 100755 --- a/src/main/java/com/jsl/oa/controllers/PermissionController.java +++ b/src/main/java/com/jsl/oa/controllers/PermissionController.java @@ -88,7 +88,8 @@ public class PermissionController { * @return {@link BaseResponse} 对象,包含操作结果。 */ @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 7167cc6..675c89d 100755 --- a/src/main/java/com/jsl/oa/controllers/ProjectController.java +++ b/src/main/java/com/jsl/oa/controllers/ProjectController.java @@ -140,7 +140,8 @@ public class ProjectController { * @return {@link BaseResponse} */ @PostMapping("/project/header/add") - public BaseResponse projectAddHeader(@RequestBody @Validated ProjectShowVO projectShowVO, HttpServletRequest request, @NotNull BindingResult bindingResult) { + public BaseResponse projectAddHeader(@RequestBody @Validated ProjectShowVO projectShowVO, + HttpServletRequest request, @NotNull BindingResult bindingResult) { log.info("请求接口[POST]: /project/header/add"); // 判断是否有参数错误 if (bindingResult.hasErrors()) { @@ -160,7 +161,9 @@ public class ProjectController { * @return {@link BaseResponse} */ @PutMapping("/project/header/edit/{projectId}") - public BaseResponse projectEditById(@RequestParam Long projectId, HttpServletRequest request, @RequestBody @Validated ProjectEditVO projectEdit, @NotNull BindingResult bindingResult) { + public BaseResponse projectEditById(@RequestParam Long projectId, + HttpServletRequest request, @RequestBody @Validated ProjectEditVO projectEdit, + @NotNull BindingResult bindingResult) { log.info("请求接口[PUT]: /project/header/edit/{projectId}"); // 判断是否有参数错误 if (bindingResult.hasErrors()) { @@ -177,7 +180,9 @@ public class ProjectController { * @return {@link BaseResponse} */ @PostMapping("/project/work/add") - public BaseResponse projectWorkAdd(HttpServletRequest request, @RequestBody @Validated ProjectWorkVO projectWorkVO, @NotNull BindingResult bindingResult) { + public BaseResponse projectWorkAdd(HttpServletRequest request, + @RequestBody @Validated ProjectWorkVO projectWorkVO, + @NotNull BindingResult bindingResult) { log.info("请求接口[POST]: /project/work/add"); // 判断是否有参数错误 if (bindingResult.hasErrors()) { @@ -220,7 +225,9 @@ public class ProjectController { * @return {@link BaseResponse} */ @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) { @@ -253,7 +260,9 @@ public class ProjectController { * @return {@link BaseResponse} */ @PostMapping("/project/cut/add") - public BaseResponse projectCuttingAdd(HttpServletRequest request, @RequestBody @Validated ProjectCuttingAddVO projectCuttingAddVO, @NotNull BindingResult bindingResult) { + public BaseResponse projectCuttingAdd(HttpServletRequest request, + @RequestBody @Validated ProjectCuttingAddVO projectCuttingAddVO, + @NotNull BindingResult bindingResult) { log.info("请求接口[Post]: /project/cut/add"); // 判断是否有参数错误 if (bindingResult.hasErrors()) { @@ -264,7 +273,9 @@ public class ProjectController { @PutMapping("/project/cut/edit") - public BaseResponse projectCuttingEdit(HttpServletRequest request, @RequestBody @Validated ProjectCuttingEditVO projectCuttingEditVO, @NotNull BindingResult bindingResult) { + public BaseResponse projectCuttingEdit(HttpServletRequest request, + @RequestBody @Validated ProjectCuttingEditVO projectCuttingEditVO, + @NotNull BindingResult bindingResult) { log.info("请求接口[Put]: /project/cut/edit"); // 判断是否有参数错误 if (bindingResult.hasErrors()) { @@ -274,12 +285,8 @@ public class ProjectController { } @PutMapping("/project/cut/user/to") - public BaseResponse projectToOtherUserForCutting( - HttpServletRequest request, - @RequestParam Long oldUid, - @RequestParam Long pid, - @RequestParam Long newUid - ) { + public BaseResponse projectToOtherUserForCutting(HttpServletRequest request, @RequestParam Long oldUid, + @RequestParam Long pid, @RequestParam Long newUid) { log.info("请求接口[Put]: /project/cut/user/to"); // 判断是否有参数错误 if (oldUid == null || pid == null || newUid == null) { diff --git a/src/main/java/com/jsl/oa/controllers/ReviewController.java b/src/main/java/com/jsl/oa/controllers/ReviewController.java new file mode 100644 index 0000000..dff99f8 --- /dev/null +++ b/src/main/java/com/jsl/oa/controllers/ReviewController.java @@ -0,0 +1,41 @@ +package com.jsl.oa.controllers; + +import com.jsl.oa.services.ReviewService; +import com.jsl.oa.utils.BaseResponse; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; + +/** + * 审核控制器 + * + * @author xiangZr-hhh + * @version 1.1.0 + * @since 1.1.0 + */ +@Slf4j +@RestController +@RequiredArgsConstructor +public class ReviewController { + +// 审核服务 + private final ReviewService reviewService; + + /** + * @Description: 获取我的审核列表 + * @Date: 2024/4/11 + * @Param request: + **/ + @GetMapping("/review/getMyReview") + public BaseResponse getUserReview(@RequestParam Long projectId, HttpServletRequest request) { + log.info("请求接口[GET]: /review/getMyReview"); + return reviewService.getUserReview(projectId, request); + } + +} + + diff --git a/src/main/java/com/jsl/oa/controllers/RoleController.java b/src/main/java/com/jsl/oa/controllers/RoleController.java index 43fe0bc..f9ca799 100755 --- a/src/main/java/com/jsl/oa/controllers/RoleController.java +++ b/src/main/java/com/jsl/oa/controllers/RoleController.java @@ -58,7 +58,8 @@ public class RoleController { * @return {@link BaseResponse} */ @PutMapping("/role/edit") - public BaseResponse roleEdit(HttpServletRequest request, @RequestBody @Validated RoleEditVO roleEditVO, @NotNull BindingResult bindingResult) { + public BaseResponse roleEdit(HttpServletRequest request, + @RequestBody @Validated RoleEditVO roleEditVO, @NotNull BindingResult bindingResult) { log.info("请求接口[PUT]: /role/edit"); // 判断是否有参数错误 if (bindingResult.hasErrors()) { @@ -124,7 +125,9 @@ public class RoleController { * @Param uid: **/ @PostMapping("role/add") - public BaseResponse addRole(HttpServletRequest request, @RequestBody @Validated RoleAddVo roleAddVO, @NotNull BindingResult bindingResult) throws ClassCopyException { + public BaseResponse addRole(HttpServletRequest request, + @RequestBody @Validated RoleAddVo roleAddVO, + @NotNull BindingResult bindingResult) throws ClassCopyException { log.info("请求接口[POST]: /role/add"); // 判断是否有参数错误 if (bindingResult.hasErrors()) { diff --git a/src/main/java/com/jsl/oa/controllers/UserController.java b/src/main/java/com/jsl/oa/controllers/UserController.java index de4b659..2e51e80 100644 --- a/src/main/java/com/jsl/oa/controllers/UserController.java +++ b/src/main/java/com/jsl/oa/controllers/UserController.java @@ -77,7 +77,8 @@ public class UserController { * @return {@link BaseResponse} */ @PutMapping("/user/profile/edit") - public BaseResponse userEditProfile(@RequestBody @Validated UserEditProfileVO userEditProfileVO, BindingResult bindingResult) { + public BaseResponse userEditProfile(@RequestBody @Validated UserEditProfileVO userEditProfileVO, + BindingResult bindingResult) { log.info("请求接口[PUT]: /user/profile/edit"); // 判断是否有参数错误 if (bindingResult.hasErrors()) { @@ -100,7 +101,11 @@ public class UserController { * @return {@link BaseResponse} */ @GetMapping("/user/current") - public BaseResponse userCurrent(HttpServletRequest request, @RequestParam @Nullable String id, @RequestParam @Nullable String username, @RequestParam @Nullable String email, @RequestParam @Nullable String phone) { + public BaseResponse userCurrent(HttpServletRequest request, + @RequestParam @Nullable String id, + @RequestParam @Nullable String username, + @RequestParam @Nullable String email, + @RequestParam @Nullable String phone) { log.info("请求接口[GET]: /user/current"); // 检查数据是否有问题 if (id != null && !id.isEmpty()) { @@ -119,12 +124,13 @@ public class UserController { } } if (phone != null && !phone.isEmpty()) { - if (!Pattern.matches("^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$", phone)) { + if (!Pattern.matches("^(13[0-9]|14[01456879]|15[0-35-9]|" + + "16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$", phone)) { return ResultUtil.error(ErrorCode.PARAMETER_ERROR, "手机格式不正确"); } } // 检查是否出现错误 - return userService.userCurrent(id, username, email, phone, request); + return userService.userCurrent(request, id, username, email, phone); } /** @@ -154,7 +160,9 @@ 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()) { @@ -170,7 +178,9 @@ public class UserController { * @Param bindingResult: **/ @PutMapping("/user/edit") - public BaseResponse userEdit(@RequestBody @Validated UserEditVO userEditVO, BindingResult bindingResult, HttpServletRequest request) { + public BaseResponse userEdit(@RequestBody @Validated UserEditVO userEditVO, + BindingResult bindingResult, + HttpServletRequest request) { log.info("请求接口[PUT]: /user/edit"); // 判断是否有参数错误 if (bindingResult.hasErrors()) { diff --git a/src/main/java/com/jsl/oa/dao/PermissionDAO.java b/src/main/java/com/jsl/oa/dao/PermissionDAO.java index 5fcf88e..d452011 100644 --- a/src/main/java/com/jsl/oa/dao/PermissionDAO.java +++ b/src/main/java/com/jsl/oa/dao/PermissionDAO.java @@ -52,8 +52,7 @@ public class PermissionDAO { roleRedisUtil.setData(BusinessConstants.NONE, uid.toString(), gson.toJson(getPermissionForString), 1440); } else { log.info("\t\t> 从 Redis 获取数据"); - getPermissionForString = gson.fromJson(permissionRedisString, new TypeToken>() { - }.getType()); + getPermissionForString = gson.fromJson(permissionRedisString, new TypeToken>() { }.getType()); } return getPermissionForString; } @@ -69,16 +68,43 @@ public class PermissionDAO { getPermissionForString = new ArrayList<>(); forPermissionToBuildString(permissionList, getPermissionForString); // 存入 Redis - roleRedisUtil - .setData(BusinessConstants.ALL_PERMISSION, "string", gson.toJson(getPermissionForString), 1440); + roleRedisUtil.setData( + BusinessConstants.ALL_PERMISSION, + "string", + gson.toJson(getPermissionForString), + 1440); } else { log.info("\t\t> 从 Redis 获取数据"); - getPermissionForString = gson.fromJson(getRedisData, new TypeToken>() { - }.getType()); + getPermissionForString = gson.fromJson(getRedisData, new TypeToken>() { }.getType()); } return getPermissionForString; } + public List getRootPermission() { + log.info("\t> 执行 DAO 层 PermissionDAO.getRootPermission 方法"); + String getRedisData = roleRedisUtil.getData(BusinessConstants.ALL_PERMISSION, "all"); + if (getRedisData == null) { + log.info("\t\t> 从 MySQL 获取数据"); + List permissionList = permissionMapper.getAllPermission(); + if (!permissionList.isEmpty()) { + List getPermissionList = new ArrayList<>(); + for (PermissionDO permission : permissionList) { + if (permission.getPid() == null) { + getPermissionList.add(permission); + } + } + roleRedisUtil.setData(BusinessConstants.ALL_PERMISSION, "all", gson.toJson(getPermissionList), 1440); + return getPermissionList; + } else { + return null; + } + } else { + log.info("\t\t> 从 Redis 获取数据"); + return gson.fromJson(getRedisData, new TypeToken>() { + }.getType()); + } + } + /** *

获取全部权限信息

*
@@ -89,8 +115,7 @@ public class PermissionDAO { */ private void forPermissionToBuildString( @NotNull List permissionList, - List getPermissionForString - ) { + List getPermissionForString) { for (PermissionDO permission : permissionList) { // 寻找是否存在父亲 StringBuilder permissionString = new StringBuilder(); diff --git a/src/main/java/com/jsl/oa/dao/ProjectDAO.java b/src/main/java/com/jsl/oa/dao/ProjectDAO.java index d13cb73..48b0739 100644 --- a/src/main/java/com/jsl/oa/dao/ProjectDAO.java +++ b/src/main/java/com/jsl/oa/dao/ProjectDAO.java @@ -34,7 +34,6 @@ public class ProjectDAO { log.info("\t> 执行 DAO 层 ProjectDAO.projectAdd 方法"); log.info("\t\t> 从 MySQL 获取数据"); - projectMapper.projectAdd(projectAdd); } @@ -101,13 +100,14 @@ public class ProjectDAO { log.info("\t> 执行 DAO 层 ProjectDAO.sortProject 方法"); for (int i = 0; i < projectShowDO.getData().size(); i++) { for (int j = 0; j < projectShowDO.getData().size(); j++) { - ProjectShowDO.DataDO dataDO = projectShowDO.getData().get(i); if ("desc".equals(projectShowDO.getOrder())) { - if (dataDO.getDisplayOrder() > projectShowDO.getData().get(j).getDisplayOrder()) { + if (projectShowDO.getData().get(i).getDisplayOrder() + > projectShowDO.getData().get(j).getDisplayOrder()) { Collections.swap(projectShowDO.getData(), i, j); } } else { - if (dataDO.getDisplayOrder() < projectShowDO.getData().get(j).getDisplayOrder()) { + if (projectShowDO.getData().get(i).getDisplayOrder() + < projectShowDO.getData().get(j).getDisplayOrder()) { Collections.swap(projectShowDO.getData(), i, j); } } @@ -150,7 +150,11 @@ public class ProjectDAO { } } - public List workget(Long userId, Integer listAll, List tags, List isFinish, Integer is) { + public List workget(Long userId, + Integer listAll, + List tags, + List isFinish, + Integer is) { log.info("\t> 执行 DAO 层 ProjectDAO.workget 方法"); log.info("\t\t> 从 MySQL 获取数据"); if (tags != null && !tags.isEmpty()) { @@ -247,5 +251,22 @@ public class ProjectDAO { return projectMapper.getProjectWorkById(id); } + public List getProjectByPrincipalUser(Long uid) { + log.info("\t> 执行 DAO 层 ProjectDAO.getProjectFromUser 方法"); + log.info("\t\t> 从 MySQL 获取数据"); + return projectMapper.getProjectByPrincipalUser(uid); + } + + public List getAllSubsystemByUserId(Long uid) { + log.info("\t> 执行 DAO 层 ProjectDAO.getAllSubsystemByUserId 方法"); + log.info("\t\t> 从 MySQL 获取数据"); + return projectMapper.getAllSubsystemByUserId(uid); + } + + public List getAllSubmoduleByUserId(Long uid) { + log.info("\t> 执行 DAO 层 ProjectDAO.getAllSubmoduleByUserId 方法"); + log.info("\t\t> 从 MySQL 获取数据"); + return projectMapper.getAllSubmoduleByUserId(uid); + } } diff --git a/src/main/java/com/jsl/oa/dao/ReviewDAO.java b/src/main/java/com/jsl/oa/dao/ReviewDAO.java new file mode 100644 index 0000000..5309e98 --- /dev/null +++ b/src/main/java/com/jsl/oa/dao/ReviewDAO.java @@ -0,0 +1,49 @@ +package com.jsl.oa.dao; + + +import com.jsl.oa.mapper.ProjectMapper; +import com.jsl.oa.mapper.ReviewMapper; +import com.jsl.oa.model.dodata.ReviewDO; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * ReviewDAO + *
+ * 用于处理审核相关的请求, 包括获取审核列表、编辑审核信息等 + * + * @author zrx_hhh + * @version v1.0.0 + * @since v1.0.0-SNAPSHOT + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class ReviewDAO { + + private final ReviewMapper reviewMapper; + private final ProjectMapper projectMapper; + + public List getPrincipalUserReview(Long pid) { + return reviewMapper.selectAllReviewFromProject(pid); + } + + public String getNameBySubproject(Long subId) { + + if (subId != null) { + return projectMapper.getProjectWorkById(subId).getName(); + } + + if (subId == null) { + return "无"; + } + + return ""; + } + +} + + diff --git a/src/main/java/com/jsl/oa/dao/RoleDAO.java b/src/main/java/com/jsl/oa/dao/RoleDAO.java index aaf6a18..1a67065 100644 --- a/src/main/java/com/jsl/oa/dao/RoleDAO.java +++ b/src/main/java/com/jsl/oa/dao/RoleDAO.java @@ -18,7 +18,7 @@ import java.util.List; @Component @RequiredArgsConstructor public class RoleDAO { - public final RoleMapper roleMapper; + private final RoleMapper roleMapper; private final Gson gson; private final RoleRedisUtil roleRedisUtil; @@ -26,7 +26,8 @@ public class RoleDAO { log.info("\t> 执行 DAO 层 RoleDAO.addRoleUser 方法"); log.info("\t\t> 从 MySQL 获取数据"); roleMapper.roleAddUser(uid, rid); - roleRedisUtil.setData(BusinessConstants.USER, uid.toString(), gson.toJson(roleMapper.getRoleUserByUid(uid)), 120); + roleRedisUtil.setData( + BusinessConstants.USER, uid.toString(), gson.toJson(roleMapper.getRoleUserByUid(uid)), 120); } public void delRoleUser(Long uid) { @@ -122,7 +123,8 @@ public class RoleDAO { log.info("\t> 执行 DAO 层 RoleDAO.roleChangeUser 方法"); log.info("\t\t> 从 MySQL 获取数据"); if (roleMapper.roleChangeUser(uid, rid)) { - roleRedisUtil.setData(BusinessConstants.USER, uid.toString(), gson.toJson(roleMapper.getRoleUserByUid(uid)), 120); + roleRedisUtil.setData( + BusinessConstants.USER, uid.toString(), gson.toJson(roleMapper.getRoleUserByUid(uid)), 120); return true; } else { return false; @@ -140,4 +142,6 @@ public class RoleDAO { return gson.fromJson(getRedisData, RoleUserDO.class); } } + + } diff --git a/src/main/java/com/jsl/oa/dao/UserDAO.java b/src/main/java/com/jsl/oa/dao/UserDAO.java index dd16fc5..55437cf 100755 --- a/src/main/java/com/jsl/oa/dao/UserDAO.java +++ b/src/main/java/com/jsl/oa/dao/UserDAO.java @@ -3,6 +3,8 @@ package com.jsl.oa.dao; import com.google.gson.Gson; import com.jsl.oa.common.constant.BusinessConstants; import com.jsl.oa.mapper.UserMapper; +import com.jsl.oa.model.dodata.RoleDO; +import com.jsl.oa.model.dodata.RoleUserDO; import com.jsl.oa.model.dodata.UserDO; import com.jsl.oa.model.vodata.UserAllCurrentVO; import com.jsl.oa.model.vodata.UserCurrentBackVO; @@ -23,9 +25,9 @@ import java.util.List; * 用于用户的增删改查,以及用户权限的获取,用户信息的获取,用户信息的修改,用户信息的删除,用户信息的锁定,用户信息的解锁,用户信息的添加,用户信息的 * 编辑等 * - * @author xiao_lfeng | 176yunxuan | xiangZr-hhh * @version v1.1.0 * @since v1.1.0 + * @author xiao_lfeng | 176yunxuan | xiangZr-hhh */ @Slf4j @Component @@ -49,11 +51,13 @@ public class UserDAO { */ public UserDO getUserInfoByUsername(String username) { log.info("\t> 执行 DAO 层 UserDAO.getUserInfoByUsername 方法"); - UserDO userDO; + UserDO userDO = null; // 从 Redis 获取数据 // TODO: 10000-Redis: 从 Redis 获取数据 // 从数据库获取用户信息 - userDO = userMapper.getUserInfoByUsername(username); + if (userDO == null) { + userDO = userMapper.getUserInfoByUsername(username); + } return userDO; } @@ -112,7 +116,7 @@ public class UserDAO { /** * 用户账号锁定 * - * @param id 用户id + * @param id */ public void userLock(Long id, Long isLock) { log.info("\t> 执行 DAO 层 UserDAO.userLock 方法"); @@ -132,8 +136,9 @@ public class UserDAO { List userCurrentDO = userMapper.getAllUser(userAllCurrentVO); UserCurrentBackVO userCurrentBackVO = new UserCurrentBackVO(); userCurrentBackVO.setUsers(new ArrayList<>()) - .setCount(userMapper.getUsersCount()); - userCurrentDO.forEach(it -> userCurrentBackVO.getUsers().add(Processing.returnUserInfo(it, roleDAO, permissionDAO))); + .setCount(userMapper.getUsersCount()); + userCurrentDO + .forEach(it -> userCurrentBackVO.getUsers().add(Processing.returnUserInfo(it, roleDAO, permissionDAO))); return userCurrentBackVO; } @@ -144,17 +149,18 @@ public class UserDAO { List userCurrentDO = userMapper.getAllUserBySearch(userAllCurrentVO); UserCurrentBackVO userCurrentBackVO = new UserCurrentBackVO(); userCurrentBackVO.setUsers(new ArrayList<>()) - .setCount(userMapper.getUsersCount()); - userCurrentDO.forEach(it -> userCurrentBackVO.getUsers().add(Processing.returnUserInfo(it, roleDAO, permissionDAO))); + .setCount(userMapper.getUsersCount()); + userCurrentDO + .forEach(it -> userCurrentBackVO.getUsers().add(Processing.returnUserInfo(it, roleDAO, permissionDAO))); return userCurrentBackVO; } /** - * Adds a new user to the database. - * - * @param userDO The UserDO object containing the user's information. - * @return True if the user is successfully added, false otherwise. + * @return + * @Description 用户添加 + * @Date: 2024/1/16 + * @Param userDO: user 数据库表实体类 */ public boolean userAdd(UserDO userDO) { log.info("\t> 执行 DAO 层 userAdd 方法"); @@ -168,14 +174,12 @@ public class UserDAO { userMapper.updateUser(userDO); } + /** - *

用户名获取用户信息

- *
- * 根据用户名获取用户信息 - * - * @param username 用户名 - * @return {@link UserDO} - */ + * @Description 根据username检测用户是否重复 + * @Date: 2024/1/16 + * @Param username: 用户名 + **/ public Boolean isRepeatUser(String username) { log.info("\t> 执行 DAO 层 isRepeatUser 方法"); log.info("\t\t> 从 MySQL 获取数据"); @@ -184,21 +188,22 @@ public class UserDAO { /** - * 通过用户编号获取用户信息 - * - * @param userNum 用户编号 - * @return UserDO - */ + * @Description 检测用户工号是否重复 + * @Date 2024/1/18 + * @Param userNum: + **/ public Boolean isRepeatUserNum(String userNum) { - return userMapper.getUserByUserNum(userNum) != null; + if (userMapper.getUserByUserNum(userNum) != null) { + return true; + } + return false; } /** - * 通过 Id 获取用户信息 - * - * @param userId 用户id - * @return UserDO - */ + * @Description 根据用户id获取用户数据 + * @Date 2024/1/17 + * @Param userId + **/ public UserDO getUserById(Long userId) { log.info("\t> 执行 DAO 层 getUserById 方法"); log.info("\t\t> 从 MySQL 获取数据"); @@ -206,6 +211,34 @@ public class UserDAO { } + /** + * @Description 根据用户id查询对应用户权限 + * @Date 2024/1/18 + * @Param uid:用户id + **/ + public RoleUserDO getRoleFromUser(Long uid) { + log.info("\t> 执行 DAO 层 getRoleFromUser 方法"); + log.info("\t\t> 从 MySQL 获取数据"); + return userMapper.getRoleIdByUserId(uid); + } + + + /** + * @Description 检验用户权限是否为管理员 + * @Date 2024/1/18 + * @Param null:用户id + **/ + public Boolean isManagerByRoleId(Long roleId) { + log.info("\t> 执行 DAO 层 isManagerByRoleId 方法"); + log.info("\t\t> 从 MySQL 获取数据"); + RoleDO role = userMapper.getRoleById(roleId); + if (role == null) { + return false; + } + return "admin".equals(role.getRoleName()); + } + + public List getRecommendUser() { log.info("\t> 执行 DAO 层 getRecommendUser 方法"); log.info("\t\t> 从 MySQL 获取数据"); @@ -223,4 +256,10 @@ public class UserDAO { log.info("\t\t> 从 MySQL 获取数据"); return userMapper.getUserByPhone(phone); } + + public Long getUsersCount() { + log.info("\t> 执行 DAO 层 getUsersCount 方法"); + log.info("\t\t> 从 MySQL 获取数据"); + return userMapper.getUsersCount(); + } } diff --git a/src/main/java/com/jsl/oa/exception/ProcessException.java b/src/main/java/com/jsl/oa/exception/ProcessException.java index 750482e..b67dcd0 100755 --- a/src/main/java/com/jsl/oa/exception/ProcessException.java +++ b/src/main/java/com/jsl/oa/exception/ProcessException.java @@ -54,8 +54,7 @@ public class ProcessException { @ExceptionHandler(value = MissingServletRequestParameterException.class) public ResponseEntity businessMissingServletRequestParameterException( - MissingServletRequestParameterException e - ) { + MissingServletRequestParameterException e) { log.error(e.getMessage(), e); return ResponseEntity .status(400) @@ -100,8 +99,7 @@ public class ProcessException { */ @ExceptionHandler(value = MethodArgumentTypeMismatchException.class) public ResponseEntity businessMethodArgumentTypeMismatchException( - @NotNull MethodArgumentTypeMismatchException e - ) { + @NotNull MethodArgumentTypeMismatchException e) { log.error(e.getMessage(), e); return ResultUtil.error("ServerInternalError", 50002, "服务器内部错误"); } diff --git a/src/main/java/com/jsl/oa/mapper/ModuleMapper.java b/src/main/java/com/jsl/oa/mapper/ModuleMapper.java index a0c013b..dbfa8bd 100644 --- a/src/main/java/com/jsl/oa/mapper/ModuleMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ModuleMapper.java @@ -11,6 +11,7 @@ import java.util.List; public interface ModuleMapper { + List getByProjectId(Integer projectId, Long userId, int is); List getBySysId(Integer sysId, Long userId, int is); diff --git a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java index 0c1bb5b..3c7ad1e 100644 --- a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java @@ -51,12 +51,15 @@ public interface ProjectMapper { @Insert("insert into organize_oa.oa_config(value, data, created_at)value ('project_show',null,NOW())") void insertProjectShow(); - @Update("UPDATE organize_oa.oa_config" - + " SET data = #{setProjectShow}, updated_at = CURRENT_TIMESTAMP " - + " WHERE value = 'project_show'" - ) + @Update("UPDATE organize_oa.oa_config SET data = #{setProjectShow}," + + " updated_at = CURRENT_TIMESTAMP WHERE value = 'project_show'") boolean setProjectShow(String setProjectShow); + //@Select("select * from organize_oa.oa_project where json_extract(tags,'$.tags')" + + //"like concat('%',#{tags},'%')") + + //@Select("select * from organize_oa.oa_project where is_finish=#{isFinish} + // and is_delete=false and principal_id=#{userId}") List getByIsfinish(Long userId, List isFinish); List getByTags(Long userId, List tags, List isFinish); @@ -92,7 +95,9 @@ public interface ProjectMapper { boolean updateUserForProjectUser(Long uid, Long id); - //@Select("select * from organize_oa.oa_project_work where is_finish=#{isFinish} and is_delete=false and principal_id =#{userId}") + //@Select("select * from organize_oa.oa_project_work + // where is_finish=#{isFinish} and is_delete=false + // and principal_id =#{userId}") List workgetByIsfinish(Long userId, List isFinish, Integer is); List workgetByTags(Long userId, List tags, Integer is, List isFinish); @@ -117,9 +122,23 @@ public interface ProjectMapper { @Select("select principal_id from organize_oa.oa_project_work where id=#{pid}") Long getPirIdbyWorkid(Long pid); - @Select("select principal_id from organize_oa.oa_project_work where id=#{id}") + @Select("select principal_id from organize_oa.oa_project_work where id=#{id} AND" + + "is_delete = 0") Long getPid(Integer id); - @Select("select * from organize_oa.oa_project_work where id=#{id}") + @Select("select * from organize_oa.oa_project_work where id=#{id}" + + "AND is_delete = 0") ProjectWorkDO getProjectWorkById(Long id); + + @Select("SELECT * FROM organize_oa.oa_project where principal_id = #{uid} " + + "AND is_delete = 0") + List getProjectByPrincipalUser(Long uid); + + @Select("SELECT * FROM organize_oa.oa_project_work where principal_id = #{uid} " + + "AND is_delete = 0 AND category = 0") + List getAllSubsystemByUserId(Long uid); + + @Select("SELECT * FROM organize_oa.oa_project_work where principal_id = #{uid}" + + "AND is_delete = 0 AND category = 1") + List getAllSubmoduleByUserId(Long uid); } diff --git a/src/main/java/com/jsl/oa/mapper/ReviewMapper.java b/src/main/java/com/jsl/oa/mapper/ReviewMapper.java new file mode 100644 index 0000000..ea2613e --- /dev/null +++ b/src/main/java/com/jsl/oa/mapper/ReviewMapper.java @@ -0,0 +1,27 @@ +package com.jsl.oa.mapper; + +import com.jsl.oa.model.dodata.ReviewDO; +import org.apache.ibatis.annotations.*; + +import java.util.List; + +@Mapper +public interface ReviewMapper { + + @Select("SELECT * FROM organize_oa.oa_review WHERE project_id = #{projectId}" + + "AND is_delete = 0") + List selectAllReviewFromProject(Long projectId); + + @Select("SELECT * FROM organize_oa.oa_review WHERE " + + "project_subsystem_id = #{subsystemId} AND is_delete = 0") + List selectReviewFromSubsystem(Long subsystemId); + + @Select("SELECT * FROM organize_oa.oa_review WHERE " + + "project_submodule_id = #{subsystemId} AND is_delete = 0") + List selectReviewFromSubmodule(Long submoduleId); + + @Select("SELECT * FROM organize_oa.oa_review WHERE id = #{id} AND is_delete = 0") + ReviewDO selectReviewById(Long id); + + +} diff --git a/src/main/java/com/jsl/oa/mapper/RoleMapper.java b/src/main/java/com/jsl/oa/mapper/RoleMapper.java index e35b10b..2ae18b2 100644 --- a/src/main/java/com/jsl/oa/mapper/RoleMapper.java +++ b/src/main/java/com/jsl/oa/mapper/RoleMapper.java @@ -30,7 +30,8 @@ public interface RoleMapper { @Select("SELECT * FROM organize_oa.oa_role ORDER BY id DESC") List getRole(); - @Update("UPDATE organize_oa.oa_role SET role_name=#{roleName},display_name=#{displayName},updated_at=CURRENT_TIMESTAMP WHERE id=#{id}") + @Update("UPDATE organize_oa.oa_role SET role_name=#{roleName}," + + "display_name=#{displayName},updated_at=CURRENT_TIMESTAMP WHERE id=#{id}") boolean roleEdit(RoleDO getRole); @Update("UPDATE organize_oa.oa_role_user SET rid = #{rid},updated_at = current_timestamp WHERE uid = #{uid}") diff --git a/src/main/java/com/jsl/oa/mapper/UserMapper.java b/src/main/java/com/jsl/oa/mapper/UserMapper.java index 29fdcbf..413867d 100755 --- a/src/main/java/com/jsl/oa/mapper/UserMapper.java +++ b/src/main/java/com/jsl/oa/mapper/UserMapper.java @@ -37,7 +37,9 @@ public interface UserMapper { @Update("UPDATE organize_oa.oa_user SET is_delete = true ,updated_at = CURRENT_TIMESTAMP WHERE id = #{id}") void userDelete(Long id); - @Update("UPDATE organize_oa.oa_user SET account_no_locked = #{isLock} ,updated_at = CURRENT_TIMESTAMP WHERE id = #{id} ") + @Update("UPDATE organize_oa.oa_user " + + "SET account_no_locked = #{isLock} " + + ", updated_at = CURRENT_TIMESTAMP WHERE id = #{id} ") void userLock(Long id, Long isLock); @Select("SELECT * FROM organize_oa.oa_user WHERE id = #{id}") @@ -77,11 +79,12 @@ public interface UserMapper { List getRecommendUser(); - @Update("UPDATE organize_oa.oa_user " + - "SET address = #{address}, phone = #{phone}, email = #{email}, age = #{age}, " + - "signature = #{signature}, sex = #{sex}, avatar = #{avatar}, nickname = #{nickname}, " + - "description = #{description} ,updated_at = current_timestamp " + - "WHERE id = #{id}") + @Update("UPDATE organize_oa.oa_user " + + "SET address = #{address}, phone = #{phone}, email = #{email}, age = #{age}, " + + "signature = #{signature}, sex = #{sex}, " + + "avatar = #{avatar}, nickname = #{nickname}, " + + "description = #{description} ,updated_at = current_timestamp " + + "WHERE id = #{id}") void updateUser(UserDO userDO); @Select("SELECT * FROM organize_oa.oa_user WHERE email = #{email}") @@ -96,7 +99,8 @@ public interface UserMapper { @Select("SELECT COUNT(*) FROM organize_oa.oa_user") Long getUsersCount(); - @Select("select oa_user.id,oa_user.username,oa_role.role_name from organize_oa.oa_user join organize_oa.oa_role_user " + - "on oa_user.id = oa_role_user.uid join organize_oa.oa_role on oa_role_user.rid = oa_role.id") + @Select("select oa_user.id,oa_user.username," + + "oa_role.role_name from organize_oa.oa_user join organize_oa.oa_role_user " + + "on oa_user.id = oa_role_user.uid join organize_oa.oa_role on oa_role_user.rid = oa_role.id") List getPrincipal(); } diff --git a/src/main/java/com/jsl/oa/model/dodata/PageBeanDO.java b/src/main/java/com/jsl/oa/model/dodata/PageBeanDO.java index 59fcda4..c235f49 100644 --- a/src/main/java/com/jsl/oa/model/dodata/PageBeanDO.java +++ b/src/main/java/com/jsl/oa/model/dodata/PageBeanDO.java @@ -14,8 +14,8 @@ import java.util.List; * @since v1.1.0 * @version v1.1.0 * @author 176yunxuan - * @param 对类型的泛型处理 */ + @Data @NoArgsConstructor @AllArgsConstructor diff --git a/src/main/java/com/jsl/oa/model/dodata/ProjectCuttingDO.java b/src/main/java/com/jsl/oa/model/dodata/ProjectCuttingDO.java index b79a8f7..a438d9b 100755 --- a/src/main/java/com/jsl/oa/model/dodata/ProjectCuttingDO.java +++ b/src/main/java/com/jsl/oa/model/dodata/ProjectCuttingDO.java @@ -27,8 +27,8 @@ public class ProjectCuttingDO { private Long cycle; private String name; private String description; - private Integer is_delete; - private Integer is_finish; + private Integer isDelete; + private Integer isFinish; private Integer status; private boolean type; private Timestamp beginTime; diff --git a/src/main/java/com/jsl/oa/model/dodata/ReviewDO.java b/src/main/java/com/jsl/oa/model/dodata/ReviewDO.java new file mode 100644 index 0000000..e4423d1 --- /dev/null +++ b/src/main/java/com/jsl/oa/model/dodata/ReviewDO.java @@ -0,0 +1,52 @@ +package com.jsl.oa.model.dodata; + + +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + *

oa_review 数据表

+ *
+ * 映射 oa_permission 数据表内容进入自定义实体类 + * + * @author 筱锋xiao_lfeng + * @since v1.1.0 + * @version v1.1.0 + */ +@Data +@Accessors(chain = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public class ReviewDO { + //主键 + private Long id; + //申请名称 + private String name; + //申请理由 + private String content; + //申请者用户id + private Long senderId; + //审核者用户id + private Long recipientId; + //审核类别(0:子系统;1:子模块) + private Integer category; + //申请的项目id + private Long projectId; + //申请的子系统id + private Long projectSubsystemId; + //申请的子模块id + private Long projectSubmoduleId; + //申请时间 + private Date applicationTime; + //审核时间 + private Date reviewTime; + //审核结果(0:未通过;1:通过;2:未审批) + private Integer reviewResult; + //是否删除(0:未删除;1:已删除) + private Integer isDelete; + +} + + diff --git a/src/main/java/com/jsl/oa/model/vodata/ReviewVO.java b/src/main/java/com/jsl/oa/model/vodata/ReviewVO.java new file mode 100644 index 0000000..a62beaf --- /dev/null +++ b/src/main/java/com/jsl/oa/model/vodata/ReviewVO.java @@ -0,0 +1,47 @@ +package com.jsl.oa.model.vodata; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.Date; + +@Data +@Accessors(chain = true) +public class ReviewVO { + + private Long id; + //申请名称 + private String name; + //申请理由 + private String content; + //申请者用户id + private Long senderId; + //审请者用户名称 + private String senderName; + //审核者用户id + private Long recipientId; + //审核者用户名称 + private String recipientName; + //审核类别(子系统 子模块) + private String category; + //申请的项目id + private Long projectId; + //申请的项目名称 + private String projectName; + //申请的子系统id + private Long projectSubsystemId; + //申请的子系统名称 + private String subsystemName; + //申请的子模块id + private Long projectSubmoduleId; + //申请的模块名称 + private String submoduleName; + //申请时间 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date applicationTime; + //审核结果(0:未通过;1:通过;2:未审批) + private String result; +} + + diff --git a/src/main/java/com/jsl/oa/model/vodata/UserRegisterVO.java b/src/main/java/com/jsl/oa/model/vodata/UserRegisterVO.java index 5155d54..1513d60 100755 --- a/src/main/java/com/jsl/oa/model/vodata/UserRegisterVO.java +++ b/src/main/java/com/jsl/oa/model/vodata/UserRegisterVO.java @@ -27,10 +27,10 @@ public class UserRegisterVO { @NotBlank(message = "家乡不能为空") private String address; - @Pattern( - regexp = "^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$", - message = "电话格式错误" - ) + @NotBlank(message = "电话不能为空") + @Pattern(regexp = + "^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$", + message = "电话格式错误") private String phone; @NotBlank(message = "邮箱不能为空") diff --git a/src/main/java/com/jsl/oa/services/InfoService.java b/src/main/java/com/jsl/oa/services/InfoService.java index 028e7a3..c3e1aa1 100644 --- a/src/main/java/com/jsl/oa/services/InfoService.java +++ b/src/main/java/com/jsl/oa/services/InfoService.java @@ -33,7 +33,6 @@ public interface InfoService { * * @param request 请求 * @param carouselVO 轮播图VO - * @param id 轮播图ID * @return {@link BaseResponse} */ BaseResponse editHeaderImage(HttpServletRequest request, CarouselVO carouselVO); diff --git a/src/main/java/com/jsl/oa/services/ProjectService.java b/src/main/java/com/jsl/oa/services/ProjectService.java index 9915778..d0808f9 100644 --- a/src/main/java/com/jsl/oa/services/ProjectService.java +++ b/src/main/java/com/jsl/oa/services/ProjectService.java @@ -24,7 +24,12 @@ public interface ProjectService { BaseResponse editHeader(HttpServletRequest request, ProjectShowVO projectShowVO, Integer id); - BaseResponse get(Integer listAll, HttpServletRequest request, List tags, List isFinish, Integer page, Integer pageSize); + BaseResponse get(Integer listAll, + HttpServletRequest request, + List tags, + List isFinish, + Integer page, + Integer pageSize); BaseResponse getByName(String name); @@ -36,7 +41,13 @@ 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, Integer page, Integer pageSize); + BaseResponse workget(Integer listAll, + HttpServletRequest request, + List tags, + List isFinish, + Integer is, + Integer page, + Integer pageSize); BaseResponse projecWorktAdd(HttpServletRequest request, ProjectWorkVO projectWorkVO); diff --git a/src/main/java/com/jsl/oa/services/ReviewService.java b/src/main/java/com/jsl/oa/services/ReviewService.java new file mode 100644 index 0000000..af5b9a2 --- /dev/null +++ b/src/main/java/com/jsl/oa/services/ReviewService.java @@ -0,0 +1,12 @@ +package com.jsl.oa.services; + + +import com.jsl.oa.utils.BaseResponse; + +import javax.servlet.http.HttpServletRequest; + +public interface ReviewService { + + BaseResponse getUserReview(Long projectId, HttpServletRequest request); + +} diff --git a/src/main/java/com/jsl/oa/services/RoleService.java b/src/main/java/com/jsl/oa/services/RoleService.java index ba46e87..61a8d32 100644 --- a/src/main/java/com/jsl/oa/services/RoleService.java +++ b/src/main/java/com/jsl/oa/services/RoleService.java @@ -16,9 +16,9 @@ import javax.servlet.http.HttpServletRequest; * @since v1.1.0 */ public interface RoleService { - BaseResponse roleAddUser(HttpServletRequest request,Long uid, Long rid); + BaseResponse roleAddUser(HttpServletRequest request, Long uid, Long rid); - BaseResponse roleRemoveUser(HttpServletRequest request,Long uid); + BaseResponse roleRemoveUser(HttpServletRequest request, Long uid); BaseResponse roleGet(HttpServletRequest request, String id); diff --git a/src/main/java/com/jsl/oa/services/UserService.java b/src/main/java/com/jsl/oa/services/UserService.java index a403f9e..a370321 100755 --- a/src/main/java/com/jsl/oa/services/UserService.java +++ b/src/main/java/com/jsl/oa/services/UserService.java @@ -1,5 +1,6 @@ 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.UserAllCurrentVO; import com.jsl.oa.model.vodata.UserEditProfileVO; @@ -17,6 +18,15 @@ import javax.servlet.http.HttpServletRequest; * @since v1.1.0 */ public interface UserService { + /** + *

根据用户名获取用户信息

+ *
+ * 该方法用于根据用户名获取用户信息 + * + * @param username 用户名 + * @return 用户信息 + */ + UserDO getUserInfoByUsername(String username); /** *

用户账号删除

@@ -71,7 +81,7 @@ public interface UserService { * @param phone 手机号 * @return {@link BaseResponse} */ - BaseResponse userCurrent(String id, String username, String email, String phone, HttpServletRequest request); + BaseResponse userCurrent(HttpServletRequest request, String id, String username, String email, String phone); BaseResponse userAdd(UserAddVO userAddVo, HttpServletRequest request); diff --git a/src/main/java/com/jsl/oa/services/impl/AuthServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/AuthServiceImpl.java index 25776df..09b1da9 100755 --- a/src/main/java/com/jsl/oa/services/impl/AuthServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/AuthServiceImpl.java @@ -4,6 +4,7 @@ import com.jsl.oa.annotations.CheckUserAbleToUse; import com.jsl.oa.common.constant.BusinessConstants; import com.jsl.oa.dao.PermissionDAO; import com.jsl.oa.dao.RoleDAO; +import com.jsl.oa.mapper.RoleMapper; import com.jsl.oa.mapper.UserMapper; import com.jsl.oa.model.dodata.RoleUserDO; import com.jsl.oa.model.dodata.UserDO; @@ -39,6 +40,7 @@ import java.util.regex.Pattern; @RequiredArgsConstructor public class AuthServiceImpl implements AuthService { private final UserMapper userMapper; + private final RoleMapper roleMapper; private final RoleDAO roleDAO; private final PermissionDAO permissionDAO; @@ -273,7 +275,7 @@ public class AuthServiceImpl implements AuthService { getPermissionForString = permissionDAO.getPermission(userDO.getId()); } // 获取用户角色 - RoleUserDO getUserRole = roleDAO.roleMapper.getRoleUserByUid(userDO.getId()); + RoleUserDO getUserRole = roleMapper.getRoleUserByUid(userDO.getId()); if (getUserRole == null) { getUserRole = new RoleUserDO(); getUserRole.setRid(0L) 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 1396230..35dd57d 100644 --- a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java @@ -93,12 +93,13 @@ public class ProjectServiceImpl implements ProjectService { } else { return ResultUtil.error(ErrorCode.NOT_PERMISSION); } - }//增加子模块 - else { + } else { //是否是子系统的负责人 if (Objects.equals(userId, projectMapper.getPirIdbyWorkid(projectWorkVO.getPid()))) { projectDAO.projectWorkAdd(projectWorkVO); - } else return ResultUtil.error(ErrorCode.NOT_PERMISSION); + } else { + return ResultUtil.error(ErrorCode.NOT_PERMISSION); + } } return ResultUtil.success("添加成功"); @@ -231,8 +232,8 @@ public class ProjectServiceImpl implements ProjectService { //判断用户是否为老师 或者 项目负责人 - if (!Processing.checkUserIsTeacher(request, roleMapper) || - !projectDAO.isPrincipalUser(Processing.getAuthHeaderToUserId(request), projectId)) { + if (!Processing.checkUserIsTeacher(request, roleMapper) + || !projectDAO.isPrincipalUser(Processing.getAuthHeaderToUserId(request), projectId)) { return ResultUtil.error(ErrorCode.NOT_PERMISSION); } @@ -361,7 +362,10 @@ public class ProjectServiceImpl implements ProjectService { } @Override - public BaseResponse get(Integer listAll, HttpServletRequest request, List tags, List isFinish, Integer page, Integer pageSize) { + public BaseResponse get(Integer listAll, + HttpServletRequest request, + List tags, List isFinish, + Integer page, Integer pageSize) { log.info("\t> 执行 Service 层 ProjectService.get 方法"); //获取用户 @@ -437,7 +441,11 @@ public class ProjectServiceImpl implements ProjectService { } @Override - public BaseResponse workget(Integer listAll, HttpServletRequest request, List tags, List isFinish, Integer is, Integer page, Integer pageSize) { + public BaseResponse workget(Integer listAll, + HttpServletRequest request, + List tags, + List isFinish, + Integer is, Integer page, Integer pageSize) { log.info("\t> 执行 Service 层 ProjectService.workget 方法"); //获取用户 diff --git a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java new file mode 100644 index 0000000..2157ff6 --- /dev/null +++ b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java @@ -0,0 +1,118 @@ +package com.jsl.oa.services.impl; + + +import com.jsl.oa.dao.ProjectDAO; +import com.jsl.oa.dao.ReviewDAO; +import com.jsl.oa.dao.UserDAO; +import com.jsl.oa.mapper.ReviewMapper; +import com.jsl.oa.mapper.UserMapper; +import com.jsl.oa.model.dodata.ProjectDO; +import com.jsl.oa.model.dodata.ProjectWorkDO; +import com.jsl.oa.model.dodata.ReviewDO; +import com.jsl.oa.model.vodata.ReviewVO; +import com.jsl.oa.services.ReviewService; +import com.jsl.oa.utils.BaseResponse; +import com.jsl.oa.utils.Processing; +import com.jsl.oa.utils.ResultUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.List; + +@Slf4j +@Service +@RequiredArgsConstructor +public class ReviewServiceImpl implements ReviewService { + + private final UserDAO userDAO; + private final ReviewDAO reviewDAO; + private final ProjectDAO projectDAO; + + private final UserMapper userMapper; + private final ReviewMapper reviewMapper; + + + @Override + public BaseResponse getUserReview(Long projectId, HttpServletRequest request) { + log.info("\t> 执行 Service 层 ReviewService.getUserReview 方法"); + + //获取用户 + Long userId = Processing.getAuthHeaderToUserId(request); + + //存储审核数据的数组 + List reviewData = new ArrayList<>(); + + //先获取用户为项目负责人的项目列表 + projectDAO.getProjectByPrincipalUser(userId); + + //先从用户为 项目负责人 的项目中获取对应 审核信息 + for (ProjectDO projectDO : projectDAO.getProjectByPrincipalUser(userId)) { + //查询每个项目下所有的审核信息 + List reviewDOS = reviewMapper. + selectAllReviewFromProject(projectDO.getId()); + //封装VO类 + reviewData.addAll(encapsulateArrayClass(reviewDOS)); + } + + //在从用户为 子系统负责人 的项目中获取对应 审核信息 + for (ProjectWorkDO projectWorkDO : projectDAO.getAllSubsystemByUserId(userId)) { + //查询每个项目下所有的审核信息 + List reviewDOS = reviewMapper. + selectReviewFromSubsystem(projectWorkDO.getId()); + //封装VO类 + reviewData.addAll(encapsulateArrayClass(reviewDOS)); + } + + + //在从用户为 子模块负责人 的项目中获取对应 审核信息 + for (ProjectWorkDO projectWorkDO : projectDAO.getAllSubmoduleByUserId(userId)) { + //查询每个项目下所有的审核信息 + List reviewDOS = reviewMapper. + selectReviewFromSubmodule(projectWorkDO.getId()); + //封装VO类 + reviewData.addAll(encapsulateArrayClass(reviewDOS)); + } + + return ResultUtil.success(reviewData); + } + + + /** + * @Description: 封装审核的VO类 + * @Date: 2024/4/11 + * @Param reviewDOS: + **/ + public List encapsulateArrayClass(List reviewDOS) { + +// 定义封装类结果集数组 + List resultData = new ArrayList<>(); + + for (ReviewDO reviewDO : reviewDOS) { + ReviewVO reviewVO = new ReviewVO(); +// 现将相同的属性赋值 + Processing.copyProperties(reviewDO, reviewVO); +// 赋值其他属性 + reviewVO.setCategory(Processing.turnReviewCategory(reviewDO.getCategory())) + .setSenderName(userMapper.getUserById(reviewDO.getSenderId()).getNickname()) + .setRecipientName(userMapper.getUserById(reviewDO.getRecipientId()).getNickname()) + .setProjectName(projectDAO.getProjectById(reviewDO.getProjectId()).getName()) + .setSubsystemName(reviewDAO.getNameBySubproject(reviewDO.getProjectSubsystemId())) + .setSubmoduleName(reviewDAO.getNameBySubproject(reviewDO.getProjectSubmoduleId())) + .setResult(Processing.turnReviewResult(reviewDO.getReviewResult())); +// 将封装好的结果添加到结果集 + resultData.add(reviewVO); + } + + return resultData; + } + + + + + +} + + diff --git a/src/main/java/com/jsl/oa/services/impl/RoleServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/RoleServiceImpl.java index 260f68c..34a3b65 100644 --- a/src/main/java/com/jsl/oa/services/impl/RoleServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/RoleServiceImpl.java @@ -4,6 +4,7 @@ import com.jsl.oa.annotations.CheckUserHasPermission; import com.jsl.oa.dao.RoleDAO; import com.jsl.oa.dao.UserDAO; import com.jsl.oa.exception.ClassCopyException; +import com.jsl.oa.mapper.RoleMapper; import com.jsl.oa.model.dodata.RoleDO; import com.jsl.oa.model.vodata.RoleAddVo; import com.jsl.oa.model.vodata.RoleEditVO; @@ -41,11 +42,13 @@ public class RoleServiceImpl implements RoleService { private final RoleDAO roleDAO; private final UserDAO userDAO; + private final RoleMapper roleMapper; + @Override @CheckUserHasPermission("role.add") public BaseResponse roleAddUser(HttpServletRequest request, Long uid, Long rid) { log.info("\t> 执行 Service 层 RoleService.addRoleUser 方法"); - if (Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) { + if (Processing.checkUserIsAdmin(request, roleMapper)) { roleDAO.addRoleUser(uid, rid); return ResultUtil.success(); } else { @@ -57,7 +60,7 @@ public class RoleServiceImpl implements RoleService { public BaseResponse roleRemoveUser(HttpServletRequest request, Long uid) { log.info("\t> 执行 Service 层 RoleService.delRoleUser 方法"); - if (Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) { + if (Processing.checkUserIsAdmin(request, roleMapper)) { roleDAO.delRoleUser(uid); return ResultUtil.success(); } else { @@ -77,7 +80,7 @@ public class RoleServiceImpl implements RoleService { return ResultUtil.error(ErrorCode.USER_NOT_CHANGE_TO_THEMSELVES); } //检测用户权限是否为管理员 - if (Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) { + if (Processing.checkUserIsAdmin(request, roleMapper)) { if (roleDAO.roleChangeUser(uid, rid)) { return ResultUtil.success(); } else { @@ -92,7 +95,7 @@ public class RoleServiceImpl implements RoleService { public BaseResponse roleGet(HttpServletRequest request, String id) { log.info("\t> 执行 Service 层 RoleService.roleGet 方法"); // 检查用户权限 - if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) { + if (!Processing.checkUserIsAdmin(request, roleMapper)) { return ResultUtil.error(ErrorCode.NOT_ADMIN); } // 获取 Role 权限组 @@ -119,7 +122,7 @@ public class RoleServiceImpl implements RoleService { public BaseResponse roleEdit(HttpServletRequest request, RoleEditVO roleEditVO) { log.info("\t> 执行 Service 层 RoleService.roleEdit 方法"); // 检查用户权限 - if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) { + if (!Processing.checkUserIsAdmin(request, roleMapper)) { return ResultUtil.error(ErrorCode.NOT_ADMIN); } // 获取 Role 相关信息 @@ -143,7 +146,7 @@ public class RoleServiceImpl implements RoleService { public BaseResponse roleDelete(HttpServletRequest request, Long id) { log.info("\t> 执行 Service 层 RoleService.roleDelete 方法"); // 检查用户权限 - if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) { + if (!Processing.checkUserIsAdmin(request, roleMapper)) { return ResultUtil.error(ErrorCode.NOT_ADMIN); } // 获取 Role 相关信息 @@ -165,7 +168,7 @@ public class RoleServiceImpl implements RoleService { public BaseResponse addRole(HttpServletRequest request, RoleAddVo roleAddVO) throws ClassCopyException { log.info("\t> 执行 Service 层 RoleService.addRole 方法"); // 检查用户权限 - if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) { + if (!Processing.checkUserIsAdmin(request, roleMapper)) { 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 ea05552..6f5893b 100755 --- a/src/main/java/com/jsl/oa/services/impl/UserServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/UserServiceImpl.java @@ -5,7 +5,8 @@ import com.jsl.oa.annotations.CheckUserHasPermission; import com.jsl.oa.dao.PermissionDAO; import com.jsl.oa.dao.RoleDAO; import com.jsl.oa.dao.UserDAO; -import com.jsl.oa.model.dodata.RoleDO; +import com.jsl.oa.mapper.RoleMapper; + import com.jsl.oa.model.dodata.RoleUserDO; import com.jsl.oa.model.dodata.UserDO; import com.jsl.oa.model.vodata.*; @@ -22,8 +23,6 @@ import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; -import java.util.List; -import java.util.Objects; import java.util.regex.Pattern; /** @@ -42,16 +41,22 @@ import java.util.regex.Pattern; @RequiredArgsConstructor public class UserServiceImpl implements UserService { + private final RoleMapper roleMapper; private final UserDAO userDAO; private final RoleDAO roleDAO; private final PermissionDAO permissionDAO; + @Override + public UserDO getUserInfoByUsername(String username) { + return userDAO.getUserInfoByUsername(username); + } + @Override public BaseResponse userDelete(HttpServletRequest request, Long id) { log.info("\t> 执行 Service 层 UserService.userDelete 方法"); //判断用户是否存在 if (userDAO.isExistUser(id)) { - if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) { + if (!Processing.checkUserIsAdmin(request, roleMapper)) { return ResultUtil.error(ErrorCode.NOT_ADMIN); } // 用户是否已删除 @@ -69,7 +74,7 @@ public class UserServiceImpl implements UserService { @Override public BaseResponse userLock(HttpServletRequest request, Long id, Long isLock) { log.info("\t> 执行 Service 层 UserService.userLock 方法"); - if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) { + if (!Processing.checkUserIsAdmin(request, roleMapper)) { return ResultUtil.error(ErrorCode.NOT_ADMIN); } //判断用户是否存在 @@ -127,15 +132,14 @@ public class UserServiceImpl implements UserService { return ResultUtil.success(userCurrentBackVO); } + @SuppressWarnings("checkstyle:NestedIfDepth") @Override @CheckUserAbleToUse - public BaseResponse userCurrent( - String id, - String username, - String email, - String phone, - HttpServletRequest request - ) { + public BaseResponse userCurrent(HttpServletRequest request, + String id, + String username, + String email, + String phone) { log.info("\t> 执行 Service 层 UserService.userCurrent 方法"); if (id == null && username == null && email == null && phone == null) { // Token获取信息 @@ -148,21 +152,13 @@ public class UserServiceImpl implements UserService { } else { // 检查是否是管理员用户 Long userId = Processing.getAuthHeaderToUserId(request); - if (userId != null) { - List getPermission = permissionDAO.getPermission(userId); - // 匹配权限 - if (!getPermission.contains("user.current")) { - log.info("\t> 用户权限不足,检查是否是管理员"); - // 检查用户是管理员 - RoleUserDO roleUserDO = roleDAO - .getRoleUserByUid(Objects.requireNonNull(Processing.getAuthHeaderToUserId(request))); - if (roleUserDO == null) { - return ResultUtil.error(ErrorCode.NOT_PERMISSION); - } - RoleDO roleDO = roleDAO.roleMapper.getRoleByRoleName("admin"); - if (!roleUserDO.getRid().equals(roleDO.getId())) { - return ResultUtil.error(ErrorCode.NOT_PERMISSION); - } + if (userId != null && !permissionDAO.getPermission(userId).contains("user.current")) { + log.info("\t> 用户权限不足,检查是否是管理员"); + + RoleUserDO roleUserDO = roleMapper.getRoleUserByUid(Processing.getAuthHeaderToUserId(request)); + + if (roleUserDO == null || !roleUserDO.getRid().equals(roleMapper.getRoleByRoleName("admin").getId())) { + return ResultUtil.error(ErrorCode.NOT_PERMISSION); } } else { return ResultUtil.error(ErrorCode.TOKEN_NOT_EXIST); @@ -192,7 +188,7 @@ public class UserServiceImpl implements UserService { public BaseResponse userAdd(UserAddVO userAddVo, HttpServletRequest request) { log.info("\t> 执行 Service 层 UserService.userAdd 方法"); // 检测用户是否为管理员 - if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) { + if (!Processing.checkUserIsAdmin(request, roleMapper)) { return ResultUtil.error(ErrorCode.NOT_ADMIN); } //如果用户不重复,添加用户 @@ -230,7 +226,7 @@ public class UserServiceImpl implements UserService { public BaseResponse userEdit(UserEditVO userEditVO, HttpServletRequest request) { log.info("\t> 执行 Service 层 userEdit 方法"); // 检测用户是否为管理员 - if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) { + if (!Processing.checkUserIsAdmin(request, roleMapper)) { return ResultUtil.error(ErrorCode.NOT_ADMIN); } //根据id获取用户信息 diff --git a/src/main/java/com/jsl/oa/utils/ErrorCode.java b/src/main/java/com/jsl/oa/utils/ErrorCode.java index 26ba713..bb01d53 100755 --- a/src/main/java/com/jsl/oa/utils/ErrorCode.java +++ b/src/main/java/com/jsl/oa/utils/ErrorCode.java @@ -51,7 +51,8 @@ public enum ErrorCode { PROJECT_NOT_EXIST("ProjectNotExist", 40016, "项目不存在"), PROJECT_CUTTING_NOT_EXIST("ProjectCuttingNotExist", 40017, "项目分割模块不存在"), PROJECT_USER_NOT_EXIST("ProjectUserNotExist", 40018, "用户项目表无对应记录"), - PROJECT_FILE_JSON_ERROR("ProjectFileJsonError", 40019, "项目文件json格式错误"); + PROJECT_FILE_JSON_ERROR("ProjectFileJsonError", 40019, "项目文件json格式错误"), + PROJECT_NOT_USER("ProjectNotUser", 40020, "项目无此用户"); private final String output; diff --git a/src/main/java/com/jsl/oa/utils/Processing.java b/src/main/java/com/jsl/oa/utils/Processing.java index a46d305..16a1ea8 100755 --- a/src/main/java/com/jsl/oa/utils/Processing.java +++ b/src/main/java/com/jsl/oa/utils/Processing.java @@ -182,9 +182,9 @@ public class Processing { /** * 检查用户是否是老师 * - * @param request 请求 - * @param roleMapper RoleMapper - * @return 如果为 true 是老师,false 不是老师 + * @param request + * @param roleMapper + * @return */ public static @NotNull Boolean checkUserIsTeacher(HttpServletRequest request, @NotNull RoleMapper roleMapper) { RoleUserDO roleUserDO = roleMapper.getRoleUserByUid(Processing.getAuthHeaderToUserId(request)); @@ -205,16 +205,11 @@ public class Processing { /** - * 将属性从源对象复制到目标对象。 - * - * @param 目标对象的类型。 - * @param 源对象的类型。 - * @param source 从中复制属性的源对象。 - * @param target 属性将复制到的目标对象。 - * @return 复制属性后的目标对象。 - * @throws ClassCopyException 如果在复制过程中出现错误。 - */ - @Contract(pure = true) + * @Description: VO类与实体类属性赋值 + * @Date: 2024/1/18 + * @Param source: + * @Param dest: + **/ public static T copyProperties(@NotNull S source, @NotNull T target) throws ClassCopyException { Class sourceClass = source.getClass(); Class targetClass = target.getClass(); @@ -285,10 +280,7 @@ public class Processing { * @return {@link BaseResponse} */ public static @NotNull UserCurrentBackVO.UserCurrent returnUserInfo( - @NotNull UserDO userDO, - RoleDAO roleDAO, - PermissionDAO permissionDAO - ) { + @NotNull UserDO userDO, RoleDAO roleDAO, PermissionDAO permissionDAO) { UserCurrentBackVO.UserCurrent userCurrent = new UserCurrentBackVO.UserCurrent(); // 获取用户角色 RoleUserDO getUserRole = roleDAO.getRoleUserByUid(userDO.getId()); @@ -308,29 +300,30 @@ public class Processing { // 获取权限列表信息 getPermissionForString = permissionDAO.getPermission(userDO.getId()); } - userCurrent.setUser(new UserCurrentBackVO.ReturnUser() - .setId(userDO.getId()) - .setJobId(userDO.getJobId()) - .setUsername(userDO.getUsername()) - .setAddress(userDO.getAddress()) - .setPhone(userDO.getPhone()) - .setEmail(userDO.getEmail()) - .setAge(userDO.getAge()) - .setSignature(userDO.getSignature()) - .setAvatar(userDO.getAvatar()) - .setNickname(userDO.getNickname()) - .setSex(userDO.getSex()) - .setEnabled(userDO.getEnabled()) - .setAccountNoExpired(userDO.getAccountNoExpired()) - .setCredentialsNoExpired(userDO.getCredentialsNoExpired()) - .setRecommend(userDO.getRecommend()) - .setAccountNoLocked(userDO.getAccountNoLocked()) - .setDescription(userDO.getDescription()) - .setCreatedAt(userDO.getCreatedAt()) - .setUpdatedAt(userDO.getUpdatedAt()) - .setIsDelete(userDO.getIsDelete())) - .setRole(new UserCurrentBackVO.ReturnUserRole().setRid(getUserRole.getRid())) - .setPermission(getPermissionForString); + userCurrent.setUser(new UserCurrentBackVO.ReturnUser(). + setId(userDO.getId()). + setJobId(userDO.getJobId()). + setUsername(userDO.getUsername()). + setAddress(userDO.getAddress()). + setPhone(userDO.getPhone()). + setEmail(userDO.getEmail()). + setAge(userDO.getAge()). + setSignature(userDO.getSignature()). + setAvatar(userDO.getAvatar()). + setNickname(userDO.getNickname()). + setSex(userDO.getSex()). + setEnabled(userDO.getEnabled()). + setAccountNoExpired(userDO.getAccountNoExpired()). + setCredentialsNoExpired(userDO.getCredentialsNoExpired()). + setRecommend(userDO.getRecommend()). + setAccountNoLocked(userDO.getAccountNoLocked()). + setDescription(userDO.getDescription()). + setCreatedAt(userDO.getCreatedAt()). + setUpdatedAt(userDO.getUpdatedAt()). + setIsDelete(userDO.getIsDelete())). + setRole(new UserCurrentBackVO.ReturnUserRole(). + setRid(getUserRole.getRid())). + setPermission(getPermissionForString); return userCurrent; } @@ -356,7 +349,11 @@ public class Processing { return userDOS; } - public static void projectTosimply(ProjectSimpleVO projectSimpleVO, ProjectDO projectDO, UserDAO userDAO, ObjectMapper objectMapper) { + public static void projectTosimply( + ProjectSimpleVO projectSimpleVO, + ProjectDO projectDO, + UserDAO userDAO, + ObjectMapper objectMapper) { projectSimpleVO.setId(projectDO.getId()); projectSimpleVO.setName(projectDO.getName()); @@ -432,4 +429,39 @@ public class Processing { return vo; } + + + /** + * @Description: 转换审核的类别属性为字符串 + * @Date: 2024/4/11 + * @Param category: + **/ + public static String turnReviewCategory(Integer category) { + switch (category) { + case 0: + return "子系统"; + case 1: + return "模块"; + default: + return "其他"; + } + } + + public static String turnReviewResult(Integer result) { + switch (result) { + case 0: + return "已拒绝"; + case 1: + return "已审批"; + case 2: + return "待审核"; + default: + return "其他"; + } + } + + + + + } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 3cbfb34..a5e9350 100755 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,5 +1,5 @@ maven: - timestamp: @buildDate@ + timestamp: 2024/3/10 spring: profiles: active: @profile.active@ \ No newline at end of file