mirror of
https://github.com/continew-org/continew-admin.git
synced 2025-10-28 04:57:17 +08:00
优化:优化模型类命名(为数据模型类添加 DO 后缀),并优化所有模型相关变量命名
This commit is contained in:
@@ -29,7 +29,7 @@ import top.charles7c.cnadmin.common.model.dto.LoginUser;
|
||||
import top.charles7c.cnadmin.common.util.SecureUtils;
|
||||
import top.charles7c.cnadmin.common.util.helper.LoginHelper;
|
||||
import top.charles7c.cnadmin.common.util.validate.CheckUtils;
|
||||
import top.charles7c.cnadmin.system.model.entity.SysUser;
|
||||
import top.charles7c.cnadmin.system.model.entity.UserDO;
|
||||
import top.charles7c.cnadmin.system.service.UserService;
|
||||
|
||||
/**
|
||||
@@ -46,14 +46,14 @@ public class LoginServiceImpl implements LoginService {
|
||||
|
||||
@Override
|
||||
public String login(String username, String password) {
|
||||
SysUser sysUser = userService.getByUsername(username);
|
||||
CheckUtils.throwIfNull(sysUser, "用户名或密码错误");
|
||||
Long userId = sysUser.getUserId();
|
||||
CheckUtils.throwIfNotEqual(SecureUtils.md5Salt(password, userId.toString()), sysUser.getPassword(), "用户名或密码错误");
|
||||
CheckUtils.throwIfEqual(DisEnableStatusEnum.DISABLE, sysUser.getStatus(), "此账号已被禁用,如有疑问,请联系管理员");
|
||||
UserDO userDO = userService.getByUsername(username);
|
||||
CheckUtils.throwIfNull(userDO, "用户名或密码错误");
|
||||
Long userId = userDO.getUserId();
|
||||
CheckUtils.throwIfNotEqual(SecureUtils.md5Salt(password, userId.toString()), userDO.getPassword(), "用户名或密码错误");
|
||||
CheckUtils.throwIfEqual(DisEnableStatusEnum.DISABLE, userDO.getStatus(), "此账号已被禁用,如有疑问,请联系管理员");
|
||||
|
||||
// 登录
|
||||
LoginUser loginUser = BeanUtil.copyProperties(sysUser, LoginUser.class);
|
||||
LoginUser loginUser = BeanUtil.copyProperties(userDO, LoginUser.class);
|
||||
LoginHelper.login(loginUser);
|
||||
|
||||
// 返回令牌
|
||||
|
||||
@@ -18,7 +18,7 @@ package top.charles7c.cnadmin.system.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
import top.charles7c.cnadmin.system.model.entity.SysDept;
|
||||
import top.charles7c.cnadmin.system.model.entity.DeptDO;
|
||||
|
||||
/**
|
||||
* 部门 Mapper
|
||||
@@ -26,4 +26,4 @@ import top.charles7c.cnadmin.system.model.entity.SysDept;
|
||||
* @author Charles7c
|
||||
* @since 2023/1/22 17:56
|
||||
*/
|
||||
public interface DeptMapper extends BaseMapper<SysDept> {}
|
||||
public interface DeptMapper extends BaseMapper<DeptDO> {}
|
||||
|
||||
@@ -18,7 +18,7 @@ package top.charles7c.cnadmin.system.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
import top.charles7c.cnadmin.system.model.entity.SysUser;
|
||||
import top.charles7c.cnadmin.system.model.entity.UserDO;
|
||||
|
||||
/**
|
||||
* 用户 Mapper
|
||||
@@ -26,4 +26,4 @@ import top.charles7c.cnadmin.system.model.entity.SysUser;
|
||||
* @author Charles7c
|
||||
* @since 2022/12/22 21:47
|
||||
*/
|
||||
public interface UserMapper extends BaseMapper<SysUser> {}
|
||||
public interface UserMapper extends BaseMapper<UserDO> {}
|
||||
|
||||
@@ -32,7 +32,7 @@ import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
|
||||
*/
|
||||
@Data
|
||||
@TableName("sys_dept")
|
||||
public class SysDept extends BaseEntity {
|
||||
public class DeptDO extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@@ -35,7 +35,7 @@ import top.charles7c.cnadmin.common.enums.GenderEnum;
|
||||
*/
|
||||
@Data
|
||||
@TableName("sys_user")
|
||||
public class SysUser extends BaseEntity {
|
||||
public class UserDO extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@@ -27,14 +27,14 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
/**
|
||||
* 创建部门信息
|
||||
* 创建或修改部门信息
|
||||
*
|
||||
* @author Charles7c
|
||||
* @since 2023/1/24 00:21
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "创建部门信息")
|
||||
public class CreateDeptRequest implements Serializable {
|
||||
@Schema(description = "创建或修改部门信息")
|
||||
public class DeptRequest implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@@ -23,7 +23,7 @@ import cn.hutool.core.lang.tree.Tree;
|
||||
import top.charles7c.cnadmin.common.base.BaseService;
|
||||
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.cnadmin.system.model.query.DeptQuery;
|
||||
import top.charles7c.cnadmin.system.model.request.CreateDeptRequest;
|
||||
import top.charles7c.cnadmin.system.model.request.DeptRequest;
|
||||
import top.charles7c.cnadmin.system.model.vo.DeptVO;
|
||||
|
||||
/**
|
||||
@@ -32,7 +32,7 @@ import top.charles7c.cnadmin.system.model.vo.DeptVO;
|
||||
* @author Charles7c
|
||||
* @since 2023/1/22 17:54
|
||||
*/
|
||||
public interface DeptService extends BaseService<DeptVO, DeptVO, DeptQuery, CreateDeptRequest, CreateDeptRequest> {
|
||||
public interface DeptService extends BaseService<DeptVO, DeptVO, DeptQuery, DeptRequest, DeptRequest> {
|
||||
|
||||
/**
|
||||
* 构建树
|
||||
|
||||
@@ -18,7 +18,7 @@ package top.charles7c.cnadmin.system.service;
|
||||
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import top.charles7c.cnadmin.system.model.entity.SysUser;
|
||||
import top.charles7c.cnadmin.system.model.entity.UserDO;
|
||||
|
||||
/**
|
||||
* 用户业务接口
|
||||
@@ -35,7 +35,7 @@ public interface UserService {
|
||||
* 用户名
|
||||
* @return 用户信息
|
||||
*/
|
||||
SysUser getByUsername(String username);
|
||||
UserDO getByUsername(String username);
|
||||
|
||||
/**
|
||||
* 上传头像
|
||||
@@ -54,7 +54,7 @@ public interface UserService {
|
||||
* @param user
|
||||
* 用户信息
|
||||
*/
|
||||
void update(SysUser user);
|
||||
void update(UserDO user);
|
||||
|
||||
/**
|
||||
* 修改密码
|
||||
@@ -87,5 +87,5 @@ public interface UserService {
|
||||
* 用户ID
|
||||
* @return 用户信息
|
||||
*/
|
||||
SysUser getById(Long userId);
|
||||
UserDO getById(Long userId);
|
||||
}
|
||||
|
||||
@@ -40,9 +40,9 @@ import top.charles7c.cnadmin.common.util.TreeUtils;
|
||||
import top.charles7c.cnadmin.common.util.helper.QueryHelper;
|
||||
import top.charles7c.cnadmin.common.util.validate.CheckUtils;
|
||||
import top.charles7c.cnadmin.system.mapper.DeptMapper;
|
||||
import top.charles7c.cnadmin.system.model.entity.SysDept;
|
||||
import top.charles7c.cnadmin.system.model.entity.DeptDO;
|
||||
import top.charles7c.cnadmin.system.model.query.DeptQuery;
|
||||
import top.charles7c.cnadmin.system.model.request.CreateDeptRequest;
|
||||
import top.charles7c.cnadmin.system.model.request.DeptRequest;
|
||||
import top.charles7c.cnadmin.system.model.vo.DeptVO;
|
||||
import top.charles7c.cnadmin.system.service.DeptService;
|
||||
import top.charles7c.cnadmin.system.service.UserService;
|
||||
@@ -55,21 +55,20 @@ import top.charles7c.cnadmin.system.service.UserService;
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class DeptServiceImpl
|
||||
extends BaseServiceImpl<DeptMapper, SysDept, DeptVO, DeptVO, DeptQuery, CreateDeptRequest, CreateDeptRequest>
|
||||
implements DeptService {
|
||||
public class DeptServiceImpl extends
|
||||
BaseServiceImpl<DeptMapper, DeptDO, DeptVO, DeptVO, DeptQuery, DeptRequest, DeptRequest> implements DeptService {
|
||||
|
||||
private final UserService userService;
|
||||
|
||||
@Override
|
||||
public List<DeptVO> list(DeptQuery query) {
|
||||
QueryWrapper<SysDept> queryWrapper = QueryHelper.build(query);
|
||||
queryWrapper.lambda().orderByAsc(SysDept::getParentId).orderByAsc(SysDept::getDeptSort)
|
||||
.orderByDesc(SysDept::getUpdateTime);
|
||||
List<SysDept> list = baseMapper.selectList(queryWrapper);
|
||||
List<DeptVO> voList = BeanUtil.copyToList(list, DeptVO.class);
|
||||
voList.forEach(this::fill);
|
||||
return voList;
|
||||
QueryWrapper<DeptDO> queryWrapper = QueryHelper.build(query);
|
||||
queryWrapper.lambda().orderByAsc(DeptDO::getParentId).orderByAsc(DeptDO::getDeptSort)
|
||||
.orderByDesc(DeptDO::getUpdateTime);
|
||||
List<DeptDO> deptList = baseMapper.selectList(queryWrapper);
|
||||
List<DeptVO> list = BeanUtil.copyToList(deptList, DeptVO.class);
|
||||
list.forEach(this::fill);
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -79,8 +78,8 @@ public class DeptServiceImpl
|
||||
}
|
||||
|
||||
// 去除重复子部门列表
|
||||
List<DeptVO> deDuplicationDeptList = deDuplication(list);
|
||||
return deDuplicationDeptList.stream().map(d -> d.setChildren(this.getChildren(d, list)))
|
||||
List<DeptVO> deDuplicationList = deDuplication(list);
|
||||
return deDuplicationList.stream().map(d -> d.setChildren(this.getChildren(d, list)))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@@ -92,7 +91,7 @@ public class DeptServiceImpl
|
||||
* @return 去重后部门列表
|
||||
*/
|
||||
private List<DeptVO> deDuplication(List<DeptVO> list) {
|
||||
List<DeptVO> deptList = new ArrayList<>();
|
||||
List<DeptVO> deDuplicationList = new ArrayList<>();
|
||||
for (DeptVO outerDept : list) {
|
||||
boolean flag = true;
|
||||
for (DeptVO innerDept : list) {
|
||||
@@ -104,10 +103,10 @@ public class DeptServiceImpl
|
||||
}
|
||||
|
||||
if (flag) {
|
||||
deptList.add(outerDept);
|
||||
deDuplicationList.add(outerDept);
|
||||
}
|
||||
}
|
||||
return deptList;
|
||||
return deDuplicationList;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -136,49 +135,50 @@ public class DeptServiceImpl
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Long create(CreateDeptRequest request) {
|
||||
public Long create(DeptRequest request) {
|
||||
String deptName = request.getDeptName();
|
||||
boolean isExist = this.checkDeptNameExist(deptName, request.getParentId(), null);
|
||||
CheckUtils.throwIf(() -> isExist, String.format("新增失败,'%s'已存在", deptName));
|
||||
|
||||
// 保存部门信息
|
||||
SysDept sysDept = BeanUtil.copyProperties(request, SysDept.class);
|
||||
sysDept.setStatus(DisEnableStatusEnum.ENABLE);
|
||||
baseMapper.insert(sysDept);
|
||||
return sysDept.getDeptId();
|
||||
DeptDO deptDO = BeanUtil.copyProperties(request, DeptDO.class);
|
||||
deptDO.setStatus(DisEnableStatusEnum.ENABLE);
|
||||
baseMapper.insert(deptDO);
|
||||
return deptDO.getDeptId();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateStatus(List<Long> ids, DisEnableStatusEnum status) {
|
||||
baseMapper.update(null,
|
||||
Wrappers.<SysDept>lambdaUpdate().set(SysDept::getStatus, status).in(SysDept::getDeptId, ids));
|
||||
Wrappers.<DeptDO>lambdaUpdate().set(DeptDO::getStatus, status).in(DeptDO::getDeptId, ids));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void delete(List<Long> ids) {
|
||||
super.delete(ids);
|
||||
baseMapper.delete(Wrappers.<SysDept>lambdaQuery().in(SysDept::getParentId, ids));
|
||||
baseMapper.delete(Wrappers.<DeptDO>lambdaQuery().in(DeptDO::getParentId, ids));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkDeptNameExist(String deptName, Long parentId, Long deptId) {
|
||||
return baseMapper.exists(Wrappers.<SysDept>lambdaQuery().eq(SysDept::getDeptName, deptName)
|
||||
.eq(SysDept::getParentId, parentId).ne(deptId != null, SysDept::getDeptId, deptId));
|
||||
return baseMapper.exists(Wrappers.<DeptDO>lambdaQuery().eq(DeptDO::getDeptName, deptName)
|
||||
.eq(DeptDO::getParentId, parentId).ne(deptId != null, DeptDO::getDeptId, deptId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 填充数据
|
||||
*
|
||||
* @param vo
|
||||
* VO
|
||||
* @param deptVO
|
||||
* 部门信息
|
||||
*/
|
||||
private void fill(DeptVO vo) {
|
||||
Long updateUser = vo.getUpdateUser();
|
||||
private void fill(DeptVO deptVO) {
|
||||
Long updateUser = deptVO.getUpdateUser();
|
||||
if (updateUser == null) {
|
||||
return;
|
||||
}
|
||||
vo.setUpdateUserString(ExceptionUtils.exToNull(() -> userService.getById(vo.getUpdateUser())).getNickname());
|
||||
deptVO.setUpdateUserString(
|
||||
ExceptionUtils.exToNull(() -> userService.getById(deptVO.getUpdateUser())).getNickname());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ import top.charles7c.cnadmin.common.util.SecureUtils;
|
||||
import top.charles7c.cnadmin.common.util.helper.LoginHelper;
|
||||
import top.charles7c.cnadmin.common.util.validate.CheckUtils;
|
||||
import top.charles7c.cnadmin.system.mapper.UserMapper;
|
||||
import top.charles7c.cnadmin.system.model.entity.SysUser;
|
||||
import top.charles7c.cnadmin.system.model.entity.UserDO;
|
||||
import top.charles7c.cnadmin.system.service.UserService;
|
||||
|
||||
/**
|
||||
@@ -58,8 +58,8 @@ public class UserServiceImpl implements UserService {
|
||||
private final LocalStorageProperties localStorageProperties;
|
||||
|
||||
@Override
|
||||
public SysUser getByUsername(String username) {
|
||||
return userMapper.selectOne(Wrappers.<SysUser>lambdaQuery().eq(SysUser::getUsername, username));
|
||||
public UserDO getByUsername(String username) {
|
||||
return userMapper.selectOne(Wrappers.<UserDO>lambdaQuery().eq(UserDO::getUsername, username));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -82,7 +82,7 @@ public class UserServiceImpl implements UserService {
|
||||
// 更新用户头像
|
||||
String newAvatar = newAvatarFile.getName();
|
||||
userMapper.update(null,
|
||||
new LambdaUpdateWrapper<SysUser>().set(SysUser::getAvatar, newAvatar).eq(SysUser::getUserId, userId));
|
||||
new LambdaUpdateWrapper<UserDO>().set(UserDO::getAvatar, newAvatar).eq(UserDO::getUserId, userId));
|
||||
|
||||
// 删除原头像
|
||||
LoginUser loginUser = LoginHelper.getLoginUser();
|
||||
@@ -99,13 +99,13 @@ public class UserServiceImpl implements UserService {
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(SysUser user) {
|
||||
public void update(UserDO user) {
|
||||
userMapper.updateById(user);
|
||||
|
||||
// 更新登录用户信息
|
||||
SysUser sysUser = this.getById(user.getUserId());
|
||||
UserDO userDO = this.getById(user.getUserId());
|
||||
LoginUser loginUser = LoginHelper.getLoginUser();
|
||||
BeanUtil.copyProperties(sysUser, loginUser);
|
||||
BeanUtil.copyProperties(userDO, loginUser);
|
||||
LoginHelper.updateLoginUser(loginUser);
|
||||
}
|
||||
|
||||
@@ -113,16 +113,15 @@ public class UserServiceImpl implements UserService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updatePassword(String oldPassword, String newPassword, Long userId) {
|
||||
CheckUtils.throwIfEqual(newPassword, oldPassword, "新密码不能与当前密码相同");
|
||||
SysUser sysUser = this.getById(userId);
|
||||
CheckUtils.throwIfNotEqual(SecureUtils.md5Salt(oldPassword, userId.toString()), sysUser.getPassword(),
|
||||
"当前密码错误");
|
||||
UserDO userDO = this.getById(userId);
|
||||
CheckUtils.throwIfNotEqual(SecureUtils.md5Salt(oldPassword, userId.toString()), userDO.getPassword(), "当前密码错误");
|
||||
|
||||
// 更新密码和密码重置时间
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
userMapper.update(null,
|
||||
new LambdaUpdateWrapper<SysUser>()
|
||||
.set(SysUser::getPassword, SecureUtils.md5Salt(newPassword, userId.toString()))
|
||||
.set(SysUser::getPwdResetTime, now).eq(SysUser::getUserId, userId));
|
||||
new LambdaUpdateWrapper<UserDO>()
|
||||
.set(UserDO::getPassword, SecureUtils.md5Salt(newPassword, userId.toString()))
|
||||
.set(UserDO::getPwdResetTime, now).eq(UserDO::getUserId, userId));
|
||||
|
||||
// 更新登录用户信息
|
||||
LoginUser loginUser = LoginHelper.getLoginUser();
|
||||
@@ -133,16 +132,16 @@ public class UserServiceImpl implements UserService {
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateEmail(String newEmail, String currentPassword, Long userId) {
|
||||
SysUser sysUser = this.getById(userId);
|
||||
CheckUtils.throwIfNotEqual(SecureUtils.md5Salt(currentPassword, userId.toString()), sysUser.getPassword(),
|
||||
UserDO userDO = this.getById(userId);
|
||||
CheckUtils.throwIfNotEqual(SecureUtils.md5Salt(currentPassword, userId.toString()), userDO.getPassword(),
|
||||
"当前密码错误");
|
||||
Long count = userMapper.selectCount(Wrappers.<SysUser>lambdaQuery().eq(SysUser::getEmail, newEmail));
|
||||
Long count = userMapper.selectCount(Wrappers.<UserDO>lambdaQuery().eq(UserDO::getEmail, newEmail));
|
||||
CheckUtils.throwIf(() -> count > 0, "邮箱已绑定其他账号,请更换其他邮箱");
|
||||
CheckUtils.throwIfEqual(newEmail, sysUser.getEmail(), "新邮箱不能与当前邮箱相同");
|
||||
CheckUtils.throwIfEqual(newEmail, userDO.getEmail(), "新邮箱不能与当前邮箱相同");
|
||||
|
||||
// 更新邮箱
|
||||
userMapper.update(null,
|
||||
new LambdaUpdateWrapper<SysUser>().set(SysUser::getEmail, newEmail).eq(SysUser::getUserId, userId));
|
||||
new LambdaUpdateWrapper<UserDO>().set(UserDO::getEmail, newEmail).eq(UserDO::getUserId, userId));
|
||||
|
||||
// 更新登录用户信息
|
||||
LoginUser loginUser = LoginHelper.getLoginUser();
|
||||
@@ -151,9 +150,9 @@ public class UserServiceImpl implements UserService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysUser getById(Long userId) {
|
||||
SysUser sysUser = userMapper.selectById(userId);
|
||||
CheckUtils.throwIfNull(sysUser, String.format("ID为 [%s] 的用户已不存在", userId));
|
||||
return sysUser;
|
||||
public UserDO getById(Long userId) {
|
||||
UserDO userDO = userMapper.selectById(userId);
|
||||
CheckUtils.throwIfNull(userDO, String.format("ID为 [%s] 的用户已不存在", userId));
|
||||
return userDO;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user