feature #1

Merged
XiaoLFeng merged 3 commits from feature into master 2024-01-24 22:14:03 +08:00
9 changed files with 68 additions and 21 deletions

21
Jenkinsfile vendored Normal file
View File

@ -0,0 +1,21 @@
pipeline {
environment {
QODANA_TOKEN=credentials('eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJvcmdhbml6YXRpb24iOiJwNTZYRyIsInByb2plY3QiOiIzd1JQNyIsInRva2VuIjoiQWFxVkoifQ.R3TH0E2LgVpBorJ1wyIx3zjIM1p4j-taEEShZKhH2l8')
}
agent {
docker {
args '''
-v "${WORKSPACE}":/data/project
--entrypoint=""
'''
image 'jetbrains/qodana-<linter>'
}
}
stages {
stage('Qodana') {
steps {
sh '''qodana'''
}
}
}
}

View File

@ -130,23 +130,27 @@ public class UserDAO {
userMapper.userEditProfile(userEditProfileVO); userMapper.userEditProfile(userEditProfileVO);
} }
public List<UserCurrentBackVO> userCurrentAll(UserAllCurrentVO userAllCurrentVO) { public UserCurrentBackVO userCurrentAll(UserAllCurrentVO userAllCurrentVO) {
log.info("\t> 执行 DAO 层 UserDAO.userCurrentAll 方法"); log.info("\t> 执行 DAO 层 UserDAO.userCurrentAll 方法");
log.info("\t\t> 从 MySQL 获取数据"); log.info("\t\t> 从 MySQL 获取数据");
List<UserDO> userCurrentDO = userMapper.getAllUser(userAllCurrentVO); List<UserDO> userCurrentDO = userMapper.getAllUser(userAllCurrentVO);
List<UserCurrentBackVO> userCurrentDOList = new ArrayList<>(); UserCurrentBackVO userCurrentBackVO = new UserCurrentBackVO();
userCurrentDO.forEach(it -> userCurrentDOList.add(Processing.returnUserInfo(it, roleDAO, permissionDAO))); userCurrentBackVO.setUsers(new ArrayList<>())
return userCurrentDOList; .setCount(userMapper.getUsersCount());
userCurrentDO.forEach(it -> userCurrentBackVO.getUsers().add(Processing.returnUserInfo(it, roleDAO, permissionDAO)));
return userCurrentBackVO;
} }
public List<UserCurrentBackVO> userCurrentAllLike(UserAllCurrentVO userAllCurrentVO) { public UserCurrentBackVO userCurrentAllLike(UserAllCurrentVO userAllCurrentVO) {
log.info("\t> 执行 DAO 层 UserDAO.userCurrentAllLike 方法"); log.info("\t> 执行 DAO 层 UserDAO.userCurrentAllLike 方法");
log.info("\t\t> 从 MySQL 获取数据"); log.info("\t\t> 从 MySQL 获取数据");
List<UserDO> userCurrentDO = userMapper.getAllUserBySearch(userAllCurrentVO); List<UserDO> userCurrentDO = userMapper.getAllUserBySearch(userAllCurrentVO);
List<UserCurrentBackVO> userCurrentDOList = new ArrayList<>(); UserCurrentBackVO userCurrentBackVO = new UserCurrentBackVO();
userCurrentDO.forEach(it -> userCurrentDOList.add(Processing.returnUserInfo(it, roleDAO, permissionDAO))); userCurrentBackVO.setUsers(new ArrayList<>())
return userCurrentDOList; .setCount(userMapper.getUsersCount());
userCurrentDO.forEach(it -> userCurrentBackVO.getUsers().add(Processing.returnUserInfo(it, roleDAO, permissionDAO)));
return userCurrentBackVO;
} }
@ -250,4 +254,10 @@ 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

@ -12,7 +12,7 @@ public interface RoleMapper {
@Insert("insert into organize_oa.oa_role_user (uid, rid) VALUE (#{uid},#{rid})") @Insert("insert into organize_oa.oa_role_user (uid, rid) VALUE (#{uid},#{rid})")
void roleAddUser(Long uid, Long rid); void roleAddUser(Long uid, Long rid);
@Select("INSERT INTO organize_oa.oa_role (role_name) VALUES (#{roleName})") @Select("INSERT INTO organize_oa.oa_role (role_name,display_name) VALUES (#{roleName}, ${display_name})")
void roleAdd(RoleDO roleDO); void roleAdd(RoleDO roleDO);
@Delete("delete from organize_oa.oa_role_user where uid=#{uid}") @Delete("delete from organize_oa.oa_role_user where uid=#{uid}")

View File

@ -91,4 +91,7 @@ public interface UserMapper {
@Select("SELECT is_delete FROM organize_oa.oa_user WHERE id = #{id}") @Select("SELECT is_delete FROM organize_oa.oa_user WHERE id = #{id}")
boolean userGetDelete(Long id); boolean userGetDelete(Long id);
@Select("SELECT COUNT(*) FROM organize_oa.oa_user")
Long getUsersCount();
} }

View File

