结构修改
This commit is contained in:
@@ -222,17 +222,37 @@ reinit() {
|
|||||||
delete() {
|
delete() {
|
||||||
echo -e "${YELLOW}Deleting database...${NC}"
|
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 "
|
PGPASSWORD=$DB_PASSWORD psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "postgres" -c "
|
||||||
SELECT pg_terminate_backend(pg_stat_activity.pid)
|
SELECT pg_terminate_backend(pg_stat_activity.pid)
|
||||||
FROM pg_stat_activity
|
FROM pg_stat_activity
|
||||||
WHERE pg_stat_activity.datname = '$DB_NAME'
|
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)
|
-- 平台应用菜单 (platform)
|
||||||
-- =========================
|
-- =========================
|
||||||
-- 一级菜单
|
-- 一级菜单
|
||||||
('VIEW-P001', 'view_platform_home', '工作台', NULL, '/home', 'Home', 'Grid', 1,
|
('VIEW-P002', 'view_platform_chat', '泰豪AI助手', NULL, '/aichat', 'public/Chat/AIChatView.vue', 'ChatDotRound', 1,
|
||||||
'route', NULL, 'platform', 'SidebarLayout', 10, '平台工作台首页', 'system', now(), false),
|
'route', NULL, 'platform', 'SidebarLayout', 10, '泰豪AI助手-直接智能体对话', 'system', now(), false),
|
||||||
|
('VIEW-P001', 'view_platform_home', '全部应用', NULL, '/agents', 'public/Agents/AgentPlatformView.vue', 'Grid', 1,
|
||||||
('VIEW-P002', 'view_platform_chat', 'AI助手', NULL, '/chat', 'Chat', 'ChatDotRound', 1,
|
'route', NULL, 'platform', 'SidebarLayout', 20, '全部智能体', 'system', now(), false),
|
||||||
'route', NULL, 'platform', 'SidebarLayout', 20, 'AI智能对话助手', 'system', now(), false),
|
|
||||||
|
|
||||||
-- iframe 嵌入菜单
|
-- 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,
|
('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,
|
('VIEW-P100', 'view_system', '系统管理', NULL, '/system', NULL, 'Settings', 0,
|
||||||
@@ -312,56 +308,56 @@ INSERT INTO sys.tb_sys_role_permission (
|
|||||||
-- =============================
|
-- =============================
|
||||||
-- 7. 视图权限关联
|
-- 7. 视图权限关联
|
||||||
-- =============================
|
-- =============================
|
||||||
-- 将视图与对应模块的权限关联(使用新的 view_id)
|
-- 将视图与对应模块的权限关联(使用真正的 view_id,不是 optsn)
|
||||||
INSERT INTO sys.tb_sys_view_permission (
|
INSERT INTO sys.tb_sys_view_permission (
|
||||||
optsn, view_id, permission_id, creator, dept_path, create_time, deleted
|
optsn, view_id, permission_id, creator, dept_path, create_time, deleted
|
||||||
) VALUES
|
) VALUES
|
||||||
-- 平台基础菜单权限关联(所有登录用户都可访问)
|
-- 平台基础菜单权限关联(所有登录用户都可访问)
|
||||||
('VP-P001', 'VIEW-P001', 'perm_platform_home', 'system', NULL, now(), false),
|
('VP-P001', 'view_platform_home', 'perm_platform_home', 'system', NULL, now(), false),
|
||||||
('VP-P002', 'VIEW-P002', 'perm_platform_chat', 'system', NULL, now(), false),
|
('VP-P002', 'view_platform_chat', 'perm_platform_chat', 'system', NULL, now(), false),
|
||||||
('VP-P003', 'VIEW-P003', 'perm_platform_bidding', 'system', NULL, now(), false),
|
('VP-P003', 'view_platform_bidding', 'perm_platform_bidding', 'system', NULL, now(), false),
|
||||||
('VP-P004', 'VIEW-P004', 'perm_platform_workcase', 'system', NULL, now(), false),
|
('VP-P004', 'view_platform_workcase', 'perm_platform_workcase', 'system', NULL, now(), false),
|
||||||
('VP-P005', 'VIEW-P005', 'perm_platform_workflow', '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-0001', 'view_user', 'perm_user_view', 'system', NULL, now(), false),
|
||||||
('VP-0002', 'VIEW-P101', 'perm_user_create', 'system', NULL, now(), false),
|
('VP-0002', 'view_user', 'perm_user_create', 'system', NULL, now(), false),
|
||||||
('VP-0003', 'VIEW-P101', 'perm_user_edit', 'system', NULL, now(), false),
|
('VP-0003', 'view_user', 'perm_user_edit', 'system', NULL, now(), false),
|
||||||
('VP-0004', 'VIEW-P101', 'perm_user_delete', 'system', NULL, now(), false),
|
('VP-0004', 'view_user', 'perm_user_delete', 'system', NULL, now(), false),
|
||||||
('VP-0005', 'VIEW-P101', 'perm_user_export', '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-0011', 'view_role', 'perm_role_view', 'system', NULL, now(), false),
|
||||||
('VP-0012', 'VIEW-P102', 'perm_role_create', 'system', NULL, now(), false),
|
('VP-0012', 'view_role', 'perm_role_create', 'system', NULL, now(), false),
|
||||||
('VP-0013', 'VIEW-P102', 'perm_role_edit', 'system', NULL, now(), false),
|
('VP-0013', 'view_role', 'perm_role_edit', 'system', NULL, now(), false),
|
||||||
('VP-0014', 'VIEW-P102', 'perm_role_delete', 'system', NULL, now(), false),
|
('VP-0014', 'view_role', 'perm_role_delete', 'system', NULL, now(), false),
|
||||||
('VP-0015', 'VIEW-P102', 'perm_role_export', '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-0021', 'view_dept', 'perm_dept_view', 'system', NULL, now(), false),
|
||||||
('VP-0022', 'VIEW-P103', 'perm_dept_create', 'system', NULL, now(), false),
|
('VP-0022', 'view_dept', 'perm_dept_create', 'system', NULL, now(), false),
|
||||||
('VP-0023', 'VIEW-P103', 'perm_dept_edit', 'system', NULL, now(), false),
|
('VP-0023', 'view_dept', 'perm_dept_edit', 'system', NULL, now(), false),
|
||||||
('VP-0024', 'VIEW-P103', 'perm_dept_delete', 'system', NULL, now(), false),
|
('VP-0024', 'view_dept', 'perm_dept_delete', 'system', NULL, now(), false),
|
||||||
('VP-0025', 'VIEW-P103', 'perm_dept_export', '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-0031', 'view_permission', 'perm_permission_view', 'system', NULL, now(), false),
|
||||||
('VP-0032', 'VIEW-P104', 'perm_permission_manage', '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-0041', 'view_config', 'perm_config_view', 'system', NULL, now(), false),
|
||||||
('VP-0042', 'VIEW-P105', 'perm_config_edit', 'system', NULL, now(), false),
|
('VP-0042', 'view_config', 'perm_config_edit', 'system', NULL, now(), false),
|
||||||
('VP-0043', 'VIEW-P105', 'perm_config_export', '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-0051', 'view_file', 'perm_file_view', 'system', NULL, now(), false),
|
||||||
('VP-0052', 'VIEW-P106', 'perm_file_upload', 'system', NULL, now(), false),
|
('VP-0052', 'view_file', 'perm_file_upload', 'system', NULL, now(), false),
|
||||||
('VP-0053', 'VIEW-P106', 'perm_file_download', 'system', NULL, now(), false),
|
('VP-0053', 'view_file', 'perm_file_download', 'system', NULL, now(), false),
|
||||||
('VP-0054', 'VIEW-P106', 'perm_file_delete', 'system', NULL, now(), false),
|
('VP-0054', 'view_file', 'perm_file_delete', 'system', NULL, now(), false),
|
||||||
('VP-0055', 'VIEW-P106', 'perm_file_export', '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-0061', 'view_message', 'perm_message_view', 'system', NULL, now(), false),
|
||||||
('VP-0062', 'VIEW-P107', 'perm_message_send', 'system', NULL, now(), false),
|
('VP-0062', 'view_message', 'perm_message_send', 'system', NULL, now(), false),
|
||||||
('VP-0063', 'VIEW-P107', 'perm_message_manage', 'system', NULL, now(), false),
|
('VP-0063', 'view_message', 'perm_message_manage', 'system', NULL, now(), false),
|
||||||
('VP-0064', 'VIEW-P107', 'perm_message_export', 'system', NULL, now(), false);
|
('VP-0064', 'view_message', 'perm_message_export', 'system', NULL, now(), false);
|
||||||
|
|||||||
@@ -7,13 +7,13 @@
|
|||||||
-- 注意:密码需要使用 bcrypt 加密,这里使用的是 'admin123' 的 bcrypt hash
|
-- 注意:密码需要使用 bcrypt 加密,这里使用的是 'admin123' 的 bcrypt hash
|
||||||
-- 实际部署时应该修改为安全的密码
|
-- 实际部署时应该修改为安全的密码
|
||||||
INSERT INTO sys.tb_sys_user (
|
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
|
create_time, status, deleted
|
||||||
) VALUES
|
) VALUES
|
||||||
('USER-0001', 'user_admin', 'admin',
|
('USER-0001', 'user_admin', 'admin',
|
||||||
'$2a$10$N.zmdr9k7uOCQb376NoUnuTJ8iAt6Z5EHsM8lE9lBOsl7q0TP/Hza', -- admin123
|
'$2a$10$XAe0TE2p0ym94bKJ8LJ52el3M4oYyiExVH/kNCh.pWLLGDZWNM9Yu', -- admin123
|
||||||
'admin@urbanlifeline.com', '13800138000',
|
'admin@urbanlifeline.com', '13800138000', '7503bbfc6171077b737cdc4f76e781893a9a474c9ead05b6b946ac936e5a0288',
|
||||||
now(), 1, false);
|
now(), 0, false);
|
||||||
|
|
||||||
-- 超级管理员用户信息
|
-- 超级管理员用户信息
|
||||||
INSERT INTO sys.tb_sys_user_info (
|
INSERT INTO sys.tb_sys_user_info (
|
||||||
@@ -38,13 +38,13 @@ INSERT INTO sys.tb_sys_user_role (
|
|||||||
-- 3. 创建示例普通用户(可选)
|
-- 3. 创建示例普通用户(可选)
|
||||||
-- =============================
|
-- =============================
|
||||||
INSERT INTO sys.tb_sys_user (
|
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
|
create_time, status, deleted
|
||||||
) VALUES
|
) VALUES
|
||||||
('USER-0002', 'user_demo', 'demo',
|
('USER-0002', 'user_demo', 'demo',
|
||||||
'$2a$10$N.zmdr9k7uOCQb376NoUnuTJ8iAt6Z5EHsM8lE9lBOsl7q0TP/Hza', -- admin123
|
'$2a$10$XAe0TE2p0ym94bKJ8LJ52el3M4oYyiExVH/kNCh.pWLLGDZWNM9Yu', -- admin123
|
||||||
'demo@urbanlifeline.com', '13800138001',
|
'demo@urbanlifeline.com', '13800138001', '4e98ffd0e02a7f746291bff77c6c497225e8884758d503bde2efad64e45ad44b',
|
||||||
now(), 1, false);
|
now(), 0, false);
|
||||||
|
|
||||||
-- 示例用户信息
|
-- 示例用户信息
|
||||||
INSERT INTO sys.tb_sys_user_info (
|
INSERT INTO sys.tb_sys_user_info (
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ public class PermissionVO extends BaseVO {
|
|||||||
private String permissionDescription;
|
private String permissionDescription;
|
||||||
|
|
||||||
@Schema(description = "权限状态")
|
@Schema(description = "权限状态")
|
||||||
private String permissionStatus;
|
private Boolean permissionStatus;
|
||||||
|
|
||||||
// TbSysViewDTO对应字段
|
// TbSysViewDTO对应字段
|
||||||
@Schema(description = "视图ID")
|
@Schema(description = "视图ID")
|
||||||
@@ -101,6 +101,12 @@ public class PermissionVO extends BaseVO {
|
|||||||
@Schema(description = "类型")
|
@Schema(description = "类型")
|
||||||
private Integer viewType;
|
private Integer viewType;
|
||||||
|
|
||||||
|
@Schema(description = "视图类型")
|
||||||
|
private String viewViewType;
|
||||||
|
|
||||||
|
@Schema(description = "iframe URL")
|
||||||
|
private String viewIframeUrl;
|
||||||
|
|
||||||
@Schema(description = "布局")
|
@Schema(description = "布局")
|
||||||
private String viewLayout;
|
private String viewLayout;
|
||||||
|
|
||||||
@@ -168,6 +174,8 @@ public class PermissionVO extends BaseVO {
|
|||||||
dto.setComponent(vo.getViewComponent());
|
dto.setComponent(vo.getViewComponent());
|
||||||
dto.setIcon(vo.getViewIcon());
|
dto.setIcon(vo.getViewIcon());
|
||||||
dto.setType(vo.getViewType());
|
dto.setType(vo.getViewType());
|
||||||
|
dto.setViewType(vo.getViewViewType());
|
||||||
|
dto.setIframeUrl(vo.getViewIframeUrl());
|
||||||
dto.setLayout(vo.getViewLayout());
|
dto.setLayout(vo.getViewLayout());
|
||||||
dto.setOrderNum(vo.getViewOrderNum());
|
dto.setOrderNum(vo.getViewOrderNum());
|
||||||
dto.setDescription(vo.getViewDescription());
|
dto.setDescription(vo.getViewDescription());
|
||||||
@@ -195,6 +203,8 @@ public class PermissionVO extends BaseVO {
|
|||||||
vo.setViewComponent(dto.getComponent());
|
vo.setViewComponent(dto.getComponent());
|
||||||
vo.setViewIcon(dto.getIcon());
|
vo.setViewIcon(dto.getIcon());
|
||||||
vo.setViewType(dto.getType());
|
vo.setViewType(dto.getType());
|
||||||
|
vo.setViewViewType(dto.getViewType());
|
||||||
|
vo.setViewIframeUrl(dto.getIframeUrl());
|
||||||
vo.setViewLayout(dto.getLayout());
|
vo.setViewLayout(dto.getLayout());
|
||||||
vo.setViewOrderNum(dto.getOrderNum());
|
vo.setViewOrderNum(dto.getOrderNum());
|
||||||
vo.setViewDescription(dto.getDescription());
|
vo.setViewDescription(dto.getDescription());
|
||||||
@@ -210,7 +220,7 @@ public class PermissionVO extends BaseVO {
|
|||||||
return vo;
|
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()) {
|
if (dtoList == null || dtoList.isEmpty()) {
|
||||||
return java.util.Collections.emptyList();
|
return java.util.Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,5 +33,5 @@ public class TbSysPermissionDTO extends BaseDTO {
|
|||||||
private String moduleId;
|
private String moduleId;
|
||||||
|
|
||||||
@Schema(description = "状态")
|
@Schema(description = "状态")
|
||||||
private String status;
|
private Boolean status;
|
||||||
}
|
}
|
||||||
@@ -86,7 +86,7 @@ public interface TbSysRolePermissionMapper extends BaseMapper<TbSysRolePermissio
|
|||||||
int getRolePermissionCount(TbSysRolePermissionDTO filter);
|
int getRolePermissionCount(TbSysRolePermissionDTO filter);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 根据用户ID一次性查询该用户所有权限(连表 user_role -> role_permission -> permission)
|
* @description 根据用户ID一次性查询该用户所有权限(连表 user_role -> role_permission -> permission-> view_permission)
|
||||||
* @param userId 用户ID
|
* @param userId 用户ID
|
||||||
* @return List<PermissionVO> 权限VO列表
|
* @return List<PermissionVO> 权限VO列表
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
<result column="code" property="code" jdbcType="VARCHAR"/>
|
<result column="code" property="code" jdbcType="VARCHAR"/>
|
||||||
<result column="description" property="description" jdbcType="VARCHAR"/>
|
<result column="description" property="description" jdbcType="VARCHAR"/>
|
||||||
<result column="module_id" property="moduleId" 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="optsn" property="optsn" jdbcType="VARCHAR"/>
|
||||||
<result column="creator" property="creator" jdbcType="VARCHAR"/>
|
<result column="creator" property="creator" jdbcType="VARCHAR"/>
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
<result column="permission_name" property="permissionName" jdbcType="VARCHAR"/>
|
<result column="permission_name" property="permissionName" jdbcType="VARCHAR"/>
|
||||||
<result column="permission_code" property="permissionCode" jdbcType="VARCHAR"/>
|
<result column="permission_code" property="permissionCode" jdbcType="VARCHAR"/>
|
||||||
<result column="permission_description" property="permissionDescription" 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_id" property="moduleId" jdbcType="VARCHAR"/>
|
||||||
<result column="module_name" property="moduleName" 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_scope" property="roleScope" jdbcType="VARCHAR"/>
|
||||||
<result column="role_owner_dept_id" property="roleOwnerDeptId" jdbcType="VARCHAR"/>
|
<result column="role_owner_dept_id" property="roleOwnerDeptId" jdbcType="VARCHAR"/>
|
||||||
<result column="role_status" property="roleStatus" jdbcType="BOOLEAN"/>
|
<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_id" property="permissionId" jdbcType="VARCHAR"/>
|
||||||
<result column="permission_name" property="permissionName" jdbcType="VARCHAR"/>
|
<result column="permission_name" property="permissionName" jdbcType="VARCHAR"/>
|
||||||
<result column="permission_code" property="permissionCode" jdbcType="VARCHAR"/>
|
<result column="permission_code" property="permissionCode" jdbcType="VARCHAR"/>
|
||||||
<result column="permission_description" property="permissionDescription" 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="view_id" property="viewId" jdbcType="VARCHAR"/>
|
||||||
<result column="module_name" property="moduleName" jdbcType="VARCHAR"/>
|
<result column="view_name" property="viewName" jdbcType="VARCHAR"/>
|
||||||
<result column="module_description" property="moduleDescription" 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 基础字段 -->
|
<!-- BaseVO 基础字段 -->
|
||||||
<result column="optsn" property="optsn" jdbcType="VARCHAR"/>
|
<result column="optsn" property="optsn" jdbcType="VARCHAR"/>
|
||||||
<result column="creator" property="creator" 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,
|
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.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,
|
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
|
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_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)
|
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,
|
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.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,
|
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
|
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_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)
|
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,
|
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.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,
|
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
|
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_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)
|
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>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- getPermissionsByUserId -->
|
<!-- 根据用户ID一次性查询该用户所有权限(连表查询完整权限信息) -->
|
||||||
|
|
||||||
<select id="getPermissionsByUserId" resultMap="PermissionVOResultMap">
|
<select id="getPermissionsByUserId" resultMap="PermissionVOResultMap">
|
||||||
SELECT p.permission_id AS permissionId,
|
SELECT DISTINCT
|
||||||
p.name AS permissionName,
|
-- 角色字段
|
||||||
p.code AS permissionCode,
|
r.role_id,
|
||||||
p.description AS permissionDescription,
|
r.name AS role_name,
|
||||||
p.dept_path AS deptPath,
|
r.description AS role_description,
|
||||||
p.deleted AS deleted,
|
r.scope AS role_scope,
|
||||||
p.module_id AS moduleId
|
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
|
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
|
JOIN sys.tb_sys_role r ON ur.role_id = r.role_id
|
||||||
WHERE ur.user_id = #{userId}
|
AND (r.deleted IS NULL OR r.deleted = false)
|
||||||
AND (p.deleted IS NULL OR p.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)
|
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>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
<result column="permission_name" property="permissionName" jdbcType="VARCHAR"/>
|
<result column="permission_name" property="permissionName" jdbcType="VARCHAR"/>
|
||||||
<result column="permission_code" property="permissionCode" jdbcType="VARCHAR"/>
|
<result column="permission_code" property="permissionCode" jdbcType="VARCHAR"/>
|
||||||
<result column="permission_description" property="permissionDescription" 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_id" property="moduleId" jdbcType="VARCHAR"/>
|
||||||
<result column="module_name" property="moduleName" jdbcType="VARCHAR"/>
|
<result column="module_name" property="moduleName" jdbcType="VARCHAR"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user