mirror of https://gitee.com/stylefeng/roses
【7.6.0】【sys】【user】更新删除用户逻辑
parent
22114d6f9f
commit
634fe64b8a
|
@ -16,7 +16,12 @@ public enum SysUserExceptionEnum implements AbstractExceptionEnum {
|
||||||
/**
|
/**
|
||||||
* 查询结果不存在
|
* 查询结果不存在
|
||||||
*/
|
*/
|
||||||
SYS_USER_NOT_EXISTED(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10001", "查询结果不存在");
|
SYS_USER_NOT_EXISTED(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10001", "查询结果不存在"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 不能删除超级管理员
|
||||||
|
*/
|
||||||
|
USER_CAN_NOT_DELETE_ADMIN(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10002", "不能删除超级管理员");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 错误编码
|
* 错误编码
|
||||||
|
|
|
@ -1,15 +1,19 @@
|
||||||
package cn.stylefeng.roses.kernel.sys.modular.user.service.impl;
|
package cn.stylefeng.roses.kernel.sys.modular.user.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.extra.spring.SpringUtil;
|
||||||
import cn.stylefeng.roses.kernel.auth.api.password.PasswordStoredEncryptApi;
|
import cn.stylefeng.roses.kernel.auth.api.password.PasswordStoredEncryptApi;
|
||||||
import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
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.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.exception.base.ServiceException;
|
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.SysUserServiceApi;
|
import cn.stylefeng.roses.kernel.sys.api.SysUserServiceApi;
|
||||||
|
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveUserCallbackApi;
|
||||||
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.mapper.SysUserMapper;
|
import cn.stylefeng.roses.kernel.sys.modular.user.mapper.SysUserMapper;
|
||||||
|
@ -24,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 系统用户业务实现层
|
* 系统用户业务实现层
|
||||||
|
@ -62,9 +67,28 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void del(SysUserRequest sysUserRequest) {
|
public void del(SysUserRequest sysUserRequest) {
|
||||||
SysUser sysUser = this.querySysUser(sysUserRequest);
|
SysUser sysUser = this.querySysUser(sysUserRequest);
|
||||||
|
|
||||||
|
// 不能删除超级管理员
|
||||||
|
if (YesOrNotEnum.Y.getCode().equals(sysUser.getSuperAdminFlag())) {
|
||||||
|
throw new ServiceException(SysUserExceptionEnum.USER_CAN_NOT_DELETE_ADMIN);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 校验是否有其他业务绑定了用户信息
|
||||||
|
Map<String, RemoveUserCallbackApi> removeUserCallbackApiMap = SpringUtil.getBeansOfType(RemoveUserCallbackApi.class);
|
||||||
|
for (RemoveUserCallbackApi removeUserCallbackApi : removeUserCallbackApiMap.values()) {
|
||||||
|
removeUserCallbackApi.validateHaveUserBind(CollectionUtil.set(false, sysUser.getUserId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 执行删除用户操作
|
||||||
this.removeById(sysUser.getUserId());
|
this.removeById(sysUser.getUserId());
|
||||||
|
|
||||||
|
// 执行删除用户关联业务的操作
|
||||||
|
for (RemoveUserCallbackApi removeUserCallbackApi : removeUserCallbackApiMap.values()) {
|
||||||
|
removeUserCallbackApi.removeUserAction(CollectionUtil.set(false, sysUser.getUserId()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue