mirror of https://gitee.com/stylefeng/roses
【7.6.0】【sys】删除、禁用、修改角色判断不能修改超级管理员
parent
1705105269
commit
c9a43ff7b0
|
@ -48,9 +48,9 @@ public interface SysConstants {
|
||||||
String DEFAULT_LOGIN_PASSWORD = "Aa123456!";
|
String DEFAULT_LOGIN_PASSWORD = "Aa123456!";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 超级管理员的角色编码
|
* 后台管理员的角色编码
|
||||||
*/
|
*/
|
||||||
String SUPER_ADMIN_ROLE_CODE = "superAdmin";
|
String BACKEND_ADMIN_ROLE_CODE = "backendAdmin";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 默认用户的初始角色编码
|
* 默认用户的初始角色编码
|
||||||
|
|
|
@ -1,145 +0,0 @@
|
||||||
package cn.stylefeng.roses.kernel.sys.modular.user.biz;
|
|
||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
|
||||||
import cn.stylefeng.roses.kernel.file.api.FileInfoApi;
|
|
||||||
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
|
||||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
|
||||||
import cn.stylefeng.roses.kernel.sys.api.SysUserServiceApi;
|
|
||||||
import cn.stylefeng.roses.kernel.sys.api.pojo.user.SimpleUserDTO;
|
|
||||||
import cn.stylefeng.roses.kernel.sys.api.pojo.user.UserValidateDTO;
|
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.user.entity.SysUser;
|
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.user.enums.SysUserExceptionEnum;
|
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.user.service.SysUserService;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用户相关的综合业务
|
|
||||||
*
|
|
||||||
* @author fengshuonan
|
|
||||||
* @since 2023/6/11 21:44
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
public class UserIntegrationService implements SysUserServiceApi {
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
private SysUserService sysUserService;
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
private FileInfoApi fileInfoApi;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public SimpleUserDTO getUserInfoByUserId(Long userId) {
|
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(userId)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
||||||
sysUserLambdaQueryWrapper.eq(SysUser::getUserId, userId);
|
|
||||||
sysUserLambdaQueryWrapper.select(SysUser::getRealName, SysUser::getAvatar);
|
|
||||||
SysUser sysUser = this.sysUserService.getOne(sysUserLambdaQueryWrapper);
|
|
||||||
if (sysUser == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
SimpleUserDTO simpleUserDTO = new SimpleUserDTO();
|
|
||||||
simpleUserDTO.setUserId(userId);
|
|
||||||
simpleUserDTO.setRealName(sysUser.getRealName());
|
|
||||||
|
|
||||||
// 获取头像文件id信息,转化为头像URL
|
|
||||||
Long avatarFileId = sysUser.getAvatar();
|
|
||||||
if (avatarFileId == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取头像的访问地址
|
|
||||||
String fileAuthUrl = fileInfoApi.getFileAuthUrl(avatarFileId);
|
|
||||||
simpleUserDTO.setAvatarUrl(fileAuthUrl);
|
|
||||||
|
|
||||||
return simpleUserDTO;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getUserRealName(Long userId) {
|
|
||||||
LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
||||||
sysUserLambdaQueryWrapper.select(SysUser::getRealName);
|
|
||||||
sysUserLambdaQueryWrapper.eq(SysUser::getUserId, userId);
|
|
||||||
SysUser sysUser = this.sysUserService.getOne(sysUserLambdaQueryWrapper);
|
|
||||||
if (sysUser == null) {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
return sysUser.getRealName();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public UserValidateDTO getUserLoginValidateDTO(String account) {
|
|
||||||
LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
||||||
sysUserLambdaQueryWrapper.eq(SysUser::getAccount, account);
|
|
||||||
sysUserLambdaQueryWrapper.select(SysUser::getPassword, SysUser::getPasswordSalt, SysUser::getStatusFlag, SysUser::getUserId);
|
|
||||||
SysUser sysUserServiceOne = this.sysUserService.getOne(sysUserLambdaQueryWrapper, false);
|
|
||||||
|
|
||||||
if (sysUserServiceOne == null) {
|
|
||||||
throw new ServiceException(SysUserExceptionEnum.ACCOUNT_NOT_EXIST);
|
|
||||||
}
|
|
||||||
|
|
||||||
return new UserValidateDTO(sysUserServiceOne.getUserId(), sysUserServiceOne.getPassword(), sysUserServiceOne.getPasswordSalt(),
|
|
||||||
sysUserServiceOne.getStatusFlag());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateUserLoginInfo(Long userId, String ip) {
|
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(userId) || ObjectUtil.isEmpty(ip)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
LambdaUpdateWrapper<SysUser> sysUserLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
|
||||||
sysUserLambdaUpdateWrapper.eq(SysUser::getUserId, userId);
|
|
||||||
sysUserLambdaUpdateWrapper.set(SysUser::getLastLoginTime, new Date());
|
|
||||||
sysUserLambdaUpdateWrapper.set(SysUser::getLastLoginIp, ip);
|
|
||||||
this.sysUserService.update(sysUserLambdaUpdateWrapper);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean getUserSuperAdminFlag(Long userId) {
|
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(userId)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
||||||
sysUserLambdaQueryWrapper.eq(SysUser::getUserId, userId);
|
|
||||||
sysUserLambdaQueryWrapper.select(SysUser::getSuperAdminFlag);
|
|
||||||
SysUser result = this.sysUserService.getOne(sysUserLambdaQueryWrapper, false);
|
|
||||||
|
|
||||||
if (result == null) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return YesOrNotEnum.Y.getCode().equals(result.getSuperAdminFlag());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<Long> queryAllUserIdList() {
|
|
||||||
LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
||||||
sysUserLambdaQueryWrapper.select(SysUser::getUserId);
|
|
||||||
List<SysUser> list = this.sysUserService.list(sysUserLambdaQueryWrapper);
|
|
||||||
return list.stream().map(SysUser::getUserId).collect(Collectors.toList());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Boolean userExist(Long userId) {
|
|
||||||
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
|
|
||||||
wrapper.eq(SysUser::getUserId, userId);
|
|
||||||
long count = this.sysUserService.count(wrapper);
|
|
||||||
return count > 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -38,7 +38,17 @@ public enum SysUserExceptionEnum implements AbstractExceptionEnum {
|
||||||
/**
|
/**
|
||||||
* 新密码与原密码相同
|
* 新密码与原密码相同
|
||||||
*/
|
*/
|
||||||
USER_PWD_REPEAT(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10005", "新密码与原密码相同,请更换新密码");
|
USER_PWD_REPEAT(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10005", "新密码与原密码相同,请更换新密码"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 不能修改超级管理员状态
|
||||||
|
*/
|
||||||
|
CANT_UPDATE_STATUS(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10006", "不能修改超级管理员状态"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 不能修改超级管理员的角色
|
||||||
|
*/
|
||||||
|
CANT_CHANGE_ADMIN_ROLE(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10007", "不能修改超级管理员的角色");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 错误编码
|
* 错误编码
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package cn.stylefeng.roses.kernel.sys.modular.user.service;
|
package cn.stylefeng.roses.kernel.sys.modular.user.service;
|
||||||
|
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||||
|
import cn.stylefeng.roses.kernel.sys.api.SysUserServiceApi;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.user.entity.SysUser;
|
import cn.stylefeng.roses.kernel.sys.modular.user.entity.SysUser;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.user.pojo.request.SysUserRequest;
|
import cn.stylefeng.roses.kernel.sys.modular.user.pojo.request.SysUserRequest;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.user.pojo.response.PersonalInfo;
|
import cn.stylefeng.roses.kernel.sys.modular.user.pojo.response.PersonalInfo;
|
||||||
|
@ -14,7 +15,7 @@ import java.util.List;
|
||||||
* @author fengshuonan
|
* @author fengshuonan
|
||||||
* @date 2023/06/10 21:26
|
* @date 2023/06/10 21:26
|
||||||
*/
|
*/
|
||||||
public interface SysUserService extends IService<SysUser> {
|
public interface SysUserService extends IService<SysUser>, SysUserServiceApi {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增
|
* 新增
|
||||||
|
|
|
@ -10,10 +10,12 @@ import cn.stylefeng.roses.kernel.sys.api.SysRoleServiceApi;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi;
|
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveUserCallbackApi;
|
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveUserCallbackApi;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.user.entity.SysUserRole;
|
import cn.stylefeng.roses.kernel.sys.modular.user.entity.SysUserRole;
|
||||||
|
import cn.stylefeng.roses.kernel.sys.modular.user.enums.SysUserExceptionEnum;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.user.enums.SysUserRoleExceptionEnum;
|
import cn.stylefeng.roses.kernel.sys.modular.user.enums.SysUserRoleExceptionEnum;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.user.mapper.SysUserRoleMapper;
|
import cn.stylefeng.roses.kernel.sys.modular.user.mapper.SysUserRoleMapper;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.user.pojo.request.SysUserRoleRequest;
|
import cn.stylefeng.roses.kernel.sys.modular.user.pojo.request.SysUserRoleRequest;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.user.service.SysUserRoleService;
|
import cn.stylefeng.roses.kernel.sys.modular.user.service.SysUserRoleService;
|
||||||
|
import cn.stylefeng.roses.kernel.sys.modular.user.service.SysUserService;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
@ -39,6 +41,9 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
|
||||||
@Resource
|
@Resource
|
||||||
private SysRoleServiceApi sysRoleServiceApi;
|
private SysRoleServiceApi sysRoleServiceApi;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SysUserService sysUserService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void add(SysUserRoleRequest sysUserRoleRequest) {
|
public void add(SysUserRoleRequest sysUserRoleRequest) {
|
||||||
SysUserRole sysUserRole = new SysUserRole();
|
SysUserRole sysUserRole = new SysUserRole();
|
||||||
|
@ -75,6 +80,12 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void bindRoles(SysUserRoleRequest sysUserRoleRequest) {
|
public void bindRoles(SysUserRoleRequest sysUserRoleRequest) {
|
||||||
|
|
||||||
|
// 不能修改超级管理员用户的角色
|
||||||
|
boolean userSuperAdminFlag = sysUserService.getUserSuperAdminFlag(sysUserRoleRequest.getUserId());
|
||||||
|
if (userSuperAdminFlag) {
|
||||||
|
throw new ServiceException(SysUserExceptionEnum.CANT_CHANGE_ADMIN_ROLE);
|
||||||
|
}
|
||||||
|
|
||||||
// 清空已有的用户角色绑定
|
// 清空已有的用户角色绑定
|
||||||
LambdaQueryWrapper<SysUserRole> wrapper = this.createWrapper(sysUserRoleRequest);
|
LambdaQueryWrapper<SysUserRole> wrapper = this.createWrapper(sysUserRoleRequest);
|
||||||
this.remove(wrapper);
|
this.remove(wrapper);
|
||||||
|
|
|
@ -12,6 +12,7 @@ import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity;
|
import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity;
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||||
|
import cn.stylefeng.roses.kernel.file.api.FileInfoApi;
|
||||||
import cn.stylefeng.roses.kernel.file.api.constants.FileConstants;
|
import cn.stylefeng.roses.kernel.file.api.constants.FileConstants;
|
||||||
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
||||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||||
|
@ -19,7 +20,9 @@ import cn.stylefeng.roses.kernel.sys.api.callback.RemoveUserCallbackApi;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.enums.user.UserStatusEnum;
|
import cn.stylefeng.roses.kernel.sys.api.enums.user.UserStatusEnum;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.exception.enums.UserExceptionEnum;
|
import cn.stylefeng.roses.kernel.sys.api.exception.enums.UserExceptionEnum;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.expander.SysConfigExpander;
|
import cn.stylefeng.roses.kernel.sys.api.expander.SysConfigExpander;
|
||||||
|
import cn.stylefeng.roses.kernel.sys.api.pojo.user.SimpleUserDTO;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.pojo.user.UserOrgDTO;
|
import cn.stylefeng.roses.kernel.sys.api.pojo.user.UserOrgDTO;
|
||||||
|
import cn.stylefeng.roses.kernel.sys.api.pojo.user.UserValidateDTO;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.user.entity.SysUser;
|
import cn.stylefeng.roses.kernel.sys.modular.user.entity.SysUser;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.user.enums.SysUserExceptionEnum;
|
import cn.stylefeng.roses.kernel.sys.modular.user.enums.SysUserExceptionEnum;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.user.factory.SysUserCreateFactory;
|
import cn.stylefeng.roses.kernel.sys.modular.user.factory.SysUserCreateFactory;
|
||||||
|
@ -37,9 +40,11 @@ import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 系统用户业务实现层
|
* 系统用户业务实现层
|
||||||
|
@ -59,6 +64,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||||
@Resource
|
@Resource
|
||||||
private SysUserRoleService sysUserRoleService;
|
private SysUserRoleService sysUserRoleService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private FileInfoApi fileInfoApi;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void add(SysUserRequest sysUserRequest) {
|
public void add(SysUserRequest sysUserRequest) {
|
||||||
|
@ -180,6 +188,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||||
@Override
|
@Override
|
||||||
public void updateStatus(SysUserRequest sysUserRequest) {
|
public void updateStatus(SysUserRequest sysUserRequest) {
|
||||||
|
|
||||||
|
// 如果是将用户禁用,检测判断不能禁用超级管理员用户
|
||||||
|
boolean userSuperAdminFlag = this.getUserSuperAdminFlag(sysUserRequest.getUserId());
|
||||||
|
if (userSuperAdminFlag) {
|
||||||
|
throw new ServiceException(SysUserExceptionEnum.CANT_UPDATE_STATUS);
|
||||||
|
}
|
||||||
|
|
||||||
// 校验状态传值是否正确
|
// 校验状态传值是否正确
|
||||||
Integer statusFlag = sysUserRequest.getStatusFlag();
|
Integer statusFlag = sysUserRequest.getStatusFlag();
|
||||||
UserStatusEnum.validateUserStatus(statusFlag);
|
UserStatusEnum.validateUserStatus(statusFlag);
|
||||||
|
@ -290,6 +304,114 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||||
this.update(wrapper);
|
this.update(wrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SimpleUserDTO getUserInfoByUserId(Long userId) {
|
||||||
|
|
||||||
|
if (ObjectUtil.isEmpty(userId)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
sysUserLambdaQueryWrapper.eq(SysUser::getUserId, userId);
|
||||||
|
sysUserLambdaQueryWrapper.select(SysUser::getRealName, SysUser::getAvatar);
|
||||||
|
SysUser sysUser = this.getOne(sysUserLambdaQueryWrapper);
|
||||||
|
if (sysUser == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
SimpleUserDTO simpleUserDTO = new SimpleUserDTO();
|
||||||
|
simpleUserDTO.setUserId(userId);
|
||||||
|
simpleUserDTO.setRealName(sysUser.getRealName());
|
||||||
|
|
||||||
|
// 获取头像文件id信息,转化为头像URL
|
||||||
|
Long avatarFileId = sysUser.getAvatar();
|
||||||
|
if (avatarFileId == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取头像的访问地址
|
||||||
|
String fileAuthUrl = fileInfoApi.getFileAuthUrl(avatarFileId);
|
||||||
|
simpleUserDTO.setAvatarUrl(fileAuthUrl);
|
||||||
|
|
||||||
|
return simpleUserDTO;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getUserRealName(Long userId) {
|
||||||
|
LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
sysUserLambdaQueryWrapper.select(SysUser::getRealName);
|
||||||
|
sysUserLambdaQueryWrapper.eq(SysUser::getUserId, userId);
|
||||||
|
SysUser sysUser = this.getOne(sysUserLambdaQueryWrapper);
|
||||||
|
if (sysUser == null) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
return sysUser.getRealName();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public UserValidateDTO getUserLoginValidateDTO(String account) {
|
||||||
|
LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
sysUserLambdaQueryWrapper.eq(SysUser::getAccount, account);
|
||||||
|
sysUserLambdaQueryWrapper.select(SysUser::getPassword, SysUser::getPasswordSalt, SysUser::getStatusFlag, SysUser::getUserId);
|
||||||
|
SysUser sysUserServiceOne = this.getOne(sysUserLambdaQueryWrapper, false);
|
||||||
|
|
||||||
|
if (sysUserServiceOne == null) {
|
||||||
|
throw new ServiceException(SysUserExceptionEnum.ACCOUNT_NOT_EXIST);
|
||||||
|
}
|
||||||
|
|
||||||
|
return new UserValidateDTO(sysUserServiceOne.getUserId(), sysUserServiceOne.getPassword(), sysUserServiceOne.getPasswordSalt(),
|
||||||
|
sysUserServiceOne.getStatusFlag());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateUserLoginInfo(Long userId, String ip) {
|
||||||
|
|
||||||
|
if (ObjectUtil.isEmpty(userId) || ObjectUtil.isEmpty(ip)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
LambdaUpdateWrapper<SysUser> sysUserLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
sysUserLambdaUpdateWrapper.eq(SysUser::getUserId, userId);
|
||||||
|
sysUserLambdaUpdateWrapper.set(SysUser::getLastLoginTime, new Date());
|
||||||
|
sysUserLambdaUpdateWrapper.set(SysUser::getLastLoginIp, ip);
|
||||||
|
this.update(sysUserLambdaUpdateWrapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean getUserSuperAdminFlag(Long userId) {
|
||||||
|
|
||||||
|
if (ObjectUtil.isEmpty(userId)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
sysUserLambdaQueryWrapper.eq(SysUser::getUserId, userId);
|
||||||
|
sysUserLambdaQueryWrapper.select(SysUser::getSuperAdminFlag);
|
||||||
|
SysUser result = this.getOne(sysUserLambdaQueryWrapper, false);
|
||||||
|
|
||||||
|
if (result == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return YesOrNotEnum.Y.getCode().equals(result.getSuperAdminFlag());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Long> queryAllUserIdList() {
|
||||||
|
LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
sysUserLambdaQueryWrapper.select(SysUser::getUserId);
|
||||||
|
List<SysUser> list = this.list(sysUserLambdaQueryWrapper);
|
||||||
|
return list.stream().map(SysUser::getUserId).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean userExist(Long userId) {
|
||||||
|
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(SysUser::getUserId, userId);
|
||||||
|
long count = this.count(wrapper);
|
||||||
|
return count > 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取信息
|
* 获取信息
|
||||||
*
|
*
|
||||||
|
|
|
@ -65,7 +65,7 @@ public class InitAdminService {
|
||||||
private SysRoleMenuOptionsService sysRoleMenuOptionsService;
|
private SysRoleMenuOptionsService sysRoleMenuOptionsService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 初始化超级管理员,超级管理员拥有最高权限
|
* 初始化后台管理员,后台管理员拥有最高权限
|
||||||
*
|
*
|
||||||
* @author fengshuonan
|
* @author fengshuonan
|
||||||
* @since 2020/12/17 21:57
|
* @since 2020/12/17 21:57
|
||||||
|
@ -73,9 +73,9 @@ public class InitAdminService {
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void initSuperAdmin() {
|
public void initSuperAdmin() {
|
||||||
|
|
||||||
// 找到超级管理员的角色id
|
// 找到后台管理员角色id
|
||||||
LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.eq(SysRole::getRoleCode, SysConstants.SUPER_ADMIN_ROLE_CODE);
|
queryWrapper.eq(SysRole::getRoleCode, SysConstants.BACKEND_ADMIN_ROLE_CODE);
|
||||||
queryWrapper.select(SysRole::getRoleId);
|
queryWrapper.select(SysRole::getRoleId);
|
||||||
SysRole superAdminRole = sysRoleService.getOne(queryWrapper);
|
SysRole superAdminRole = sysRoleService.getOne(queryWrapper);
|
||||||
|
|
||||||
|
@ -83,7 +83,7 @@ public class InitAdminService {
|
||||||
List<SysMenu> totalMenuList = sysMenuService.getTotalMenuList();
|
List<SysMenu> totalMenuList = sysMenuService.getTotalMenuList();
|
||||||
List<SysMenuOptions> totalMenuOptionsList = sysMenuOptionsService.getTotalMenuOptionsList();
|
List<SysMenuOptions> totalMenuOptionsList = sysMenuOptionsService.getTotalMenuOptionsList();
|
||||||
|
|
||||||
// 超级管理员绑定所有的菜单和菜单功能
|
// 后台管理员绑定所有的菜单和菜单功能
|
||||||
sysRoleMenuService.bindRoleMenus(superAdminRole.getRoleId(), totalMenuList);
|
sysRoleMenuService.bindRoleMenus(superAdminRole.getRoleId(), totalMenuList);
|
||||||
sysRoleMenuOptionsService.bindRoleMenuOptions(superAdminRole.getRoleId(), totalMenuOptionsList);
|
sysRoleMenuOptionsService.bindRoleMenuOptions(superAdminRole.getRoleId(), totalMenuOptionsList);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue