feat: 代码风格规约调整
Some checks failed
代码检查 / 代码检查 (pull_request) Failing after 27s

This commit is contained in:
筱锋xiao_lfeng 2024-04-10 10:34:55 +08:00
parent f49b9db4d7
commit fb5a8c06f6
No known key found for this signature in database
GPG Key ID: F693AA12AABBFA87
17 changed files with 164 additions and 184 deletions

View File

@ -4,7 +4,6 @@ import com.jsl.oa.annotations.CheckUserAbleToUse;
import com.jsl.oa.annotations.CheckUserHasPermission; import com.jsl.oa.annotations.CheckUserHasPermission;
import com.jsl.oa.dao.PermissionDAO; import com.jsl.oa.dao.PermissionDAO;
import com.jsl.oa.dao.RoleDAO; import com.jsl.oa.dao.RoleDAO;
import com.jsl.oa.dao.UserDAO;
import com.jsl.oa.mapper.UserMapper; import com.jsl.oa.mapper.UserMapper;
import com.jsl.oa.model.dodata.RoleDO; import com.jsl.oa.model.dodata.RoleDO;
import com.jsl.oa.model.dodata.RoleUserDO; import com.jsl.oa.model.dodata.RoleUserDO;
@ -45,7 +44,7 @@ import java.util.Objects;
@RequiredArgsConstructor @RequiredArgsConstructor
public class AnnotationsAspect { public class AnnotationsAspect {
private final RoleDAO roleDAO; private final RoleDAO roleDAO;
private final UserDAO userDAO; private final UserMapper userMapper;
private final PermissionDAO permissionDAO; private final PermissionDAO permissionDAO;
/** /**
@ -79,7 +78,7 @@ public class AnnotationsAspect {
Long userId = Processing.getAuthHeaderToUserId(request); Long userId = Processing.getAuthHeaderToUserId(request);
if (userId != null) { if (userId != null) {
// 检查用户是否允许继续执行 // 检查用户是否允许继续执行
BaseResponse checkUserAbleToNext = checkUserAbleToNext(userId, userDAO.userMapper); BaseResponse checkUserAbleToNext = checkUserAbleToNext(userId, userMapper);
if (checkUserAbleToNext != null) { if (checkUserAbleToNext != null) {
return checkUserAbleToNext; return checkUserAbleToNext;
} else { } else {
@ -128,7 +127,7 @@ public class AnnotationsAspect {
// 获取用户信息 // 获取用户信息
Long userId = Processing.getAuthHeaderToUserId(request); Long userId = Processing.getAuthHeaderToUserId(request);
UserDO userDO = userDAO.userMapper.getUserById(userId); UserDO userDO = userMapper.getUserById(userId);
// 用户不存在 // 用户不存在
if (userDO == null) { if (userDO == null) {
return ResultUtil.error(ErrorCode.USER_NOT_EXIST); return ResultUtil.error(ErrorCode.USER_NOT_EXIST);

View File

@ -178,7 +178,7 @@ public class AuthController {
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult)); return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
} }
return authService.authChangePassword(request, userChangePasswordVO); return authService.authChangePassword(userChangePasswordVO, request);
} }
/** /**

View File

@ -274,8 +274,12 @@ public class ProjectController {
} }
@PutMapping("/project/cut/user/to") @PutMapping("/project/cut/user/to")
public BaseResponse projectToOtherUserForCutting(HttpServletRequest request, @RequestParam Long oldUid public BaseResponse projectToOtherUserForCutting(
, @RequestParam Long pid, @RequestParam Long newUid) { HttpServletRequest request,
@RequestParam Long oldUid,
@RequestParam Long pid,
@RequestParam Long newUid
) {
log.info("请求接口[Put]: /project/cut/user/to"); log.info("请求接口[Put]: /project/cut/user/to");
// 判断是否有参数错误 // 判断是否有参数错误
if (oldUid == null || pid == null || newUid == null) { if (oldUid == null || pid == null || newUid == null) {

View File

@ -124,7 +124,7 @@ public class UserController {
} }
} }
// 检查是否出现错误 // 检查是否出现错误
return userService.userCurrent(request, id, username, email, phone); return userService.userCurrent(id, username, email, phone, request);
} }
/** /**

View File

@ -52,7 +52,8 @@ public class PermissionDAO {
roleRedisUtil.setData(BusinessConstants.NONE, uid.toString(), gson.toJson(getPermissionForString), 1440); roleRedisUtil.setData(BusinessConstants.NONE, uid.toString(), gson.toJson(getPermissionForString), 1440);
} else { } else {
log.info("\t\t> 从 Redis 获取数据"); log.info("\t\t> 从 Redis 获取数据");
getPermissionForString = gson.fromJson(permissionRedisString, new TypeToken<List<String>>() {}.getType()); getPermissionForString = gson.fromJson(permissionRedisString, new TypeToken<List<String>>() {
}.getType());
} }
return getPermissionForString; return getPermissionForString;
} }
@ -68,37 +69,14 @@ public class PermissionDAO {
getPermissionForString = new ArrayList<>(); getPermissionForString = new ArrayList<>();
forPermissionToBuildString(permissionList, getPermissionForString); forPermissionToBuildString(permissionList, getPermissionForString);
// 存入 Redis // 存入 Redis
roleRedisUtil.setData(BusinessConstants.ALL_PERMISSION, "string", gson.toJson(getPermissionForString), 1440); roleRedisUtil
.setData(BusinessConstants.ALL_PERMISSION, "string", gson.toJson(getPermissionForString), 1440);
} else { } else {
log.info("\t\t> 从 Redis 获取数据"); log.info("\t\t> 从 Redis 获取数据");
getPermissionForString = gson.fromJson(getRedisData, new TypeToken<List<String>>() {}.getType()); getPermissionForString = gson.fromJson(getRedisData, new TypeToken<List<String>>() {
}
return getPermissionForString;
}
public List<PermissionDO> getRootPermission() {
log.info("\t> 执行 DAO 层 PermissionDAO.getRootPermission 方法");
String getRedisData = roleRedisUtil.getData(BusinessConstants.ALL_PERMISSION, "all");
if (getRedisData == null) {
log.info("\t\t> 从 MySQL 获取数据");
List<PermissionDO> permissionList = permissionMapper.getAllPermission();
if (!permissionList.isEmpty()) {
List<PermissionDO> 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<List<PermissionDO>>() {
}.getType()); }.getType());
} }
return getPermissionForString;
} }
/** /**
@ -109,7 +87,10 @@ public class PermissionDAO {
* @param permissionList 权限信息 * @param permissionList 权限信息
* @param getPermissionForString 存储权限信息 * @param getPermissionForString 存储权限信息
*/ */
private void forPermissionToBuildString(@NotNull List<PermissionDO> permissionList, List<String> getPermissionForString) { private void forPermissionToBuildString(
@NotNull List<PermissionDO> permissionList,
List<String> getPermissionForString
) {
for (PermissionDO permission : permissionList) { for (PermissionDO permission : permissionList) {
// 寻找是否存在父亲 // 寻找是否存在父亲
StringBuilder permissionString = new StringBuilder(); StringBuilder permissionString = new StringBuilder();

View File

@ -101,12 +101,13 @@ public class ProjectDAO {
log.info("\t> 执行 DAO 层 ProjectDAO.sortProject 方法"); log.info("\t> 执行 DAO 层 ProjectDAO.sortProject 方法");
for (int i = 0; i < projectShowDO.getData().size(); i++) { for (int i = 0; i < projectShowDO.getData().size(); i++) {
for (int j = 0; j < projectShowDO.getData().size(); j++) { for (int j = 0; j < projectShowDO.getData().size(); j++) {
ProjectShowDO.DataDO dataDO = projectShowDO.getData().get(i);
if ("desc".equals(projectShowDO.getOrder())) { 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); Collections.swap(projectShowDO.getData(), i, j);
} }
} else { } 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); Collections.swap(projectShowDO.getData(), i, j);
} }
} }

View File

@ -3,8 +3,6 @@ package com.jsl.oa.dao;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.jsl.oa.common.constant.BusinessConstants; import com.jsl.oa.common.constant.BusinessConstants;
import com.jsl.oa.mapper.UserMapper; 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.dodata.UserDO;
import com.jsl.oa.model.vodata.UserAllCurrentVO; import com.jsl.oa.model.vodata.UserAllCurrentVO;
import com.jsl.oa.model.vodata.UserCurrentBackVO; 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 * @version v1.1.0
* @since v1.1.0 * @since v1.1.0
* @author xiao_lfeng | 176yunxuan | xiangZr-hhh
*/ */
@Slf4j @Slf4j
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
public class UserDAO { public class UserDAO {
public final UserMapper userMapper; private final UserMapper userMapper;
private final RoleDAO roleDAO; private final RoleDAO roleDAO;
private final PermissionDAO permissionDAO; private final PermissionDAO permissionDAO;
private final Gson gson; private final Gson gson;
@ -51,13 +49,11 @@ public class UserDAO {
*/ */
public UserDO getUserInfoByUsername(String username) { public UserDO getUserInfoByUsername(String username) {
log.info("\t> 执行 DAO 层 UserDAO.getUserInfoByUsername 方法"); log.info("\t> 执行 DAO 层 UserDAO.getUserInfoByUsername 方法");
UserDO userDO = null; UserDO userDO;
// Redis 获取数据 // Redis 获取数据
// TODO: 10000-Redis: Redis 获取数据 // TODO: 10000-Redis: Redis 获取数据
// 从数据库获取用户信息 // 从数据库获取用户信息
if (userDO == null) {
userDO = userMapper.getUserInfoByUsername(username); userDO = userMapper.getUserInfoByUsername(username);
}
return userDO; 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> 执行 DAO 层 UserDAO.userLock 方法");
log.info("\t\t> 从 MySQL 获取数据"); log.info("\t\t> 从 MySQL 获取数据");
userMapper.userLock(id,isLock); userMapper.userLock(id, isLock);
} }
public void userEditProfile(UserEditProfileVO userEditProfileVO) { public void userEditProfile(UserEditProfileVO userEditProfileVO) {
@ -155,10 +151,10 @@ public class UserDAO {
/** /**
* @return * Adds a new user to the database.
* @Description 用户添加 *
* @Date: 2024/1/16 * @param userDO The UserDO object containing the user's information.
* @Param userDO: user 数据库表实体类 * @return True if the user is successfully added, false otherwise.
*/ */
public boolean userAdd(UserDO userDO) { public boolean userAdd(UserDO userDO) {
log.info("\t> 执行 DAO 层 userAdd 方法"); log.info("\t> 执行 DAO 层 userAdd 方法");
@ -172,12 +168,14 @@ public class UserDAO {
userMapper.updateUser(userDO); userMapper.updateUser(userDO);
} }
/** /**
* @Description 根据username检测用户是否重复 * <h2>用户名获取用户信息</h2>
* @Date: 2024/1/16 * <hr/>
* @Param username: 用户名 * 根据用户名获取用户信息
**/ *
* @param username 用户名
* @return {@link UserDO}
*/
public Boolean isRepeatUser(String username) { public Boolean isRepeatUser(String username) {
log.info("\t> 执行 DAO 层 isRepeatUser 方法"); log.info("\t> 执行 DAO 层 isRepeatUser 方法");
log.info("\t\t> 从 MySQL 获取数据"); 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) { public Boolean isRepeatUserNum(String userNum) {
if (userMapper.getUserByUserNum(userNum) != null) { return userMapper.getUserByUserNum(userNum) != null;
return true;
}
return false;
} }
/** /**
* @Description 根据用户id获取用户数据 * 通过 Id 获取用户信息
* @Date 2024/1/17 *
* @Param userId * @param userId 用户id
**/ * @return UserDO
*/
public UserDO getUserById(Long userId) { public UserDO getUserById(Long userId) {
log.info("\t> 执行 DAO 层 getUserById 方法"); log.info("\t> 执行 DAO 层 getUserById 方法");
log.info("\t\t> 从 MySQL 获取数据"); log.info("\t\t> 从 MySQL 获取数据");
@ -209,35 +206,7 @@ public class UserDAO {
} }
/** public List<UserDO> getRecommendUser() {
* @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<UserDO> getRecommendUser(){
log.info("\t> 执行 DAO 层 getRecommendUser 方法"); log.info("\t> 执行 DAO 层 getRecommendUser 方法");
log.info("\t\t> 从 MySQL 获取数据"); log.info("\t\t> 从 MySQL 获取数据");
return userMapper.getRecommendUser(); return userMapper.getRecommendUser();
@ -254,10 +223,4 @@ public class UserDAO {
log.info("\t\t> 从 MySQL 获取数据"); log.info("\t\t> 从 MySQL 获取数据");
return userMapper.getUserByPhone(phone); return userMapper.getUserByPhone(phone);
} }
public Long getUsersCount() {
log.info("\t> 执行 DAO 层 getUsersCount 方法");
log.info("\t\t> 从 MySQL 获取数据");
return userMapper.getUsersCount();
}
} }

View File

@ -53,7 +53,9 @@ public class ProcessException {
} }
@ExceptionHandler(value = MissingServletRequestParameterException.class) @ExceptionHandler(value = MissingServletRequestParameterException.class)
public ResponseEntity<BaseResponse> businessMissingServletRequestParameterException(MissingServletRequestParameterException e) { public ResponseEntity<BaseResponse> businessMissingServletRequestParameterException(
MissingServletRequestParameterException e
) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
return ResponseEntity return ResponseEntity
.status(400) .status(400)
@ -97,7 +99,9 @@ public class ProcessException {
* @return {@link ResponseEntity} * @return {@link ResponseEntity}
*/ */
@ExceptionHandler(value = MethodArgumentTypeMismatchException.class) @ExceptionHandler(value = MethodArgumentTypeMismatchException.class)
public ResponseEntity<BaseResponse> businessMethodArgumentTypeMismatchException(@NotNull MethodArgumentTypeMismatchException e) { public ResponseEntity<BaseResponse> businessMethodArgumentTypeMismatchException(
@NotNull MethodArgumentTypeMismatchException e
) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
return ResultUtil.error("ServerInternalError", 50002, "服务器内部错误"); return ResultUtil.error("ServerInternalError", 50002, "服务器内部错误");
} }

View File

@ -11,10 +11,9 @@ import java.util.List;
public interface ModuleMapper { public interface ModuleMapper {
List<ProjectWorkDO> getByProjectId(Integer projectId, Long userId, int is);
List<ProjectWorkDO> getByProjectId(Integer projectId, Long userId,int is); List<ProjectWorkDO> getBySysId(Integer sysId, Long userId, int is);
List<ProjectWorkDO> getBySysId(Integer sysId, Long userId,int is);
@Select("select principal_id from organize_oa.oa_project where id=#{projectId}") @Select("select principal_id from organize_oa.oa_project where id=#{projectId}")
Long getPidByProjectid(Integer projectId); Long getPidByProjectid(Integer projectId);

View File

@ -12,9 +12,9 @@ public interface PermissionMapper {
@Insert("INSERT INTO organize_oa.oa_role_permissions(rid, pid) VALUE (#{rid},#{pid})") @Insert("INSERT INTO organize_oa.oa_role_permissions(rid, pid) VALUE (#{rid},#{pid})")
void permissionAdd(Long rid, Long pid); void permissionAdd(Long rid, Long pid);
@Select("SELECT * FROM organize_oa.oa_permissions WHERE id IN " + @Select("SELECT * FROM organize_oa.oa_permissions WHERE id IN "
"(SELECT pid FROM organize_oa.oa_role_permissions WHERE rid IN " + + "(SELECT pid FROM organize_oa.oa_role_permissions WHERE rid IN "
"(SELECT rid FROM organize_oa.oa_role_user WHERE uid = #{uid}))") + "(SELECT rid FROM organize_oa.oa_role_user WHERE uid = #{uid}))")
List<PermissionDO> permissionUserPid(Long uid); List<PermissionDO> permissionUserPid(Long uid);
@Select("SELECT * FROM organize_oa.oa_permissions where id=#{id}") @Select("SELECT * FROM organize_oa.oa_permissions where id=#{id}")
@ -26,8 +26,8 @@ public interface PermissionMapper {
@Select("SELECT * FROM organize_oa.oa_permissions") @Select("SELECT * FROM organize_oa.oa_permissions")
List<PermissionDO> getAllPermission(); List<PermissionDO> getAllPermission();
@Update("UPDATE organize_oa.oa_permissions SET pid = #{pid}, name = #{name}, code = #{code}, " + @Update("UPDATE organize_oa.oa_permissions SET pid = #{pid}, name = #{name}, code = #{code}, "
"type = #{type} WHERE id = #{id}") + "type = #{type} WHERE id = #{id}")
boolean updatePermission(PermissionDO permissionDO); boolean updatePermission(PermissionDO permissionDO);
@Delete("DELETE FROM organize_oa.oa_permissions where id=#{pid}") @Delete("DELETE FROM organize_oa.oa_permissions where id=#{pid}")

View File

@ -17,17 +17,17 @@ import java.util.List;
@Mapper @Mapper
public interface ProjectMapper { public interface ProjectMapper {
@Insert("insert into organize_oa.oa_project " + @Insert("insert into organize_oa.oa_project "
"(name, description, principal_id, cycle,file,complete_time," + + "(name, description, principal_id, cycle,file,complete_time,"
"deadline,status,is_finish,tags,work_load) " + + "deadline,status,is_finish,tags,work_load) "
"value (#{name},#{description},#{principalId},#{cycle},#{file}" + + "value (#{name},#{description},#{principalId},#{cycle},#{file}"
",#{completeTime},#{deadline},#{status},#{isFinish},#{tags},#{workLoad})") + ",#{completeTime},#{deadline},#{status},#{isFinish},#{tags},#{workLoad})")
void projectAdd(ProjectInfoVO projectAdd); void projectAdd(ProjectInfoVO projectAdd);
@Insert("insert into organize_oa.oa_project_work (project_id, pid, name, principal_id," + @Insert("insert into organize_oa.oa_project_work (project_id, pid, name, principal_id,"
" work_load, description, cycle, complete_time, type, is_finish,status) " + + " work_load, description, cycle, complete_time, type, is_finish,status) "
"value (#{projectId},#{pid},#{name},#{principalId},#{workLoad}," + + "value (#{projectId},#{pid},#{name},#{principalId},#{workLoad},"
"#{description},#{cycle},#{completeTime},#{type},#{isFinish},#{status})") + "#{description},#{cycle},#{completeTime},#{type},#{isFinish},#{status})")
void projectWorkAdd(ProjectWorkVO projectWorkVO); void projectWorkAdd(ProjectWorkVO projectWorkVO);
void projectEdit(ProjectDO projectEdit); 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())") @Insert("insert into organize_oa.oa_config(value, data, created_at)value ('project_show',null,NOW())")
void insertProjectShow(); 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); 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<ProjectDO> getByIsfinish(Long userId, List<Integer> isFinish); List<ProjectDO> getByIsfinish(Long userId, List<Integer> isFinish);
List<ProjectDO> getByTags(Long userId, List<String> tags, List<Integer> isFinish); List<ProjectDO> getByTags(Long userId, List<String> tags, List<Integer> isFinish);
@ -74,13 +73,13 @@ public interface ProjectMapper {
@Update("UPDATE organize_oa.oa_project SET is_delete = 1 where id=#{id}") @Update("UPDATE organize_oa.oa_project SET is_delete = 1 where id=#{id}")
boolean deleteProject(Long id); boolean deleteProject(Long id);
@Insert("INSERT INTO organize_oa.oa_project_cutting (pid, name, tag, real_time) " + @Insert("INSERT INTO organize_oa.oa_project_cutting (pid, name, tag, real_time) "
"VALUES (#{pid}, #{name}, #{tag}, #{realTime})") + "VALUES (#{pid}, #{name}, #{tag}, #{realTime})")
void projectCuttingAdd(ProjectCuttingDO projectCuttingDO); void projectCuttingAdd(ProjectCuttingDO projectCuttingDO);
@Update("UPDATE organize_oa.oa_project_cutting SET name = #{name}, " + @Update("UPDATE organize_oa.oa_project_cutting SET name = #{name}, "
"tag = #{tag}, engineering = #{engineering}, estimated_time = #{estimatedTime}, " + + "tag = #{tag}, engineering = #{engineering}, estimated_time = #{estimatedTime}, "
"real_time = #{realTime}, updated_at = CURRENT_TIMESTAMP WHERE id = #{id}") + "real_time = #{realTime}, updated_at = CURRENT_TIMESTAMP WHERE id = #{id}")
boolean projectCuttingUpdate(ProjectCuttingDO projectCuttingDO); boolean projectCuttingUpdate(ProjectCuttingDO projectCuttingDO);
@Select("SELECT * FROM organize_oa.oa_project_cutting WHERE id = #{id}") @Select("SELECT * FROM organize_oa.oa_project_cutting WHERE id = #{id}")

View File

@ -29,16 +29,16 @@ public interface UserMapper {
@Select("SELECT * FROM organize_oa.oa_user WHERE job_id = #{jobId}") @Select("SELECT * FROM organize_oa.oa_user WHERE job_id = #{jobId}")
UserDO getUserByUserNum(String jobId); UserDO getUserByUserNum(String jobId);
@Insert("INSERT INTO organize_oa.oa_user " + @Insert("INSERT INTO organize_oa.oa_user "
"(job_id, username, password, address, phone, email, age, sex) " + + "(job_id, username, password, address, phone, email, age, sex) "
"VALUES (#{jobId}, #{username}, #{password}, #{address}, #{phone}, #{email}, #{age}, #{sex})") + "VALUES (#{jobId}, #{username}, #{password}, #{address}, #{phone}, #{email}, #{age}, #{sex})")
boolean insertUser(UserDO userDO); boolean insertUser(UserDO userDO);
@Update("UPDATE organize_oa.oa_user SET is_delete = true ,updated_at = CURRENT_TIMESTAMP WHERE id = #{id}") @Update("UPDATE organize_oa.oa_user SET is_delete = true ,updated_at = CURRENT_TIMESTAMP WHERE id = #{id}")
void userDelete(Long 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); void userLock(Long id, Long isLock);
@Select("SELECT * FROM organize_oa.oa_user WHERE id = #{id}") @Select("SELECT * FROM organize_oa.oa_user WHERE id = #{id}")
UserDO getUserById(Long 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}") @Select("SELECT * FROM organize_oa.oa_user ORDER BY `id` DESC LIMIT #{page},#{limit}")
List<UserDO> getAllUser(UserAllCurrentVO userAllCurrentVO); List<UserDO> getAllUser(UserAllCurrentVO userAllCurrentVO);
@Select("SELECT * FROM organize_oa.oa_user " + @Select("SELECT * FROM organize_oa.oa_user "
"WHERE username LIKE CONCAT('%',#{search},'%') " + + "WHERE username LIKE CONCAT('%',#{search},'%') "
"OR email LIKE CONCAT('%',#{search},'%') " + + "OR email LIKE CONCAT('%',#{search},'%') "
"OR phone LIKE CONCAT('%',#{search},'%') " + + "OR phone LIKE CONCAT('%',#{search},'%') "
"ORDER BY `id` LIMIT #{page},#{limit}") + "ORDER BY `id` LIMIT #{page},#{limit}")
List<UserDO> getAllUserBySearch(UserAllCurrentVO userAllCurrentVO); List<UserDO> getAllUserBySearch(UserAllCurrentVO userAllCurrentVO);
@Select("SELECT * FROM organize_oa.oa_role_user WHERE uid = #{userId}") @Select("SELECT * FROM organize_oa.oa_role_user WHERE uid = #{userId}")

View File

@ -14,6 +14,7 @@ import java.util.List;
* @since v1.1.0 * @since v1.1.0
* @version v1.1.0 * @version v1.1.0
* @author 176yunxuan * @author 176yunxuan
* @param <R> 对类型的泛型处理
*/ */
@Data @Data
@NoArgsConstructor @NoArgsConstructor

View File

@ -27,8 +27,10 @@ public class UserRegisterVO {
@NotBlank(message = "家乡不能为空") @NotBlank(message = "家乡不能为空")
private String address; private String address;
@NotBlank(message = "电话不能为空") @Pattern(
@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 = "电话格式错误") 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; private String phone;
@NotBlank(message = "邮箱不能为空") @NotBlank(message = "邮箱不能为空")

View File

@ -1,6 +1,5 @@
package com.jsl.oa.services; package com.jsl.oa.services;
import com.jsl.oa.model.dodata.UserDO;
import com.jsl.oa.model.vodata.UserAddVO; import com.jsl.oa.model.vodata.UserAddVO;
import com.jsl.oa.model.vodata.UserAllCurrentVO; import com.jsl.oa.model.vodata.UserAllCurrentVO;
import com.jsl.oa.model.vodata.UserEditProfileVO; import com.jsl.oa.model.vodata.UserEditProfileVO;
@ -18,15 +17,6 @@ import javax.servlet.http.HttpServletRequest;
* @since v1.1.0 * @since v1.1.0
*/ */
public interface UserService { public interface UserService {
/**
* <h2>根据用户名获取用户信息</h2>
* <hr/>
* 该方法用于根据用户名获取用户信息
*
* @param username 用户名
* @return 用户信息
*/
UserDO getUserInfoByUsername(String username);
/** /**
* <h2>用户账号删除</h2> * <h2>用户账号删除</h2>
@ -81,7 +71,7 @@ public interface UserService {
* @param phone 手机号 * @param phone 手机号
* @return {@link BaseResponse} * @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); BaseResponse userAdd(UserAddVO userAddVo, HttpServletRequest request);

View File

@ -23,6 +23,7 @@ import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.regex.Pattern; import java.util.regex.Pattern;
/** /**
@ -45,11 +46,6 @@ public class UserServiceImpl implements UserService {
private final RoleDAO roleDAO; private final RoleDAO roleDAO;
private final PermissionDAO permissionDAO; private final PermissionDAO permissionDAO;
@Override
public UserDO getUserInfoByUsername(String username) {
return userDAO.getUserInfoByUsername(username);
}
@Override @Override
public BaseResponse userDelete(HttpServletRequest request, Long id) { public BaseResponse userDelete(HttpServletRequest request, Long id) {
log.info("\t> 执行 Service 层 UserService.userDelete 方法"); log.info("\t> 执行 Service 层 UserService.userDelete 方法");
@ -80,7 +76,9 @@ public class UserServiceImpl implements UserService {
if (userDAO.isExistUser(id)) { if (userDAO.isExistUser(id)) {
userDAO.userLock(id, isLock); userDAO.userLock(id, isLock);
return ResultUtil.success("更改成功"); return ResultUtil.success("更改成功");
} else return ResultUtil.error(ErrorCode.USER_NOT_EXIST); } else {
return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
}
} }
@Override @Override
@ -131,7 +129,13 @@ public class UserServiceImpl implements UserService {
@Override @Override
@CheckUserAbleToUse @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 方法"); log.info("\t> 执行 Service 层 UserService.userCurrent 方法");
if (id == null && username == null && email == null && phone == null) { if (id == null && username == null && email == null && phone == null) {
// Token获取信息 // Token获取信息
@ -150,13 +154,13 @@ public class UserServiceImpl implements UserService {
if (!getPermission.contains("user.current")) { if (!getPermission.contains("user.current")) {
log.info("\t> 用户权限不足,检查是否是管理员"); log.info("\t> 用户权限不足,检查是否是管理员");
// 检查用户是管理员 // 检查用户是管理员
RoleUserDO roleUserDO = roleDAO.roleMapper.getRoleUserByUid(Processing.getAuthHeaderToUserId(request)); RoleUserDO roleUserDO = roleDAO
if (roleUserDO != null) { .getRoleUserByUid(Objects.requireNonNull(Processing.getAuthHeaderToUserId(request)));
RoleDO roleDO = roleDAO.roleMapper.getRoleByRoleName("admin"); if (roleUserDO == null) {
if (!roleUserDO.getRid().equals(roleDO.getId())) {
return ResultUtil.error(ErrorCode.NOT_PERMISSION); return ResultUtil.error(ErrorCode.NOT_PERMISSION);
} }
} else { RoleDO roleDO = roleDAO.roleMapper.getRoleByRoleName("admin");
if (!roleUserDO.getRid().equals(roleDO.getId())) {
return ResultUtil.error(ErrorCode.NOT_PERMISSION); return ResultUtil.error(ErrorCode.NOT_PERMISSION);
} }
} }
@ -216,7 +220,9 @@ public class UserServiceImpl implements UserService {
} else { } else {
return ResultUtil.error(ErrorCode.DATABASE_INSERT_ERROR); return ResultUtil.error(ErrorCode.DATABASE_INSERT_ERROR);
} }
} else return ResultUtil.error(ErrorCode.USER_EXIST); } else {
return ResultUtil.error(ErrorCode.USER_EXIST);
}
} }

View File

@ -182,9 +182,9 @@ public class Processing {
/** /**
* 检查用户是否是老师 * 检查用户是否是老师
* *
* @param request * @param request 请求
* @param roleMapper * @param roleMapper RoleMapper
* @return * @return 如果为 true 是老师false 不是老师
*/ */
public static @NotNull Boolean checkUserIsTeacher(HttpServletRequest request, @NotNull RoleMapper roleMapper) { public static @NotNull Boolean checkUserIsTeacher(HttpServletRequest request, @NotNull RoleMapper roleMapper) {
RoleUserDO roleUserDO = roleMapper.getRoleUserByUid(Processing.getAuthHeaderToUserId(request)); RoleUserDO roleUserDO = roleMapper.getRoleUserByUid(Processing.getAuthHeaderToUserId(request));
@ -205,11 +205,16 @@ public class Processing {
/** /**
* @Description: VO类与实体类属性赋值 * 将属性从源对象复制到目标对象
* @Date: 2024/1/18 *
* @Param source: * @param <T> 目标对象的类型
* @Param dest: * @param <S> 源对象的类型
**/ * @param source 从中复制属性的源对象
* @param target 属性将复制到的目标对象
* @return 复制属性后的目标对象
* @throws ClassCopyException 如果在复制过程中出现错误
*/
@Contract(pure = true)
public static <T, S> T copyProperties(@NotNull S source, @NotNull T target) throws ClassCopyException { public static <T, S> T copyProperties(@NotNull S source, @NotNull T target) throws ClassCopyException {
Class<?> sourceClass = source.getClass(); Class<?> sourceClass = source.getClass();
Class<?> targetClass = target.getClass(); Class<?> targetClass = target.getClass();
@ -279,7 +284,11 @@ public class Processing {
* @param userDO 用户信息 * @param userDO 用户信息
* @return {@link BaseResponse} * @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(); UserCurrentBackVO.UserCurrent userCurrent = new UserCurrentBackVO.UserCurrent();
// 获取用户角色 // 获取用户角色
RoleUserDO getUserRole = roleDAO.getRoleUserByUid(userDO.getId()); RoleUserDO getUserRole = roleDAO.getRoleUserByUid(userDO.getId());
@ -299,7 +308,29 @@ public class Processing {
// 获取权限列表信息 // 获取权限列表信息
getPermissionForString = permissionDAO.getPermission(userDO.getId()); 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; return userCurrent;
} }