结构修改
This commit is contained in:
@@ -222,17 +222,37 @@ reinit() {
|
||||
delete() {
|
||||
echo -e "${YELLOW}Deleting database...${NC}"
|
||||
|
||||
# 确保没有活动连接
|
||||
# 多次尝试终止连接(因为某些连接可能会立即重连)
|
||||
for i in {1..3}; do
|
||||
log "INFO" "Terminating database connections (attempt $i/3)..."
|
||||
PGPASSWORD=$DB_PASSWORD psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "postgres" -c "
|
||||
SELECT pg_terminate_backend(pg_stat_activity.pid)
|
||||
FROM pg_stat_activity
|
||||
WHERE pg_stat_activity.datname = '$DB_NAME'
|
||||
AND pid <> pg_backend_pid();"
|
||||
AND pid <> pg_backend_pid();" > /dev/null 2>&1
|
||||
|
||||
# 删除数据库
|
||||
PGPASSWORD=$DB_PASSWORD psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "postgres" -c "DROP DATABASE IF EXISTS $DB_NAME;"
|
||||
# 等待连接完全关闭
|
||||
sleep 1
|
||||
done
|
||||
|
||||
echo -e "${GREEN}Database deleted.${NC}"
|
||||
# 尝试删除数据库,最多重试3次
|
||||
for i in {1..3}; do
|
||||
log "INFO" "Attempting to drop database (attempt $i/3)..."
|
||||
if PGPASSWORD=$DB_PASSWORD psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "postgres" -c "DROP DATABASE IF EXISTS $DB_NAME;" 2>&1; then
|
||||
log "SUCCESS" "Database deleted successfully"
|
||||
return 0
|
||||
else
|
||||
log "WARN" "Failed to drop database, retrying after 2 seconds..."
|
||||
sleep 2
|
||||
fi
|
||||
done
|
||||
|
||||
log "ERROR" "Failed to delete database after 3 attempts"
|
||||
log "ERROR" "Please ensure all connections to the database are closed, including:"
|
||||
log "ERROR" " - Running application servers"
|
||||
log "ERROR" " - IDE database connections"
|
||||
log "ERROR" " - pgAdmin or other database tools"
|
||||
return 1
|
||||
}
|
||||
|
||||
# 显示帮助信息
|
||||
|
||||
@@ -170,21 +170,17 @@ INSERT INTO sys.tb_sys_view (
|
||||
-- 平台应用菜单 (platform)
|
||||
-- =========================
|
||||
-- 一级菜单
|
||||
('VIEW-P001', 'view_platform_home', '工作台', NULL, '/home', 'Home', 'Grid', 1,
|
||||
'route', NULL, 'platform', 'SidebarLayout', 10, '平台工作台首页', 'system', now(), false),
|
||||
|
||||
('VIEW-P002', 'view_platform_chat', 'AI助手', NULL, '/chat', 'Chat', 'ChatDotRound', 1,
|
||||
'route', NULL, 'platform', 'SidebarLayout', 20, 'AI智能对话助手', 'system', now(), false),
|
||||
|
||||
('VIEW-P002', 'view_platform_chat', '泰豪AI助手', NULL, '/aichat', 'public/Chat/AIChatView.vue', 'ChatDotRound', 1,
|
||||
'route', NULL, 'platform', 'SidebarLayout', 10, '泰豪AI助手-直接智能体对话', 'system', now(), false),
|
||||
('VIEW-P001', 'view_platform_home', '全部应用', NULL, '/agents', 'public/Agents/AgentPlatformView.vue', 'Grid', 1,
|
||||
'route', NULL, 'platform', 'SidebarLayout', 20, '全部智能体', 'system', now(), false),
|
||||
-- iframe 嵌入菜单
|
||||
('VIEW-P003', 'view_platform_bidding', '招标助手', NULL, NULL, NULL, 'Document', 1,
|
||||
'iframe', 'http://localhost:5002', 'platform', 'SidebarLayout', 30, '招标应用(iframe)', 'system', now(), false),
|
||||
|
||||
('VIEW-P004', 'view_platform_workcase', '泰豪小电', NULL, NULL, NULL, 'Service', 1,
|
||||
'iframe', 'http://localhost:5003', 'platform', 'SidebarLayout', 40, '客服应用(iframe)', 'system', now(), false),
|
||||
|
||||
('VIEW-P005', 'view_platform_workflow', '智能体编排', NULL, NULL, NULL, 'Connection', 1,
|
||||
'iframe', 'http://localhost:3000', 'platform', 'SidebarLayout', 50, 'Dify智能体编排(iframe)', 'system', now(), false),
|
||||
'iframe', 'http://localhost:3000', 'platform', 'SidebarLayout', 30, 'Dify智能体编排(iframe)', 'system', now(), false),
|
||||
('VIEW-P003', 'view_platform_bidding', '招标助手', NULL, NULL, NULL, 'Document', 1,
|
||||
'iframe', 'http://localhost:5002', 'platform', 'SidebarLayout', 40, '招标应用(iframe)', 'system', now(), false),
|
||||
('VIEW-P004', 'view_platform_workcase', '泰豪小电', NULL, ‘’, NULL, 'Service', 1,
|
||||
'iframe', 'http://localhost:5003', 'platform', 'SidebarLayout', 50, '客服应用(iframe)', 'system', now(), false),
|
||||
|
||||
-- 系统管理目录
|
||||
('VIEW-P100', 'view_system', '系统管理', NULL, '/system', NULL, 'Settings', 0,
|
||||
@@ -312,56 +308,56 @@ INSERT INTO sys.tb_sys_role_permission (
|
||||
-- =============================
|
||||
-- 7. 视图权限关联
|
||||
-- =============================
|
||||
-- 将视图与对应模块的权限关联(使用新的 view_id)
|
||||
-- 将视图与对应模块的权限关联(使用真正的 view_id,不是 optsn)
|
||||
INSERT INTO sys.tb_sys_view_permission (
|
||||
optsn, view_id, permission_id, creator, dept_path, create_time, deleted
|
||||
) VALUES
|
||||
-- 平台基础菜单权限关联(所有登录用户都可访问)
|
||||
('VP-P001', 'VIEW-P001', 'perm_platform_home', 'system', NULL, now(), false),
|
||||
('VP-P002', 'VIEW-P002', 'perm_platform_chat', 'system', NULL, now(), false),
|
||||
('VP-P003', 'VIEW-P003', 'perm_platform_bidding', 'system', NULL, now(), false),
|
||||
('VP-P004', 'VIEW-P004', 'perm_platform_workcase', 'system', NULL, now(), false),
|
||||
('VP-P005', 'VIEW-P005', 'perm_platform_workflow', 'system', NULL, now(), false),
|
||||
('VP-P001', 'view_platform_home', 'perm_platform_home', 'system', NULL, now(), false),
|
||||
('VP-P002', 'view_platform_chat', 'perm_platform_chat', 'system', NULL, now(), false),
|
||||
('VP-P003', 'view_platform_bidding', 'perm_platform_bidding', 'system', NULL, now(), false),
|
||||
('VP-P004', 'view_platform_workcase', 'perm_platform_workcase', 'system', NULL, now(), false),
|
||||
('VP-P005', 'view_platform_workflow', 'perm_platform_workflow', 'system', NULL, now(), false),
|
||||
|
||||
-- 用户管理视图关联用户权限(VIEW-P101)
|
||||
('VP-0001', 'VIEW-P101', 'perm_user_view', 'system', NULL, now(), false),
|
||||
('VP-0002', 'VIEW-P101', 'perm_user_create', 'system', NULL, now(), false),
|
||||
('VP-0003', 'VIEW-P101', 'perm_user_edit', 'system', NULL, now(), false),
|
||||
('VP-0004', 'VIEW-P101', 'perm_user_delete', 'system', NULL, now(), false),
|
||||
('VP-0005', 'VIEW-P101', 'perm_user_export', 'system', NULL, now(), false),
|
||||
-- 用户管理视图关联用户权限
|
||||
('VP-0001', 'view_user', 'perm_user_view', 'system', NULL, now(), false),
|
||||
('VP-0002', 'view_user', 'perm_user_create', 'system', NULL, now(), false),
|
||||
('VP-0003', 'view_user', 'perm_user_edit', 'system', NULL, now(), false),
|
||||
('VP-0004', 'view_user', 'perm_user_delete', 'system', NULL, now(), false),
|
||||
('VP-0005', 'view_user', 'perm_user_export', 'system', NULL, now(), false),
|
||||
|
||||
-- 角色管理视图关联角色权限(VIEW-P102)
|
||||
('VP-0011', 'VIEW-P102', 'perm_role_view', 'system', NULL, now(), false),
|
||||
('VP-0012', 'VIEW-P102', 'perm_role_create', 'system', NULL, now(), false),
|
||||
('VP-0013', 'VIEW-P102', 'perm_role_edit', 'system', NULL, now(), false),
|
||||
('VP-0014', 'VIEW-P102', 'perm_role_delete', 'system', NULL, now(), false),
|
||||
('VP-0015', 'VIEW-P102', 'perm_role_export', 'system', NULL, now(), false),
|
||||
-- 角色管理视图关联角色权限
|
||||
('VP-0011', 'view_role', 'perm_role_view', 'system', NULL, now(), false),
|
||||
('VP-0012', 'view_role', 'perm_role_create', 'system', NULL, now(), false),
|
||||
('VP-0013', 'view_role', 'perm_role_edit', 'system', NULL, now(), false),
|
||||
('VP-0014', 'view_role', 'perm_role_delete', 'system', NULL, now(), false),
|
||||
('VP-0015', 'view_role', 'perm_role_export', 'system', NULL, now(), false),
|
||||
|
||||
-- 部门管理视图关联部门权限(VIEW-P103)
|
||||
('VP-0021', 'VIEW-P103', 'perm_dept_view', 'system', NULL, now(), false),
|
||||
('VP-0022', 'VIEW-P103', 'perm_dept_create', 'system', NULL, now(), false),
|
||||
('VP-0023', 'VIEW-P103', 'perm_dept_edit', 'system', NULL, now(), false),
|
||||
('VP-0024', 'VIEW-P103', 'perm_dept_delete', 'system', NULL, now(), false),
|
||||
('VP-0025', 'VIEW-P103', 'perm_dept_export', 'system', NULL, now(), false),
|
||||
-- 部门管理视图关联部门权限
|
||||
('VP-0021', 'view_dept', 'perm_dept_view', 'system', NULL, now(), false),
|
||||
('VP-0022', 'view_dept', 'perm_dept_create', 'system', NULL, now(), false),
|
||||
('VP-0023', 'view_dept', 'perm_dept_edit', 'system', NULL, now(), false),
|
||||
('VP-0024', 'view_dept', 'perm_dept_delete', 'system', NULL, now(), false),
|
||||
('VP-0025', 'view_dept', 'perm_dept_export', 'system', NULL, now(), false),
|
||||
|
||||
-- 权限管理视图关联权限管理权限(VIEW-P104)
|
||||
('VP-0031', 'VIEW-P104', 'perm_permission_view', 'system', NULL, now(), false),
|
||||
('VP-0032', 'VIEW-P104', 'perm_permission_manage', 'system', NULL, now(), false),
|
||||
-- 权限管理视图关联权限管理权限
|
||||
('VP-0031', 'view_permission', 'perm_permission_view', 'system', NULL, now(), false),
|
||||
('VP-0032', 'view_permission', 'perm_permission_manage', 'system', NULL, now(), false),
|
||||
|
||||
-- 配置管理视图关联配置权限(VIEW-P105)
|
||||
('VP-0041', 'VIEW-P105', 'perm_config_view', 'system', NULL, now(), false),
|
||||
('VP-0042', 'VIEW-P105', 'perm_config_edit', 'system', NULL, now(), false),
|
||||
('VP-0043', 'VIEW-P105', 'perm_config_export', 'system', NULL, now(), false),
|
||||
-- 配置管理视图关联配置权限
|
||||
('VP-0041', 'view_config', 'perm_config_view', 'system', NULL, now(), false),
|
||||
('VP-0042', 'view_config', 'perm_config_edit', 'system', NULL, now(), false),
|
||||
('VP-0043', 'view_config', 'perm_config_export', 'system', NULL, now(), false),
|
||||
|
||||
-- 文件管理视图关联文件权限(VIEW-P106)
|
||||
('VP-0051', 'VIEW-P106', 'perm_file_view', 'system', NULL, now(), false),
|
||||
('VP-0052', 'VIEW-P106', 'perm_file_upload', 'system', NULL, now(), false),
|
||||
('VP-0053', 'VIEW-P106', 'perm_file_download', 'system', NULL, now(), false),
|
||||
('VP-0054', 'VIEW-P106', 'perm_file_delete', 'system', NULL, now(), false),
|
||||
('VP-0055', 'VIEW-P106', 'perm_file_export', 'system', NULL, now(), false),
|
||||
-- 文件管理视图关联文件权限
|
||||
('VP-0051', 'view_file', 'perm_file_view', 'system', NULL, now(), false),
|
||||
('VP-0052', 'view_file', 'perm_file_upload', 'system', NULL, now(), false),
|
||||
('VP-0053', 'view_file', 'perm_file_download', 'system', NULL, now(), false),
|
||||
('VP-0054', 'view_file', 'perm_file_delete', 'system', NULL, now(), false),
|
||||
('VP-0055', 'view_file', 'perm_file_export', 'system', NULL, now(), false),
|
||||
|
||||
-- 消息管理视图关联消息权限(VIEW-P107)
|
||||
('VP-0061', 'VIEW-P107', 'perm_message_view', 'system', NULL, now(), false),
|
||||
('VP-0062', 'VIEW-P107', 'perm_message_send', 'system', NULL, now(), false),
|
||||
('VP-0063', 'VIEW-P107', 'perm_message_manage', 'system', NULL, now(), false),
|
||||
('VP-0064', 'VIEW-P107', 'perm_message_export', 'system', NULL, now(), false);
|
||||
-- 消息管理视图关联消息权限
|
||||
('VP-0061', 'view_message', 'perm_message_view', 'system', NULL, now(), false),
|
||||
('VP-0062', 'view_message', 'perm_message_send', 'system', NULL, now(), false),
|
||||
('VP-0063', 'view_message', 'perm_message_manage', 'system', NULL, now(), false),
|
||||
('VP-0064', 'view_message', 'perm_message_export', 'system', NULL, now(), false);
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
-- 注意:密码需要使用 bcrypt 加密,这里使用的是 'admin123' 的 bcrypt hash
|
||||
-- 实际部署时应该修改为安全的密码
|
||||
INSERT INTO sys.tb_sys_user (
|
||||
optsn, user_id, usercode, password, email, phone,
|
||||
optsn, user_id, usercode, password, email, phone, phone_hash,
|
||||
create_time, status, deleted
|
||||
) VALUES
|
||||
('USER-0001', 'user_admin', 'admin',
|
||||
'$2a$10$N.zmdr9k7uOCQb376NoUnuTJ8iAt6Z5EHsM8lE9lBOsl7q0TP/Hza', -- admin123
|
||||
'admin@urbanlifeline.com', '13800138000',
|
||||
now(), 1, false);
|
||||
'$2a$10$XAe0TE2p0ym94bKJ8LJ52el3M4oYyiExVH/kNCh.pWLLGDZWNM9Yu', -- admin123
|
||||
'admin@urbanlifeline.com', '13800138000', '7503bbfc6171077b737cdc4f76e781893a9a474c9ead05b6b946ac936e5a0288',
|
||||
now(), 0, false);
|
||||
|
||||
-- 超级管理员用户信息
|
||||
INSERT INTO sys.tb_sys_user_info (
|
||||
@@ -38,13 +38,13 @@ INSERT INTO sys.tb_sys_user_role (
|
||||
-- 3. 创建示例普通用户(可选)
|
||||
-- =============================
|
||||
INSERT INTO sys.tb_sys_user (
|
||||
optsn, user_id, usercode, password, email, phone,
|
||||
optsn, user_id, usercode, password, email, phone, phone_hash,
|
||||
create_time, status, deleted
|
||||
) VALUES
|
||||
('USER-0002', 'user_demo', 'demo',
|
||||
'$2a$10$N.zmdr9k7uOCQb376NoUnuTJ8iAt6Z5EHsM8lE9lBOsl7q0TP/Hza', -- admin123
|
||||
'demo@urbanlifeline.com', '13800138001',
|
||||
now(), 1, false);
|
||||
'$2a$10$XAe0TE2p0ym94bKJ8LJ52el3M4oYyiExVH/kNCh.pWLLGDZWNM9Yu', -- admin123
|
||||
'demo@urbanlifeline.com', '13800138001', '4e98ffd0e02a7f746291bff77c6c497225e8884758d503bde2efad64e45ad44b',
|
||||
now(), 0, false);
|
||||
|
||||
-- 示例用户信息
|
||||
INSERT INTO sys.tb_sys_user_info (
|
||||
|
||||
@@ -77,7 +77,7 @@ public class PermissionVO extends BaseVO {
|
||||
private String permissionDescription;
|
||||
|
||||
@Schema(description = "权限状态")
|
||||
private String permissionStatus;
|
||||
private Boolean permissionStatus;
|
||||
|
||||
// TbSysViewDTO对应字段
|
||||
@Schema(description = "视图ID")
|
||||
@@ -101,6 +101,12 @@ public class PermissionVO extends BaseVO {
|
||||
@Schema(description = "类型")
|
||||
private Integer viewType;
|
||||
|
||||
@Schema(description = "视图类型")
|
||||
private String viewViewType;
|
||||
|
||||
@Schema(description = "iframe URL")
|
||||
private String viewIframeUrl;
|
||||
|
||||
@Schema(description = "布局")
|
||||
private String viewLayout;
|
||||
|
||||
@@ -168,6 +174,8 @@ public class PermissionVO extends BaseVO {
|
||||
dto.setComponent(vo.getViewComponent());
|
||||
dto.setIcon(vo.getViewIcon());
|
||||
dto.setType(vo.getViewType());
|
||||
dto.setViewType(vo.getViewViewType());
|
||||
dto.setIframeUrl(vo.getViewIframeUrl());
|
||||
dto.setLayout(vo.getViewLayout());
|
||||
dto.setOrderNum(vo.getViewOrderNum());
|
||||
dto.setDescription(vo.getViewDescription());
|
||||
@@ -195,6 +203,8 @@ public class PermissionVO extends BaseVO {
|
||||
vo.setViewComponent(dto.getComponent());
|
||||
vo.setViewIcon(dto.getIcon());
|
||||
vo.setViewType(dto.getType());
|
||||
vo.setViewViewType(dto.getViewType());
|
||||
vo.setViewIframeUrl(dto.getIframeUrl());
|
||||
vo.setViewLayout(dto.getLayout());
|
||||
vo.setViewOrderNum(dto.getOrderNum());
|
||||
vo.setViewDescription(dto.getDescription());
|
||||
@@ -210,7 +220,7 @@ public class PermissionVO extends BaseVO {
|
||||
return vo;
|
||||
}
|
||||
|
||||
public static java.util.List<PermissionVO> fromViewDTOList(java.util.List<TbSysViewDTO> dtoList) {
|
||||
public static List<PermissionVO> fromViewDTOList(List<TbSysViewDTO> dtoList) {
|
||||
if (dtoList == null || dtoList.isEmpty()) {
|
||||
return java.util.Collections.emptyList();
|
||||
}
|
||||
|
||||
@@ -33,5 +33,5 @@ public class TbSysPermissionDTO extends BaseDTO {
|
||||
private String moduleId;
|
||||
|
||||
@Schema(description = "状态")
|
||||
private String status;
|
||||
private Boolean status;
|
||||
}
|
||||
@@ -86,7 +86,7 @@ public interface TbSysRolePermissionMapper extends BaseMapper<TbSysRolePermissio
|
||||
int getRolePermissionCount(TbSysRolePermissionDTO filter);
|
||||
|
||||
/**
|
||||
* @description 根据用户ID一次性查询该用户所有权限(连表 user_role -> role_permission -> permission)
|
||||
* @description 根据用户ID一次性查询该用户所有权限(连表 user_role -> role_permission -> permission-> view_permission)
|
||||
* @param userId 用户ID
|
||||
* @return List<PermissionVO> 权限VO列表
|
||||
*/
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<result column="code" property="code" jdbcType="VARCHAR"/>
|
||||
<result column="description" property="description" jdbcType="VARCHAR"/>
|
||||
<result column="module_id" property="moduleId" jdbcType="VARCHAR"/>
|
||||
<result column="status" property="status" jdbcType="VARCHAR"/>
|
||||
<result column="status" property="status" jdbcType="BOOLEAN"/>
|
||||
<!-- 基础字段 -->
|
||||
<result column="optsn" property="optsn" jdbcType="VARCHAR"/>
|
||||
<result column="creator" property="creator" jdbcType="VARCHAR"/>
|
||||
@@ -30,7 +30,7 @@
|
||||
<result column="permission_name" property="permissionName" jdbcType="VARCHAR"/>
|
||||
<result column="permission_code" property="permissionCode" jdbcType="VARCHAR"/>
|
||||
<result column="permission_description" property="permissionDescription" jdbcType="VARCHAR"/>
|
||||
<result column="permission_status" property="permissionStatus" jdbcType="VARCHAR"/>
|
||||
<result column="permission_status" property="permissionStatus" jdbcType="BOOLEAN"/>
|
||||
<!-- 模块关联字段 -->
|
||||
<result column="module_id" property="moduleId" jdbcType="VARCHAR"/>
|
||||
<result column="module_name" property="moduleName" jdbcType="VARCHAR"/>
|
||||
|
||||
@@ -28,16 +28,29 @@
|
||||
<result column="role_scope" property="roleScope" jdbcType="VARCHAR"/>
|
||||
<result column="role_owner_dept_id" property="roleOwnerDeptId" jdbcType="VARCHAR"/>
|
||||
<result column="role_status" property="roleStatus" jdbcType="BOOLEAN"/>
|
||||
<!-- 模块字段 -->
|
||||
<result column="module_id" property="moduleId" jdbcType="VARCHAR"/>
|
||||
<result column="module_name" property="moduleName" jdbcType="VARCHAR"/>
|
||||
<result column="module_description" property="moduleDescription" jdbcType="VARCHAR"/>
|
||||
<!-- 权限字段 -->
|
||||
<result column="permission_id" property="permissionId" jdbcType="VARCHAR"/>
|
||||
<result column="permission_name" property="permissionName" jdbcType="VARCHAR"/>
|
||||
<result column="permission_code" property="permissionCode" jdbcType="VARCHAR"/>
|
||||
<result column="permission_description" property="permissionDescription" jdbcType="VARCHAR"/>
|
||||
<result column="permission_status" property="permissionStatus" jdbcType="VARCHAR"/>
|
||||
<!-- 模块关联字段 -->
|
||||
<result column="module_id" property="moduleId" jdbcType="VARCHAR"/>
|
||||
<result column="module_name" property="moduleName" jdbcType="VARCHAR"/>
|
||||
<result column="module_description" property="moduleDescription" jdbcType="VARCHAR"/>
|
||||
<result column="permission_status" property="permissionStatus" jdbcType="BOOLEAN"/>
|
||||
<!-- 视图字段 -->
|
||||
<result column="view_id" property="viewId" jdbcType="VARCHAR"/>
|
||||
<result column="view_name" property="viewName" jdbcType="VARCHAR"/>
|
||||
<result column="view_parent_id" property="viewParentId" jdbcType="VARCHAR"/>
|
||||
<result column="view_url" property="viewUrl" jdbcType="VARCHAR"/>
|
||||
<result column="view_component" property="viewComponent" jdbcType="VARCHAR"/>
|
||||
<result column="view_icon" property="viewIcon" jdbcType="VARCHAR"/>
|
||||
<result column="view_type" property="viewType" jdbcType="INTEGER"/>
|
||||
<result column="view_view_type" property="viewViewType" jdbcType="VARCHAR"/>
|
||||
<result column="view_iframe_url" property="viewIframeUrl" jdbcType="VARCHAR"/>
|
||||
<result column="view_layout" property="viewLayout" jdbcType="VARCHAR"/>
|
||||
<result column="view_order_num" property="viewOrderNum" jdbcType="INTEGER"/>
|
||||
<result column="view_description" property="viewDescription" jdbcType="VARCHAR"/>
|
||||
<!-- BaseVO 基础字段 -->
|
||||
<result column="optsn" property="optsn" jdbcType="VARCHAR"/>
|
||||
<result column="creator" property="creator" jdbcType="VARCHAR"/>
|
||||
@@ -141,7 +154,7 @@
|
||||
r.role_id, r.name AS role_name, r.description AS role_description, r.scope AS role_scope, r.owner_dept_id AS role_owner_dept_id, r.status AS role_status,
|
||||
p.permission_id, p.name AS permission_name, p.code AS permission_code, p.description AS permission_description, p.status AS permission_status,
|
||||
p.module_id, m.name AS module_name, m.description AS module_description,
|
||||
rp.optsn, rp.creator, rp.updater, rp.dept_path, rp.remark, rp.create_time, rp.update_time, rp.delete_time, rp.deleted
|
||||
rp.optsn, rp.creator, rp.updater, rp.dept_path, rp.create_time, rp.update_time, rp.delete_time, rp.deleted
|
||||
FROM sys.tb_sys_role_permission rp
|
||||
LEFT JOIN sys.tb_sys_role r ON rp.role_id = r.role_id AND (r.deleted IS NULL OR r.deleted = false)
|
||||
LEFT JOIN sys.tb_sys_permission p ON rp.permission_id = p.permission_id AND (p.deleted IS NULL OR p.deleted = false)
|
||||
@@ -158,7 +171,7 @@
|
||||
r.role_id, r.name AS role_name, r.description AS role_description, r.scope AS role_scope, r.owner_dept_id AS role_owner_dept_id, r.status AS role_status,
|
||||
p.permission_id, p.name AS permission_name, p.code AS permission_code, p.description AS permission_description, p.status AS permission_status,
|
||||
p.module_id, m.name AS module_name, m.description AS module_description,
|
||||
rp.optsn, rp.creator, rp.updater, rp.dept_path, rp.remark, rp.create_time, rp.update_time, rp.delete_time, rp.deleted
|
||||
rp.optsn, rp.creator, rp.updater, rp.dept_path, rp.create_time, rp.update_time, rp.delete_time, rp.deleted
|
||||
FROM sys.tb_sys_role_permission rp
|
||||
LEFT JOIN sys.tb_sys_role r ON rp.role_id = r.role_id AND (r.deleted IS NULL OR r.deleted = false)
|
||||
LEFT JOIN sys.tb_sys_permission p ON rp.permission_id = p.permission_id AND (p.deleted IS NULL OR p.deleted = false)
|
||||
@@ -185,7 +198,7 @@
|
||||
r.role_id, r.name AS role_name, r.description AS role_description, r.scope AS role_scope, r.owner_dept_id AS role_owner_dept_id, r.status AS role_status,
|
||||
p.permission_id, p.name AS permission_name, p.code AS permission_code, p.description AS permission_description, p.status AS permission_status,
|
||||
p.module_id, m.name AS module_name, m.description AS module_description,
|
||||
rp.optsn, rp.creator, rp.updater, rp.dept_path, rp.remark, rp.create_time, rp.update_time, rp.delete_time, rp.deleted
|
||||
rp.optsn, rp.creator, rp.updater, rp.dept_path, rp.create_time, rp.update_time, rp.delete_time, rp.deleted
|
||||
FROM sys.tb_sys_role_permission rp
|
||||
LEFT JOIN sys.tb_sys_role r ON rp.role_id = r.role_id AND (r.deleted IS NULL OR r.deleted = false)
|
||||
LEFT JOIN sys.tb_sys_permission p ON rp.permission_id = p.permission_id AND (p.deleted IS NULL OR p.deleted = false)
|
||||
@@ -224,22 +237,76 @@
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<!-- getPermissionsByUserId -->
|
||||
|
||||
<!-- 根据用户ID一次性查询该用户所有权限(连表查询完整权限信息) -->
|
||||
<select id="getPermissionsByUserId" resultMap="PermissionVOResultMap">
|
||||
SELECT p.permission_id AS permissionId,
|
||||
p.name AS permissionName,
|
||||
p.code AS permissionCode,
|
||||
p.description AS permissionDescription,
|
||||
p.dept_path AS deptPath,
|
||||
p.deleted AS deleted,
|
||||
p.module_id AS moduleId
|
||||
SELECT DISTINCT
|
||||
-- 角色字段
|
||||
r.role_id,
|
||||
r.name AS role_name,
|
||||
r.description AS role_description,
|
||||
r.scope AS role_scope,
|
||||
r.owner_dept_id AS role_owner_dept_id,
|
||||
r.status AS role_status,
|
||||
-- 模块字段
|
||||
m.module_id,
|
||||
m.name AS module_name,
|
||||
m.description AS module_description,
|
||||
-- 权限字段
|
||||
p.permission_id,
|
||||
p.name AS permission_name,
|
||||
p.code AS permission_code,
|
||||
p.description AS permission_description,
|
||||
p.status AS permission_status,
|
||||
-- 视图字段
|
||||
v.view_id,
|
||||
v.name AS view_name,
|
||||
v.parent_id AS view_parent_id,
|
||||
v.url AS view_url,
|
||||
v.component AS view_component,
|
||||
v.icon AS view_icon,
|
||||
v.type AS view_type,
|
||||
v.view_type AS view_view_type,
|
||||
v.iframe_url AS view_iframe_url,
|
||||
v.layout AS view_layout,
|
||||
v.order_num AS view_order_num,
|
||||
v.description AS view_description,
|
||||
-- 基础字段 (从role_permission表获取)
|
||||
rp.optsn,
|
||||
rp.creator,
|
||||
rp.updater,
|
||||
rp.dept_path,
|
||||
rp.create_time,
|
||||
rp.update_time,
|
||||
rp.delete_time,
|
||||
rp.deleted
|
||||
FROM sys.tb_sys_user_role ur
|
||||
JOIN sys.tb_sys_role_permission rp ON ur.role_id = rp.role_id
|
||||
JOIN sys.tb_sys_permission p ON rp.permission_id = p.permission_id
|
||||
WHERE ur.user_id = #{userId}
|
||||
AND (p.deleted IS NULL OR p.deleted = false)
|
||||
-- 关联角色表
|
||||
JOIN sys.tb_sys_role r ON ur.role_id = r.role_id
|
||||
AND (r.deleted IS NULL OR r.deleted = false)
|
||||
AND r.status = true
|
||||
-- 关联角色权限关系表
|
||||
JOIN sys.tb_sys_role_permission rp ON r.role_id = rp.role_id
|
||||
AND (rp.deleted IS NULL OR rp.deleted = false)
|
||||
-- 关联权限表
|
||||
JOIN sys.tb_sys_permission p ON rp.permission_id = p.permission_id
|
||||
AND (p.deleted IS NULL OR p.deleted = false)
|
||||
AND p.status = true
|
||||
-- 关联模块表
|
||||
LEFT JOIN sys.tb_sys_module m ON p.module_id = m.module_id
|
||||
AND (m.deleted IS NULL OR m.deleted = false)
|
||||
-- 关联视图权限关系表
|
||||
LEFT JOIN sys.tb_sys_view_permission vp ON p.permission_id = vp.permission_id
|
||||
AND (vp.deleted IS NULL OR vp.deleted = false)
|
||||
-- 关联视图表
|
||||
LEFT JOIN sys.tb_sys_view v ON vp.view_id = v.view_id
|
||||
AND (v.deleted IS NULL OR v.deleted = false)
|
||||
WHERE ur.user_id = #{userId}
|
||||
AND (ur.deleted IS NULL OR ur.deleted = false)
|
||||
ORDER BY
|
||||
m.module_id,
|
||||
p.permission_id,
|
||||
v.order_num NULLS LAST,
|
||||
v.view_id
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
<result column="permission_name" property="permissionName" jdbcType="VARCHAR"/>
|
||||
<result column="permission_code" property="permissionCode" jdbcType="VARCHAR"/>
|
||||
<result column="permission_description" property="permissionDescription" jdbcType="VARCHAR"/>
|
||||
<result column="permission_status" property="permissionStatus" jdbcType="VARCHAR"/>
|
||||
<result column="permission_status" property="permissionStatus" jdbcType="BOOLEAN"/>
|
||||
<!-- 模块关联字段 -->
|
||||
<result column="module_id" property="moduleId" jdbcType="VARCHAR"/>
|
||||
<result column="module_name" property="moduleName" jdbcType="VARCHAR"/>
|
||||
|
||||
Reference in New Issue
Block a user