@ -18,9 +18,16 @@ import java.util.List;
@Data @Data
@Accessors(chain = true) @Accessors(chain = true)
public class UserCurrentBackVO { public class UserCurrentBackVO {
private ReturnUser user; private Long count;
private ReturnUserRole role; private List<UserCurrent> users;
private List<String> permission;
@Data
@Accessors(chain = true)
public static class UserCurrent {
private ReturnUser user;
private ReturnUserRole role;
private List<String> permission;
}
@Data @Data
@Accessors(chain = true) @Accessors(chain = true)

View File

@ -10,6 +10,8 @@ import javax.validation.constraints.Pattern;
@Data @Data
public class UserEditVO { public class UserEditVO {
@NotNull
private Long rid;
@NotNull @NotNull
private Long id; private Long id;

View File

@ -74,6 +74,9 @@ public class AuthServiceImpl implements AuthService {
// 插入数据 // 插入数据
if (userMapper.insertUser(userDO)) { if (userMapper.insertUser(userDO)) {
userDO.setPassword(null); userDO.setPassword(null);
//默认角色为学生
UserDO userDO1 = userMapper.getUserByUserNum(userDO.getUsername());
roleDAO.addRoleUser(userDO1.getId(), 2L);
return ResultUtil.success("注册成功", userDO); return ResultUtil.success("注册成功", userDO);
} else { } else {
return ResultUtil.error(ErrorCode.DATABASE_INSERT_ERROR); return ResultUtil.error(ErrorCode.DATABASE_INSERT_ERROR);

View File

@ -110,23 +110,23 @@ public class UserServiceImpl implements UserService {
userAllCurrentVO.setPage((userAllCurrentVO.getPage() - 1) * userAllCurrentVO.getLimit()); userAllCurrentVO.setPage((userAllCurrentVO.getPage() - 1) * userAllCurrentVO.getLimit());
} }
// 检查是否处于模糊查询 // 检查是否处于模糊查询
List<UserCurrentBackVO> userAllCurrentVOList; UserCurrentBackVO userCurrentBackVO;
if (userAllCurrentVO.getSearch() != null && !userAllCurrentVO.getSearch().isEmpty()) { if (userAllCurrentVO.getSearch() != null && !userAllCurrentVO.getSearch().isEmpty()) {
if (Pattern.matches("^[0-9A-Za-z_@]+$", userAllCurrentVO.getSearch())) { if (Pattern.matches("^[0-9A-Za-z_@]+$", userAllCurrentVO.getSearch())) {
userAllCurrentVOList = userDAO.userCurrentAllLike(userAllCurrentVO); userCurrentBackVO = userDAO.userCurrentAllLike(userAllCurrentVO);
} else { } else {
ArrayList<String> arrayList = new ArrayList<>(); ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("只允许 0-9、A-Z、a-z、_和@进行查询"); arrayList.add("只允许 0-9、A-Z、a-z、_和@进行查询");
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, arrayList); return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, arrayList);
} }
} else { } else {
userAllCurrentVOList = userDAO.userCurrentAll(userAllCurrentVO); userCurrentBackVO = userDAO.userCurrentAll(userAllCurrentVO);
} }
// 检查是否存在 Role 筛选 // 检查是否存在 Role 筛选
if (userAllCurrentVO.getRole() != null) { if (userAllCurrentVO.getRole() != null) {
userAllCurrentVOList.removeIf(it -> !userAllCurrentVO.getRole().equals(it.getRole().getRid())); userCurrentBackVO.getUsers().removeIf(it -> !userAllCurrentVO.getRole().equals(it.getRole().getRid()));
} }
return ResultUtil.success(userAllCurrentVOList); return ResultUtil.success(userCurrentBackVO);
} }
@Override @Override
@ -249,6 +249,7 @@ public class UserServiceImpl implements UserService {
.setAccountNoLocked(userEditVO.getIsLocked()); .setAccountNoLocked(userEditVO.getIsLocked());
//向数据库中修改属性 //向数据库中修改属性
userDAO.userEdit(userDO); userDAO.userEdit(userDO);
roleDAO.roleChangeUser(userEditVO.getId(),userEditVO.getRid());
return ResultUtil.success("用户信息修改成功"); return ResultUtil.success("用户信息修改成功");
} }

View File

@ -259,8 +259,8 @@ public class Processing {
* @param userDO 用户信息 * @param userDO 用户信息
* @return {@link BaseResponse} * @return {@link BaseResponse}
*/ */
public static @NotNull UserCurrentBackVO returnUserInfo(@NotNull UserDO userDO, RoleDAO roleDAO, PermissionDAO permissionDAO) { public static @NotNull UserCurrentBackVO.UserCurrent returnUserInfo(@NotNull UserDO userDO, RoleDAO roleDAO, PermissionDAO permissionDAO) {
UserCurrentBackVO userCurrentBackVO = new UserCurrentBackVO(); UserCurrentBackVO.UserCurrent userCurrent = new UserCurrentBackVO.UserCurrent();
// 获取用户角色 // 获取用户角色
RoleUserDO getUserRole = roleDAO.getRoleUserByUid(userDO.getId()); RoleUserDO getUserRole = roleDAO.getRoleUserByUid(userDO.getId());
if (getUserRole == null) { if (getUserRole == null) {
@ -280,7 +280,7 @@ public class Processing {
// 获取权限列表信息 // 获取权限列表信息
getPermissionForString = permissionDAO.getPermission(userDO.getId()); getPermissionForString = permissionDAO.getPermission(userDO.getId());
} }
userCurrentBackVO.setUser(new UserCurrentBackVO.ReturnUser() userCurrent.setUser(new UserCurrentBackVO.ReturnUser()
.setId(userDO.getId()) .setId(userDO.getId())
.setJobId(userDO.getJobId()) .setJobId(userDO.getJobId())
.setUsername(userDO.getUsername()) .setUsername(userDO.getUsername())
@ -304,7 +304,7 @@ public class Processing {
.setRole(new UserCurrentBackVO.ReturnUserRole() .setRole(new UserCurrentBackVO.ReturnUserRole()
.setRid(getUserRole.getRid())) .setRid(getUserRole.getRid()))
.setPermission(getPermissionForString); .setPermission(getPermissionForString);
return userCurrentBackVO; return userCurrent;
} }
public static List<UserDO> orderUser(List<UserDO> userDOS,String order,String orderBy){ public static List<UserDO> orderUser(List<UserDO> userDOS,String order,String orderBy){