feat:新增deps和授权类型,用于解决依赖问题

This commit is contained in:
曾文豪
2024-08-13 15:06:31 +08:00
parent b9347013f0
commit 125c681669
9 changed files with 78 additions and 7 deletions

View File

@@ -103,6 +103,7 @@ public class RoleGroupController {
List<CoreRoleGroupRx> list = coreRoleService.getGroupRxMapper().selectList(new QueryWrapper<CoreRoleGroupRx>()
.eq(CoreRoleGroupRx.IS_DELETED, 0)
.eq("group_id", dto.getId())
.eq("type", "bind")
);
return ApiResp.respOK(list);
}

View File

@@ -14,4 +14,4 @@ public interface CoreRoleGroupRxMapper extends BaseMapper<CoreRoleGroupRx> {
* @return
*/
int batchInsert(@Param("list") List<CoreRoleGroupRx> coreRoleGroupRxs);
}
}

View File

@@ -90,6 +90,12 @@ public class CoreRoleAuthority extends DaoBase {
@TableField(value = "`source`")
private String source;
/**
* 依赖权限
*/
@TableField(value = "deps")
private String deps;
/**
* 扩展1
*/
@@ -342,6 +348,24 @@ public class CoreRoleAuthority extends DaoBase {
this.source = source;
}
/**
* 获取依赖权限
*
* @return deps - 依赖权限
*/
public String getDeps() {
return deps;
}
/**
* 设置依赖权限
*
* @param deps 依赖权限
*/
public void setDeps(String deps) {
this.deps = deps;
}
/**
* 获取扩展1
*

View File

@@ -24,6 +24,12 @@ public class CoreRoleGroupRx extends DaoBase {
@TableField(value = "menu_id")
private String menuId;
/**
* 关联类型dep-依赖bind-绑定
*/
@TableField(value = "`type`")
private String type;
/**
* 获取角色id
*
@@ -59,4 +65,22 @@ public class CoreRoleGroupRx extends DaoBase {
public void setMenuId(String menuId) {
this.menuId = menuId;
}
/**
* 获取关联类型dep-依赖bind-绑定
*
* @return type - 关联类型dep-依赖bind-绑定
*/
public String getType() {
return type;
}
/**
* 设置关联类型dep-依赖bind-绑定
*
* @param type 关联类型dep-依赖bind-绑定
*/
public void setType(String type) {
this.type = type;
}
}

View File

@@ -7,6 +7,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Validator;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.tiesheng.annotation.role.RoleAuthority;
import com.tiesheng.role.mapper.*;
@@ -130,7 +131,17 @@ public class CoreRoleService extends TsServiceBase<CoreRoleGroupMapper, CoreRole
CoreRoleGroupRx coreRoleGroupRx = new CoreRoleGroupRx();
coreRoleGroupRx.setGroupId(roleGroup.getId());
coreRoleGroupRx.setMenuId(authority.getId());
coreRoleGroupRx.setType("bind");
list.add(coreRoleGroupRx);
List<String> deps = JSONUtil.toList(authority.getDeps(), String.class);
for (String dep : deps) {
CoreRoleGroupRx depRx = new CoreRoleGroupRx();
depRx.setGroupId(roleGroup.getId());
depRx.setMenuId(StrUtil.format("{}_{}", authority.getService(), dep));
depRx.setType("dep");
list.add(depRx);
}
}
if (CollUtil.isNotEmpty(list)) {

View File

@@ -1,6 +1,7 @@
package com.tiesheng.role.service;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.tiesheng.annotation.role.RoleAuthority;
import com.tiesheng.role.mapper.CoreRoleAuthorityMapper;
import com.tiesheng.role.mapper.CoreRoleUserMapper;
@@ -74,6 +75,7 @@ public class RoleAuthorityHandler implements TsAuthorityHandler {
menuAuthority.setPlatform(menuPlatform);
menuAuthority.setVersion(version);
menuAuthority.setSource("auto");
menuAuthority.setDeps(JSONUtil.toJsonStr(menu.deps()));
menuAuthority.setId(StrUtil.join("_", menuAuthority.getService(), menuAuthority.getNo()));
list.add(menuAuthority);
@@ -88,6 +90,7 @@ public class RoleAuthorityHandler implements TsAuthorityHandler {
point.setParent(menuAuthority.getId());
point.setVersion(version);
point.setSource("auto");
point.setDeps(JSONUtil.toJsonStr(authority.deps()));
point.setPlatform(StrUtil.emptyToDefault(authority.platform(), menuPlatform));
point.setId(StrUtil.join("_", point.getService(), point.getNo()));
list.add(point);