diff --git a/src/main/java/com/jsl/oa/aspect/AnnotationsAspect.java b/src/main/java/com/jsl/oa/aspect/AnnotationsAspect.java index 8cbbae6..9356fd2 100644 --- a/src/main/java/com/jsl/oa/aspect/AnnotationsAspect.java +++ b/src/main/java/com/jsl/oa/aspect/AnnotationsAspect.java @@ -4,7 +4,6 @@ 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.UserMapper; import com.jsl.oa.model.dodata.RoleDO; import com.jsl.oa.model.dodata.RoleUserDO; @@ -45,7 +44,7 @@ import java.util.Objects; @RequiredArgsConstructor public class AnnotationsAspect { private final RoleDAO roleDAO; - private final UserDAO userDAO; + private final UserMapper userMapper; private final PermissionDAO permissionDAO; /** @@ -79,7 +78,7 @@ public class AnnotationsAspect { Long userId = Processing.getAuthHeaderToUserId(request); if (userId != null) { // 检查用户是否允许继续执行 - BaseResponse checkUserAbleToNext = checkUserAbleToNext(userId, userDAO.userMapper); + BaseResponse checkUserAbleToNext = checkUserAbleToNext(userId, userMapper); if (checkUserAbleToNext != null) { return checkUserAbleToNext; } else { @@ -128,7 +127,7 @@ public class AnnotationsAspect { // 获取用户信息 Long userId = Processing.getAuthHeaderToUserId(request); - UserDO userDO = userDAO.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/controllers/AuthController.java b/src/main/java/com/jsl/oa/controllers/AuthController.java index 8300945..c26aa60 100755 --- a/src/main/java/com/jsl/oa/controllers/AuthController.java +++ b/src/main/java/com/jsl/oa/controllers/AuthController.java @@ -178,7 +178,7 @@ public class AuthController { if (bindingResult.hasErrors()) { return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult)); } - return authService.authChangePassword(request, userChangePasswordVO); + return authService.authChangePassword(userChangePasswordVO, request); } /** diff --git a/src/main/java/com/jsl/oa/controllers/ProjectController.java b/src/main/java/com/jsl/oa/controllers/ProjectController.java index 1e537f4..7167cc6 100755 --- a/src/main/java/com/jsl/oa/controllers/ProjectController.java +++ b/src/main/java/com/jsl/oa/controllers/ProjectController.java @@ -274,8 +274,12 @@ 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/UserController.java b/src/main/java/com/jsl/oa/controllers/UserController.java index c53b4f7..de4b659 100644 --- a/src/main/java/com/jsl/oa/controllers/UserController.java +++ b/src/main/java/com/jsl/oa/controllers/UserController.java @@ -124,7 +124,7 @@ public class UserController { } } // 检查是否出现错误 - return userService.userCurrent(request, id, username, email, phone); + return userService.userCurrent(id, username, email, phone, request); } /** diff --git a/src/main/java/com/jsl/oa/dao/PermissionDAO.java b/src/main/java/com/jsl/oa/dao/PermissionDAO.java index b1b4bf3..5fcf88e 100644 --- a/src/main/java/com/jsl/oa/dao/PermissionDAO.java +++ b/src/main/java/com/jsl/oa/dao/PermissionDAO.java @@ -52,7 +52,8 @@ 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; } @@ -68,37 +69,14 @@ 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()); - } - 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>() { + getPermissionForString = gson.fromJson(getRedisData, new TypeToken>() { }.getType()); } + return getPermissionForString; } /** @@ -109,7 +87,10 @@ public class PermissionDAO { * @param permissionList 权限信息 * @param getPermissionForString 存储权限信息 */ - private void forPermissionToBuildString(@NotNull List permissionList, List getPermissionForString) { + private void forPermissionToBuildString( + @NotNull List permissionList, + 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 1c24af8..d13cb73 100644 --- a/src/main/java/com/jsl/oa/dao/ProjectDAO.java +++ b/src/main/java/com/jsl/oa/dao/ProjectDAO.java @@ -101,12 +101,13 @@ 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 (projectShowDO.getData().get(i).getDisplayOrder() > projectShowDO.getData().get(j).getDisplayOrder()) { + if (dataDO.getDisplayOrder() > projectShowDO.getData().get(j).getDisplayOrder()) { Collections.swap(projectShowDO.getData(), i, j); } } else { - if (projectShowDO.getData().get(i).getDisplayOrder() < projectShowDO.getData().get(j).getDisplayOrder()) { + if (dataDO.getDisplayOrder() < projectShowDO.getData().get(j).getDisplayOrder()) { Collections.swap(projectShowDO.getData(), i, j); } } diff --git a/src/main/java/com/jsl/oa/dao/UserDAO.java b/src/main/java/com/jsl/oa/dao/UserDAO.java index cecf804..dd16fc5 100755 --- a/src/main/java/com/jsl/oa/dao/UserDAO.java +++ b/src/main/java/com/jsl/oa/dao/UserDAO.java @@ -3,8 +3,6 @@ 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; @@ -25,16 +23,16 @@ 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 @RequiredArgsConstructor public class UserDAO { - public final UserMapper userMapper; + private final UserMapper userMapper; private final RoleDAO roleDAO; private final PermissionDAO permissionDAO; private final Gson gson; @@ -51,13 +49,11 @@ public class UserDAO { */ public UserDO getUserInfoByUsername(String username) { log.info("\t> 执行 DAO 层 UserDAO.getUserInfoByUsername 方法"); - UserDO userDO = null; + UserDO userDO; // 从 Redis 获取数据 // TODO: 10000-Redis: 从 Redis 获取数据 // 从数据库获取用户信息 - if (userDO == null) { - userDO = userMapper.getUserInfoByUsername(username); - } + userDO = userMapper.getUserInfoByUsername(username); return userDO; } @@ -116,12 +112,12 @@ public class UserDAO { /** * 用户账号锁定 * - * @param id + * @param id 用户id */ - public void userLock(Long id,Long isLock) { + public void userLock(Long id, Long isLock) { log.info("\t> 执行 DAO 层 UserDAO.userLock 方法"); log.info("\t\t> 从 MySQL 获取数据"); - userMapper.userLock(id,isLock); + userMapper.userLock(id, isLock); } public void userEditProfile(UserEditProfileVO userEditProfileVO) { @@ -136,7 +132,7 @@ public class UserDAO { List userCurrentDO = userMapper.getAllUser(userAllCurrentVO); UserCurrentBackVO userCurrentBackVO = new UserCurrentBackVO(); userCurrentBackVO.setUsers(new ArrayList<>()) - .setCount(userMapper.getUsersCount()); + .setCount(userMapper.getUsersCount()); userCurrentDO.forEach(it -> userCurrentBackVO.getUsers().add(Processing.returnUserInfo(it, roleDAO, permissionDAO))); return userCurrentBackVO; @@ -148,17 +144,17 @@ public class UserDAO { List userCurrentDO = userMapper.getAllUserBySearch(userAllCurrentVO); UserCurrentBackVO userCurrentBackVO = new UserCurrentBackVO(); userCurrentBackVO.setUsers(new ArrayList<>()) - .setCount(userMapper.getUsersCount()); + .setCount(userMapper.getUsersCount()); userCurrentDO.forEach(it -> userCurrentBackVO.getUsers().add(Processing.returnUserInfo(it, roleDAO, permissionDAO))); return userCurrentBackVO; } /** - * @return - * @Description 用户添加 - * @Date: 2024/1/16 - * @Param userDO: user 数据库表实体类 + * 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. */ public boolean userAdd(UserDO userDO) { log.info("\t> 执行 DAO 层 userAdd 方法"); @@ -172,12 +168,14 @@ public class UserDAO { userMapper.updateUser(userDO); } - /** - * @Description 根据username检测用户是否重复 - * @Date: 2024/1/16 - * @Param username: 用户名 - **/ + *

用户名获取用户信息

+ *
+ * 根据用户名获取用户信息 + * + * @param username 用户名 + * @return {@link UserDO} + */ public Boolean isRepeatUser(String username) { log.info("\t> 执行 DAO 层 isRepeatUser 方法"); log.info("\t\t> 从 MySQL 获取数据"); @@ -186,22 +184,21 @@ public class UserDAO { /** - * @Description 检测用户工号是否重复 - * @Date 2024/1/18 - * @Param userNum: - **/ + * 通过用户编号获取用户信息 + * + * @param userNum 用户编号 + * @return UserDO + */ public Boolean isRepeatUserNum(String userNum) { - if (userMapper.getUserByUserNum(userNum) != null) { - return true; - } - return false; + return userMapper.getUserByUserNum(userNum) != null; } /** - * @Description 根据用户id获取用户数据 - * @Date 2024/1/17 - * @Param userId - **/ + * 通过 Id 获取用户信息 + * + * @param userId 用户id + * @return UserDO + */ public UserDO getUserById(Long userId) { log.info("\t> 执行 DAO 层 getUserById 方法"); log.info("\t\t> 从 MySQL 获取数据"); @@ -209,35 +206,7 @@ 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(){ + public List getRecommendUser() { log.info("\t> 执行 DAO 层 getRecommendUser 方法"); log.info("\t\t> 从 MySQL 获取数据"); return userMapper.getRecommendUser(); @@ -254,10 +223,4 @@ 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 bf35028..750482e 100755 --- a/src/main/java/com/jsl/oa/exception/ProcessException.java +++ b/src/main/java/com/jsl/oa/exception/ProcessException.java @@ -53,7 +53,9 @@ public class ProcessException { } @ExceptionHandler(value = MissingServletRequestParameterException.class) - public ResponseEntity businessMissingServletRequestParameterException(MissingServletRequestParameterException e) { + public ResponseEntity businessMissingServletRequestParameterException( + MissingServletRequestParameterException e + ) { log.error(e.getMessage(), e); return ResponseEntity .status(400) @@ -97,7 +99,9 @@ public class ProcessException { * @return {@link ResponseEntity} */ @ExceptionHandler(value = MethodArgumentTypeMismatchException.class) - public ResponseEntity businessMethodArgumentTypeMismatchException(@NotNull MethodArgumentTypeMismatchException e) { + public ResponseEntity businessMethodArgumentTypeMismatchException( + @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 ae8caf6..a0c013b 100644 --- a/src/main/java/com/jsl/oa/mapper/ModuleMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ModuleMapper.java @@ -11,10 +11,9 @@ import java.util.List; public interface ModuleMapper { + List getByProjectId(Integer projectId, Long userId, int is); - List getByProjectId(Integer projectId, Long userId,int is); - - List getBySysId(Integer sysId, Long userId,int is); + List getBySysId(Integer sysId, Long userId, int is); @Select("select principal_id from organize_oa.oa_project where id=#{projectId}") Long getPidByProjectid(Integer projectId); diff --git a/src/main/java/com/jsl/oa/mapper/PermissionMapper.java b/src/main/java/com/jsl/oa/mapper/PermissionMapper.java index fd8604c..78027d1 100644 --- a/src/main/java/com/jsl/oa/mapper/PermissionMapper.java +++ b/src/main/java/com/jsl/oa/mapper/PermissionMapper.java @@ -12,9 +12,9 @@ public interface PermissionMapper { @Insert("INSERT INTO organize_oa.oa_role_permissions(rid, pid) VALUE (#{rid},#{pid})") void permissionAdd(Long rid, Long pid); - @Select("SELECT * FROM organize_oa.oa_permissions WHERE id IN " + - "(SELECT pid FROM organize_oa.oa_role_permissions WHERE rid IN " + - "(SELECT rid FROM organize_oa.oa_role_user WHERE uid = #{uid}))") + @Select("SELECT * FROM organize_oa.oa_permissions WHERE id IN " + + "(SELECT pid FROM organize_oa.oa_role_permissions WHERE rid IN " + + "(SELECT rid FROM organize_oa.oa_role_user WHERE uid = #{uid}))") List permissionUserPid(Long uid); @Select("SELECT * FROM organize_oa.oa_permissions where id=#{id}") @@ -26,8 +26,8 @@ public interface PermissionMapper { @Select("SELECT * FROM organize_oa.oa_permissions") List getAllPermission(); - @Update("UPDATE organize_oa.oa_permissions SET pid = #{pid}, name = #{name}, code = #{code}, " + - "type = #{type} WHERE id = #{id}") + @Update("UPDATE organize_oa.oa_permissions SET pid = #{pid}, name = #{name}, code = #{code}, " + + "type = #{type} WHERE id = #{id}") boolean updatePermission(PermissionDO permissionDO); @Delete("DELETE FROM organize_oa.oa_permissions where id=#{pid}") diff --git a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java index 5ba62c1..0c1bb5b 100644 --- a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java @@ -17,17 +17,17 @@ import java.util.List; @Mapper public interface ProjectMapper { - @Insert("insert into organize_oa.oa_project " + - "(name, description, principal_id, cycle,file,complete_time," + - "deadline,status,is_finish,tags,work_load) " + - "value (#{name},#{description},#{principalId},#{cycle},#{file}" + - ",#{completeTime},#{deadline},#{status},#{isFinish},#{tags},#{workLoad})") + @Insert("insert into organize_oa.oa_project " + + "(name, description, principal_id, cycle,file,complete_time," + + "deadline,status,is_finish,tags,work_load) " + + "value (#{name},#{description},#{principalId},#{cycle},#{file}" + + ",#{completeTime},#{deadline},#{status},#{isFinish},#{tags},#{workLoad})") void projectAdd(ProjectInfoVO projectAdd); - @Insert("insert into organize_oa.oa_project_work (project_id, pid, name, principal_id," + - " work_load, description, cycle, complete_time, type, is_finish,status) " + - "value (#{projectId},#{pid},#{name},#{principalId},#{workLoad}," + - "#{description},#{cycle},#{completeTime},#{type},#{isFinish},#{status})") + @Insert("insert into organize_oa.oa_project_work (project_id, pid, name, principal_id," + + " work_load, description, cycle, complete_time, type, is_finish,status) " + + "value (#{projectId},#{pid},#{name},#{principalId},#{workLoad}," + + "#{description},#{cycle},#{completeTime},#{type},#{isFinish},#{status})") void projectWorkAdd(ProjectWorkVO projectWorkVO); void projectEdit(ProjectDO projectEdit); @@ -51,13 +51,12 @@ 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); @@ -74,13 +73,13 @@ public interface ProjectMapper { @Update("UPDATE organize_oa.oa_project SET is_delete = 1 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})") + @Insert("INSERT INTO organize_oa.oa_project_cutting (pid, name, tag, real_time) " + + "VALUES (#{pid}, #{name}, #{tag}, #{realTime})") void projectCuttingAdd(ProjectCuttingDO projectCuttingDO); - @Update("UPDATE organize_oa.oa_project_cutting SET name = #{name}, " + - "tag = #{tag}, engineering = #{engineering}, estimated_time = #{estimatedTime}, " + - "real_time = #{realTime}, updated_at = CURRENT_TIMESTAMP WHERE id = #{id}") + @Update("UPDATE organize_oa.oa_project_cutting SET name = #{name}, " + + "tag = #{tag}, engineering = #{engineering}, estimated_time = #{estimatedTime}, " + + "real_time = #{realTime}, updated_at = CURRENT_TIMESTAMP WHERE id = #{id}") boolean projectCuttingUpdate(ProjectCuttingDO projectCuttingDO); @Select("SELECT * FROM organize_oa.oa_project_cutting WHERE id = #{id}") diff --git a/src/main/java/com/jsl/oa/mapper/UserMapper.java b/src/main/java/com/jsl/oa/mapper/UserMapper.java index c5913ab..29fdcbf 100755 --- a/src/main/java/com/jsl/oa/mapper/UserMapper.java +++ b/src/main/java/com/jsl/oa/mapper/UserMapper.java @@ -29,16 +29,16 @@ public interface UserMapper { @Select("SELECT * FROM organize_oa.oa_user WHERE job_id = #{jobId}") UserDO getUserByUserNum(String jobId); - @Insert("INSERT INTO organize_oa.oa_user " + - "(job_id, username, password, address, phone, email, age, sex) " + - "VALUES (#{jobId}, #{username}, #{password}, #{address}, #{phone}, #{email}, #{age}, #{sex})") + @Insert("INSERT INTO organize_oa.oa_user " + + "(job_id, username, password, address, phone, email, age, sex) " + + "VALUES (#{jobId}, #{username}, #{password}, #{address}, #{phone}, #{email}, #{age}, #{sex})") boolean insertUser(UserDO userDO); @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} ") - void userLock(Long id,Long isLock); + void userLock(Long id, Long isLock); @Select("SELECT * FROM organize_oa.oa_user WHERE id = #{id}") UserDO getUserById(Long id); @@ -60,11 +60,11 @@ public interface UserMapper { @Select("SELECT * FROM organize_oa.oa_user ORDER BY `id` DESC LIMIT #{page},#{limit}") List getAllUser(UserAllCurrentVO userAllCurrentVO); - @Select("SELECT * FROM organize_oa.oa_user " + - "WHERE username LIKE CONCAT('%',#{search},'%') " + - "OR email LIKE CONCAT('%',#{search},'%') " + - "OR phone LIKE CONCAT('%',#{search},'%') " + - "ORDER BY `id` LIMIT #{page},#{limit}") + @Select("SELECT * FROM organize_oa.oa_user " + + "WHERE username LIKE CONCAT('%',#{search},'%') " + + "OR email LIKE CONCAT('%',#{search},'%') " + + "OR phone LIKE CONCAT('%',#{search},'%') " + + "ORDER BY `id` LIMIT #{page},#{limit}") List getAllUserBySearch(UserAllCurrentVO userAllCurrentVO); @Select("SELECT * FROM organize_oa.oa_role_user WHERE uid = #{userId}") 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 c114063..59fcda4 100644 --- a/src/main/java/com/jsl/oa/model/dodata/PageBeanDO.java +++ b/src/main/java/com/jsl/oa/model/dodata/PageBeanDO.java @@ -14,6 +14,7 @@ import java.util.List; * @since v1.1.0 * @version v1.1.0 * @author 176yunxuan + * @param 对类型的泛型处理 */ @Data @NoArgsConstructor 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 949d0c1..5155d54 100755 --- a/src/main/java/com/jsl/oa/model/vodata/UserRegisterVO.java +++ b/src/main/java/com/jsl/oa/model/vodata/UserRegisterVO.java @@ -27,8 +27,10 @@ public class UserRegisterVO { @NotBlank(message = "家乡不能为空") private String address; - @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 = "电话格式错误") + @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/UserService.java b/src/main/java/com/jsl/oa/services/UserService.java index a370321..a403f9e 100755 --- a/src/main/java/com/jsl/oa/services/UserService.java +++ b/src/main/java/com/jsl/oa/services/UserService.java @@ -1,6 +1,5 @@ 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; @@ -18,15 +17,6 @@ import javax.servlet.http.HttpServletRequest; * @since v1.1.0 */ public interface UserService { - /** - *

根据用户名获取用户信息

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

用户账号删除

@@ -81,7 +71,7 @@ public interface UserService { * @param phone 手机号 * @return {@link BaseResponse} */ - BaseResponse userCurrent(HttpServletRequest request, String id, String username, String email, String phone); + BaseResponse userCurrent(String id, String username, String email, String phone, HttpServletRequest request); BaseResponse userAdd(UserAddVO userAddVo, HttpServletRequest request); 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 050c9dc..ea05552 100755 --- a/src/main/java/com/jsl/oa/services/impl/UserServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/UserServiceImpl.java @@ -23,6 +23,7 @@ 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; /** @@ -45,11 +46,6 @@ public class UserServiceImpl implements UserService { 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 方法"); @@ -80,7 +76,9 @@ public class UserServiceImpl implements UserService { if (userDAO.isExistUser(id)) { userDAO.userLock(id, isLock); return ResultUtil.success("更改成功"); - } else return ResultUtil.error(ErrorCode.USER_NOT_EXIST); + } else { + return ResultUtil.error(ErrorCode.USER_NOT_EXIST); + } } @Override @@ -131,7 +129,13 @@ public class UserServiceImpl implements UserService { @Override @CheckUserAbleToUse - public BaseResponse userCurrent(HttpServletRequest request, String id, String username, String email, String phone) { + public BaseResponse userCurrent( + String id, + String username, + String email, + String phone, + HttpServletRequest request + ) { log.info("\t> 执行 Service 层 UserService.userCurrent 方法"); if (id == null && username == null && email == null && phone == null) { // Token获取信息 @@ -150,13 +154,13 @@ public class UserServiceImpl implements UserService { if (!getPermission.contains("user.current")) { log.info("\t> 用户权限不足,检查是否是管理员"); // 检查用户是管理员 - RoleUserDO roleUserDO = roleDAO.roleMapper.getRoleUserByUid(Processing.getAuthHeaderToUserId(request)); - if (roleUserDO != null) { - RoleDO roleDO = roleDAO.roleMapper.getRoleByRoleName("admin"); - if (!roleUserDO.getRid().equals(roleDO.getId())) { - return ResultUtil.error(ErrorCode.NOT_PERMISSION); - } - } else { + 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); } } @@ -216,7 +220,9 @@ public class UserServiceImpl implements UserService { } else { return ResultUtil.error(ErrorCode.DATABASE_INSERT_ERROR); } - } else return ResultUtil.error(ErrorCode.USER_EXIST); + } else { + return ResultUtil.error(ErrorCode.USER_EXIST); + } } diff --git a/src/main/java/com/jsl/oa/utils/Processing.java b/src/main/java/com/jsl/oa/utils/Processing.java index 2ce83d2..a46d305 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 - * @return + * @param request 请求 + * @param roleMapper RoleMapper + * @return 如果为 true 是老师,false 不是老师 */ public static @NotNull Boolean checkUserIsTeacher(HttpServletRequest request, @NotNull RoleMapper roleMapper) { RoleUserDO roleUserDO = roleMapper.getRoleUserByUid(Processing.getAuthHeaderToUserId(request)); @@ -205,11 +205,16 @@ public class Processing { /** - * @Description: VO类与实体类属性赋值 - * @Date: 2024/1/18 - * @Param source: - * @Param dest: - **/ + * 将属性从源对象复制到目标对象。 + * + * @param 目标对象的类型。 + * @param 源对象的类型。 + * @param source 从中复制属性的源对象。 + * @param target 属性将复制到的目标对象。 + * @return 复制属性后的目标对象。 + * @throws ClassCopyException 如果在复制过程中出现错误。 + */ + @Contract(pure = true) public static T copyProperties(@NotNull S source, @NotNull T target) throws ClassCopyException { Class sourceClass = source.getClass(); Class targetClass = target.getClass(); @@ -279,7 +284,11 @@ public class Processing { * @param userDO 用户信息 * @return {@link BaseResponse} */ - public static @NotNull UserCurrentBackVO.UserCurrent returnUserInfo(@NotNull UserDO userDO, RoleDAO roleDAO, PermissionDAO permissionDAO) { + public static @NotNull UserCurrentBackVO.UserCurrent returnUserInfo( + @NotNull UserDO userDO, + RoleDAO roleDAO, + PermissionDAO permissionDAO + ) { UserCurrentBackVO.UserCurrent userCurrent = new UserCurrentBackVO.UserCurrent(); // 获取用户角色 RoleUserDO getUserRole = roleDAO.getRoleUserByUid(userDO.getId()); @@ -299,7 +308,29 @@ 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; }