mirror of https://gitee.com/stylefeng/roses
【7.6.0】【role】删除角色和资源关联
parent
4f4c2b6f34
commit
e3c442f48b
|
@ -1,51 +0,0 @@
|
||||||
package cn.stylefeng.roses.kernel.sys.modular.role.entity;
|
|
||||||
|
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity;
|
|
||||||
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 角色资源关联实例类
|
|
||||||
*
|
|
||||||
* @author fengshuonan
|
|
||||||
* @date 2023/06/10 21:29
|
|
||||||
*/
|
|
||||||
@TableName("sys_role_resource")
|
|
||||||
@Data
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
public class SysRoleResource extends BaseEntity {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 主键
|
|
||||||
*/
|
|
||||||
@TableId(value = "role_resource_id", type = IdType.ASSIGN_ID)
|
|
||||||
@ChineseDescription("主键")
|
|
||||||
private Long roleResourceId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 角色id
|
|
||||||
*/
|
|
||||||
@TableField("role_id")
|
|
||||||
@ChineseDescription("角色id")
|
|
||||||
private Long roleId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 资源编码
|
|
||||||
*/
|
|
||||||
@TableField("resource_code")
|
|
||||||
@ChineseDescription("资源编码")
|
|
||||||
private String resourceCode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 资源的业务类型:1-业务类,2-系统类
|
|
||||||
*/
|
|
||||||
@TableField("resource_biz_type")
|
|
||||||
@ChineseDescription("资源的业务类型:1-业务类,2-系统类")
|
|
||||||
private Integer resourceBizType;
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,36 +0,0 @@
|
||||||
package cn.stylefeng.roses.kernel.sys.modular.role.enums.exception;
|
|
||||||
|
|
||||||
import cn.stylefeng.roses.kernel.rule.constants.RuleConstants;
|
|
||||||
import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum;
|
|
||||||
import lombok.Getter;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 角色资源关联异常相关枚举
|
|
||||||
*
|
|
||||||
* @author fengshuonan
|
|
||||||
* @date 2023/06/10 21:29
|
|
||||||
*/
|
|
||||||
@Getter
|
|
||||||
public enum SysRoleResourceExceptionEnum implements AbstractExceptionEnum {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询结果不存在
|
|
||||||
*/
|
|
||||||
SYS_ROLE_RESOURCE_NOT_EXISTED(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10001", "查询结果不存在");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 错误编码
|
|
||||||
*/
|
|
||||||
private final String errorCode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 提示用户信息
|
|
||||||
*/
|
|
||||||
private final String userTip;
|
|
||||||
|
|
||||||
SysRoleResourceExceptionEnum(String errorCode, String userTip) {
|
|
||||||
this.errorCode = errorCode;
|
|
||||||
this.userTip = userTip;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,14 +0,0 @@
|
||||||
package cn.stylefeng.roses.kernel.sys.modular.role.mapper;
|
|
||||||
|
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleResource;
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 角色资源关联 Mapper 接口
|
|
||||||
*
|
|
||||||
* @author fengshuonan
|
|
||||||
* @date 2023/06/10 21:29
|
|
||||||
*/
|
|
||||||
public interface SysRoleResourceMapper extends BaseMapper<SysRoleResource> {
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,5 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
||||||
<mapper namespace="cn.stylefeng.roses.kernel.sys.modular.role.mapper.SysRoleResourceMapper">
|
|
||||||
|
|
||||||
</mapper>
|
|
|
@ -1,48 +0,0 @@
|
||||||
package cn.stylefeng.roses.kernel.sys.modular.role.pojo.request;
|
|
||||||
|
|
||||||
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
|
|
||||||
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
|
||||||
import javax.validation.constraints.NotNull;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 角色资源关联封装类
|
|
||||||
*
|
|
||||||
* @author fengshuonan
|
|
||||||
* @date 2023/06/10 21:29
|
|
||||||
*/
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
@Data
|
|
||||||
public class SysRoleResourceRequest extends BaseRequest {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 主键
|
|
||||||
*/
|
|
||||||
@NotNull(message = "主键不能为空", groups = {edit.class, delete.class})
|
|
||||||
@ChineseDescription("主键")
|
|
||||||
private Long roleResourceId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 角色id
|
|
||||||
*/
|
|
||||||
@NotNull(message = "角色id不能为空", groups = {add.class, edit.class})
|
|
||||||
@ChineseDescription("角色id")
|
|
||||||
private Long roleId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 资源编码
|
|
||||||
*/
|
|
||||||
@NotBlank(message = "资源编码不能为空", groups = {add.class, edit.class})
|
|
||||||
@ChineseDescription("资源编码")
|
|
||||||
private String resourceCode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 资源的业务类型:1-业务类,2-系统类
|
|
||||||
*/
|
|
||||||
@ChineseDescription("资源的业务类型:1-业务类,2-系统类")
|
|
||||||
private Integer resourceBizType;
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,74 +0,0 @@
|
||||||
package cn.stylefeng.roses.kernel.sys.modular.role.service;
|
|
||||||
|
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleResource;
|
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.pojo.request.SysRoleResourceRequest;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 角色资源关联 服务类
|
|
||||||
*
|
|
||||||
* @author fengshuonan
|
|
||||||
* @date 2023/06/10 21:29
|
|
||||||
*/
|
|
||||||
public interface SysRoleResourceService extends IService<SysRoleResource> {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增
|
|
||||||
*
|
|
||||||
* @param sysRoleResourceRequest 请求参数
|
|
||||||
* @author fengshuonan
|
|
||||||
* @date 2023/06/10 21:29
|
|
||||||
*/
|
|
||||||
void add(SysRoleResourceRequest sysRoleResourceRequest);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除
|
|
||||||
*
|
|
||||||
* @param sysRoleResourceRequest 请求参数
|
|
||||||
* @author fengshuonan
|
|
||||||
* @date 2023/06/10 21:29
|
|
||||||
*/
|
|
||||||
void del(SysRoleResourceRequest sysRoleResourceRequest);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 编辑
|
|
||||||
*
|
|
||||||
* @param sysRoleResourceRequest 请求参数
|
|
||||||
* @author fengshuonan
|
|
||||||
* @date 2023/06/10 21:29
|
|
||||||
*/
|
|
||||||
void edit(SysRoleResourceRequest sysRoleResourceRequest);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询详情
|
|
||||||
*
|
|
||||||
* @param sysRoleResourceRequest 请求参数
|
|
||||||
* @author fengshuonan
|
|
||||||
* @date 2023/06/10 21:29
|
|
||||||
*/
|
|
||||||
SysRoleResource detail(SysRoleResourceRequest sysRoleResourceRequest);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取列表
|
|
||||||
*
|
|
||||||
* @param sysRoleResourceRequest 请求参数
|
|
||||||
* @return List<SysRoleResource> 返回结果
|
|
||||||
* @author fengshuonan
|
|
||||||
* @date 2023/06/10 21:29
|
|
||||||
*/
|
|
||||||
List<SysRoleResource> findList(SysRoleResourceRequest sysRoleResourceRequest);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取列表(带分页)
|
|
||||||
*
|
|
||||||
* @param sysRoleResourceRequest 请求参数
|
|
||||||
* @return PageResult<SysRoleResource> 返回结果
|
|
||||||
* @author fengshuonan
|
|
||||||
* @date 2023/06/10 21:29
|
|
||||||
*/
|
|
||||||
PageResult<SysRoleResource> findPage(SysRoleResourceRequest sysRoleResourceRequest);
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,111 +0,0 @@
|
||||||
package cn.stylefeng.roses.kernel.sys.modular.role.service.impl;
|
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
|
||||||
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.pojo.page.PageResult;
|
|
||||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
|
||||||
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi;
|
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleResource;
|
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.enums.exception.SysRoleResourceExceptionEnum;
|
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.mapper.SysRoleResourceMapper;
|
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.pojo.request.SysRoleResourceRequest;
|
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.service.SysRoleResourceService;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 角色资源关联业务实现层
|
|
||||||
*
|
|
||||||
* @author fengshuonan
|
|
||||||
* @date 2023/06/10 21:29
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
public class SysRoleResourceServiceImpl extends ServiceImpl<SysRoleResourceMapper, SysRoleResource> implements SysRoleResourceService, RemoveRoleCallbackApi {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void add(SysRoleResourceRequest sysRoleResourceRequest) {
|
|
||||||
SysRoleResource sysRoleResource = new SysRoleResource();
|
|
||||||
BeanUtil.copyProperties(sysRoleResourceRequest, sysRoleResource);
|
|
||||||
this.save(sysRoleResource);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void del(SysRoleResourceRequest sysRoleResourceRequest) {
|
|
||||||
SysRoleResource sysRoleResource = this.querySysRoleResource(sysRoleResourceRequest);
|
|
||||||
this.removeById(sysRoleResource.getRoleResourceId());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void edit(SysRoleResourceRequest sysRoleResourceRequest) {
|
|
||||||
SysRoleResource sysRoleResource = this.querySysRoleResource(sysRoleResourceRequest);
|
|
||||||
BeanUtil.copyProperties(sysRoleResourceRequest, sysRoleResource);
|
|
||||||
this.updateById(sysRoleResource);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public SysRoleResource detail(SysRoleResourceRequest sysRoleResourceRequest) {
|
|
||||||
return this.querySysRoleResource(sysRoleResourceRequest);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PageResult<SysRoleResource> findPage(SysRoleResourceRequest sysRoleResourceRequest) {
|
|
||||||
LambdaQueryWrapper<SysRoleResource> wrapper = createWrapper(sysRoleResourceRequest);
|
|
||||||
Page<SysRoleResource> sysRolePage = this.page(PageFactory.defaultPage(), wrapper);
|
|
||||||
return PageResultFactory.createPageResult(sysRolePage);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<SysRoleResource> findList(SysRoleResourceRequest sysRoleResourceRequest) {
|
|
||||||
LambdaQueryWrapper<SysRoleResource> wrapper = this.createWrapper(sysRoleResourceRequest);
|
|
||||||
return this.list(wrapper);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void validateHaveRoleBind(Set<Long> beRemovedRoleIdList) {
|
|
||||||
// none
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void removeRoleAction(Set<Long> beRemovedRoleIdList) {
|
|
||||||
LambdaQueryWrapper<SysRoleResource> wrapper = new LambdaQueryWrapper<>();
|
|
||||||
wrapper.in(SysRoleResource::getRoleId, beRemovedRoleIdList);
|
|
||||||
this.remove(wrapper);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取信息
|
|
||||||
*
|
|
||||||
* @author fengshuonan
|
|
||||||
* @date 2023/06/10 21:29
|
|
||||||
*/
|
|
||||||
private SysRoleResource querySysRoleResource(SysRoleResourceRequest sysRoleResourceRequest) {
|
|
||||||
SysRoleResource sysRoleResource = this.getById(sysRoleResourceRequest.getRoleResourceId());
|
|
||||||
if (ObjectUtil.isEmpty(sysRoleResource)) {
|
|
||||||
throw new ServiceException(SysRoleResourceExceptionEnum.SYS_ROLE_RESOURCE_NOT_EXISTED);
|
|
||||||
}
|
|
||||||
return sysRoleResource;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 创建查询wrapper
|
|
||||||
*
|
|
||||||
* @author fengshuonan
|
|
||||||
* @date 2023/06/10 21:29
|
|
||||||
*/
|
|
||||||
private LambdaQueryWrapper<SysRoleResource> createWrapper(SysRoleResourceRequest sysRoleResourceRequest) {
|
|
||||||
LambdaQueryWrapper<SysRoleResource> queryWrapper = new LambdaQueryWrapper<>();
|
|
||||||
|
|
||||||
Long roleId = sysRoleResourceRequest.getRoleId();
|
|
||||||
queryWrapper.eq(ObjectUtil.isNotNull(roleId), SysRoleResource::getRoleId, roleId);
|
|
||||||
|
|
||||||
return queryWrapper;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue