20260721223033
This commit is contained in:
1 parent
bab8e2972f
commit
e9f099f044
26 files changed
+1687
-349
No files matched your search
@@ -7,8 +7,9 @@ BEGIN TRY
|
||||
IF OBJECT_ID(N'dbo.b_module', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.b_module (
|
||||
b_id varchar(50) NOT NULL,
|
||||
b_parent_id varchar(50) NULL,
|
||||
b_id bigint NOT NULL,
|
||||
b_code varchar(50) NOT NULL,
|
||||
b_parent_id bigint NULL,
|
||||
b_name nvarchar(100) NOT NULL,
|
||||
b_i18n varchar(150) NULL,
|
||||
b_type varchar(20) NOT NULL,
|
||||
@@ -16,20 +17,19 @@ BEGIN TRY
|
||||
b_viewtable varchar(128) NULL,
|
||||
b_savetable varchar(128) NULL,
|
||||
b_keyfield varchar(50) NULL,
|
||||
b_orderfield varchar(50) NULL,
|
||||
b_ordertype varchar(4) NULL,
|
||||
b_orderfield varchar(500) NULL,
|
||||
b_canmenu int NOT NULL CONSTRAINT DF_b_module_canmenu DEFAULT (0),
|
||||
b_canuse int NOT NULL CONSTRAINT DF_b_module_canuse DEFAULT (1),
|
||||
b_xh int NOT NULL CONSTRAINT DF_b_module_xh DEFAULT (0),
|
||||
CONSTRAINT PK_b_module PRIMARY KEY (b_id),
|
||||
CONSTRAINT FK_b_module_parent FOREIGN KEY (b_parent_id) REFERENCES dbo.b_module (b_id),
|
||||
CONSTRAINT CK_b_module_id CHECK (
|
||||
LEN(b_id) BETWEEN 2 AND 50
|
||||
AND b_id LIKE '[A-Z]%'
|
||||
AND b_id NOT LIKE '%[^A-Z0-9_]%'
|
||||
CONSTRAINT UQ_b_module_code UNIQUE (b_code),
|
||||
CONSTRAINT CK_b_module_code CHECK (
|
||||
LEN(b_code) BETWEEN 2 AND 50
|
||||
AND b_code COLLATE Latin1_General_100_BIN2 LIKE '[a-z]%'
|
||||
AND b_code COLLATE Latin1_General_100_BIN2 NOT LIKE '%[^a-z0-9_]%'
|
||||
),
|
||||
CONSTRAINT CK_b_module_type CHECK (b_type IN ('directory', 'page', 'data')),
|
||||
CONSTRAINT CK_b_module_ordertype CHECK (b_ordertype IS NULL OR b_ordertype IN ('ASC', 'DESC')),
|
||||
CONSTRAINT CK_b_module_canmenu CHECK (b_canmenu IN (0, 1)),
|
||||
CONSTRAINT CK_b_module_canuse CHECK (b_canuse IN (0, 1)),
|
||||
CONSTRAINT CK_b_module_directory CHECK (
|
||||
@@ -49,7 +49,7 @@ BEGIN TRY
|
||||
BEGIN
|
||||
CREATE TABLE dbo.b_module_field (
|
||||
b_id bigint NOT NULL,
|
||||
b_module_id varchar(50) NOT NULL,
|
||||
b_module_id bigint NOT NULL,
|
||||
b_field varchar(50) NOT NULL,
|
||||
b_name nvarchar(100) NOT NULL,
|
||||
b_i18n varchar(150) NULL,
|
||||
@@ -85,7 +85,7 @@ BEGIN TRY
|
||||
BEGIN
|
||||
CREATE TABLE dbo.b_module_power (
|
||||
b_id bigint NOT NULL,
|
||||
b_module_id varchar(50) NOT NULL,
|
||||
b_module_id bigint NOT NULL,
|
||||
b_code varchar(50) NOT NULL,
|
||||
b_name nvarchar(100) NOT NULL,
|
||||
b_i18n varchar(150) NULL,
|
||||
@@ -106,7 +106,7 @@ BEGIN TRY
|
||||
CREATE TABLE dbo.b_user_module (
|
||||
b_id bigint NOT NULL,
|
||||
b_user_id bigint NOT NULL,
|
||||
b_module_id varchar(50) NOT NULL,
|
||||
b_module_id bigint NOT NULL,
|
||||
b_inputuser_id bigint NOT NULL,
|
||||
b_inputdatetime datetime NOT NULL CONSTRAINT DF_b_user_module_inputdatetime DEFAULT (GETDATE()),
|
||||
CONSTRAINT PK_b_user_module PRIMARY KEY (b_id),
|
||||
@@ -160,13 +160,16 @@ BEGIN TRY
|
||||
IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE object_id = OBJECT_ID(N'dbo.b_i18n') AND name = N'IX_b_i18n_key')
|
||||
CREATE INDEX IX_b_i18n_key ON dbo.b_i18n (b_key, b_locale);
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.b_module WHERE b_id = 'M_SYSTEM')
|
||||
INSERT INTO dbo.b_module (b_id, b_parent_id, b_name, b_i18n, b_type, b_canmenu, b_canuse, b_xh)
|
||||
VALUES ('M_SYSTEM', NULL, N'系统管理', 'module.M_SYSTEM', 'directory', 1, 1, 100);
|
||||
DECLARE @SystemModuleId bigint = 205000000000000011;
|
||||
DECLARE @ModuleManagementId bigint = 205000000000000012;
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.b_module WHERE b_id = 'M_MODULE')
|
||||
INSERT INTO dbo.b_module (b_id, b_parent_id, b_name, b_i18n, b_type, b_route, b_canmenu, b_canuse, b_xh)
|
||||
VALUES ('M_MODULE', 'M_SYSTEM', N'模块管理', 'module.M_MODULE', 'page', '/system/modules', 1, 1, 10);
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.b_module WHERE b_code = 'm_system')
|
||||
INSERT INTO dbo.b_module (b_id, b_code, b_parent_id, b_name, b_i18n, b_type, b_canmenu, b_canuse, b_xh)
|
||||
VALUES (@SystemModuleId, 'm_system', NULL, N'系统管理', 'module.m_system', 'directory', 1, 1, 100);
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.b_module WHERE b_code = 'm_module')
|
||||
INSERT INTO dbo.b_module (b_id, b_code, b_parent_id, b_name, b_i18n, b_type, b_route, b_canmenu, b_canuse, b_xh)
|
||||
VALUES (@ModuleManagementId, 'm_module', @SystemModuleId, N'模块管理', 'module.m_module', 'page', '/system/modules', 1, 1, 10);
|
||||
|
||||
DECLARE @Powers TABLE (b_id bigint, b_code varchar(50), b_name nvarchar(100), b_xh int);
|
||||
INSERT INTO @Powers VALUES
|
||||
@@ -176,11 +179,11 @@ BEGIN TRY
|
||||
(205000000000000004, 'grant', N'用户授权', 40);
|
||||
|
||||
INSERT INTO dbo.b_module_power (b_id, b_module_id, b_code, b_name, b_i18n, b_xh, b_canuse)
|
||||
SELECT p.b_id, 'M_MODULE', p.b_code, p.b_name, 'power.M_MODULE.' + p.b_code, p.b_xh, 1
|
||||
SELECT p.b_id, @ModuleManagementId, p.b_code, p.b_name, 'power.m_module.' + p.b_code, p.b_xh, 1
|
||||
FROM @Powers p
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM dbo.b_module_power target
|
||||
WHERE target.b_module_id = 'M_MODULE' AND target.b_code = p.b_code
|
||||
WHERE target.b_module_id = @ModuleManagementId AND target.b_code = p.b_code
|
||||
);
|
||||
|
||||
EXEC sys.sp_set_session_context @key = N'allow_g3soft', @value = 1;
|
||||
@@ -188,14 +191,14 @@ BEGIN TRY
|
||||
IF @AdminId IS NULL
|
||||
THROW 51000, '未找到已启用的管理员账号 g3soft,模块管理初始化已取消。', 1;
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.b_user_module WHERE b_user_id = @AdminId AND b_module_id = 'M_MODULE')
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.b_user_module WHERE b_user_id = @AdminId AND b_module_id = @ModuleManagementId)
|
||||
INSERT INTO dbo.b_user_module (b_id, b_user_id, b_module_id, b_inputuser_id, b_inputdatetime)
|
||||
VALUES (205000000000000101, @AdminId, 'M_MODULE', @AdminId, GETDATE());
|
||||
VALUES (205000000000000101, @AdminId, @ModuleManagementId, @AdminId, GETDATE());
|
||||
|
||||
INSERT INTO dbo.b_user_power (b_id, b_user_id, b_power_id, b_inputuser_id, b_inputdatetime)
|
||||
SELECT 205000000000000200 + ROW_NUMBER() OVER (ORDER BY p.b_id), @AdminId, p.b_id, @AdminId, GETDATE()
|
||||
FROM dbo.b_module_power p
|
||||
WHERE p.b_module_id = 'M_MODULE'
|
||||
WHERE p.b_module_id = @ModuleManagementId
|
||||
AND p.b_code IN ('create', 'update', 'delete', 'grant')
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM dbo.b_user_power target
|
||||
|
||||
Reference in new issue
Block a user