This commit is contained in:
2025-12-02 13:36:09 +08:00
parent ee6dd64f98
commit 94718edd6b
97 changed files with 570 additions and 579 deletions

View File

@@ -180,7 +180,7 @@ ORDER BY create_time;
### 配置类型 ### 配置类型
- `config_type`: String / Integer / Boolean / Float / Double - `config_type`: String / INTEGER / BOOLEAN / Float / Double
- `render_type`: select / input / textarea / checkbox / radio / switch - `render_type`: select / input / textarea / checkbox / radio / switch
### 常用查询 ### 常用查询
@@ -481,14 +481,14 @@ GROUP BY a.agent_id, a.agent_name;
| `dept_path` | VARCHAR(255) | 部门全路径(多租户隔离) | | `dept_path` | VARCHAR(255) | 部门全路径(多租户隔离) |
| `creator` | VARCHAR(50) | 创建者ID | | `creator` | VARCHAR(50) | 创建者ID |
| `updater` | VARCHAR(50) | 更新者ID | | `updater` | VARCHAR(50) | 更新者ID |
| `create_time` | timestamptz | 创建时间(带时区) | | `create_time` | TIMESTAMPTZ | 创建时间(带时区) |
| `update_time` | timestamptz | 更新时间(触发器自动更新) | | `update_time` | TIMESTAMPTZ | 更新时间(触发器自动更新) |
| `delete_time` | timestamptz | 删除时间 | | `delete_time` | TIMESTAMPTZ | 删除时间 |
| `deleted` | BOOLEAN | 软删除标记 | | `deleted` | BOOLEAN | 软删除标记 |
### 时间戳说明 ### 时间戳说明
- 使用 `timestamptz` 类型(带时区的时间戳) - 使用 `TIMESTAMPTZ` 类型(带时区的时间戳)
- 自动记录创建时间 - 自动记录创建时间
- 更新时间由触发器自动维护 - 更新时间由触发器自动维护
- 支持软删除(保留 delete_time - 支持软删除(保留 delete_time

View File

@@ -183,7 +183,7 @@ agent ← 智能体管理和平台基础设施
### 1. 数据类型使用 ### 1. 数据类型使用
- **timestamptz**:全部时间字段(带时区支持) - **TIMESTAMPTZ**:全部时间字段(带时区支持)
- **JSONB**:配置、元数据、扩展字段 - **JSONB**:配置、元数据、扩展字段
- **数组TEXT[]**标签、关键词、ID列表 - **数组TEXT[]**标签、关键词、ID列表
- **DECIMAL**:金额、评分(精确计算) - **DECIMAL**:金额、评分(精确计算)

View File

@@ -59,7 +59,7 @@ tb_sys_user:
- 支持多种登录方式(emailphonewechat_id - 支持多种登录方式(emailphonewechat_id
- 密码加密存储(建议bcrypt/argon2 - 密码加密存储(建议bcrypt/argon2
- 软删除机制(deleted + delete_time - 软删除机制(deleted + delete_time
- 时区感知时间戳(timestamptz - 时区感知时间戳(TIMESTAMPTZ
``` ```
### 3.2 知识库管理模块 (knowledge) ### 3.2 知识库管理模块 (knowledge)
@@ -419,8 +419,8 @@ CREATE TABLE sys.tb_sys_user_dept (
is_primary BOOLEAN DEFAULT false, -- 是否主部门 is_primary BOOLEAN DEFAULT false, -- 是否主部门
position VARCHAR(100), -- 职位 position VARCHAR(100), -- 职位
creator VARCHAR(50) DEFAULT NULL, creator VARCHAR(50) DEFAULT NULL,
create_time timestamptz NOT NULL DEFAULT now(), create_time TIMESTAMPTZ NOT NULL DEFAULT now(),
update_time timestamptz DEFAULT NULL, update_time TIMESTAMPTZ DEFAULT NULL,
deleted BOOLEAN NOT NULL DEFAULT false, deleted BOOLEAN NOT NULL DEFAULT false,
PRIMARY KEY (user_id, dept_id), PRIMARY KEY (user_id, dept_id),
UNIQUE (optsn) UNIQUE (optsn)
@@ -475,7 +475,7 @@ CREATE TABLE file.tb_file_relation (
relation_type VARCHAR(30) DEFAULT 'attachment', -- 关联类型attachment-附件/avatar-头像/banner-横幅 relation_type VARCHAR(30) DEFAULT 'attachment', -- 关联类型attachment-附件/avatar-头像/banner-横幅
order_num INTEGER DEFAULT 0, order_num INTEGER DEFAULT 0,
creator VARCHAR(50) DEFAULT NULL, creator VARCHAR(50) DEFAULT NULL,
create_time timestamptz NOT NULL DEFAULT now(), create_time TIMESTAMPTZ NOT NULL DEFAULT now(),
deleted BOOLEAN NOT NULL DEFAULT false, deleted BOOLEAN NOT NULL DEFAULT false,
PRIMARY KEY (relation_id), PRIMARY KEY (relation_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -504,8 +504,8 @@ CREATE TABLE message.tb_message_template (
dept_path VARCHAR(255) DEFAULT NULL, dept_path VARCHAR(255) DEFAULT NULL,
creator VARCHAR(50) DEFAULT NULL, creator VARCHAR(50) DEFAULT NULL,
updater VARCHAR(50) DEFAULT NULL, updater VARCHAR(50) DEFAULT NULL,
create_time timestamptz NOT NULL DEFAULT now(), create_time TIMESTAMPTZ NOT NULL DEFAULT now(),
update_time timestamptz DEFAULT NULL, update_time TIMESTAMPTZ DEFAULT NULL,
deleted BOOLEAN NOT NULL DEFAULT false, deleted BOOLEAN NOT NULL DEFAULT false,
PRIMARY KEY (template_id), PRIMARY KEY (template_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -688,7 +688,7 @@ pg_restore -d urbanlifeline -c backup_20240101.dump
- **Schema数**9 个业务Schema - **Schema数**9 个业务Schema
- **索引类型**B-Tree、GIN、部分索引、表达式索引 - **索引类型**B-Tree、GIN、部分索引、表达式索引
- **数据类型**:标准类型 + JSONB + 数组 + 向量(可选) - **数据类型**:标准类型 + JSONB + 数组 + 向量(可选)
- **时区支持**:全部使用timestamptz - **时区支持**:全部使用TIMESTAMPTZ
- **软删除**全表支持deleted标记 - **软删除**全表支持deleted标记
--- ---

View File

@@ -37,9 +37,9 @@ CREATE TABLE agent.tb_agent (
status VARCHAR(20) DEFAULT 'active', -- 状态active-激活/inactive-停用/under_maintenance-维护中 status VARCHAR(20) DEFAULT 'active', -- 状态active-激活/inactive-停用/under_maintenance-维护中
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (agent_id), PRIMARY KEY (agent_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -64,15 +64,15 @@ CREATE TABLE agent.tb_agent_session (
session_name VARCHAR(255), -- 会话名称 session_name VARCHAR(255), -- 会话名称
context JSONB, -- 会话上下文 context JSONB, -- 会话上下文
session_status VARCHAR(20) DEFAULT 'active', -- 会话状态active-活跃/paused-暂停/ended-结束 session_status VARCHAR(20) DEFAULT 'active', -- 会话状态active-活跃/paused-暂停/ended-结束
start_time timestamptz DEFAULT now(), -- 开始时间 start_time TIMESTAMPTZ DEFAULT now(), -- 开始时间
end_time timestamptz, -- 结束时间 end_time TIMESTAMPTZ, -- 结束时间
message_count INTEGER DEFAULT 0, -- 消息数量 message_count INTEGER DEFAULT 0, -- 消息数量
token_usage INTEGER DEFAULT 0, -- Token使用量 token_usage INTEGER DEFAULT 0, -- Token使用量
cost DECIMAL(10,4) DEFAULT 0, -- 成本 cost DECIMAL(10,4) DEFAULT 0, -- 成本
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (session_id), PRIMARY KEY (session_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -101,7 +101,7 @@ CREATE TABLE agent.tb_agent_message (
kb_references JSONB, -- 知识库引用JSON数组 kb_references JSONB, -- 知识库引用JSON数组
metadata JSONB, -- 消息元数据 metadata JSONB, -- 消息元数据
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (message_id), PRIMARY KEY (message_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -138,9 +138,9 @@ CREATE TABLE agent.tb_agent_tool (
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (tool_id), PRIMARY KEY (tool_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -169,15 +169,15 @@ CREATE TABLE agent.tb_api_integration (
retry_config JSONB, -- 重试配置 retry_config JSONB, -- 重试配置
health_check_url VARCHAR(500), -- 健康检查URL health_check_url VARCHAR(500), -- 健康检查URL
health_status VARCHAR(20) DEFAULT 'unknown', -- 健康状态healthy-健康/unhealthy-不健康/unknown-未知 health_status VARCHAR(20) DEFAULT 'unknown', -- 健康状态healthy-健康/unhealthy-不健康/unknown-未知
last_health_check timestamptz, -- 最后健康检查时间 last_health_check TIMESTAMPTZ, -- 最后健康检查时间
documentation_url VARCHAR(500), -- 文档URL documentation_url VARCHAR(500), -- 文档URL
is_enabled BOOLEAN DEFAULT true, -- 是否启用 is_enabled BOOLEAN DEFAULT true, -- 是否启用
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (integration_id), PRIMARY KEY (integration_id),
UNIQUE (optsn) UNIQUE (optsn)
@@ -211,7 +211,7 @@ CREATE TABLE agent.tb_api_call_log (
retry_count INTEGER DEFAULT 0, -- 重试次数 retry_count INTEGER DEFAULT 0, -- 重试次数
ip_address VARCHAR(45), -- IP地址 ip_address VARCHAR(45), -- IP地址
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
PRIMARY KEY (log_id), PRIMARY KEY (log_id),
UNIQUE (optsn) UNIQUE (optsn)
); );
@@ -242,8 +242,8 @@ CREATE TABLE agent.tb_agent_metrics (
avg_rating DECIMAL(3,2), -- 平均评分 avg_rating DECIMAL(3,2), -- 平均评分
rating_count INTEGER DEFAULT 0, -- 评分数量 rating_count INTEGER DEFAULT 0, -- 评分数量
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
PRIMARY KEY (metric_id), PRIMARY KEY (metric_id),
UNIQUE (optsn), UNIQUE (optsn),
UNIQUE (agent_id, metric_date, metric_hour), UNIQUE (agent_id, metric_date, metric_hour),
@@ -270,8 +270,8 @@ CREATE TABLE agent.tb_agent_error_log (
is_resolved BOOLEAN DEFAULT false, -- 是否已解决 is_resolved BOOLEAN DEFAULT false, -- 是否已解决
resolution_notes TEXT, -- 解决方案备注 resolution_notes TEXT, -- 解决方案备注
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
resolve_time timestamptz, -- 解决时间 resolve_time TIMESTAMPTZ, -- 解决时间
PRIMARY KEY (log_id), PRIMARY KEY (log_id),
UNIQUE (optsn), UNIQUE (optsn),
FOREIGN KEY (agent_id) REFERENCES agent.tb_agent(agent_id) FOREIGN KEY (agent_id) REFERENCES agent.tb_agent(agent_id)
@@ -296,7 +296,7 @@ CREATE TABLE agent.tb_agent_rating (
tags TEXT[], -- 标签 tags TEXT[], -- 标签
is_anonymous BOOLEAN DEFAULT false, -- 是否匿名 is_anonymous BOOLEAN DEFAULT false, -- 是否匿名
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (rating_id), PRIMARY KEY (rating_id),
UNIQUE (optsn), UNIQUE (optsn),

View File

@@ -15,9 +15,9 @@ CREATE TABLE bidding.tb_bidding_project (
industry VARCHAR(100), -- 所属行业 industry VARCHAR(100), -- 所属行业
source_platform VARCHAR(100), -- 来源平台(如:政府采购网、企业官网等) source_platform VARCHAR(100), -- 来源平台(如:政府采购网、企业官网等)
source_url VARCHAR(500), -- 来源URL source_url VARCHAR(500), -- 来源URL
publish_date timestamptz, -- 发布日期 publish_date TIMESTAMPTZ, -- 发布日期
deadline timestamptz, -- 投标截止日期 deadline TIMESTAMPTZ, -- 投标截止日期
opening_date timestamptz, -- 开标日期 opening_date TIMESTAMPTZ, -- 开标日期
budget_amount DECIMAL(18,2), -- 预算金额 budget_amount DECIMAL(18,2), -- 预算金额
currency VARCHAR(10) DEFAULT 'CNY', -- 货币单位 currency VARCHAR(10) DEFAULT 'CNY', -- 货币单位
project_status VARCHAR(30) NOT NULL DEFAULT 'collecting', -- 项目状态collecting-收集中/analyzing-分析中/preparing-准备投标/submitted-已提交/opened-已开标/won-中标/lost-未中标/abandoned-放弃 project_status VARCHAR(30) NOT NULL DEFAULT 'collecting', -- 项目状态collecting-收集中/analyzing-分析中/preparing-准备投标/submitted-已提交/opened-已开标/won-中标/lost-未中标/abandoned-放弃
@@ -35,9 +35,9 @@ CREATE TABLE bidding.tb_bidding_project (
team_members VARCHAR(50)[], -- 团队成员数组 team_members VARCHAR(50)[], -- 团队成员数组
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (project_id), PRIMARY KEY (project_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -71,13 +71,13 @@ CREATE TABLE bidding.tb_bidding_document (
parse_result JSONB, -- 解析结果JSON格式提取的要素、表格、图纸等 parse_result JSONB, -- 解析结果JSON格式提取的要素、表格、图纸等
extraction_data JSONB, -- 提取的结构化数据 extraction_data JSONB, -- 提取的结构化数据
ai_analysis TEXT, -- AI分析结果 ai_analysis TEXT, -- AI分析结果
upload_date timestamptz DEFAULT now(), -- 上传日期 upload_date TIMESTAMPTZ DEFAULT now(), -- 上传日期
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (doc_id), PRIMARY KEY (doc_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -113,9 +113,9 @@ CREATE TABLE bidding.tb_bidding_requirement (
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (req_id), PRIMARY KEY (req_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -151,9 +151,9 @@ CREATE TABLE bidding.tb_bid_response (
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (response_id), PRIMARY KEY (response_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -186,9 +186,9 @@ CREATE TABLE bidding.tb_bidding_scoring_rule (
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (rule_id), PRIMARY KEY (rule_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -209,10 +209,10 @@ CREATE TABLE bidding.tb_bidding_process (
node_type VARCHAR(50) NOT NULL, -- 节点类型collection-文件收集/analysis-需求分析/preparation-文件准备/review-内部审核/submission-投标提交/opening-开标/result-结果通知 node_type VARCHAR(50) NOT NULL, -- 节点类型collection-文件收集/analysis-需求分析/preparation-文件准备/review-内部审核/submission-投标提交/opening-开标/result-结果通知
node_order INTEGER NOT NULL, -- 节点顺序 node_order INTEGER NOT NULL, -- 节点顺序
node_status VARCHAR(30) DEFAULT 'pending', -- 节点状态pending-待处理/in_progress-进行中/completed-已完成/skipped-已跳过 node_status VARCHAR(30) DEFAULT 'pending', -- 节点状态pending-待处理/in_progress-进行中/completed-已完成/skipped-已跳过
planned_start_time timestamptz, -- 计划开始时间 planned_start_time TIMESTAMPTZ, -- 计划开始时间
planned_end_time timestamptz, -- 计划结束时间 planned_end_time TIMESTAMPTZ, -- 计划结束时间
actual_start_time timestamptz, -- 实际开始时间 actual_start_time TIMESTAMPTZ, -- 实际开始时间
actual_end_time timestamptz, -- 实际结束时间 actual_end_time TIMESTAMPTZ, -- 实际结束时间
responsible_user VARCHAR(50), -- 负责人 responsible_user VARCHAR(50), -- 负责人
participants VARCHAR(50)[], -- 参与人员数组 participants VARCHAR(50)[], -- 参与人员数组
notes TEXT, -- 节点备注 notes TEXT, -- 节点备注
@@ -220,9 +220,9 @@ CREATE TABLE bidding.tb_bidding_process (
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (process_id), PRIMARY KEY (process_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -251,9 +251,9 @@ CREATE TABLE bidding.tb_bid_template (
status VARCHAR(20) DEFAULT 'active', -- 状态active-激活/inactive-停用 status VARCHAR(20) DEFAULT 'active', -- 状态active-激活/inactive-停用
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (template_id), PRIMARY KEY (template_id),
UNIQUE (optsn) UNIQUE (optsn)

View File

@@ -6,7 +6,7 @@ CREATE TABLE config.tb_sys_config (
key VARCHAR(255) NOT NULL, -- 配置键 key VARCHAR(255) NOT NULL, -- 配置键
name VARCHAR(255) NOT NULL, -- 配置名称 name VARCHAR(255) NOT NULL, -- 配置名称
value VARCHAR(255) NOT NULL, -- 配置值 value VARCHAR(255) NOT NULL, -- 配置值
config_type VARCHAR(50) NOT NULL, -- 数据类型(String, Integer, Boolean, Float, Double) config_type VARCHAR(50) NOT NULL, -- 数据类型(String, INTEGER, BOOLEAN, Float, Double)
render_type VARCHAR(50) NOT NULL, -- 配置渲染类型(select, input, textarea, checkbox, radio, switch) render_type VARCHAR(50) NOT NULL, -- 配置渲染类型(select, input, textarea, checkbox, radio, switch)
description VARCHAR(255) NOT NULL, -- 配置描述 description VARCHAR(255) NOT NULL, -- 配置描述
re JSON DEFAULT NULL, -- 正则表达式校验规则 re JSON DEFAULT NULL, -- 正则表达式校验规则
@@ -19,9 +19,9 @@ CREATE TABLE config.tb_sys_config (
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径支持like递归如/1/2/3/ dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径支持like递归如/1/2/3/
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 配置创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 配置创建时间
update_time timestamptz DEFAULT NULL, -- 配置更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 配置更新时间
delete_time timestamptz DEFAULT NULL, -- 配置删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 配置删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (config_id), PRIMARY KEY (config_id),
UNIQUE (optsn) UNIQUE (optsn)

View File

@@ -25,7 +25,7 @@ CREATE TABLE customer_service.tb_customer (
tags TEXT[], -- 客户标签数组 tags TEXT[], -- 客户标签数组
notes TEXT, -- 备注 notes TEXT, -- 备注
crm_customer_id VARCHAR(50), -- CRM系统客户ID外部系统 crm_customer_id VARCHAR(50), -- CRM系统客户ID外部系统
last_contact_time timestamptz, -- 最后联系时间 last_contact_time TIMESTAMPTZ, -- 最后联系时间
total_consultations INTEGER DEFAULT 0, -- 咨询总次数 total_consultations INTEGER DEFAULT 0, -- 咨询总次数
total_orders INTEGER DEFAULT 0, -- 订单总数 total_orders INTEGER DEFAULT 0, -- 订单总数
total_amount DECIMAL(18,2) DEFAULT 0, -- 总消费金额 total_amount DECIMAL(18,2) DEFAULT 0, -- 总消费金额
@@ -34,9 +34,9 @@ CREATE TABLE customer_service.tb_customer (
status VARCHAR(20) DEFAULT 'active', -- 状态active-活跃/inactive-非活跃/blacklist-黑名单 status VARCHAR(20) DEFAULT 'active', -- 状态active-活跃/inactive-非活跃/blacklist-黑名单
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (customer_id), PRIMARY KEY (customer_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -62,8 +62,8 @@ CREATE TABLE customer_service.tb_conversation (
channel VARCHAR(20) DEFAULT 'wechat', -- 渠道wechat-微信/web-网页/app-应用/phone-电话 channel VARCHAR(20) DEFAULT 'wechat', -- 渠道wechat-微信/web-网页/app-应用/phone-电话
agent_id VARCHAR(50), -- 智能体ID或客服人员ID agent_id VARCHAR(50), -- 智能体ID或客服人员ID
agent_type VARCHAR(20) DEFAULT 'ai', -- 座席类型ai-AI/human-人工 agent_type VARCHAR(20) DEFAULT 'ai', -- 座席类型ai-AI/human-人工
session_start_time timestamptz DEFAULT now(), -- 会话开始时间 session_start_time TIMESTAMPTZ DEFAULT now(), -- 会话开始时间
session_end_time timestamptz, -- 会话结束时间 session_end_time TIMESTAMPTZ, -- 会话结束时间
duration_seconds INTEGER, -- 会话时长(秒) duration_seconds INTEGER, -- 会话时长(秒)
message_count INTEGER DEFAULT 0, -- 消息数量 message_count INTEGER DEFAULT 0, -- 消息数量
conversation_status VARCHAR(20) DEFAULT 'active', -- 会话状态active-进行中/closed-已结束/transferred-已转接/timeout-超时 conversation_status VARCHAR(20) DEFAULT 'active', -- 会话状态active-进行中/closed-已结束/transferred-已转接/timeout-超时
@@ -75,9 +75,9 @@ CREATE TABLE customer_service.tb_conversation (
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (conversation_id), PRIMARY KEY (conversation_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -110,10 +110,10 @@ CREATE TABLE customer_service.tb_conversation_message (
intent VARCHAR(100), -- 意图识别结果 intent VARCHAR(100), -- 意图识别结果
is_sensitive BOOLEAN DEFAULT false, -- 是否敏感信息 is_sensitive BOOLEAN DEFAULT false, -- 是否敏感信息
read_status BOOLEAN DEFAULT false, -- 已读状态 read_status BOOLEAN DEFAULT false, -- 已读状态
read_time timestamptz, -- 阅读时间 read_time TIMESTAMPTZ, -- 阅读时间
metadata JSONB, -- 消息元数据 metadata JSONB, -- 消息元数据
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间(发送时间) create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间(发送时间)
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (message_id), PRIMARY KEY (message_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -145,10 +145,10 @@ CREATE TABLE customer_service.tb_ticket (
assigned_dept VARCHAR(50), -- 分配部门 assigned_dept VARCHAR(50), -- 分配部门
ticket_status VARCHAR(30) DEFAULT 'pending', -- 工单状态pending-待处理/processing-处理中/resolved-已解决/closed-已关闭/cancelled-已取消 ticket_status VARCHAR(30) DEFAULT 'pending', -- 工单状态pending-待处理/processing-处理中/resolved-已解决/closed-已关闭/cancelled-已取消
resolution TEXT, -- 解决方案 resolution TEXT, -- 解决方案
resolution_time timestamptz, -- 解决时间 resolution_time TIMESTAMPTZ, -- 解决时间
close_time timestamptz, -- 关闭时间 close_time TIMESTAMPTZ, -- 关闭时间
response_time timestamptz, -- 首次响应时间 response_time TIMESTAMPTZ, -- 首次响应时间
sla_deadline timestamptz, -- SLA截止时间 sla_deadline TIMESTAMPTZ, -- SLA截止时间
is_overdue BOOLEAN DEFAULT false, -- 是否逾期 is_overdue BOOLEAN DEFAULT false, -- 是否逾期
customer_rating INTEGER, -- 客户评分1-5星 customer_rating INTEGER, -- 客户评分1-5星
customer_feedback TEXT, -- 客户反馈 customer_feedback TEXT, -- 客户反馈
@@ -159,9 +159,9 @@ CREATE TABLE customer_service.tb_ticket (
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (ticket_id), PRIMARY KEY (ticket_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -192,7 +192,7 @@ CREATE TABLE customer_service.tb_ticket_log (
operator_name VARCHAR(100), -- 操作人姓名 operator_name VARCHAR(100), -- 操作人姓名
attachments VARCHAR(50)[], -- 附件ID数组 attachments VARCHAR(50)[], -- 附件ID数组
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
PRIMARY KEY (log_id), PRIMARY KEY (log_id),
UNIQUE (optsn), UNIQUE (optsn),
FOREIGN KEY (ticket_id) REFERENCES customer_service.tb_ticket(ticket_id) FOREIGN KEY (ticket_id) REFERENCES customer_service.tb_ticket(ticket_id)
@@ -221,9 +221,9 @@ CREATE TABLE customer_service.tb_faq (
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (faq_id), PRIMARY KEY (faq_id),
UNIQUE (optsn) UNIQUE (optsn)
@@ -249,7 +249,7 @@ CREATE TABLE customer_service.tb_service_evaluation (
tags TEXT[], -- 评价标签 tags TEXT[], -- 评价标签
is_anonymous BOOLEAN DEFAULT false, -- 是否匿名 is_anonymous BOOLEAN DEFAULT false, -- 是否匿名
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (evaluation_id), PRIMARY KEY (evaluation_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -274,13 +274,13 @@ CREATE TABLE customer_service.tb_crm_config (
sync_direction VARCHAR(30) DEFAULT 'bidirectional',-- 同步方向to_crm-单向到CRM/from_crm-单向从CRM/bidirectional-双向 sync_direction VARCHAR(30) DEFAULT 'bidirectional',-- 同步方向to_crm-单向到CRM/from_crm-单向从CRM/bidirectional-双向
field_mapping JSONB, -- 字段映射配置 field_mapping JSONB, -- 字段映射配置
sync_enabled BOOLEAN DEFAULT false, -- 是否启用同步 sync_enabled BOOLEAN DEFAULT false, -- 是否启用同步
last_sync_time timestamptz, -- 最后同步时间 last_sync_time TIMESTAMPTZ, -- 最后同步时间
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (config_id), PRIMARY KEY (config_id),
UNIQUE (optsn) UNIQUE (optsn)

View File

@@ -15,10 +15,10 @@ CREATE TABLE file.tb_sys_file (
dept_path VARCHAR(255) NOT NULL, -- 当前部门路径 dept_path VARCHAR(255) NOT NULL, -- 当前部门路径
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间(由触发器维护) update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间(由触发器维护)
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted boolean NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (file_id), PRIMARY KEY (file_id),
UNIQUE (optsn) UNIQUE (optsn)
); );

View File

@@ -20,9 +20,9 @@ CREATE TABLE knowledge.tb_knowledge_base (
status VARCHAR(20) NOT NULL DEFAULT 'active', -- 状态active-激活/inactive-停用/archived-归档 status VARCHAR(20) NOT NULL DEFAULT 'active', -- 状态active-激活/inactive-停用/archived-归档
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (kb_id), PRIMARY KEY (kb_id),
UNIQUE (optsn) UNIQUE (optsn)
@@ -63,9 +63,9 @@ CREATE TABLE knowledge.tb_knowledge_document (
status VARCHAR(20) NOT NULL DEFAULT 'active', -- 状态active-激活/inactive-停用/archived-归档 status VARCHAR(20) NOT NULL DEFAULT 'active', -- 状态active-激活/inactive-停用/archived-归档
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (doc_id), PRIMARY KEY (doc_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -96,8 +96,8 @@ CREATE TABLE knowledge.tb_knowledge_chunk (
metadata JSONB, -- 片段元数据 metadata JSONB, -- 片段元数据
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (chunk_id), PRIMARY KEY (chunk_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -127,7 +127,7 @@ CREATE TABLE knowledge.tb_knowledge_access_log (
ip_address VARCHAR(45), -- IP地址 ip_address VARCHAR(45), -- IP地址
user_agent TEXT, -- 用户代理 user_agent TEXT, -- 用户代理
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
PRIMARY KEY (log_id), PRIMARY KEY (log_id),
UNIQUE (optsn) UNIQUE (optsn)
); );

View File

@@ -6,18 +6,18 @@ CREATE TABLE log.tb_sys_log (
type VARCHAR(50) NOT NULL, -- 日志类型 type VARCHAR(50) NOT NULL, -- 日志类型
level VARCHAR(50) NOT NULL, -- 日志级别 level VARCHAR(50) NOT NULL, -- 日志级别
module VARCHAR(50) NOT NULL, -- 日志模块 module VARCHAR(50) NOT NULL, -- 日志模块
ip_address varchar(45), -- IP地址 ip_address VARCHAR(45), -- IP地址
ip_source varchar(100), -- IP来源 ip_source VARCHAR(100), -- IP来源
browser varchar(100), -- 浏览器 browser VARCHAR(100), -- 浏览器
os varchar(100), -- 操作系统 os VARCHAR(100), -- 操作系统
message VARCHAR(255) NOT NULL, -- 日志消息 message VARCHAR(255) NOT NULL, -- 日志消息
data JSONB DEFAULT NULL, -- 日志数据 data JSONB DEFAULT NULL, -- 日志数据
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 日志创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 日志创建时间
update_time timestamptz DEFAULT NULL, -- 日志更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 日志更新时间
delete_time timestamptz DEFAULT NULL, -- 日志删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 日志删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (log_id), PRIMARY KEY (log_id),
UNIQUE (optsn) UNIQUE (optsn)

View File

@@ -11,9 +11,9 @@ CREATE TABLE message.tb_message (
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径(隔离) dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径(隔离)
creator VARCHAR(50) NOT NULL DEFAULT 'system',-- 创建者 creator VARCHAR(50) NOT NULL DEFAULT 'system',-- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, update_time TIMESTAMPTZ DEFAULT NULL,
delete_time timestamptz DEFAULT NULL, delete_time TIMESTAMPTZ DEFAULT NULL,
deleted BOOLEAN NOT NULL DEFAULT false, deleted BOOLEAN NOT NULL DEFAULT false,
PRIMARY KEY (message_id), PRIMARY KEY (message_id),
UNIQUE (optsn) UNIQUE (optsn)
@@ -42,13 +42,13 @@ CREATE TABLE message.tb_message_range (
message_id VARCHAR(50) NOT NULL, -- 消息ID message_id VARCHAR(50) NOT NULL, -- 消息ID
target_type VARCHAR(20) NOT NULL, -- 目标类型user/dept/role/all target_type VARCHAR(20) NOT NULL, -- 目标类型user/dept/role/all
target_id VARCHAR(50) DEFAULT NULL, -- 目标ID用户、部门、角色ID等all类型时为空 target_id VARCHAR(50) DEFAULT NULL, -- 目标ID用户、部门、角色ID等all类型时为空
channel VARCHAR(20) NOT NULL DEFAULT 'app', -- 发送渠道app/sms/email/wechat等 channel VARCHAR(20) NOT NULL DEFAULT 'app', -- 发送渠道app/sms/email/wechat_official_account/wechat_applet
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径支持like递归如/1/2/3/ dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径支持like递归如/1/2/3/
creator VARCHAR(50) NOT NULL DEFAULT 'system',-- 创建者 creator VARCHAR(50) NOT NULL DEFAULT 'system',-- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (optsn), PRIMARY KEY (optsn),
UNIQUE (message_id, target_type, target_id, channel) UNIQUE (message_id, target_type, target_id, channel)
@@ -59,7 +59,7 @@ COMMENT ON COLUMN message.tb_message_range.optsn IS '流水号';
COMMENT ON COLUMN message.tb_message_range.message_id IS '消息ID'; COMMENT ON COLUMN message.tb_message_range.message_id IS '消息ID';
COMMENT ON COLUMN message.tb_message_range.target_type IS '目标类型user-指定用户/dept-部门/role-角色/all-全员'; COMMENT ON COLUMN message.tb_message_range.target_type IS '目标类型user-指定用户/dept-部门/role-角色/all-全员';
COMMENT ON COLUMN message.tb_message_range.target_id IS '目标ID用户、部门、角色ID等all类型时为空'; COMMENT ON COLUMN message.tb_message_range.target_id IS '目标ID用户、部门、角色ID等all类型时为空';
COMMENT ON COLUMN message.tb_message_range.channel IS '发送渠道app/sms/email/wechat等'; COMMENT ON COLUMN message.tb_message_range.channel IS '发送渠道app/sms/email/wechat_official_account/wechat_applet';
COMMENT ON COLUMN message.tb_message_range.dept_path IS '部门全路径'; COMMENT ON COLUMN message.tb_message_range.dept_path IS '部门全路径';
COMMENT ON COLUMN message.tb_message_range.creator IS '创建者'; COMMENT ON COLUMN message.tb_message_range.creator IS '创建者';
COMMENT ON COLUMN message.tb_message_range.updater IS '更新者'; COMMENT ON COLUMN message.tb_message_range.updater IS '更新者';
@@ -77,14 +77,14 @@ CREATE TABLE message.tb_message_receiver (
user_id VARCHAR(50) NOT NULL, -- 用户ID user_id VARCHAR(50) NOT NULL, -- 用户ID
channel VARCHAR(20) DEFAULT 'app', -- 接收渠道app/sms/email/wechat等 channel VARCHAR(20) DEFAULT 'app', -- 接收渠道app/sms/email/wechat等
status VARCHAR(20) NOT NULL DEFAULT 'unread', -- 消息状态unread-未读/read-已读/handled-已处理/deleted-已删除 status VARCHAR(20) NOT NULL DEFAULT 'unread', -- 消息状态unread-未读/read-已读/handled-已处理/deleted-已删除
read_time timestamptz DEFAULT NULL, -- 阅读时间 read_time TIMESTAMPTZ DEFAULT NULL, -- 阅读时间
handle_time timestamptz DEFAULT NULL, -- 处理时间 handle_time TIMESTAMPTZ DEFAULT NULL, -- 处理时间
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径(数据隔离) dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径(数据隔离)
creator VARCHAR(50) NOT NULL DEFAULT 'system',-- 创建者 creator VARCHAR(50) NOT NULL DEFAULT 'system',-- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间(接收时间) create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间(接收时间)
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (optsn), PRIMARY KEY (optsn),
UNIQUE (message_id, user_id, channel) UNIQUE (message_id, user_id, channel)
@@ -119,15 +119,15 @@ CREATE TABLE message.tb_message_channel (
channel_code VARCHAR(20) NOT NULL, -- 渠道编码app/sms/email/wechat/dingtalk等 channel_code VARCHAR(20) NOT NULL, -- 渠道编码app/sms/email/wechat/dingtalk等
channel_name VARCHAR(100) NOT NULL, -- 渠道名称 channel_name VARCHAR(100) NOT NULL, -- 渠道名称
channel_desc VARCHAR(255) DEFAULT NULL, -- 渠道描述 channel_desc VARCHAR(255) DEFAULT NULL, -- 渠道描述
config TEXT DEFAULT NULL, -- 渠道配置(JSON格式如API密钥、服务器地址等 config JSON DEFAULT NULL, -- 渠道配置如API密钥、服务器地址等
status VARCHAR(20) NOT NULL DEFAULT 'enabled', -- 渠道状态enabled-启用/disabled-禁用/maintenance-维护中 status VARCHAR(20) NOT NULL DEFAULT 'enabled', -- 渠道状态enabled-启用/disabled-禁用/maintenance-维护中
priority INTEGER DEFAULT 0, -- 优先级(数字越大优先级越高) priority INTEGER DEFAULT 0, -- 优先级(数字越大优先级越高)
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径(数据隔离) dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径(数据隔离)
creator VARCHAR(50) NOT NULL DEFAULT 'system',-- 创建者 creator VARCHAR(50) NOT NULL DEFAULT 'system',-- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (channel_id), PRIMARY KEY (channel_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -150,12 +150,3 @@ COMMENT ON COLUMN message.tb_message_channel.create_time IS '创建时间';
COMMENT ON COLUMN message.tb_message_channel.update_time IS '更新时间'; COMMENT ON COLUMN message.tb_message_channel.update_time IS '更新时间';
COMMENT ON COLUMN message.tb_message_channel.delete_time IS '删除时间'; COMMENT ON COLUMN message.tb_message_channel.delete_time IS '删除时间';
COMMENT ON COLUMN message.tb_message_channel.deleted IS '是否删除'; COMMENT ON COLUMN message.tb_message_channel.deleted IS '是否删除';
-- 插入默认渠道配置
INSERT INTO message.tb_message_channel (optsn, channel_id, channel_code, channel_name, channel_desc, status, priority)
VALUES
('CHANNEL_APP_001', 'CH_APP', 'app', '应用内消息', '系统内部消息推送', 'enabled', 100),
('CHANNEL_SMS_001', 'CH_SMS', 'sms', '短信通知', '手机短信推送', 'disabled', 80),
('CHANNEL_EMAIL_001', 'CH_EMAIL', 'email', '邮件通知', '电子邮件推送', 'disabled', 60),
('CHANNEL_WECHAT_001', 'CH_WECHAT', 'wechat', '微信通知', '微信公众号/企业微信推送', 'disabled', 70),
('CHANNEL_DINGTALK_001', 'CH_DINGTALK', 'dingtalk', '钉钉通知', '钉钉工作通知推送', 'disabled', 70);

View File

@@ -20,10 +20,10 @@ CREATE TABLE sys.tb_sys_dept (
description VARCHAR(255) DEFAULT NULL, -- 部门描述 description VARCHAR(255) DEFAULT NULL, -- 部门描述
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间(由触发器维护) update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间(由触发器维护)
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted boolean NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (dept_id), PRIMARY KEY (dept_id),
UNIQUE (optsn) UNIQUE (optsn)
); );
@@ -54,12 +54,12 @@ CREATE TABLE sys.tb_sys_role (
owner_dept_id VARCHAR(50) DEFAULT NULL, -- 当scope=dept时所属部门ID owner_dept_id VARCHAR(50) DEFAULT NULL, -- 当scope=dept时所属部门ID
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
dept_path VARCHAR(255) DEFAULT NULL, dept_path VARCHAR(255) DEFAULT NULL,
status boolean NOT NULL DEFAULT false, -- 部门全路径 status BOOLEAN NOT NULL DEFAULT false, -- 部门全路径
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间(由触发器维护) update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间(由触发器维护)
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted boolean NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (role_id), PRIMARY KEY (role_id),
UNIQUE (optsn) UNIQUE (optsn)
); );
@@ -99,10 +99,10 @@ CREATE TABLE sys.tb_sys_dept_role (
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间(由触发器维护) update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间(由触发器维护)
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted boolean NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (dept_id, role_id), PRIMARY KEY (dept_id, role_id),
UNIQUE (optsn) UNIQUE (optsn)
); );
@@ -127,10 +127,10 @@ CREATE TABLE sys.tb_sys_user_role (
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间(由触发器维护) update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间(由触发器维护)
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted boolean NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (user_id, role_id), PRIMARY KEY (user_id, role_id),
UNIQUE (optsn) UNIQUE (optsn)
); );
@@ -156,17 +156,17 @@ CREATE TABLE sys.tb_sys_view (
url VARCHAR(255) DEFAULT NULL, -- 视图URL url VARCHAR(255) DEFAULT NULL, -- 视图URL
component VARCHAR(255) DEFAULT NULL, -- 视图组件 component VARCHAR(255) DEFAULT NULL, -- 视图组件
icon VARCHAR(100) DEFAULT NULL, -- 视图图标 icon VARCHAR(100) DEFAULT NULL, -- 视图图标
type integer DEFAULT 0, -- 视图类型 type INTEGER DEFAULT 0, -- 视图类型
layout VARCHAR(100) DEFAULT NULL, -- 布局组件路径名称 layout VARCHAR(100) DEFAULT NULL, -- 布局组件路径名称
order_num integer DEFAULT 0, -- 视图排序号 order_num INTEGER DEFAULT 0, -- 视图排序号
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
description VARCHAR(255) DEFAULT NULL, -- 视图描述 description VARCHAR(255) DEFAULT NULL, -- 视图描述
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间(由触发器维护) update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间(由触发器维护)
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted boolean NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (view_id), PRIMARY KEY (view_id),
UNIQUE (optsn) UNIQUE (optsn)
); );
@@ -201,10 +201,10 @@ CREATE TABLE sys.tb_sys_module (
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间(由触发器维护) update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间(由触发器维护)
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted boolean NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (module_id), PRIMARY KEY (module_id),
UNIQUE (optsn) UNIQUE (optsn)
); );
@@ -232,12 +232,12 @@ CREATE TABLE sys.tb_sys_permission (
module_id VARCHAR(50) DEFAULT NULL, -- 所属模块ID module_id VARCHAR(50) DEFAULT NULL, -- 所属模块ID
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
dept_path VARCHAR(255) DEFAULT NULL, dept_path VARCHAR(255) DEFAULT NULL,
status boolean NOT NULL DEFAULT false, -- 部门全路径 status BOOLEAN NOT NULL DEFAULT false, -- 部门全路径
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间(由触发器维护) update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间(由触发器维护)
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted boolean NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (permission_id), PRIMARY KEY (permission_id),
UNIQUE (optsn) UNIQUE (optsn)
); );
@@ -266,10 +266,10 @@ CREATE TABLE sys.tb_sys_role_permission (
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间(由触发器维护) update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间(由触发器维护)
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted boolean NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (role_id, permission_id), PRIMARY KEY (role_id, permission_id),
UNIQUE (optsn) UNIQUE (optsn)
); );
@@ -294,10 +294,10 @@ CREATE TABLE sys.tb_sys_view_permission (
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径 dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间(由触发器维护) update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间(由触发器维护)
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted boolean NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (view_id, permission_id), PRIMARY KEY (view_id, permission_id),
UNIQUE (optsn) UNIQUE (optsn)
); );
@@ -393,10 +393,10 @@ CREATE TABLE sys.tb_sys_acl (
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径(数据隔离) dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径(数据隔离)
creator VARCHAR(50) DEFAULT NULL, -- 创建者 creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者 updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time timestamptz DEFAULT NULL, -- 更新时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted boolean NOT NULL DEFAULT false, -- 是否删除 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (acl_id), PRIMARY KEY (acl_id),
UNIQUE (object_type, object_id, principal_type, principal_id, principal_dept_id, deleted), UNIQUE (object_type, object_id, principal_type, principal_id, principal_dept_id, deleted),
UNIQUE (optsn) UNIQUE (optsn)
@@ -442,10 +442,10 @@ CREATE TABLE sys.tb_sys_acl_policy (
apply_to_children BOOLEAN DEFAULT true, -- 是否默认应用到子级 apply_to_children BOOLEAN DEFAULT true, -- 是否默认应用到子级
creator VARCHAR(50) DEFAULT NULL, creator VARCHAR(50) DEFAULT NULL,
updater VARCHAR(50) DEFAULT NULL, updater VARCHAR(50) DEFAULT NULL,
create_time timestamptz NOT NULL DEFAULT now(), create_time TIMESTAMPTZ NOT NULL DEFAULT now(),
update_time timestamptz DEFAULT NULL, update_time TIMESTAMPTZ DEFAULT NULL,
delete_time timestamptz DEFAULT NULL, delete_time TIMESTAMPTZ DEFAULT NULL,
deleted boolean NOT NULL DEFAULT false, deleted BOOLEAN NOT NULL DEFAULT false,
PRIMARY KEY (policy_id), PRIMARY KEY (policy_id),
UNIQUE (object_type, deleted), UNIQUE (object_type, deleted),
UNIQUE (optsn) UNIQUE (optsn)

View File

@@ -5,22 +5,24 @@ CREATE SCHEMA IF NOT EXISTS sys;
-- 用户表 -- 用户表
DROP TABLE IF EXISTS sys.tb_sys_user CASCADE; DROP TABLE IF EXISTS sys.tb_sys_user CASCADE;
CREATE TABLE sys.tb_sys_user ( CREATE TABLE sys.tb_sys_user (
optsn varchar(50) NOT NULL, -- 流水号 optsn VARCHAR(50) NOT NULL, -- 流水号
user_id varchar(50) NOT NULL, -- 用户ID user_id VARCHAR(50) NOT NULL, -- 用户ID
password varchar(128) NOT NULL, -- 密码(建议存储 bcrypt/argon2 哈希) usercode VARCHAR(100) DEFAULT NULL, -- 用户code。sso同步数据获取
email varchar(100), -- 电子邮件 password VARCHAR(128) NOT NULL, -- 密码(建议存储 bcrypt/argon2 哈希)
phone varchar(20), -- 电话号码 email VARCHAR(100), -- 电子邮件
wechat_id varchar(50), -- 微信ID phone VARCHAR(20), -- 电话号码
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间(使用带时区时间) wechat_id VARCHAR(50), -- 微信ID
update_time timestamptz DEFAULT NULL, -- 更新时间(由触发器维护 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间(使用带时区时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间(由触发器维护)
deleted boolean NOT NULL DEFAULT false, -- 是否删除(使用 boolean delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
status integer NOT NULL DEFAULT 1, -- 状态 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除(使用 BOOLEAN
status INTEGER NOT NULL DEFAULT 1, -- 状态
PRIMARY KEY (user_id), PRIMARY KEY (user_id),
UNIQUE (optsn), UNIQUE (optsn),
UNIQUE (email), UNIQUE (email),
UNIQUE (phone), UNIQUE (phone),
UNIQUE (wechat_id) UNIQUE (wechat_id),
UNIQUE (usercode)
); );
CREATE INDEX idx_tb_sys_user_phone ON sys.tb_sys_user USING btree (phone); CREATE INDEX idx_tb_sys_user_phone ON sys.tb_sys_user USING btree (phone);
@@ -48,20 +50,19 @@ COMMENT ON COLUMN sys.tb_sys_user.status IS '状态';
-- 用户信息表 -- 用户信息表
DROP TABLE IF EXISTS sys.tb_sys_user_info CASCADE; DROP TABLE IF EXISTS sys.tb_sys_user_info CASCADE;
CREATE TABLE sys.tb_sys_user_info ( CREATE TABLE sys.tb_sys_user_info (
optsn varchar(50) NOT NULL, -- 流水号 optsn VARCHAR(50) NOT NULL, -- 流水号
user_id varchar(50) NOT NULL, -- 用户ID user_id VARCHAR(50) NOT NULL, -- 用户ID
avatar varchar(255), -- 头像 avatar VARCHAR(255), -- 头像
gender integer DEFAULT 0, -- 性别 gender INTEGER DEFAULT 0, -- 性别
family_name varchar(50), -- username VARCHAR(100) NOT NULL -- 用户名
given_name varchar(50), -- level INTEGER DEFAULT 1, -- 等级
full_name varchar(100), -- 全名 id_card VARCHAR(50), -- 身份证号
level integer DEFAULT 1, -- 等级 address VARCHAR(255), -- 地址
id_card varchar(50), -- 身份证号 remark VARCHAR(500) DEFAULT NULL -- 备注
address varchar(255), -- 地址 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间(触发器维护)
update_time timestamptz DEFAULT NULL, -- 更新时间(触发器维护) delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
delete_time timestamptz DEFAULT NULL, -- 删除时间 deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
deleted boolean NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (user_id), PRIMARY KEY (user_id),
UNIQUE (optsn) UNIQUE (optsn)
); );
@@ -70,12 +71,11 @@ COMMENT ON COLUMN sys.tb_sys_user_info.optsn IS '流水号';
COMMENT ON COLUMN sys.tb_sys_user_info.user_id IS '用户ID'; COMMENT ON COLUMN sys.tb_sys_user_info.user_id IS '用户ID';
COMMENT ON COLUMN sys.tb_sys_user_info.avatar IS '头像'; COMMENT ON COLUMN sys.tb_sys_user_info.avatar IS '头像';
COMMENT ON COLUMN sys.tb_sys_user_info.gender IS '性别'; COMMENT ON COLUMN sys.tb_sys_user_info.gender IS '性别';
COMMENT ON COLUMN sys.tb_sys_user_info.family_name IS ''; COMMENT ON COLUMN sys.tb_sys_user_info.username IS '用户名';
COMMENT ON COLUMN sys.tb_sys_user_info.given_name IS '';
COMMENT ON COLUMN sys.tb_sys_user_info.full_name IS '全名';
COMMENT ON COLUMN sys.tb_sys_user_info.level IS '等级'; COMMENT ON COLUMN sys.tb_sys_user_info.level IS '等级';
COMMENT ON COLUMN sys.tb_sys_user_info.id_card IS '身份证号'; COMMENT ON COLUMN sys.tb_sys_user_info.id_card IS '身份证号';
COMMENT ON COLUMN sys.tb_sys_user_info.address IS '地址'; COMMENT ON COLUMN sys.tb_sys_user_info.address IS '地址';
COMMENT ON COLUMN sys.tb_sys_user_info.remark IS '备注';
COMMENT ON COLUMN sys.tb_sys_user_info.create_time IS '创建时间'; COMMENT ON COLUMN sys.tb_sys_user_info.create_time IS '创建时间';
COMMENT ON COLUMN sys.tb_sys_user_info.update_time IS '更新时间'; COMMENT ON COLUMN sys.tb_sys_user_info.update_time IS '更新时间';
COMMENT ON COLUMN sys.tb_sys_user_info.delete_time IS '删除时间'; COMMENT ON COLUMN sys.tb_sys_user_info.delete_time IS '删除时间';
@@ -84,19 +84,19 @@ COMMENT ON COLUMN sys.tb_sys_user_info.deleted IS '是否删除';
-- 登录日志表 -- 登录日志表
DROP TABLE IF EXISTS sys.tb_sys_login_log CASCADE; DROP TABLE IF EXISTS sys.tb_sys_login_log CASCADE;
CREATE TABLE sys.tb_sys_login_log ( CREATE TABLE sys.tb_sys_login_log (
optsn varchar(50) NOT NULL, -- 流水号(作为主键) optsn VARCHAR(50) NOT NULL, -- 流水号(作为主键)
user_id varchar(50) NOT NULL, -- 用户ID user_id VARCHAR(50) NOT NULL, -- 用户ID
username varchar(50) NOT NULL, -- 用户名 username VARCHAR(50) NOT NULL, -- 用户名
ip_address varchar(45), -- IP地址 ip_address VARCHAR(45), -- IP地址
ip_source varchar(100), -- IP来源 ip_source VARCHAR(100), -- IP来源
browser varchar(100), -- 浏览器 browser VARCHAR(100), -- 浏览器
os varchar(100), -- 操作系统 os VARCHAR(100), -- 操作系统
password varchar(128), -- 密码(建议存储 bcrypt/argon2 哈希) password VARCHAR(128), -- 密码(建议存储 bcrypt/argon2 哈希)
login_time timestamptz DEFAULT now(), -- 登录时间 login_time TIMESTAMPTZ DEFAULT now(), -- 登录时间
status integer DEFAULT 1, -- 登录状态0失败 1成功 status INTEGER DEFAULT 1, -- 登录状态0失败 1成功
error_count integer DEFAULT 0, -- 错误次数 error_count INTEGER DEFAULT 0, -- 错误次数
message varchar(255), -- 登录消息 message VARCHAR(255), -- 登录消息
create_time timestamptz NOT NULL DEFAULT now(), -- 创建时间 create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
PRIMARY KEY (optsn) PRIMARY KEY (optsn)
); );
-- B-tree 索引(显式指定 USING btreePostgres 默认即为 btree -- B-tree 索引(显式指定 USING btreePostgres 默认即为 btree

View File

@@ -30,9 +30,9 @@ CREATE TABLE IF NOT EXISTS sys.tb_sys_user_dept (
position VARCHAR(100), position VARCHAR(100),
creator VARCHAR(50) DEFAULT NULL, creator VARCHAR(50) DEFAULT NULL,
updater VARCHAR(50) DEFAULT NULL, updater VARCHAR(50) DEFAULT NULL,
create_time timestamptz NOT NULL DEFAULT now(), create_time TIMESTAMPTZ NOT NULL DEFAULT now(),
update_time timestamptz DEFAULT NULL, update_time TIMESTAMPTZ DEFAULT NULL,
delete_time timestamptz DEFAULT NULL, delete_time TIMESTAMPTZ DEFAULT NULL,
deleted BOOLEAN NOT NULL DEFAULT false, deleted BOOLEAN NOT NULL DEFAULT false,
PRIMARY KEY (user_id, dept_id), PRIMARY KEY (user_id, dept_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -148,9 +148,9 @@ CREATE TABLE IF NOT EXISTS file.tb_file_relation (
order_num INTEGER DEFAULT 0, order_num INTEGER DEFAULT 0,
creator VARCHAR(50) DEFAULT NULL, creator VARCHAR(50) DEFAULT NULL,
updater VARCHAR(50) DEFAULT NULL, updater VARCHAR(50) DEFAULT NULL,
create_time timestamptz NOT NULL DEFAULT now(), create_time TIMESTAMPTZ NOT NULL DEFAULT now(),
update_time timestamptz DEFAULT NULL, update_time TIMESTAMPTZ DEFAULT NULL,
delete_time timestamptz DEFAULT NULL, delete_time TIMESTAMPTZ DEFAULT NULL,
deleted BOOLEAN NOT NULL DEFAULT false, deleted BOOLEAN NOT NULL DEFAULT false,
PRIMARY KEY (relation_id), PRIMARY KEY (relation_id),
UNIQUE (optsn), UNIQUE (optsn),
@@ -184,9 +184,9 @@ CREATE TABLE IF NOT EXISTS message.tb_message_template (
dept_path VARCHAR(255) DEFAULT NULL, dept_path VARCHAR(255) DEFAULT NULL,
creator VARCHAR(50) DEFAULT NULL, creator VARCHAR(50) DEFAULT NULL,
updater VARCHAR(50) DEFAULT NULL, updater VARCHAR(50) DEFAULT NULL,
create_time timestamptz NOT NULL DEFAULT now(), create_time TIMESTAMPTZ NOT NULL DEFAULT now(),
update_time timestamptz DEFAULT NULL, update_time TIMESTAMPTZ DEFAULT NULL,
delete_time timestamptz DEFAULT NULL, delete_time TIMESTAMPTZ DEFAULT NULL,
deleted BOOLEAN NOT NULL DEFAULT false, deleted BOOLEAN NOT NULL DEFAULT false,
PRIMARY KEY (template_id), PRIMARY KEY (template_id),
UNIQUE (optsn), UNIQUE (optsn),

View File

@@ -22,22 +22,22 @@ USE `nacos_config`;
/******************************************/ /******************************************/
CREATE TABLE `config_info` ( CREATE TABLE `config_info` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`data_id` varchar(255) NOT NULL COMMENT 'data_id', `data_id` VARCHAR(255) NOT NULL COMMENT 'data_id',
`group_id` varchar(128) DEFAULT NULL COMMENT 'group_id', `group_id` VARCHAR(128) DEFAULT NULL COMMENT 'group_id',
`content` longtext NOT NULL COMMENT 'content', `content` longtext NOT NULL COMMENT 'content',
`md5` varchar(32) DEFAULT NULL COMMENT 'md5', `md5` VARCHAR(32) DEFAULT NULL COMMENT 'md5',
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`src_user` text COMMENT 'source user', `src_user` text COMMENT 'source user',
`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', `src_ip` VARCHAR(50) DEFAULT NULL COMMENT 'source ip',
`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', `app_name` VARCHAR(128) DEFAULT NULL COMMENT 'app_name',
`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段', `tenant_id` VARCHAR(128) DEFAULT '' COMMENT '租户字段',
`c_desc` varchar(256) DEFAULT NULL COMMENT 'configuration description', `c_desc` VARCHAR(256) DEFAULT NULL COMMENT 'configuration description',
`c_use` varchar(64) DEFAULT NULL COMMENT 'configuration usage', `c_use` VARCHAR(64) DEFAULT NULL COMMENT 'configuration usage',
`effect` varchar(64) DEFAULT NULL COMMENT '配置生效的描述', `effect` VARCHAR(64) DEFAULT NULL COMMENT '配置生效的描述',
`type` varchar(64) DEFAULT NULL COMMENT '配置的类型', `type` VARCHAR(64) DEFAULT NULL COMMENT '配置的类型',
`c_schema` text COMMENT '配置的模式', `c_schema` text COMMENT '配置的模式',
`encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥', `encrypted_data_key` VARCHAR(1024) NOT NULL DEFAULT '' COMMENT '密钥',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`) UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';
@@ -47,19 +47,19 @@ CREATE TABLE `config_info` (
/******************************************/ /******************************************/
CREATE TABLE `config_info_gray` ( CREATE TABLE `config_info_gray` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
`data_id` varchar(255) NOT NULL COMMENT 'data_id', `data_id` VARCHAR(255) NOT NULL COMMENT 'data_id',
`group_id` varchar(128) NOT NULL COMMENT 'group_id', `group_id` VARCHAR(128) NOT NULL COMMENT 'group_id',
`content` longtext NOT NULL COMMENT 'content', `content` longtext NOT NULL COMMENT 'content',
`md5` varchar(32) DEFAULT NULL COMMENT 'md5', `md5` VARCHAR(32) DEFAULT NULL COMMENT 'md5',
`src_user` text COMMENT 'src_user', `src_user` text COMMENT 'src_user',
`src_ip` varchar(100) DEFAULT NULL COMMENT 'src_ip', `src_ip` VARCHAR(100) DEFAULT NULL COMMENT 'src_ip',
`gmt_create` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'gmt_create', `gmt_create` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'gmt_create',
`gmt_modified` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'gmt_modified', `gmt_modified` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'gmt_modified',
`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', `app_name` VARCHAR(128) DEFAULT NULL COMMENT 'app_name',
`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id', `tenant_id` VARCHAR(128) DEFAULT '' COMMENT 'tenant_id',
`gray_name` varchar(128) NOT NULL COMMENT 'gray_name', `gray_name` VARCHAR(128) NOT NULL COMMENT 'gray_name',
`gray_rule` text NOT NULL COMMENT 'gray_rule', `gray_rule` text NOT NULL COMMENT 'gray_rule',
`encrypted_data_key` varchar(256) NOT NULL DEFAULT '' COMMENT 'encrypted_data_key', `encrypted_data_key` VARCHAR(256) NOT NULL DEFAULT '' COMMENT 'encrypted_data_key',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
UNIQUE KEY `uk_configinfogray_datagrouptenantgray` (`data_id`,`group_id`,`tenant_id`,`gray_name`), UNIQUE KEY `uk_configinfogray_datagrouptenantgray` (`data_id`,`group_id`,`tenant_id`,`gray_name`),
KEY `idx_dataid_gmt_modified` (`data_id`,`gmt_modified`), KEY `idx_dataid_gmt_modified` (`data_id`,`gmt_modified`),
@@ -71,11 +71,11 @@ CREATE TABLE `config_info_gray` (
/******************************************/ /******************************************/
CREATE TABLE `config_tags_relation` ( CREATE TABLE `config_tags_relation` (
`id` bigint(20) NOT NULL COMMENT 'id', `id` bigint(20) NOT NULL COMMENT 'id',
`tag_name` varchar(128) NOT NULL COMMENT 'tag_name', `tag_name` VARCHAR(128) NOT NULL COMMENT 'tag_name',
`tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type', `tag_type` VARCHAR(64) DEFAULT NULL COMMENT 'tag_type',
`data_id` varchar(255) NOT NULL COMMENT 'data_id', `data_id` VARCHAR(255) NOT NULL COMMENT 'data_id',
`group_id` varchar(128) NOT NULL COMMENT 'group_id', `group_id` VARCHAR(128) NOT NULL COMMENT 'group_id',
`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id', `tenant_id` VARCHAR(128) DEFAULT '' COMMENT 'tenant_id',
`nid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增长标识', `nid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增长标识',
PRIMARY KEY (`nid`), PRIMARY KEY (`nid`),
UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`), UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
@@ -87,7 +87,7 @@ CREATE TABLE `config_tags_relation` (
/******************************************/ /******************************************/
CREATE TABLE `group_capacity` ( CREATE TABLE `group_capacity` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID空字符表示整个集群', `group_id` VARCHAR(128) NOT NULL DEFAULT '' COMMENT 'Group ID空字符表示整个集群',
`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额0表示使用默认值', `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额0表示使用默认值',
`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量', `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限单位为字节0表示使用默认值', `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限单位为字节0表示使用默认值',
@@ -106,20 +106,20 @@ CREATE TABLE `group_capacity` (
CREATE TABLE `his_config_info` ( CREATE TABLE `his_config_info` (
`id` bigint(20) unsigned NOT NULL COMMENT 'id', `id` bigint(20) unsigned NOT NULL COMMENT 'id',
`nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增标识', `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增标识',
`data_id` varchar(255) NOT NULL COMMENT 'data_id', `data_id` VARCHAR(255) NOT NULL COMMENT 'data_id',
`group_id` varchar(128) NOT NULL COMMENT 'group_id', `group_id` VARCHAR(128) NOT NULL COMMENT 'group_id',
`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', `app_name` VARCHAR(128) DEFAULT NULL COMMENT 'app_name',
`content` longtext NOT NULL COMMENT 'content', `content` longtext NOT NULL COMMENT 'content',
`md5` varchar(32) DEFAULT NULL COMMENT 'md5', `md5` VARCHAR(32) DEFAULT NULL COMMENT 'md5',
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`src_user` text COMMENT 'source user', `src_user` text COMMENT 'source user',
`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', `src_ip` VARCHAR(50) DEFAULT NULL COMMENT 'source ip',
`op_type` char(10) DEFAULT NULL COMMENT 'operation type', `op_type` char(10) DEFAULT NULL COMMENT 'operation type',
`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段', `tenant_id` VARCHAR(128) DEFAULT '' COMMENT '租户字段',
`encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥', `encrypted_data_key` VARCHAR(1024) NOT NULL DEFAULT '' COMMENT '密钥',
`publish_type` varchar(50) DEFAULT 'formal' COMMENT 'publish type gray or formal', `publish_type` VARCHAR(50) DEFAULT 'formal' COMMENT 'publish type gray or formal',
`gray_name` varchar(50) DEFAULT NULL COMMENT 'gray name', `gray_name` VARCHAR(50) DEFAULT NULL COMMENT 'gray name',
`ext_info` longtext DEFAULT NULL COMMENT 'ext info', `ext_info` longtext DEFAULT NULL COMMENT 'ext info',
PRIMARY KEY (`nid`), PRIMARY KEY (`nid`),
KEY `idx_gmt_create` (`gmt_create`), KEY `idx_gmt_create` (`gmt_create`),
@@ -133,7 +133,7 @@ CREATE TABLE `his_config_info` (
/******************************************/ /******************************************/
CREATE TABLE `tenant_capacity` ( CREATE TABLE `tenant_capacity` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID', `tenant_id` VARCHAR(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额0表示使用默认值', `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额0表示使用默认值',
`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量', `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限单位为字节0表示使用默认值', `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限单位为字节0表示使用默认值',
@@ -149,11 +149,11 @@ CREATE TABLE `tenant_capacity` (
CREATE TABLE `tenant_info` ( CREATE TABLE `tenant_info` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`kp` varchar(128) NOT NULL COMMENT 'kp', `kp` VARCHAR(128) NOT NULL COMMENT 'kp',
`tenant_id` varchar(128) default '' COMMENT 'tenant_id', `tenant_id` VARCHAR(128) default '' COMMENT 'tenant_id',
`tenant_name` varchar(128) default '' COMMENT 'tenant_name', `tenant_name` VARCHAR(128) default '' COMMENT 'tenant_name',
`tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc', `tenant_desc` VARCHAR(256) DEFAULT NULL COMMENT 'tenant_desc',
`create_source` varchar(32) DEFAULT NULL COMMENT 'create_source', `create_source` VARCHAR(32) DEFAULT NULL COMMENT 'create_source',
`gmt_create` bigint(20) NOT NULL COMMENT '创建时间', `gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
`gmt_modified` bigint(20) NOT NULL COMMENT '修改时间', `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
@@ -162,21 +162,21 @@ CREATE TABLE `tenant_info` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';
CREATE TABLE `users` ( CREATE TABLE `users` (
`username` varchar(50) NOT NULL PRIMARY KEY COMMENT 'username', `username` VARCHAR(50) NOT NULL PRIMARY KEY COMMENT 'username',
`password` varchar(500) NOT NULL COMMENT 'password', `password` VARCHAR(500) NOT NULL COMMENT 'password',
`enabled` boolean NOT NULL COMMENT 'enabled' `enabled` BOOLEAN NOT NULL COMMENT 'enabled'
); );
CREATE TABLE `roles` ( CREATE TABLE `roles` (
`username` varchar(50) NOT NULL COMMENT 'username', `username` VARCHAR(50) NOT NULL COMMENT 'username',
`role` varchar(50) NOT NULL COMMENT 'role', `role` VARCHAR(50) NOT NULL COMMENT 'role',
UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
); );
CREATE TABLE `permissions` ( CREATE TABLE `permissions` (
`role` varchar(50) NOT NULL COMMENT 'role', `role` VARCHAR(50) NOT NULL COMMENT 'role',
`resource` varchar(128) NOT NULL COMMENT 'resource', `resource` VARCHAR(128) NOT NULL COMMENT 'resource',
`action` varchar(8) NOT NULL COMMENT 'action', `action` VARCHAR(8) NOT NULL COMMENT 'action',
UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
); );

View File

@@ -116,7 +116,7 @@
" </select>", " </select>",
"", "",
" <!-- 根据条件查询${9:实体名称}数量 -->", " <!-- 根据条件查询${9:实体名称}数量 -->",
" <select id=\"get${3:EntityName}CountByFilter\" resultType=\"java.lang.Integer\" parameterType=\"${4:org.xyzh.common.dto.sys.${3:EntityName}DTO}\">", " <select id=\"get${3:EntityName}CountByFilter\" resultType=\"java.lang.INTEGER\" parameterType=\"${4:org.xyzh.common.dto.sys.${3:EntityName}DTO}\">",
" SELECT COUNT(1)", " SELECT COUNT(1)",
" FROM ${10:tb_entity_name}", " FROM ${10:tb_entity_name}",
" <where>", " <where>",
@@ -282,7 +282,7 @@
"prefix": "mybatis-select-count", "prefix": "mybatis-select-count",
"body": [ "body": [
" <!-- 根据条件查询${1:实体名称}数量 -->", " <!-- 根据条件查询${1:实体名称}数量 -->",
" <select id=\"get${2:EntityName}CountByFilter\" resultType=\"java.lang.Integer\" parameterType=\"${3:org.xyzh.common.dto.sys.${2:EntityName}DTO}\">", " <select id=\"get${2:EntityName}CountByFilter\" resultType=\"java.lang.INTEGER\" parameterType=\"${3:org.xyzh.common.dto.sys.${2:EntityName}DTO}\">",
" SELECT COUNT(1)", " SELECT COUNT(1)",
" FROM ${4:tb_entity_name}", " FROM ${4:tb_entity_name}",
" <where>", " <where>",

View File

@@ -64,11 +64,11 @@ public interface AuthService {
/** /**
* @description 简单校验 token 是否有效(用于快速判断是否已登录) * @description 简单校验 token 是否有效(用于快速判断是否已登录)
* @param token 鉴权 token * @param token 鉴权 token
* @return ResultDomain<Boolean> true 表示有效/已登录false 表示无效/未登录 * @return ResultDomain<BOOLEAN> true 表示有效/已登录false 表示无效/未登录
* @author yslg * @author yslg
* @since 2025-11-03 * @since 2025-11-03
*/ */
ResultDomain<Boolean> isTokenValid(String token); ResultDomain<BOOLEAN> isTokenValid(String token);
} }

View File

@@ -43,7 +43,7 @@ public interface FileService {
* @author yslg * @author yslg
* @since 2025-11-03 * @since 2025-11-03
*/ */
ResultDomain<Boolean> deleteFile(String fileId); ResultDomain<BOOLEAN> deleteFile(String fileId);
/** /**
* @description 批量删除文件(逻辑删除) * @description 批量删除文件(逻辑删除)

View File

@@ -23,7 +23,7 @@ public class TbSysLogDTO extends BaseDTO {
private String logId; private String logId;
@Schema(description = "日志类型") @Schema(description = "日志类型")
private Integer type; private INTEGER type;
@Schema(description = "日志级别") @Schema(description = "日志级别")
private String level; private String level;

View File

@@ -46,10 +46,10 @@ public class TbSysLoginLogDTO extends BaseDTO {
private Date loginTime; private Date loginTime;
@Schema(description = "状态") @Schema(description = "状态")
private Integer status; private INTEGER status;
@Schema(description = "错误次数") @Schema(description = "错误次数")
private Integer errorCount; private INTEGER errorCount;
@Schema(description = "消息") @Schema(description = "消息")
private String message; private String message;

View File

@@ -38,6 +38,6 @@ public class TbMessageChannelDTO extends BaseDTO {
private String status; private String status;
@Schema(description = "优先级(数字越大优先级越高)") @Schema(description = "优先级(数字越大优先级越高)")
private Integer priority; private INTEGER priority;
} }

View File

@@ -113,7 +113,7 @@ public interface MessageService {
* @author yslg * @author yslg
* @since 2025-11-05 * @since 2025-11-05
*/ */
ResultDomain<Boolean> deleteMessage(String messageId); ResultDomain<BOOLEAN> deleteMessage(String messageId);
/** /**
* @description 发送消息 * @description 发送消息

View File

@@ -44,5 +44,5 @@ public class MessageRangeChannelVO extends BaseVO {
private String channelStatus; private String channelStatus;
@Schema(description = "渠道优先级(数字越大优先级越高)") @Schema(description = "渠道优先级(数字越大优先级越高)")
private Integer channelPriority; private INTEGER channelPriority;
} }

View File

@@ -39,11 +39,11 @@ public interface DeptRoleService {
/** /**
* @description 根据ID删除部门 * @description 根据ID删除部门
* @param deptDTO 部门DTO * @param deptDTO 部门DTO
* @return ResultDomain<Boolean> 删除结果 * @return ResultDomain<BOOLEAN> 删除结果
* @author yslg * @author yslg
* @since 2025-11-05 * @since 2025-11-05
*/ */
ResultDomain<Boolean> deleteDept(TbSysDeptDTO deptDTO); ResultDomain<BOOLEAN> deleteDept(TbSysDeptDTO deptDTO);
/** /**
* @description 根据ID查询部门 * @description 根据ID查询部门
@@ -103,11 +103,11 @@ public interface DeptRoleService {
/** /**
* @description 根据ID删除角色 * @description 根据ID删除角色
* @param roleDTO 角色DTO * @param roleDTO 角色DTO
* @return ResultDomain<Boolean> 删除结果 * @return ResultDomain<BOOLEAN> 删除结果
* @author yslg * @author yslg
* @since 2025-11-05 * @since 2025-11-05
*/ */
ResultDomain<Boolean> deleteRole(TbSysRoleDTO roleDTO); ResultDomain<BOOLEAN> deleteRole(TbSysRoleDTO roleDTO);
/** /**
* @description 根据ID查询角色 * @description 根据ID查询角色
@@ -176,11 +176,11 @@ public interface DeptRoleService {
/** /**
* @description 根据ID删除部门角色关联 * @description 根据ID删除部门角色关联
* @param deptRoleDTO 部门角色DTO * @param deptRoleDTO 部门角色DTO
* @return ResultDomain<Boolean> 删除结果 * @return ResultDomain<BOOLEAN> 删除结果
* @author yslg * @author yslg
* @since 2025-11-05 * @since 2025-11-05
*/ */
ResultDomain<Boolean> deleteDeptRole(TbSysDeptRoleDTO deptRoleDTO); ResultDomain<BOOLEAN> deleteDeptRole(TbSysDeptRoleDTO deptRoleDTO);
/** /**
* @description 根据ID查询部门角色关联 * @description 根据ID查询部门角色关联

View File

@@ -38,11 +38,11 @@ public interface ModulePermissionService {
/** /**
* @description 根据ID删除模块 * @description 根据ID删除模块
* @param moduleDTO 模块DTO * @param moduleDTO 模块DTO
* @return ResultDomain<Boolean> 删除结果 * @return ResultDomain<BOOLEAN> 删除结果
* @author yslg * @author yslg
* @since 2025-11-05 * @since 2025-11-05
*/ */
ResultDomain<Boolean> deleteModule(TbSysModuleDTO moduleDTO); ResultDomain<BOOLEAN> deleteModule(TbSysModuleDTO moduleDTO);
/** /**
* @description 获取模块分页数据 * @description 获取模块分页数据
@@ -84,11 +84,11 @@ public interface ModulePermissionService {
/** /**
* @description 根据ID删除权限 * @description 根据ID删除权限
* @param permissionDTO 权限DTO * @param permissionDTO 权限DTO
* @return ResultDomain<Boolean> 删除结果 * @return ResultDomain<BOOLEAN> 删除结果
* @author yslg * @author yslg
* @since 2025-11-05 * @since 2025-11-05
*/ */
ResultDomain<Boolean> deletePermission(TbSysPermissionDTO permissionDTO); ResultDomain<BOOLEAN> deletePermission(TbSysPermissionDTO permissionDTO);
/** /**
* @description 根据模块ID获取权限列表 * @description 根据模块ID获取权限列表

View File

@@ -35,11 +35,11 @@ public interface SysConfigService {
/** /**
* @description 根据ID删除系统配置 * @description 根据ID删除系统配置
* @param configDTO 系统配置DTO * @param configDTO 系统配置DTO
* @return ResultDomain<Boolean> 删除结果 * @return ResultDomain<BOOLEAN> 删除结果
* @author yslg * @author yslg
* @since 2025-11-05 * @since 2025-11-05
*/ */
ResultDomain<Boolean> deleteConfig(TbSysConfigDTO configDTO); ResultDomain<BOOLEAN> deleteConfig(TbSysConfigDTO configDTO);
/** /**
* @description 根据ID查询系统配置 * @description 根据ID查询系统配置

View File

@@ -39,11 +39,11 @@ public interface SysUserService {
/** /**
* @description 根据ID删除用户 * @description 根据ID删除用户
* @param TbSysUserDTO userDTO 用户DTO * @param TbSysUserDTO userDTO 用户DTO
* @return ResultDomain<Boolean> 删除结果 * @return ResultDomain<BOOLEAN> 删除结果
* @author yslg * @author yslg
* @since 2025-11-05 * @since 2025-11-05
*/ */
ResultDomain<Boolean> deleteUser(TbSysUserDTO userDTO); ResultDomain<BOOLEAN> deleteUser(TbSysUserDTO userDTO);
/** /**
* @description 根据ID查询用户 * @description 根据ID查询用户
@@ -95,11 +95,11 @@ public interface SysUserService {
* @param userId 用户ID * @param userId 用户ID
* @param oldPassword 旧密码 * @param oldPassword 旧密码
* @param newPassword 新密码 * @param newPassword 新密码
* @return ResultDomain<Boolean> 更新结果 * @return ResultDomain<BOOLEAN> 更新结果
* @author yslg * @author yslg
* @since 2025-11-05 * @since 2025-11-05
*/ */
ResultDomain<Boolean> updateUserPassword(String userId, String oldPassword, String newPassword); ResultDomain<BOOLEAN> updateUserPassword(String userId, String oldPassword, String newPassword);
/** /**
* @description 重置用户密码 * @description 重置用户密码
@@ -114,11 +114,11 @@ public interface SysUserService {
* @description 更新用户状态 * @description 更新用户状态
* @param userId 用户ID * @param userId 用户ID
* @param status 状态 * @param status 状态
* @return ResultDomain<Boolean> 更新结果 * @return ResultDomain<BOOLEAN> 更新结果
* @author yslg * @author yslg
* @since 2025-11-05 * @since 2025-11-05
*/ */
ResultDomain<Boolean> updateUserStatus(String userId, String status); ResultDomain<BOOLEAN> updateUserStatus(String userId, String status);
// ================= 用户详细信息管理 ================= // ================= 用户详细信息管理 =================
/** /**
@@ -152,21 +152,21 @@ public interface SysUserService {
/** /**
* @description 删除用户角色关联 * @description 删除用户角色关联
* @param userRoleDTO 用户角色DTO * @param userRoleDTO 用户角色DTO
* @return ResultDomain<Boolean> 删除结果 * @return ResultDomain<BOOLEAN> 删除结果
* @author yslg * @author yslg
* @since 2025-11-05 * @since 2025-11-05
*/ */
ResultDomain<Boolean> removeUserRole(TbSysUserRoleDTO userRoleDTO); ResultDomain<BOOLEAN> removeUserRole(TbSysUserRoleDTO userRoleDTO);
/** /**
* @description 批量设置用户角色 * @description 批量设置用户角色
* @param userId 用户ID * @param userId 用户ID
* @param[] roleIds 角色ID数组 * @param[] roleIds 角色ID数组
* @return ResultDomain<Boolean> 设置结果 * @return ResultDomain<BOOLEAN> 设置结果
* @author yslg * @author yslg
* @since 2025-11-05 * @since 2025-11-05
*/ */
ResultDomain<Boolean> setUserRoles(String userId, String[] roleIds); ResultDomain<BOOLEAN> setUserRoles(String userId, String[] roleIds);
// ================= 用户完整信息查询 ================= // ================= 用户完整信息查询 =================
/** /**

View File

@@ -36,11 +36,11 @@ public interface ViewService {
/** /**
* @description 根据ID删除视图 * @description 根据ID删除视图
* @param viewDTO 视图DTO * @param viewDTO 视图DTO
* @return ResultDomain<Boolean> 删除结果 * @return ResultDomain<BOOLEAN> 删除结果
* @author yslg * @author yslg
* @since 2025-11-05 * @since 2025-11-05
*/ */
ResultDomain<Boolean> deleteView(TbSysViewDTO viewDTO); ResultDomain<BOOLEAN> deleteView(TbSysViewDTO viewDTO);
/** /**
* @description 根据ID查询视图 * @description 根据ID查询视图

View File

@@ -36,13 +36,13 @@ public class AclVO extends BaseVO {
private String principalDeptId; private String principalDeptId;
@Schema(description = "权限位1读 2写 4执行") @Schema(description = "权限位1读 2写 4执行")
private Integer permission; private INTEGER permission;
@Schema(description = "允许或显式拒绝", defaultValue = "true") @Schema(description = "允许或显式拒绝", defaultValue = "true")
private Boolean allow = true; private BOOLEAN allow = true;
@Schema(description = "是否包含子级对dept/role生效", defaultValue = "false") @Schema(description = "是否包含子级对dept/role生效", defaultValue = "false")
private Boolean includeDescendants = false; private BOOLEAN includeDescendants = false;
// TbSysAclPolicyDTO对应字段 // TbSysAclPolicyDTO对应字段
@Schema(description = "策略ID") @Schema(description = "策略ID")
@@ -61,11 +61,11 @@ public class AclVO extends BaseVO {
private String viewHierarchyRule; private String viewHierarchyRule;
@Schema(description = "默认权限无显式ACL时应用", defaultValue = "0") @Schema(description = "默认权限无显式ACL时应用", defaultValue = "0")
private Integer defaultPermission = 0; private INTEGER defaultPermission = 0;
@Schema(description = "默认是否允许", defaultValue = "true") @Schema(description = "默认是否允许", defaultValue = "true")
private boolean defaultAllow = true; private BOOLEAN defaultAllow = true;
@Schema(description = "是否默认应用到子级", defaultValue = "true") @Schema(description = "是否默认应用到子级", defaultValue = "true")
private boolean applyToChildren = true; private BOOLEAN applyToChildren = true;
} }

View File

@@ -51,7 +51,7 @@ public class PermissionVO extends BaseVO {
private String roleOwnerDeptId; private String roleOwnerDeptId;
@Schema(description = "角色状态") @Schema(description = "角色状态")
private boolean roleStatus; private BOOLEAN roleStatus;
// TbSysModuleDTO对应字段 // TbSysModuleDTO对应字段
@Schema(description = "模块ID") @Schema(description = "模块ID")
@@ -99,13 +99,13 @@ public class PermissionVO extends BaseVO {
private String viewIcon; private String viewIcon;
@Schema(description = "类型") @Schema(description = "类型")
private Integer viewType; private INTEGER viewType;
@Schema(description = "布局") @Schema(description = "布局")
private String viewLayout; private String viewLayout;
@Schema(description = "排序") @Schema(description = "排序")
private Integer viewOrderNum; private INTEGER viewOrderNum;
@Schema(description = "视图描述") @Schema(description = "视图描述")
private String viewDescription; private String viewDescription;

View File

@@ -32,7 +32,7 @@ public class SysConfigVO extends BaseVO {
@Schema(description = "配置值") @Schema(description = "配置值")
private String value; private String value;
@Schema(description = "数据类型(String, Integer, Boolean, Float, Double)") @Schema(description = "数据类型(String, INTEGER, BOOLEAN, Float, Double)")
private String configType; private String configType;
@Schema(description = "配置渲染类型(select, input, textarea, checkbox, radio, switch)") @Schema(description = "配置渲染类型(select, input, textarea, checkbox, radio, switch)")
@@ -60,10 +60,10 @@ public class SysConfigVO extends BaseVO {
private String moduleDescription; private String moduleDescription;
@Schema(description = "配置顺序") @Schema(description = "配置顺序")
private Integer orderNum; private INTEGER orderNum;
@Schema(description = "状态") @Schema(description = "状态")
private Integer status; private INTEGER status;
public static TbSysConfigDTO toDTO(SysConfigVO vo) { public static TbSysConfigDTO toDTO(SysConfigVO vo) {
if (vo == null) { if (vo == null) {

View File

@@ -51,7 +51,7 @@ public class SysUserVO extends BaseVO {
private String avatar; private String avatar;
@Schema(description = "性别") @Schema(description = "性别")
private Integer gender; private INTEGER gender;
@Schema(description = "") @Schema(description = "")
private String familyName; private String familyName;
@@ -63,7 +63,7 @@ public class SysUserVO extends BaseVO {
private String fullName; private String fullName;
@Schema(description = "等级") @Schema(description = "等级")
private Integer level; private INTEGER level;
@Schema(description = "身份证号") @Schema(description = "身份证号")
private String idCard; private String idCard;

View File

@@ -50,7 +50,7 @@ public class UserDeptRoleVO extends BaseVO {
private String avatar; private String avatar;
@Schema(description = "性别") @Schema(description = "性别")
private Integer gender; private INTEGER gender;
@Schema(description = "") @Schema(description = "")
private String familyName; private String familyName;
@@ -62,7 +62,7 @@ public class UserDeptRoleVO extends BaseVO {
private String fullName; private String fullName;
@Schema(description = "等级") @Schema(description = "等级")
private Integer level; private INTEGER level;
@Schema(description = "身份证号") @Schema(description = "身份证号")
private String idCard; private String idCard;
@@ -100,7 +100,7 @@ public class UserDeptRoleVO extends BaseVO {
private String ownerDeptId; private String ownerDeptId;
@Schema(description = "角色状态") @Schema(description = "角色状态")
private boolean roleStatus; private BOOLEAN roleStatus;
public static TbSysDeptDTO toDeptDTO(UserDeptRoleVO vo) { public static TbSysDeptDTO toDeptDTO(UserDeptRoleVO vo) {

View File

@@ -34,7 +34,7 @@ public class AuthServiceImpl implements AuthService{
} }
@Override @Override
public ResultDomain<Boolean> isTokenValid(String arg0) { public ResultDomain<BOOLEAN> isTokenValid(String arg0) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }

View File

@@ -16,11 +16,11 @@ public @interface HttpLogin {
/** /**
* @description 是否必需默认为true * @description 是否必需默认为true
* @return boolean * @return BOOLEAN
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
boolean required() default true; BOOLEAN required() default true;
/** /**
* @description 当token无效时的错误消息 * @description 当token无效时的错误消息

View File

@@ -42,7 +42,7 @@ public class HttpLoginArgumentResolver implements HandlerMethodArgumentResolver
private static final String REDIS_LOGIN_PREFIX = "login:token:"; private static final String REDIS_LOGIN_PREFIX = "login:token:";
@Override @Override
public boolean supportsParameter(MethodParameter parameter) { public BOOLEAN supportsParameter(MethodParameter parameter) {
return parameter.hasParameterAnnotation(HttpLogin.class) return parameter.hasParameterAnnotation(HttpLogin.class)
&& LoginDomain.class.isAssignableFrom(parameter.getParameterType()); && LoginDomain.class.isAssignableFrom(parameter.getParameterType());
} }

View File

@@ -21,7 +21,7 @@ public class AuthProperties {
* 是否启用认证过滤器 * 是否启用认证过滤器
* 默认启用 * 默认启用
*/ */
private boolean enabled = true; private BOOLEAN enabled = true;
/** /**
* 登录接口路径 * 登录接口路径
@@ -72,11 +72,11 @@ public class AuthProperties {
whitelist.add("/error"); whitelist.add("/error");
} }
public boolean isEnabled() { public BOOLEAN isEnabled() {
return enabled; return enabled;
} }
public void setEnabled(boolean enabled) { public void setEnabled(BOOLEAN enabled) {
this.enabled = enabled; this.enabled = enabled;
} }

View File

@@ -178,7 +178,7 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter {
/** /**
* 检查路径是否在白名单中 * 检查路径是否在白名单中
*/ */
private boolean isWhitelisted(@NonNull String path) { private BOOLEAN isWhitelisted(@NonNull String path) {
// 1. 先检查认证相关接口login / logout / captcha / refresh // 1. 先检查认证相关接口login / logout / captcha / refresh
if (authProperties.getAuthPaths() != null) { if (authProperties.getAuthPaths() != null) {
for (String pattern : authProperties.getAuthPaths()) { for (String pattern : authProperties.getAuthPaths()) {

View File

@@ -34,12 +34,12 @@ public class JwtTokenParser implements TokenParser {
} }
@Override @Override
public boolean validateToken(String token, String userId) { public BOOLEAN validateToken(String token, String userId) {
return jwtTokenUtil.validateToken(token, userId); return jwtTokenUtil.validateToken(token, userId);
} }
@Override @Override
public boolean isTokenExpired(String token) { public BOOLEAN isTokenExpired(String token) {
return jwtTokenUtil.isTokenExpired(token); return jwtTokenUtil.isTokenExpired(token);
} }
} }

View File

@@ -33,19 +33,19 @@ public interface TokenParser {
* @description 验证令牌 * @description 验证令牌
* @param token 令牌 * @param token 令牌
* @param userId 用户ID * @param userId 用户ID
* @return boolean 是否有效 * @return BOOLEAN 是否有效
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
boolean validateToken(String token, String userId); BOOLEAN validateToken(String token, String userId);
/** /**
* @description 检查令牌是否过期 * @description 检查令牌是否过期
* @param token 令牌 * @param token 令牌
* @return boolean 是否过期 * @return BOOLEAN 是否过期
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
boolean isTokenExpired(String token); BOOLEAN isTokenExpired(String token);
} }

View File

@@ -114,11 +114,11 @@ public class JwtTokenUtil {
* @description 验证令牌 * @description 验证令牌
* @param token JWT令牌 * @param token JWT令牌
* @param userId 用户ID * @param userId 用户ID
* @return boolean 是否有效 * @return BOOLEAN 是否有效
* @author yslg * @author yslg
* @since 2025-11-07 * @since 2025-11-07
*/ */
public boolean validateToken(String token, String userId) { public BOOLEAN validateToken(String token, String userId) {
try { try {
final String tokenUserId = getUserIdFromToken(token); final String tokenUserId = getUserIdFromToken(token);
return (userId.equals(tokenUserId) && !isTokenExpired(token)); return (userId.equals(tokenUserId) && !isTokenExpired(token));
@@ -130,11 +130,11 @@ public class JwtTokenUtil {
/** /**
* @description 检查令牌是否过期 * @description 检查令牌是否过期
* @param token JWT令牌 * @param token JWT令牌
* @return boolean 是否过期 * @return BOOLEAN 是否过期
* @author yslg * @author yslg
* @since 2025-11-07 * @since 2025-11-07
*/ */
public boolean isTokenExpired(String token) { public BOOLEAN isTokenExpired(String token) {
final Date expiration = getExpirationDateFromToken(token); final Date expiration = getExpirationDateFromToken(token);
return expiration.before(new Date()); return expiration.before(new Date());
} }

View File

@@ -78,7 +78,7 @@ public class LoginParam implements Serializable {
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
private Boolean rememberMe; private BOOLEAN rememberMe;
} }

View File

@@ -19,8 +19,8 @@ import lombok.Data;
public class ResultDomain<T> implements Serializable { public class ResultDomain<T> implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private Integer code; private INTEGER code;
private boolean success; private BOOLEAN success;
private String message; private String message;
private T data; private T data;
private List<T> dataList; private List<T> dataList;

View File

@@ -40,5 +40,5 @@ public class BaseDTO implements Serializable {
private Date deleteTime; private Date deleteTime;
@Schema(description = "是否已删除", defaultValue = "false") @Schema(description = "是否已删除", defaultValue = "false")
private Boolean deleted = false; private BOOLEAN deleted = false;
} }

View File

@@ -35,11 +35,11 @@ public class TbSysAclDTO extends BaseDTO {
private String principalDeptId; private String principalDeptId;
@Schema(description = "权限位1读 2写 4执行") @Schema(description = "权限位1读 2写 4执行")
private Integer permission; private INTEGER permission;
@Schema(description = "允许或显式拒绝", defaultValue = "true") @Schema(description = "允许或显式拒绝", defaultValue = "true")
private Boolean allow = true; private BOOLEAN allow = true;
@Schema(description = "是否包含子级对dept/role生效", defaultValue = "false") @Schema(description = "是否包含子级对dept/role生效", defaultValue = "false")
private Boolean includeDescendants = false; private BOOLEAN includeDescendants = false;
} }

View File

@@ -33,11 +33,11 @@ public class TbSysAclPolicyDTO extends BaseDTO {
private String viewHierarchyRule; private String viewHierarchyRule;
@Schema(description = "默认权限无显式ACL时应用", defaultValue = "0") @Schema(description = "默认权限无显式ACL时应用", defaultValue = "0")
private Integer defaultPermission=0; private INTEGER defaultPermission=0;
@Schema(description = "默认是否允许", defaultValue = "true") @Schema(description = "默认是否允许", defaultValue = "true")
private boolean defaultAllow=true; private BOOLEAN defaultAllow=true;
@Schema(description = "是否默认应用到子级", defaultValue = "true") @Schema(description = "是否默认应用到子级", defaultValue = "true")
private boolean applyToChildren=true; private BOOLEAN applyToChildren=true;
} }

View File

@@ -31,7 +31,7 @@ public class TbSysConfigDTO extends BaseDTO {
@Schema(description = "配置值") @Schema(description = "配置值")
private String value; private String value;
@Schema(description = "数据类型(String, Integer, Boolean, Float, Double)") @Schema(description = "数据类型(String, INTEGER, BOOLEAN, Float, Double)")
private String configType; private String configType;
@Schema(description = "配置渲染类型(select, input, textarea, checkbox, radio, switch)") @Schema(description = "配置渲染类型(select, input, textarea, checkbox, radio, switch)")
@@ -53,9 +53,9 @@ public class TbSysConfigDTO extends BaseDTO {
private String moduleId; private String moduleId;
@Schema(description = "配置顺序") @Schema(description = "配置顺序")
private Integer orderNum; private INTEGER orderNum;
@Schema(description = "配置状态 0:启用 1:禁用", defaultValue = "0") @Schema(description = "配置状态 0:启用 1:禁用", defaultValue = "0")
private Integer status = 0; private INTEGER status = 0;
} }

View File

@@ -33,5 +33,5 @@ public class TbSysRoleDTO extends BaseDTO {
private String ownerDeptId; private String ownerDeptId;
@Schema(description = "角色状态 true 有效, false 无效") @Schema(description = "角色状态 true 有效, false 无效")
private boolean status; private BOOLEAN status;
} }

View File

@@ -24,7 +24,7 @@ public class TbSysUserInfoDTO extends BaseDTO {
private String avatar; private String avatar;
@Schema(description = "性别") @Schema(description = "性别")
private Integer gender; private INTEGER gender;
@Schema(description = "") @Schema(description = "")
private String familyName; private String familyName;
@@ -36,7 +36,7 @@ public class TbSysUserInfoDTO extends BaseDTO {
private String fullName; private String fullName;
@Schema(description = "等级") @Schema(description = "等级")
private Integer level; private INTEGER level;
@Schema(description = "身份证号") @Schema(description = "身份证号")
private String idCard; private String idCard;

View File

@@ -37,13 +37,13 @@ public class TbSysViewDTO extends BaseDTO {
private String icon; private String icon;
@Schema(description = "类型") @Schema(description = "类型")
private Integer type; private INTEGER type;
@Schema(description = "布局") @Schema(description = "布局")
private String layout; private String layout;
@Schema(description = "排序") @Schema(description = "排序")
private Integer orderNum; private INTEGER orderNum;
@Schema(description = "描述") @Schema(description = "描述")
private String description; private String description;

View File

@@ -47,6 +47,6 @@ public class BaseVO implements Serializable {
private Date deleteTime; private Date deleteTime;
@Schema(description = "是否已删除", defaultValue = "false") @Schema(description = "是否已删除", defaultValue = "false")
private Boolean deleted = false; private BOOLEAN deleted = false;
} }

View File

@@ -79,11 +79,11 @@ public class RedisService {
/** /**
* @description 判断key是否存在 * @description 判断key是否存在
* @param key String 键 * @param key String 键
* @return boolean 是否存在 * @return BOOLEAN 是否存在
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
public boolean hasKey(String key) { public BOOLEAN hasKey(String key) {
return redisTemplate.hasKey(key); return redisTemplate.hasKey(key);
} }

View File

@@ -25,7 +25,7 @@ public class NonUtils {
* @param obj 待判断的对象 * @param obj 待判断的对象
* @return true-对象为nullfalse-对象不为null * @return true-对象为nullfalse-对象不为null
*/ */
public static boolean isNull(Object obj) { public static BOOLEAN isNull(Object obj) {
return obj == null; return obj == null;
} }
@@ -35,7 +35,7 @@ public class NonUtils {
* @param obj 待判断的对象 * @param obj 待判断的对象
* @return true-对象不为nullfalse-对象为null * @return true-对象不为nullfalse-对象为null
*/ */
public static boolean isNotNull(Object obj) { public static BOOLEAN isNotNull(Object obj) {
return obj != null; return obj != null;
} }
@@ -45,7 +45,7 @@ public class NonUtils {
* @param objects 待判断的对象数组 * @param objects 待判断的对象数组
* @return true-所有对象都为nullfalse-至少有一个对象不为null * @return true-所有对象都为nullfalse-至少有一个对象不为null
*/ */
public static boolean isAllNull(Object... objects) { public static BOOLEAN isAllNull(Object... objects) {
if (objects == null || objects.length == 0) { if (objects == null || objects.length == 0) {
return true; return true;
} }
@@ -63,7 +63,7 @@ public class NonUtils {
* @param objects 待判断的对象数组 * @param objects 待判断的对象数组
* @return true-所有对象都不为nullfalse-至少有一个对象为null * @return true-所有对象都不为nullfalse-至少有一个对象为null
*/ */
public static boolean isAllNotNull(Object... objects) { public static BOOLEAN isAllNotNull(Object... objects) {
if (objects == null || objects.length == 0) { if (objects == null || objects.length == 0) {
return false; return false;
} }
@@ -81,7 +81,7 @@ public class NonUtils {
* @param objects 待判断的对象数组 * @param objects 待判断的对象数组
* @return true-存在null对象false-不存在null对象 * @return true-存在null对象false-不存在null对象
*/ */
public static boolean hasNull(Object... objects) { public static BOOLEAN hasNull(Object... objects) {
if (objects == null || objects.length == 0) { if (objects == null || objects.length == 0) {
return true; return true;
} }
@@ -106,7 +106,7 @@ public class NonUtils {
* @param obj 待判断的对象 * @param obj 待判断的对象
* @return true-对象为空false-对象不为空 * @return true-对象为空false-对象不为空
*/ */
public static boolean isEmpty(Object obj) { public static BOOLEAN isEmpty(Object obj) {
if (isNull(obj)) { if (isNull(obj)) {
return true; return true;
} }
@@ -145,7 +145,7 @@ public class NonUtils {
* @param obj 待判断的对象 * @param obj 待判断的对象
* @return true-对象不为空false-对象为空 * @return true-对象不为空false-对象为空
*/ */
public static boolean isNotEmpty(Object obj) { public static BOOLEAN isNotEmpty(Object obj) {
return !isEmpty(obj); return !isEmpty(obj);
} }
@@ -155,7 +155,7 @@ public class NonUtils {
* @param objects 待判断的对象数组 * @param objects 待判断的对象数组
* @return true-所有对象都为空false-至少有一个对象不为空 * @return true-所有对象都为空false-至少有一个对象不为空
*/ */
public static boolean isAllEmpty(Object... objects) { public static BOOLEAN isAllEmpty(Object... objects) {
if (objects == null || objects.length == 0) { if (objects == null || objects.length == 0) {
return true; return true;
} }
@@ -173,7 +173,7 @@ public class NonUtils {
* @param objects 待判断的对象数组 * @param objects 待判断的对象数组
* @return true-所有对象都不为空false-至少有一个对象为空 * @return true-所有对象都不为空false-至少有一个对象为空
*/ */
public static boolean isAllNotEmpty(Object... objects) { public static BOOLEAN isAllNotEmpty(Object... objects) {
if (objects == null || objects.length == 0) { if (objects == null || objects.length == 0) {
return false; return false;
} }
@@ -191,7 +191,7 @@ public class NonUtils {
* @param objects 待判断的对象数组 * @param objects 待判断的对象数组
* @return true-存在空值false-不存在空值 * @return true-存在空值false-不存在空值
*/ */
public static boolean hasEmpty(Object... objects) { public static BOOLEAN hasEmpty(Object... objects) {
if (objects == null || objects.length == 0) { if (objects == null || objects.length == 0) {
return true; return true;
} }
@@ -212,7 +212,7 @@ public class NonUtils {
* @param obj 待判断的对象 * @param obj 待判断的对象
* @return true-对象为空包括递归检查false-对象不为空 * @return true-对象为空包括递归检查false-对象不为空
*/ */
public static boolean isDeepEmpty(Object obj) { public static BOOLEAN isDeepEmpty(Object obj) {
return isDeepEmpty(obj, new HashSet<>()); return isDeepEmpty(obj, new HashSet<>());
} }
@@ -223,7 +223,7 @@ public class NonUtils {
* @param visited 已访问对象集合,用于防止循环引用 * @param visited 已访问对象集合,用于防止循环引用
* @return true-对象为空包括递归检查false-对象不为空 * @return true-对象为空包括递归检查false-对象不为空
*/ */
private static boolean isDeepEmpty(Object obj, Set<Object> visited) { private static BOOLEAN isDeepEmpty(Object obj, Set<Object> visited) {
if (isEmpty(obj)) { if (isEmpty(obj)) {
return true; return true;
} }
@@ -288,7 +288,7 @@ public class NonUtils {
* @param obj 待判断的对象 * @param obj 待判断的对象
* @return true-对象不为空包括递归检查false-对象为空 * @return true-对象不为空包括递归检查false-对象为空
*/ */
public static boolean isDeepNotEmpty(Object obj) { public static BOOLEAN isDeepNotEmpty(Object obj) {
return !isDeepEmpty(obj); return !isDeepEmpty(obj);
} }
@@ -300,7 +300,7 @@ public class NonUtils {
* @param collection 待判断的集合 * @param collection 待判断的集合
* @return true-集合为null或空false-集合不为空 * @return true-集合为null或空false-集合不为空
*/ */
public static boolean isEmptyCollection(Collection<?> collection) { public static BOOLEAN isEmptyCollection(Collection<?> collection) {
return collection == null || collection.isEmpty(); return collection == null || collection.isEmpty();
} }
@@ -310,7 +310,7 @@ public class NonUtils {
* @param collection 待判断的集合 * @param collection 待判断的集合
* @return true-集合不为null且不为空false-集合为null或空 * @return true-集合不为null且不为空false-集合为null或空
*/ */
public static boolean isNotEmptyCollection(Collection<?> collection) { public static BOOLEAN isNotEmptyCollection(Collection<?> collection) {
return collection != null && !collection.isEmpty(); return collection != null && !collection.isEmpty();
} }
@@ -320,7 +320,7 @@ public class NonUtils {
* @param collection 待判断的集合 * @param collection 待判断的集合
* @return true-集合包含有效元素false-集合为空或只包含null/空元素 * @return true-集合包含有效元素false-集合为空或只包含null/空元素
*/ */
public static boolean hasValidElements(Collection<?> collection) { public static BOOLEAN hasValidElements(Collection<?> collection) {
if (isEmptyCollection(collection)) { if (isEmptyCollection(collection)) {
return false; return false;
} }
@@ -338,7 +338,7 @@ public class NonUtils {
* @param collection 待判断的集合 * @param collection 待判断的集合
* @return true-集合所有元素都有效false-集合为空或包含null/空元素 * @return true-集合所有元素都有效false-集合为空或包含null/空元素
*/ */
public static boolean allValidElements(Collection<?> collection) { public static BOOLEAN allValidElements(Collection<?> collection) {
if (isEmptyCollection(collection)) { if (isEmptyCollection(collection)) {
return false; return false;
} }
@@ -378,7 +378,7 @@ public class NonUtils {
* @param map 待判断的Map * @param map 待判断的Map
* @return true-Map为null或空false-Map不为空 * @return true-Map为null或空false-Map不为空
*/ */
public static boolean isEmptyMap(Map<?, ?> map) { public static BOOLEAN isEmptyMap(Map<?, ?> map) {
return map == null || map.isEmpty(); return map == null || map.isEmpty();
} }
@@ -388,7 +388,7 @@ public class NonUtils {
* @param map 待判断的Map * @param map 待判断的Map
* @return true-Map不为null且不为空false-Map为null或空 * @return true-Map不为null且不为空false-Map为null或空
*/ */
public static boolean isNotEmptyMap(Map<?, ?> map) { public static BOOLEAN isNotEmptyMap(Map<?, ?> map) {
return map != null && !map.isEmpty(); return map != null && !map.isEmpty();
} }
@@ -400,7 +400,7 @@ public class NonUtils {
* @param array 待判断的数组 * @param array 待判断的数组
* @return true-数组为null或空false-数组不为空 * @return true-数组为null或空false-数组不为空
*/ */
public static boolean isEmptyArray(Object array) { public static BOOLEAN isEmptyArray(Object array) {
return array == null || !array.getClass().isArray() || Array.getLength(array) == 0; return array == null || !array.getClass().isArray() || Array.getLength(array) == 0;
} }
@@ -410,7 +410,7 @@ public class NonUtils {
* @param array 待判断的数组 * @param array 待判断的数组
* @return true-数组不为null且不为空false-数组为null或空 * @return true-数组不为null且不为空false-数组为null或空
*/ */
public static boolean isNotEmptyArray(Object array) { public static BOOLEAN isNotEmptyArray(Object array) {
return array != null && array.getClass().isArray() && Array.getLength(array) > 0; return array != null && array.getClass().isArray() && Array.getLength(array) > 0;
} }
@@ -422,7 +422,7 @@ public class NonUtils {
* @param str 待判断的字符串 * @param str 待判断的字符串
* @return true-字符串为null、空或只包含空白字符false-字符串有有效内容 * @return true-字符串为null、空或只包含空白字符false-字符串有有效内容
*/ */
public static boolean isEmptyString(String str) { public static BOOLEAN isEmptyString(String str) {
return str == null || str.trim().isEmpty(); return str == null || str.trim().isEmpty();
} }
@@ -432,7 +432,7 @@ public class NonUtils {
* @param str 待判断的字符串 * @param str 待判断的字符串
* @return true-字符串不为null且有有效内容false-字符串为null、空或只包含空白字符 * @return true-字符串不为null且有有效内容false-字符串为null、空或只包含空白字符
*/ */
public static boolean isNotEmptyString(String str) { public static BOOLEAN isNotEmptyString(String str) {
return str != null && !str.trim().isEmpty(); return str != null && !str.trim().isEmpty();
} }
@@ -581,7 +581,7 @@ public class NonUtils {
* @param <T> 目标类型 * @param <T> 目标类型
* @return true-对象不为null且为指定类型false-否则 * @return true-对象不为null且为指定类型false-否则
*/ */
public static <T> boolean isInstanceAndNotNull(Object obj, Class<T> clazz) { public static <T> BOOLEAN isInstanceAndNotNull(Object obj, Class<T> clazz) {
return isNotNull(obj) && clazz.isInstance(obj); return isNotNull(obj) && clazz.isInstance(obj);
} }

View File

@@ -88,7 +88,7 @@ public class ServletUtils {
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
public static boolean isAjaxRequest(HttpServletRequest request) { public static BOOLEAN isAjaxRequest(HttpServletRequest request) {
String header = request.getHeader("X-Requested-With"); String header = request.getHeader("X-Requested-With");
return "XMLHttpRequest".equalsIgnoreCase(header); return "XMLHttpRequest".equalsIgnoreCase(header);
} }
@@ -153,7 +153,7 @@ public class ServletUtils {
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
public static boolean isGet(HttpServletRequest request) { public static BOOLEAN isGet(HttpServletRequest request) {
return "GET".equalsIgnoreCase(request.getMethod()); return "GET".equalsIgnoreCase(request.getMethod());
} }
@@ -164,7 +164,7 @@ public class ServletUtils {
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
public static boolean isPost(HttpServletRequest request) { public static BOOLEAN isPost(HttpServletRequest request) {
return "POST".equalsIgnoreCase(request.getMethod()); return "POST".equalsIgnoreCase(request.getMethod());
} }
@@ -175,7 +175,7 @@ public class ServletUtils {
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
public static boolean isPut(HttpServletRequest request) { public static BOOLEAN isPut(HttpServletRequest request) {
return "PUT".equalsIgnoreCase(request.getMethod()); return "PUT".equalsIgnoreCase(request.getMethod());
} }
@@ -186,7 +186,7 @@ public class ServletUtils {
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
public static boolean isDelete(HttpServletRequest request) { public static BOOLEAN isDelete(HttpServletRequest request) {
return "DELETE".equalsIgnoreCase(request.getMethod()); return "DELETE".equalsIgnoreCase(request.getMethod());
} }
@@ -286,7 +286,7 @@ public class ServletUtils {
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
public static boolean isHttps(HttpServletRequest request) { public static BOOLEAN isHttps(HttpServletRequest request) {
return "https".equals(request.getScheme()) || request.isSecure() || return "https".equals(request.getScheme()) || request.isSecure() ||
"443".equals(request.getHeader("X-Forwarded-Port")) || "443".equals(request.getHeader("X-Forwarded-Port")) ||
"https".equals(request.getHeader("X-Forwarded-Proto")); "https".equals(request.getHeader("X-Forwarded-Proto"));
@@ -311,7 +311,7 @@ public class ServletUtils {
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
public static boolean hasParameter(HttpServletRequest request, String paramName) { public static BOOLEAN hasParameter(HttpServletRequest request, String paramName) {
return request.getParameter(paramName) != null; return request.getParameter(paramName) != null;
} }

View File

@@ -15,7 +15,7 @@ public class StringUtils {
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
public static boolean isEmpty(String str) { public static BOOLEAN isEmpty(String str) {
return str == null || str.isEmpty(); return str == null || str.isEmpty();
} }
@@ -26,7 +26,7 @@ public class StringUtils {
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
public static boolean isNotEmpty(String str) { public static BOOLEAN isNotEmpty(String str) {
return !isEmpty(str); return !isEmpty(str);
} }
@@ -54,7 +54,7 @@ public class StringUtils {
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
public static boolean equals(String a, String b) { public static BOOLEAN equals(String a, String b) {
return a == null ? b == null : a.equals(b); return a == null ? b == null : a.equals(b);
} }
@@ -66,7 +66,7 @@ public class StringUtils {
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
public static boolean contains(String str, String sub) { public static BOOLEAN contains(String str, String sub) {
return str != null && sub != null && str.contains(sub); return str != null && sub != null && str.contains(sub);
} }
@@ -116,7 +116,7 @@ public class StringUtils {
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
public static boolean startsWith(String str, String prefix) { public static BOOLEAN startsWith(String str, String prefix) {
return str != null && prefix != null && str.startsWith(prefix); return str != null && prefix != null && str.startsWith(prefix);
} }
@@ -128,7 +128,7 @@ public class StringUtils {
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
public static boolean endsWith(String str, String suffix) { public static BOOLEAN endsWith(String str, String suffix) {
return str != null && suffix != null && str.endsWith(suffix); return str != null && suffix != null && str.endsWith(suffix);
} }
@@ -203,7 +203,7 @@ public class StringUtils {
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
public static boolean isNumeric(String str) { public static BOOLEAN isNumeric(String str) {
if (isEmpty(str)) return false; if (isEmpty(str)) return false;
for (int i = 0; i < str.length(); i++) { for (int i = 0; i < str.length(); i++) {
if (!Character.isDigit(str.charAt(i))) return false; if (!Character.isDigit(str.charAt(i))) return false;
@@ -218,7 +218,7 @@ public class StringUtils {
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
public static boolean isBlank(String str) { public static BOOLEAN isBlank(String str) {
return str == null || str.isBlank(); return str == null || str.isBlank();
} }
/** /**
@@ -228,7 +228,7 @@ public class StringUtils {
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
public static boolean isNotBlank(String str) { public static BOOLEAN isNotBlank(String str) {
return !isBlank(str); return !isBlank(str);
} }

View File

@@ -265,7 +265,7 @@ public class TimeUtils {
* @author yslg * @author yslg
* @since 2025-11-02 * @since 2025-11-02
*/ */
public static boolean isNowBetween(String startTime, String endTime) { public static BOOLEAN isNowBetween(String startTime, String endTime) {
LocalTime now = LocalTime.now(); LocalTime now = LocalTime.now();
LocalTime start = LocalTime.parse(startTime, DateTimeFormatter.ofPattern("HH:mm:ss")); LocalTime start = LocalTime.parse(startTime, DateTimeFormatter.ofPattern("HH:mm:ss"));
LocalTime end = LocalTime.parse(endTime, DateTimeFormatter.ofPattern("HH:mm:ss")); LocalTime end = LocalTime.parse(endTime, DateTimeFormatter.ofPattern("HH:mm:ss"));

View File

@@ -22,7 +22,7 @@ public class ExcelColumnMapping {
/** /**
* @description Excel列索引从0开始优先级高于列名 * @description Excel列索引从0开始优先级高于列名
*/ */
private Integer columnIndex; private INTEGER columnIndex;
/** /**
* @description 对象字段名 * @description 对象字段名
@@ -37,7 +37,7 @@ public class ExcelColumnMapping {
/** /**
* @description 是否必填 * @description 是否必填
*/ */
private boolean required = false; private BOOLEAN required = false;
/** /**
* @description 默认值 * @description 默认值
@@ -62,7 +62,7 @@ public class ExcelColumnMapping {
return columnName; return columnName;
} }
public Integer getColumnIndex() { public INTEGER getColumnIndex() {
return columnIndex; return columnIndex;
} }
@@ -74,7 +74,7 @@ public class ExcelColumnMapping {
return fieldType; return fieldType;
} }
public boolean isRequired() { public BOOLEAN isRequired() {
return required; return required;
} }
@@ -131,7 +131,7 @@ public class ExcelColumnMapping {
/** /**
* 设置是否必填 * 设置是否必填
*/ */
public Builder required(boolean required) { public Builder required(BOOLEAN required) {
mapping.required = required; mapping.required = required;
return this; return this;
} }

View File

@@ -17,7 +17,7 @@ public class ExcelReadResult<T> {
/** /**
* @description 是否成功 * @description 是否成功
*/ */
private boolean success; private BOOLEAN success;
/** /**
* @description 成功读取的数据列表 * @description 成功读取的数据列表
@@ -27,7 +27,7 @@ public class ExcelReadResult<T> {
/** /**
* @description 失败的行数据(行号 -> 错误信息) * @description 失败的行数据(行号 -> 错误信息)
*/ */
private Map<Integer, String> errorRowsMap; private Map<INTEGER, String> errorRowsMap;
/** /**
* @description 总行数(不包括表头) * @description 总行数(不包括表头)
@@ -58,11 +58,11 @@ public class ExcelReadResult<T> {
this.errorRowsCount = 0; this.errorRowsCount = 0;
} }
public boolean isSuccess() { public BOOLEAN isSuccess() {
return success; return success;
} }
public void setSuccess(boolean success) { public void setSuccess(BOOLEAN success) {
this.success = success; this.success = success;
} }
@@ -74,11 +74,11 @@ public class ExcelReadResult<T> {
this.dataList = dataList; this.dataList = dataList;
} }
public Map<Integer, String> getErrorRows() { public Map<INTEGER, String> getErrorRows() {
return errorRowsMap; return errorRowsMap;
} }
public void setErrorRows(Map<Integer, String> errorRowsMap) { public void setErrorRows(Map<INTEGER, String> errorRowsMap) {
this.errorRowsMap = errorRowsMap; this.errorRowsMap = errorRowsMap;
} }
@@ -124,7 +124,7 @@ public class ExcelReadResult<T> {
this.errorRowsCount++; this.errorRowsCount++;
} }
public boolean hasErrors() { public BOOLEAN hasErrors() {
return this.errorRowsCount > 0; return this.errorRowsCount > 0;
} }

View File

@@ -97,9 +97,9 @@ public class ExcelReaderUtils {
int dataStartRowIndex = (int) options.getOrDefault("dataStartRowIndex", 1); int dataStartRowIndex = (int) options.getOrDefault("dataStartRowIndex", 1);
int sheetIndex = (int) options.getOrDefault("sheetIndex", 0); int sheetIndex = (int) options.getOrDefault("sheetIndex", 0);
String sheetName = (String) options.get("sheetName"); String sheetName = (String) options.get("sheetName");
boolean skipEmptyRow = (boolean) options.getOrDefault("skipEmptyRow", true); BOOLEAN skipEmptyRow = (BOOLEAN) options.getOrDefault("skipEmptyRow", true);
int maxRows = (int) options.getOrDefault("maxRows", 0); int maxRows = (int) options.getOrDefault("maxRows", 0);
boolean continueOnError = (boolean) options.getOrDefault("continueOnError", true); BOOLEAN continueOnError = (BOOLEAN) options.getOrDefault("continueOnError", true);
// 创建Workbook // 创建Workbook
Workbook workbook = createWorkbook(inputStream, fileName); Workbook workbook = createWorkbook(inputStream, fileName);
@@ -113,7 +113,7 @@ public class ExcelReaderUtils {
} }
// 解析表头 // 解析表头
Map<String, Integer> headerMap = parseHeader(sheet, headerRowIndex); Map<String, INTEGER> headerMap = parseHeader(sheet, headerRowIndex);
// 读取数据 // 读取数据
readData(sheet, headerMap, targetClass, columnMappings, dataStartRowIndex, readData(sheet, headerMap, targetClass, columnMappings, dataStartRowIndex,
@@ -156,8 +156,8 @@ public class ExcelReaderUtils {
/** /**
* @description 解析表头 * @description 解析表头
*/ */
private static Map<String, Integer> parseHeader(Sheet sheet, int headerRowIndex) { private static Map<String, INTEGER> parseHeader(Sheet sheet, int headerRowIndex) {
Map<String, Integer> headerMap = new HashMap<>(); Map<String, INTEGER> headerMap = new HashMap<>();
Row headerRow = sheet.getRow(headerRowIndex); Row headerRow = sheet.getRow(headerRowIndex);
if (headerRow != null) { if (headerRow != null) {
@@ -175,10 +175,10 @@ public class ExcelReaderUtils {
/** /**
* @description 读取数据 * @description 读取数据
*/ */
private static void readData(Sheet sheet, Map<String, Integer> headerMap, private static void readData(Sheet sheet, Map<String, INTEGER> headerMap,
Class<?> targetClass, List<ExcelColumnMapping> columnMappings, Class<?> targetClass, List<ExcelColumnMapping> columnMappings,
int startRow, boolean skipEmptyRow, int maxRows, int startRow, BOOLEAN skipEmptyRow, int maxRows,
boolean continueOnError, ExcelReadResult<Object> result) { BOOLEAN continueOnError, ExcelReadResult<Object> result) {
int lastRowNum = sheet.getLastRowNum(); int lastRowNum = sheet.getLastRowNum();
int endRow = maxRows > 0 ? Math.min(startRow + maxRows, lastRowNum + 1) : lastRowNum + 1; int endRow = maxRows > 0 ? Math.min(startRow + maxRows, lastRowNum + 1) : lastRowNum + 1;
@@ -229,7 +229,7 @@ public class ExcelReaderUtils {
/** /**
* @description 判断是否为空行 * @description 判断是否为空行
*/ */
private static boolean isEmptyRow(Row row) { private static BOOLEAN isEmptyRow(Row row) {
if (row == null) { if (row == null) {
return true; return true;
} }
@@ -249,7 +249,7 @@ public class ExcelReaderUtils {
/** /**
* @description 将行数据转换为对象 * @description 将行数据转换为对象
*/ */
private static Object convertRowToObject(Row row, Map<String, Integer> headerMap, private static Object convertRowToObject(Row row, Map<String, INTEGER> headerMap,
Class<?> targetClass, List<ExcelColumnMapping> columnMappings, Class<?> targetClass, List<ExcelColumnMapping> columnMappings,
int rowNum) throws Exception { int rowNum) throws Exception {
Object obj = targetClass.getDeclaredConstructor().newInstance(); Object obj = targetClass.getDeclaredConstructor().newInstance();
@@ -307,7 +307,7 @@ public class ExcelReaderUtils {
/** /**
* @description 获取单元格 * @description 获取单元格
*/ */
private static Cell getCell(Row row, ExcelColumnMapping mapping, Map<String, Integer> headerMap) { private static Cell getCell(Row row, ExcelColumnMapping mapping, Map<String, INTEGER> headerMap) {
if (row == null) { if (row == null) {
return null; return null;
} }
@@ -318,7 +318,7 @@ public class ExcelReaderUtils {
} }
// 使用列名 // 使用列名
Integer columnIndex = headerMap.get(mapping.getColumnName()); INTEGER columnIndex = headerMap.get(mapping.getColumnName());
if (columnIndex != null) { if (columnIndex != null) {
return row.getCell(columnIndex); return row.getCell(columnIndex);
} }
@@ -344,7 +344,7 @@ public class ExcelReaderUtils {
return cell.getNumericCellValue(); return cell.getNumericCellValue();
} }
case BOOLEAN: case BOOLEAN:
return cell.getBooleanCellValue(); return cell.getBOOLEANCellValue();
case FORMULA: case FORMULA:
return cell.getCellFormula(); return cell.getCellFormula();
case BLANK: case BLANK:
@@ -369,12 +369,12 @@ public class ExcelReaderUtils {
return strValue; return strValue;
} }
// Integer类型 // INTEGER类型
if (targetType == Integer.class || targetType == int.class) { if (targetType == INTEGER.class || targetType == int.class) {
if (value instanceof Number) { if (value instanceof Number) {
return ((Number) value).intValue(); return ((Number) value).intValue();
} }
return Integer.parseInt(strValue); return INTEGER.parseInt(strValue);
} }
// Long类型 // Long类型
@@ -401,12 +401,12 @@ public class ExcelReaderUtils {
return Float.parseFloat(strValue); return Float.parseFloat(strValue);
} }
// Boolean类型 // BOOLEAN类型
if (targetType == Boolean.class || targetType == boolean.class) { if (targetType == BOOLEAN.class || targetType == BOOLEAN.class) {
if (value instanceof Boolean) { if (value instanceof BOOLEAN) {
return value; return value;
} }
return Boolean.parseBoolean(strValue) || "1".equals(strValue) || return BOOLEAN.parseBOOLEAN(strValue) || "1".equals(strValue) ||
"".equals(strValue) || "true".equalsIgnoreCase(strValue); "".equals(strValue) || "true".equalsIgnoreCase(strValue);
} }

View File

@@ -20,19 +20,19 @@ public class ExcelUtilsExample {
*/ */
public static class UserInfo { public static class UserInfo {
private String name; private String name;
private Integer age; private INTEGER age;
private String phone; private String phone;
private String email; private String email;
private String idCard; private String idCard;
private Date joinDate; private Date joinDate;
private Boolean active; private BOOLEAN active;
// Getters and Setters // Getters and Setters
public String getName() { return name; } public String getName() { return name; }
public void setName(String name) { this.name = name; } public void setName(String name) { this.name = name; }
public Integer getAge() { return age; } public INTEGER getAge() { return age; }
public void setAge(Integer age) { this.age = age; } public void setAge(INTEGER age) { this.age = age; }
public String getPhone() { return phone; } public String getPhone() { return phone; }
public void setPhone(String phone) { this.phone = phone; } public void setPhone(String phone) { this.phone = phone; }
@@ -46,8 +46,8 @@ public class ExcelUtilsExample {
public Date getJoinDate() { return joinDate; } public Date getJoinDate() { return joinDate; }
public void setJoinDate(Date joinDate) { this.joinDate = joinDate; } public void setJoinDate(Date joinDate) { this.joinDate = joinDate; }
public Boolean getActive() { return active; } public BOOLEAN getActive() { return active; }
public void setActive(Boolean active) { this.active = active; } public void setActive(BOOLEAN active) { this.active = active; }
@Override @Override
public String toString() { public String toString() {
@@ -81,7 +81,7 @@ public class ExcelUtilsExample {
ExcelColumnMapping.builder() ExcelColumnMapping.builder()
.columnName("年龄") .columnName("年龄")
.fieldName("age") .fieldName("age")
.fieldType(Integer.class) .fieldType(INTEGER.class)
.required() .required()
.build(), .build(),
@@ -116,7 +116,7 @@ public class ExcelUtilsExample {
ExcelColumnMapping.builder() ExcelColumnMapping.builder()
.columnName("是否在职") .columnName("是否在职")
.fieldName("active") .fieldName("active")
.fieldType(Boolean.class) .fieldType(BOOLEAN.class)
.defaultValue("true") .defaultValue("true")
.build() .build()
); );
@@ -172,7 +172,7 @@ public class ExcelUtilsExample {
ExcelColumnMapping.builder() ExcelColumnMapping.builder()
.columnName("年龄") .columnName("年龄")
.fieldName("age") .fieldName("age")
.fieldType(Integer.class) .fieldType(INTEGER.class)
.required() .required()
.addValidation( .addValidation(
ValidationParam.builder() ValidationParam.builder()
@@ -180,7 +180,7 @@ public class ExcelUtilsExample {
.fieldLabel("年龄") .fieldLabel("年龄")
.required() .required()
.customValidator(value -> { .customValidator(value -> {
Integer age = (Integer) value; INTEGER age = (INTEGER) value;
return age >= 18 && age <= 65; return age >= 18 && age <= 65;
}) })
.customErrorMessage("年龄必须在18-65岁之间") .customErrorMessage("年龄必须在18-65岁之间")
@@ -277,7 +277,7 @@ public class ExcelUtilsExample {
ExcelColumnMapping.builder() ExcelColumnMapping.builder()
.columnIndex(1) // 第2列 .columnIndex(1) // 第2列
.fieldName("age") .fieldName("age")
.fieldType(Integer.class) .fieldType(INTEGER.class)
.required() .required()
.build(), .build(),
@@ -316,7 +316,7 @@ public class ExcelUtilsExample {
ExcelColumnMapping.builder() ExcelColumnMapping.builder()
.columnName("年龄") .columnName("年龄")
.fieldName("age") .fieldName("age")
.fieldType(Integer.class) .fieldType(INTEGER.class)
.required() .required()
.build() .build()
); );

View File

@@ -37,11 +37,11 @@
```java ```java
public class UserInfo { public class UserInfo {
private String name; private String name;
private Integer age; private INTEGER age;
private String phone; private String phone;
private String email; private String email;
private Date joinDate; private Date joinDate;
private Boolean active; private BOOLEAN active;
// Getters and Setters... // Getters and Setters...
} }
@@ -61,7 +61,7 @@ List<ExcelColumnMapping> columnMappings = Arrays.asList(
ExcelColumnMapping.builder() ExcelColumnMapping.builder()
.columnName("年龄") .columnName("年龄")
.fieldName("age") .fieldName("age")
.fieldType(Integer.class) .fieldType(INTEGER.class)
.required() .required()
.build(), .build(),
@@ -88,7 +88,7 @@ List<ExcelColumnMapping> columnMappings = Arrays.asList(
ExcelColumnMapping.builder() ExcelColumnMapping.builder()
.columnName("是否在职") .columnName("是否在职")
.fieldName("active") .fieldName("active")
.fieldType(Boolean.class) .fieldType(BOOLEAN.class)
.defaultValue("true") .defaultValue("true")
.build() .build()
); );
@@ -140,7 +140,7 @@ List<ExcelColumnMapping> columnMappings = Arrays.asList(
ExcelColumnMapping.builder() ExcelColumnMapping.builder()
.columnName("年龄") .columnName("年龄")
.fieldName("age") .fieldName("age")
.fieldType(Integer.class) .fieldType(INTEGER.class)
.required() .required()
.addValidation( .addValidation(
ValidationParam.builder() ValidationParam.builder()
@@ -148,7 +148,7 @@ List<ExcelColumnMapping> columnMappings = Arrays.asList(
.fieldLabel("年龄") .fieldLabel("年龄")
.required() .required()
.customValidator(value -> { .customValidator(value -> {
Integer age = (Integer) value; INTEGER age = (INTEGER) value;
return age >= 18 && age <= 65; return age >= 18 && age <= 65;
}) })
.customErrorMessage("年龄必须在18-65岁之间") .customErrorMessage("年龄必须在18-65岁之间")
@@ -227,7 +227,7 @@ List<ExcelColumnMapping> columnMappings = Arrays.asList(
ExcelColumnMapping.builder() ExcelColumnMapping.builder()
.columnIndex(1) // 第2列 .columnIndex(1) // 第2列
.fieldName("age") .fieldName("age")
.fieldType(Integer.class) .fieldType(INTEGER.class)
.required() .required()
.build(), .build(),
@@ -282,7 +282,7 @@ List<ValidationParam> validationParams = Arrays.asList(
.fieldLabel("年龄") .fieldLabel("年龄")
.required() .required()
.customValidator(value -> { .customValidator(value -> {
Integer age = (Integer) value; INTEGER age = (INTEGER) value;
return age >= 18 && age <= 65; return age >= 18 && age <= 65;
}) })
.customErrorMessage("年龄必须在18-65岁之间") .customErrorMessage("年龄必须在18-65岁之间")
@@ -422,11 +422,11 @@ public ResultDomain<String> importUsers(@RequestParam("file") MultipartFile file
## 支持的数据类型 ## 支持的数据类型
- **String** - 字符串 - **String** - 字符串
- **Integer/int** - 整数 - **INTEGER/int** - 整数
- **Long/long** - 长整数 - **Long/long** - 长整数
- **Double/double** - 双精度浮点数 - **Double/double** - 双精度浮点数
- **Float/float** - 单精度浮点数 - **Float/float** - 单精度浮点数
- **Boolean/boolean** - 布尔值支持true/false、1/0、是/否) - **BOOLEAN/BOOLEAN** - 布尔值支持true/false、1/0、是/否)
- **Date** - 日期需指定dateFormat - **Date** - 日期需指定dateFormat
## 配置选项 ## 配置选项
@@ -439,7 +439,7 @@ public ResultDomain<String> importUsers(@RequestParam("file") MultipartFile file
| columnIndex(int) | 设置Excel列索引从0开始优先级高于columnName | columnName和columnIndex至少一个 | | columnIndex(int) | 设置Excel列索引从0开始优先级高于columnName | columnName和columnIndex至少一个 |
| fieldName(String) | 设置对象字段名 | 是 | | fieldName(String) | 设置对象字段名 | 是 |
| fieldType(Class<?>) | 设置字段类型 | 否默认String.class | | fieldType(Class<?>) | 设置字段类型 | 否默认String.class |
| required() / required(boolean) | 设置是否必填 | 否默认false | | required() / required(BOOLEAN) | 设置是否必填 | 否默认false |
| defaultValue(String) | 设置默认值 | 否 | | defaultValue(String) | 设置默认值 | 否 |
| dateFormat(String) | 设置日期格式 | 否(默认"yyyy-MM-dd" | | dateFormat(String) | 设置日期格式 | 否(默认"yyyy-MM-dd" |
| addValidation(ValidationParam) | 添加校验参数 | 否 | | addValidation(ValidationParam) | 添加校验参数 | 否 |
@@ -455,9 +455,9 @@ public ResultDomain<String> importUsers(@RequestParam("file") MultipartFile file
| dataStartRowIndex | int | 数据起始行从0开始 | 1 | | dataStartRowIndex | int | 数据起始行从0开始 | 1 |
| sheetIndex | int | Sheet索引从0开始 | 0 | | sheetIndex | int | Sheet索引从0开始 | 0 |
| sheetName | String | Sheet名称优先级高于sheetIndex | null | | sheetName | String | Sheet名称优先级高于sheetIndex | null |
| skipEmptyRow | boolean | 跳过空行 | true | | skipEmptyRow | BOOLEAN | 跳过空行 | true |
| maxRows | int | 最大读取行数0=不限制) | 0 | | maxRows | int | 最大读取行数0=不限制) | 0 |
| continueOnError | boolean | 遇到错误继续读取 | true | | continueOnError | BOOLEAN | 遇到错误继续读取 | true |
## 核心特性 ## 核心特性
@@ -480,7 +480,7 @@ public ResultDomain<String> importUsers(@RequestParam("file") MultipartFile file
5. **布尔类型**支持多种格式true/false、1/0、是/否) 5. **布尔类型**支持多种格式true/false、1/0、是/否)
6. **错误处理**根据continueOnError选项决定遇到错误时是否继续 6. **错误处理**根据continueOnError选项决定遇到错误时是否继续
7. **文件格式**:支持.xls和.xlsx两种格式 7. **文件格式**:支持.xls和.xlsx两种格式
8. **类型转换**自动转换支持String、Integer、Long、Double、Float、Boolean、Date 8. **类型转换**自动转换支持String、INTEGER、Long、Double、Float、BOOLEAN、Date
## 依赖 ## 依赖

View File

@@ -177,7 +177,7 @@ ValidationParam param = ValidationParam.builder()
.fieldLabel("年龄") .fieldLabel("年龄")
.required() .required()
.customValidator(value -> { .customValidator(value -> {
Integer age = (Integer) value; INTEGER age = (INTEGER) value;
return age >= 18 && age <= 60; return age >= 18 && age <= 60;
}) })
.customErrorMessage("年龄必须在18-60岁之间") .customErrorMessage("年龄必须在18-60岁之间")
@@ -342,7 +342,7 @@ public ResultDomain<User> register(@RequestBody Map<String, Object> params) {
public class CustomValidateMethod implements ValidateMethod { public class CustomValidateMethod implements ValidateMethod {
@Override @Override
public boolean validate(Object value) { public BOOLEAN validate(Object value) {
// 实现校验逻辑 // 实现校验逻辑
return true; return true;
} }

View File

@@ -27,7 +27,7 @@ public class ValidationParam {
/** /**
* @description 是否必传 * @description 是否必传
*/ */
private boolean required; private BOOLEAN required;
/** /**
* @description 字段类型 * @description 字段类型
@@ -37,12 +37,12 @@ public class ValidationParam {
/** /**
* @description 最小长度(字符串) * @description 最小长度(字符串)
*/ */
private Integer minLength; private INTEGER minLength;
/** /**
* @description 最大长度(字符串) * @description 最大长度(字符串)
*/ */
private Integer maxLength; private INTEGER maxLength;
/** /**
* @description 最小值(数字) * @description 最小值(数字)
@@ -77,7 +77,7 @@ public class ValidationParam {
/** /**
* @description 是否允许为空字符串(默认不允许) * @description 是否允许为空字符串(默认不允许)
*/ */
private boolean allowEmpty = false; private BOOLEAN allowEmpty = false;
/** /**
* @description 校验方法(使用预定义的校验方法) * @description 校验方法(使用预定义的校验方法)
@@ -106,7 +106,7 @@ public class ValidationParam {
return fieldLabel; return fieldLabel;
} }
public boolean isRequired() { public BOOLEAN isRequired() {
return required; return required;
} }
@@ -114,11 +114,11 @@ public class ValidationParam {
return fieldType; return fieldType;
} }
public Integer getMinLength() { public INTEGER getMinLength() {
return minLength; return minLength;
} }
public Integer getMaxLength() { public INTEGER getMaxLength() {
return maxLength; return maxLength;
} }
@@ -146,7 +146,7 @@ public class ValidationParam {
return customErrorMessage; return customErrorMessage;
} }
public boolean isAllowEmpty() { public BOOLEAN isAllowEmpty() {
return allowEmpty; return allowEmpty;
} }
@@ -178,7 +178,7 @@ public class ValidationParam {
return this; return this;
} }
public Builder required(boolean required) { public Builder required(BOOLEAN required) {
param.required = required; param.required = required;
return this; return this;
} }
@@ -193,12 +193,12 @@ public class ValidationParam {
return this; return this;
} }
public Builder minLength(Integer minLength) { public Builder minLength(INTEGER minLength) {
param.minLength = minLength; param.minLength = minLength;
return this; return this;
} }
public Builder maxLength(Integer maxLength) { public Builder maxLength(INTEGER maxLength) {
param.maxLength = maxLength; param.maxLength = maxLength;
return this; return this;
} }
@@ -233,7 +233,7 @@ public class ValidationParam {
return this; return this;
} }
public Builder allowEmpty(boolean allowEmpty) { public Builder allowEmpty(BOOLEAN allowEmpty) {
param.allowEmpty = allowEmpty; param.allowEmpty = allowEmpty;
return this; return this;
} }

View File

@@ -15,7 +15,7 @@ public class ValidationResult {
/** /**
* @description 是否校验通过 * @description 是否校验通过
*/ */
private boolean valid; private BOOLEAN valid;
/** /**
* @description 错误信息列表 * @description 错误信息列表
@@ -32,11 +32,11 @@ public class ValidationResult {
this.errors = new ArrayList<>(); this.errors = new ArrayList<>();
} }
public boolean isValid() { public BOOLEAN isValid() {
return valid; return valid;
} }
public void setValid(boolean valid) { public void setValid(BOOLEAN valid) {
this.valid = valid; this.valid = valid;
} }
@@ -70,9 +70,9 @@ public class ValidationResult {
/** /**
* @description 是否有错误 * @description 是否有错误
* @return boolean * @return BOOLEAN
*/ */
public boolean hasErrors() { public BOOLEAN hasErrors() {
return !valid; return !valid;
} }

View File

@@ -289,7 +289,7 @@ public class ValidationUtils {
* @param required 是否必填 * @param required 是否必填
* @return ValidationParam * @return ValidationParam
*/ */
public static ValidationParam email(String fieldName, String fieldLabel, boolean required) { public static ValidationParam email(String fieldName, String fieldLabel, BOOLEAN required) {
return ValidationParam.builder() return ValidationParam.builder()
.fieldName(fieldName) .fieldName(fieldName)
.fieldLabel(fieldLabel) .fieldLabel(fieldLabel)
@@ -307,7 +307,7 @@ public class ValidationUtils {
* @param required 是否必填 * @param required 是否必填
* @return ValidationParam * @return ValidationParam
*/ */
public static ValidationParam phone(String fieldName, String fieldLabel, boolean required) { public static ValidationParam phone(String fieldName, String fieldLabel, BOOLEAN required) {
return ValidationParam.builder() return ValidationParam.builder()
.fieldName(fieldName) .fieldName(fieldName)
.fieldLabel(fieldLabel) .fieldLabel(fieldLabel)

View File

@@ -10,7 +10,7 @@ package org.xyzh.common.utils.validation.method;
public class BankCardValidateMethod implements ValidateMethod { public class BankCardValidateMethod implements ValidateMethod {
@Override @Override
public boolean validate(Object value) { public BOOLEAN validate(Object value) {
if (value == null || !(value instanceof String)) { if (value == null || !(value instanceof String)) {
return false; return false;
} }
@@ -34,11 +34,11 @@ public class BankCardValidateMethod implements ValidateMethod {
/** /**
* @description Luhn算法校验银行卡校验算法 * @description Luhn算法校验银行卡校验算法
* @param cardNumber 银行卡号 * @param cardNumber 银行卡号
* @return boolean 是否通过校验 * @return BOOLEAN 是否通过校验
*/ */
private boolean luhnCheck(String cardNumber) { private BOOLEAN luhnCheck(String cardNumber) {
int sum = 0; int sum = 0;
boolean alternate = false; BOOLEAN alternate = false;
// 从右向左遍历 // 从右向左遍历
for (int i = cardNumber.length() - 1; i >= 0; i--) { for (int i = cardNumber.length() - 1; i >= 0; i--) {

View File

@@ -14,18 +14,18 @@ public class ChineseValidateMethod implements ValidateMethod {
// 中文字符正则(包括中文标点符号) // 中文字符正则(包括中文标点符号)
private static final Pattern CHINESE_PATTERN = Pattern.compile("^[\u4e00-\u9fa5]+$"); private static final Pattern CHINESE_PATTERN = Pattern.compile("^[\u4e00-\u9fa5]+$");
private final boolean allowPunctuation; // 是否允许中文标点符号 private final BOOLEAN allowPunctuation; // 是否允许中文标点符号
public ChineseValidateMethod() { public ChineseValidateMethod() {
this.allowPunctuation = false; this.allowPunctuation = false;
} }
public ChineseValidateMethod(boolean allowPunctuation) { public ChineseValidateMethod(BOOLEAN allowPunctuation) {
this.allowPunctuation = allowPunctuation; this.allowPunctuation = allowPunctuation;
} }
@Override @Override
public boolean validate(Object value) { public BOOLEAN validate(Object value) {
if (value == null || !(value instanceof String)) { if (value == null || !(value instanceof String)) {
return false; return false;
} }

View File

@@ -34,7 +34,7 @@ public class EmailValidateMethod implements ValidateMethod {
} }
@Override @Override
public boolean validate(Object value) { public BOOLEAN validate(Object value) {
if (value == null || !(value instanceof String)) { if (value == null || !(value instanceof String)) {
return false; return false;
} }
@@ -48,7 +48,7 @@ public class EmailValidateMethod implements ValidateMethod {
// 域名限制校验 // 域名限制校验
if (allowedDomains != null && allowedDomains.length > 0) { if (allowedDomains != null && allowedDomains.length > 0) {
boolean domainMatched = false; BOOLEAN domainMatched = false;
for (String domain : allowedDomains) { for (String domain : allowedDomains) {
if (email.endsWith("@" + domain.toLowerCase())) { if (email.endsWith("@" + domain.toLowerCase())) {
domainMatched = true; domainMatched = true;

View File

@@ -60,7 +60,7 @@ public class IdCardValidateMethod implements ValidateMethod {
} }
@Override @Override
public boolean validate(Object value) { public BOOLEAN validate(Object value) {
if (value == null || !(value instanceof String)) { if (value == null || !(value instanceof String)) {
return false; return false;
} }
@@ -83,7 +83,7 @@ public class IdCardValidateMethod implements ValidateMethod {
/** /**
* @description 校验15位身份证 * @description 校验15位身份证
*/ */
private boolean validate15IdCard(String idCard) { private BOOLEAN validate15IdCard(String idCard) {
// 15位身份证格式省(2位)市(2位)县(2位)年(2位)月(2位)日(2位)顺序号(3位) // 15位身份证格式省(2位)市(2位)县(2位)年(2位)月(2位)日(2位)顺序号(3位)
if (!Pattern.matches("^\\d{15}$", idCard)) { if (!Pattern.matches("^\\d{15}$", idCard)) {
return false; return false;
@@ -106,7 +106,7 @@ public class IdCardValidateMethod implements ValidateMethod {
/** /**
* @description 校验18位身份证 * @description 校验18位身份证
*/ */
private boolean validate18IdCard(String idCard) { private BOOLEAN validate18IdCard(String idCard) {
// 18位身份证格式省(2位)市(2位)县(2位)年(4位)月(2位)日(2位)顺序号(3位)校验码(1位) // 18位身份证格式省(2位)市(2位)县(2位)年(4位)月(2位)日(2位)顺序号(3位)校验码(1位)
if (!Pattern.matches("^\\d{17}[0-9Xx]$", idCard)) { if (!Pattern.matches("^\\d{17}[0-9Xx]$", idCard)) {
return false; return false;
@@ -134,11 +134,11 @@ public class IdCardValidateMethod implements ValidateMethod {
/** /**
* @description 校验日期是否合法 * @description 校验日期是否合法
*/ */
private boolean validateDate(String year, String month, String day) { private BOOLEAN validateDate(String year, String month, String day) {
try { try {
int y = Integer.parseInt(year); int y = INTEGER.parseInt(year);
int m = Integer.parseInt(month); int m = INTEGER.parseInt(month);
int d = Integer.parseInt(day); int d = INTEGER.parseInt(day);
// 年份范围1900-当前年份 // 年份范围1900-当前年份
int currentYear = java.time.Year.now().getValue(); int currentYear = java.time.Year.now().getValue();
@@ -168,14 +168,14 @@ public class IdCardValidateMethod implements ValidateMethod {
/** /**
* @description 判断是否为闰年 * @description 判断是否为闰年
*/ */
private boolean isLeapYear(int year) { private BOOLEAN isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
} }
/** /**
* @description 校验18位身份证的校验码 * @description 校验18位身份证的校验码
*/ */
private boolean validateCheckCode(String idCard) { private BOOLEAN validateCheckCode(String idCard) {
int sum = 0; int sum = 0;
for (int i = 0; i < 17; i++) { for (int i = 0; i < 17; i++) {
sum += (idCard.charAt(i) - '0') * WEIGHT[i]; sum += (idCard.charAt(i) - '0') * WEIGHT[i];

View File

@@ -13,10 +13,10 @@ public class PasswordValidateMethod implements ValidateMethod {
private final int minLength; private final int minLength;
private final int maxLength; private final int maxLength;
private final boolean requireUpperCase; private final BOOLEAN requireUpperCase;
private final boolean requireLowerCase; private final BOOLEAN requireLowerCase;
private final boolean requireDigit; private final BOOLEAN requireDigit;
private final boolean requireSpecialChar; private final BOOLEAN requireSpecialChar;
/** /**
* @description 默认密码规则6-20位必须包含字母和数字 * @description 默认密码规则6-20位必须包含字母和数字
@@ -35,8 +35,8 @@ public class PasswordValidateMethod implements ValidateMethod {
* @param requireSpecialChar 是否需要特殊字符 * @param requireSpecialChar 是否需要特殊字符
*/ */
public PasswordValidateMethod(int minLength, int maxLength, public PasswordValidateMethod(int minLength, int maxLength,
boolean requireUpperCase, boolean requireLowerCase, BOOLEAN requireUpperCase, BOOLEAN requireLowerCase,
boolean requireDigit, boolean requireSpecialChar) { BOOLEAN requireDigit, BOOLEAN requireSpecialChar) {
this.minLength = minLength; this.minLength = minLength;
this.maxLength = maxLength; this.maxLength = maxLength;
this.requireUpperCase = requireUpperCase; this.requireUpperCase = requireUpperCase;
@@ -46,7 +46,7 @@ public class PasswordValidateMethod implements ValidateMethod {
} }
@Override @Override
public boolean validate(Object value) { public BOOLEAN validate(Object value) {
if (value == null || !(value instanceof String)) { if (value == null || !(value instanceof String)) {
return false; return false;
} }
@@ -88,7 +88,7 @@ public class PasswordValidateMethod implements ValidateMethod {
if (requireUpperCase || requireLowerCase || requireDigit || requireSpecialChar) { if (requireUpperCase || requireLowerCase || requireDigit || requireSpecialChar) {
msg.append(",且包含"); msg.append(",且包含");
boolean first = true; BOOLEAN first = true;
if (requireUpperCase) { if (requireUpperCase) {
msg.append("大写字母"); msg.append("大写字母");

View File

@@ -20,18 +20,18 @@ public class PhoneValidateMethod implements ValidateMethod {
// 台湾手机号正则 // 台湾手机号正则
private static final Pattern TW_PHONE_PATTERN = Pattern.compile("^09\\d{8}$"); private static final Pattern TW_PHONE_PATTERN = Pattern.compile("^09\\d{8}$");
private final boolean strictMode; // 严格模式,只验证中国大陆手机号 private final BOOLEAN strictMode; // 严格模式,只验证中国大陆手机号
public PhoneValidateMethod() { public PhoneValidateMethod() {
this.strictMode = true; this.strictMode = true;
} }
public PhoneValidateMethod(boolean strictMode) { public PhoneValidateMethod(BOOLEAN strictMode) {
this.strictMode = strictMode; this.strictMode = strictMode;
} }
@Override @Override
public boolean validate(Object value) { public BOOLEAN validate(Object value) {
if (value == null || !(value instanceof String)) { if (value == null || !(value instanceof String)) {
return false; return false;
} }

View File

@@ -16,18 +16,18 @@ public class UrlValidateMethod implements ValidateMethod {
"^(https?|ftp)://[a-zA-Z0-9+&@#/%?=~_|!:,.;-]*[a-zA-Z0-9+&@#/%=~_|-]$" "^(https?|ftp)://[a-zA-Z0-9+&@#/%?=~_|!:,.;-]*[a-zA-Z0-9+&@#/%=~_|-]$"
); );
private final boolean requireHttps; // 是否要求HTTPS private final BOOLEAN requireHttps; // 是否要求HTTPS
public UrlValidateMethod() { public UrlValidateMethod() {
this.requireHttps = false; this.requireHttps = false;
} }
public UrlValidateMethod(boolean requireHttps) { public UrlValidateMethod(BOOLEAN requireHttps) {
this.requireHttps = requireHttps; this.requireHttps = requireHttps;
} }
@Override @Override
public boolean validate(Object value) { public BOOLEAN validate(Object value) {
if (value == null || !(value instanceof String)) { if (value == null || !(value instanceof String)) {
return false; return false;
} }

View File

@@ -12,9 +12,9 @@ public interface ValidateMethod {
/** /**
* @description 校验方法 * @description 校验方法
* @param value 待校验的值 * @param value 待校验的值
* @return boolean 是否校验通过 * @return BOOLEAN 是否校验通过
*/ */
boolean validate(Object value); BOOLEAN validate(Object value);
/** /**
* @description 获取校验失败的错误提示信息 * @description 获取校验失败的错误提示信息

View File

@@ -56,12 +56,12 @@ public class DeptRoleController {
/** /**
* @description 删除部门 * @description 删除部门
* @param deptDTO 部门DTO * @param deptDTO 部门DTO
* @return ResultDomain<Boolean> 删除结果 * @return ResultDomain<BOOLEAN> 删除结果
* @author yslg * @author yslg
* @since 2025-11-10 * @since 2025-11-10
*/ */
@DeleteMapping("/dept") @DeleteMapping("/dept")
public ResultDomain<Boolean> deleteDept(@RequestBody TbSysDeptDTO deptDTO) { public ResultDomain<BOOLEAN> deleteDept(@RequestBody TbSysDeptDTO deptDTO) {
return deptRoleService.deleteDept(deptDTO); return deptRoleService.deleteDept(deptDTO);
} }
@@ -117,12 +117,12 @@ public class DeptRoleController {
/** /**
* @description 删除角色 * @description 删除角色
* @param roleDTO 角色DTO * @param roleDTO 角色DTO
* @return ResultDomain<Boolean> 删除结果 * @return ResultDomain<BOOLEAN> 删除结果
* @author yslg * @author yslg
* @since 2025-11-10 * @since 2025-11-10
*/ */
@DeleteMapping("/role") @DeleteMapping("/role")
public ResultDomain<Boolean> deleteRole(@RequestBody TbSysRoleDTO roleDTO) { public ResultDomain<BOOLEAN> deleteRole(@RequestBody TbSysRoleDTO roleDTO) {
return deptRoleService.deleteRole(roleDTO); return deptRoleService.deleteRole(roleDTO);
} }

View File

@@ -59,7 +59,7 @@ public class PermissionController {
* @since 2025-11-10 * @since 2025-11-10
*/ */
@DeleteMapping("/module") @DeleteMapping("/module")
public ResultDomain<Boolean> deleteModule(@RequestBody TbSysModuleDTO moduleDTO) { public ResultDomain<BOOLEAN> deleteModule(@RequestBody TbSysModuleDTO moduleDTO) {
return modulePermissionService.deleteModule(moduleDTO); return modulePermissionService.deleteModule(moduleDTO);
} }
@@ -120,7 +120,7 @@ public class PermissionController {
* @since 2025-11-10 * @since 2025-11-10
*/ */
@DeleteMapping @DeleteMapping
public ResultDomain<Boolean> deletePermission(@RequestBody TbSysPermissionDTO permissionDTO) { public ResultDomain<BOOLEAN> deletePermission(@RequestBody TbSysPermissionDTO permissionDTO) {
return modulePermissionService.deletePermission(permissionDTO); return modulePermissionService.deletePermission(permissionDTO);
} }

View File

@@ -38,7 +38,7 @@ public class SysConfigController {
} }
@DeleteMapping @DeleteMapping
public ResultDomain<Boolean> deleteConfig(@RequestBody TbSysConfigDTO configDTO) { public ResultDomain<BOOLEAN> deleteConfig(@RequestBody TbSysConfigDTO configDTO) {
return sysConfigService.deleteConfig(configDTO); return sysConfigService.deleteConfig(configDTO);
} }

View File

@@ -44,7 +44,7 @@ public class UserController {
@DeleteMapping @DeleteMapping
@PreAuthorize("hasAuthority('system:user:delete')") @PreAuthorize("hasAuthority('system:user:delete')")
public ResultDomain<Boolean> deleteUser(@RequestBody TbSysUserDTO userDTO) { public ResultDomain<BOOLEAN> deleteUser(@RequestBody TbSysUserDTO userDTO) {
return sysUserService.deleteUser(userDTO); return sysUserService.deleteUser(userDTO);
} }

View File

@@ -36,7 +36,7 @@ public class ViewController {
} }
@DeleteMapping @DeleteMapping
public ResultDomain<Boolean> deleteView(@RequestBody TbSysViewDTO viewDTO) { public ResultDomain<BOOLEAN> deleteView(@RequestBody TbSysViewDTO viewDTO) {
return viewService.deleteView(viewDTO); return viewService.deleteView(viewDTO);
} }

View File

@@ -104,14 +104,14 @@ public class DeptRoleServiceImpl implements DeptRoleService {
} }
@Override @Override
public ResultDomain<Boolean> deleteDept(TbSysDeptDTO deptDTO) { public ResultDomain<BOOLEAN> deleteDept(TbSysDeptDTO deptDTO) {
if (deptDTO == null || StringUtils.isBlank(deptDTO.getDeptId())) { if (deptDTO == null || StringUtils.isBlank(deptDTO.getDeptId())) {
return ResultDomain.failure(MSG_DEPT_ID_REQUIRED); return ResultDomain.failure(MSG_DEPT_ID_REQUIRED);
} }
int rows = deptMapper.deleteDept(deptDTO); int rows = deptMapper.deleteDept(deptDTO);
if (rows > 0) { if (rows > 0) {
logger.info("删除部门成功, deptId={}", deptDTO.getDeptId()); logger.info("删除部门成功, deptId={}", deptDTO.getDeptId());
return ResultDomain.success("删除部门成功", Boolean.TRUE); return ResultDomain.success("删除部门成功", BOOLEAN.TRUE);
} }
logger.warn("删除部门失败, deptId={}", deptDTO.getDeptId()); logger.warn("删除部门失败, deptId={}", deptDTO.getDeptId());
return ResultDomain.failure("删除部门失败"); return ResultDomain.failure("删除部门失败");
@@ -203,14 +203,14 @@ public class DeptRoleServiceImpl implements DeptRoleService {
} }
@Override @Override
public ResultDomain<Boolean> deleteRole(TbSysRoleDTO roleDTO) { public ResultDomain<BOOLEAN> deleteRole(TbSysRoleDTO roleDTO) {
if (roleDTO == null || StringUtils.isBlank(roleDTO.getRoleId())) { if (roleDTO == null || StringUtils.isBlank(roleDTO.getRoleId())) {
return ResultDomain.failure(MSG_ROLE_ID_REQUIRED); return ResultDomain.failure(MSG_ROLE_ID_REQUIRED);
} }
int rows = roleMapper.deleteRole(roleDTO); int rows = roleMapper.deleteRole(roleDTO);
if (rows > 0) { if (rows > 0) {
logger.info("删除角色成功, roleId={}", roleDTO.getRoleId()); logger.info("删除角色成功, roleId={}", roleDTO.getRoleId());
return ResultDomain.success("删除角色成功", Boolean.TRUE); return ResultDomain.success("删除角色成功", BOOLEAN.TRUE);
} }
logger.warn("删除角色失败, roleId={}", roleDTO.getRoleId()); logger.warn("删除角色失败, roleId={}", roleDTO.getRoleId());
return ResultDomain.failure("删除角色失败"); return ResultDomain.failure("删除角色失败");
@@ -322,14 +322,14 @@ public class DeptRoleServiceImpl implements DeptRoleService {
} }
@Override @Override
public ResultDomain<Boolean> deleteDeptRole(TbSysDeptRoleDTO deptRoleDTO) { public ResultDomain<BOOLEAN> deleteDeptRole(TbSysDeptRoleDTO deptRoleDTO) {
if (deptRoleDTO == null || StringUtils.isBlank(deptRoleDTO.getDeptId()) || StringUtils.isBlank(deptRoleDTO.getRoleId())) { if (deptRoleDTO == null || StringUtils.isBlank(deptRoleDTO.getDeptId()) || StringUtils.isBlank(deptRoleDTO.getRoleId())) {
return ResultDomain.failure(MSG_DEPT_ROLE_ID_REQUIRED); return ResultDomain.failure(MSG_DEPT_ROLE_ID_REQUIRED);
} }
int rows = deptRoleMapper.deleteDeptRole(deptRoleDTO); int rows = deptRoleMapper.deleteDeptRole(deptRoleDTO);
if (rows > 0) { if (rows > 0) {
logger.info("删除部门角色关联成功, deptId={}, roleId={}", deptRoleDTO.getDeptId(), deptRoleDTO.getRoleId()); logger.info("删除部门角色关联成功, deptId={}, roleId={}", deptRoleDTO.getDeptId(), deptRoleDTO.getRoleId());
return ResultDomain.success("删除部门角色关联成功", Boolean.TRUE); return ResultDomain.success("删除部门角色关联成功", BOOLEAN.TRUE);
} }
logger.warn("删除部门角色关联失败, deptId={}, roleId={}", deptRoleDTO.getDeptId(), deptRoleDTO.getRoleId()); logger.warn("删除部门角色关联失败, deptId={}, roleId={}", deptRoleDTO.getDeptId(), deptRoleDTO.getRoleId());
return ResultDomain.failure("删除部门角色关联失败"); return ResultDomain.failure("删除部门角色关联失败");

View File

@@ -94,14 +94,14 @@ public class ModulePermissionServiceImpl implements ModulePermissionService {
} }
@Override @Override
public ResultDomain<Boolean> deleteModule(TbSysModuleDTO moduleDTO) { public ResultDomain<BOOLEAN> deleteModule(TbSysModuleDTO moduleDTO) {
if (moduleDTO == null || StringUtils.isBlank(moduleDTO.getModuleId())) { if (moduleDTO == null || StringUtils.isBlank(moduleDTO.getModuleId())) {
return ResultDomain.failure(MSG_MODULE_ID_REQUIRED); return ResultDomain.failure(MSG_MODULE_ID_REQUIRED);
} }
int rows = moduleMapper.deleteModule(moduleDTO); int rows = moduleMapper.deleteModule(moduleDTO);
if (rows > 0) { if (rows > 0) {
logger.info("删除模块成功, moduleId={}", moduleDTO.getModuleId()); logger.info("删除模块成功, moduleId={}", moduleDTO.getModuleId());
return ResultDomain.success("删除模块成功", Boolean.TRUE); return ResultDomain.success("删除模块成功", BOOLEAN.TRUE);
} }
logger.warn("删除模块失败, moduleId={}", moduleDTO.getModuleId()); logger.warn("删除模块失败, moduleId={}", moduleDTO.getModuleId());
return ResultDomain.failure("删除模块失败"); return ResultDomain.failure("删除模块失败");
@@ -171,14 +171,14 @@ public class ModulePermissionServiceImpl implements ModulePermissionService {
} }
@Override @Override
public ResultDomain<Boolean> deletePermission(TbSysPermissionDTO permissionDTO) { public ResultDomain<BOOLEAN> deletePermission(TbSysPermissionDTO permissionDTO) {
if (permissionDTO == null || StringUtils.isBlank(permissionDTO.getPermissionId())) { if (permissionDTO == null || StringUtils.isBlank(permissionDTO.getPermissionId())) {
return ResultDomain.failure(MSG_PERMISSION_ID_REQUIRED); return ResultDomain.failure(MSG_PERMISSION_ID_REQUIRED);
} }
int rows = permissionMapper.deletePermission(permissionDTO); int rows = permissionMapper.deletePermission(permissionDTO);
if (rows > 0) { if (rows > 0) {
logger.info("删除权限成功, permissionId={}", permissionDTO.getPermissionId()); logger.info("删除权限成功, permissionId={}", permissionDTO.getPermissionId());
return ResultDomain.success("删除权限成功", Boolean.TRUE); return ResultDomain.success("删除权限成功", BOOLEAN.TRUE);
} }
logger.warn("删除权限失败, permissionId={}", permissionDTO.getPermissionId()); logger.warn("删除权限失败, permissionId={}", permissionDTO.getPermissionId());
return ResultDomain.failure("删除权限失败"); return ResultDomain.failure("删除权限失败");

View File

@@ -80,14 +80,14 @@ public class SysConfigServiceImpl implements SysConfigService {
} }
@Override @Override
public ResultDomain<Boolean> deleteConfig(TbSysConfigDTO configDTO) { public ResultDomain<BOOLEAN> deleteConfig(TbSysConfigDTO configDTO) {
if (configDTO == null || StringUtils.isBlank(configDTO.getConfigId())) { if (configDTO == null || StringUtils.isBlank(configDTO.getConfigId())) {
return ResultDomain.failure(MSG_CONFIG_ID_REQUIRED); return ResultDomain.failure(MSG_CONFIG_ID_REQUIRED);
} }
int rows = configMapper.deleteConfig(configDTO); int rows = configMapper.deleteConfig(configDTO);
if (rows > 0) { if (rows > 0) {
logger.info("删除配置成功, configId={}", configDTO.getConfigId()); logger.info("删除配置成功, configId={}", configDTO.getConfigId());
return ResultDomain.success("删除配置成功", Boolean.TRUE); return ResultDomain.success("删除配置成功", BOOLEAN.TRUE);
} }
logger.warn("删除配置失败, configId={}", configDTO.getConfigId()); logger.warn("删除配置失败, configId={}", configDTO.getConfigId());
return ResultDomain.failure("删除配置失败"); return ResultDomain.failure("删除配置失败");

View File

@@ -93,14 +93,14 @@ public class SysUserServiceImpl implements SysUserService {
} }
@Override @Override
public ResultDomain<Boolean> deleteUser(TbSysUserDTO userDTO) { public ResultDomain<BOOLEAN> deleteUser(TbSysUserDTO userDTO) {
if (userDTO == null || StringUtils.isBlank(userDTO.getUserId())) { if (userDTO == null || StringUtils.isBlank(userDTO.getUserId())) {
return ResultDomain.failure(MSG_USER_ID_REQUIRED); return ResultDomain.failure(MSG_USER_ID_REQUIRED);
} }
int rows = userMapper.deleteUser(userDTO); int rows = userMapper.deleteUser(userDTO);
if (rows > 0) { if (rows > 0) {
logger.info("删除用户成功, userId={}", userDTO.getUserId()); logger.info("删除用户成功, userId={}", userDTO.getUserId());
return ResultDomain.success("删除用户成功", Boolean.TRUE); return ResultDomain.success("删除用户成功", BOOLEAN.TRUE);
} }
logger.warn("删除用户失败, userId={}", userDTO.getUserId()); logger.warn("删除用户失败, userId={}", userDTO.getUserId());
return ResultDomain.failure("删除用户失败"); return ResultDomain.failure("删除用户失败");
@@ -168,7 +168,7 @@ public class SysUserServiceImpl implements SysUserService {
} }
@Override @Override
public ResultDomain<Boolean> updateUserPassword(String userId, String oldPassword, String newPassword) { public ResultDomain<BOOLEAN> updateUserPassword(String userId, String oldPassword, String newPassword) {
if (StringUtils.isBlank(userId)) { if (StringUtils.isBlank(userId)) {
return ResultDomain.failure(MSG_USER_ID_REQUIRED); return ResultDomain.failure(MSG_USER_ID_REQUIRED);
} }
@@ -182,7 +182,7 @@ public class SysUserServiceImpl implements SysUserService {
int rows = userMapper.updateUser(dto); int rows = userMapper.updateUser(dto);
if (rows > 0) { if (rows > 0) {
logger.info("更新用户密码成功, userId={}", userId); logger.info("更新用户密码成功, userId={}", userId);
return ResultDomain.success("更新用户密码成功", Boolean.TRUE); return ResultDomain.success("更新用户密码成功", BOOLEAN.TRUE);
} }
logger.warn("更新用户密码失败, userId={}", userId); logger.warn("更新用户密码失败, userId={}", userId);
return ResultDomain.failure("更新用户密码失败"); return ResultDomain.failure("更新用户密码失败");
@@ -211,7 +211,7 @@ public class SysUserServiceImpl implements SysUserService {
} }
@Override @Override
public ResultDomain<Boolean> updateUserStatus(String userId, String status) { public ResultDomain<BOOLEAN> updateUserStatus(String userId, String status) {
if (StringUtils.isBlank(userId)) { if (StringUtils.isBlank(userId)) {
return ResultDomain.failure(MSG_USER_ID_REQUIRED); return ResultDomain.failure(MSG_USER_ID_REQUIRED);
} }
@@ -222,7 +222,7 @@ public class SysUserServiceImpl implements SysUserService {
int rows = userMapper.updateUser(dto); int rows = userMapper.updateUser(dto);
if (rows > 0) { if (rows > 0) {
logger.info("更新用户状态成功, userId={}", userId); logger.info("更新用户状态成功, userId={}", userId);
return ResultDomain.success("更新用户状态成功", Boolean.TRUE); return ResultDomain.success("更新用户状态成功", BOOLEAN.TRUE);
} }
logger.warn("更新用户状态失败, userId={}", userId); logger.warn("更新用户状态失败, userId={}", userId);
return ResultDomain.failure("更新用户状态失败"); return ResultDomain.failure("更新用户状态失败");
@@ -290,21 +290,21 @@ public class SysUserServiceImpl implements SysUserService {
} }
@Override @Override
public ResultDomain<Boolean> removeUserRole(TbSysUserRoleDTO userRoleDTO) { public ResultDomain<BOOLEAN> removeUserRole(TbSysUserRoleDTO userRoleDTO) {
if (userRoleDTO == null || StringUtils.isBlank(userRoleDTO.getUserId()) || StringUtils.isBlank(userRoleDTO.getRoleId())) { if (userRoleDTO == null || StringUtils.isBlank(userRoleDTO.getUserId()) || StringUtils.isBlank(userRoleDTO.getRoleId())) {
return ResultDomain.failure("用户ID和角色ID不能为空"); return ResultDomain.failure("用户ID和角色ID不能为空");
} }
int rows = userRoleMapper.deleteUserRole(userRoleDTO); int rows = userRoleMapper.deleteUserRole(userRoleDTO);
if (rows > 0) { if (rows > 0) {
logger.info("删除用户角色关联成功, userId={}, roleId={}", userRoleDTO.getUserId(), userRoleDTO.getRoleId()); logger.info("删除用户角色关联成功, userId={}, roleId={}", userRoleDTO.getUserId(), userRoleDTO.getRoleId());
return ResultDomain.success("删除用户角色关联成功", Boolean.TRUE); return ResultDomain.success("删除用户角色关联成功", BOOLEAN.TRUE);
} }
logger.warn("删除用户角色关联失败, userId={}, roleId={}", userRoleDTO.getUserId(), userRoleDTO.getRoleId()); logger.warn("删除用户角色关联失败, userId={}, roleId={}", userRoleDTO.getUserId(), userRoleDTO.getRoleId());
return ResultDomain.failure("删除用户角色关联失败"); return ResultDomain.failure("删除用户角色关联失败");
} }
@Override @Override
public ResultDomain<Boolean> setUserRoles(String userId, String[] roleIds) { public ResultDomain<BOOLEAN> setUserRoles(String userId, String[] roleIds) {
if (StringUtils.isBlank(userId)) { if (StringUtils.isBlank(userId)) {
return ResultDomain.failure(MSG_USER_ID_REQUIRED); return ResultDomain.failure(MSG_USER_ID_REQUIRED);
} }
@@ -337,7 +337,7 @@ public class SysUserServiceImpl implements SysUserService {
} }
} }
logger.info("设置用户角色成功, userId={}, count={}", userId, roleIds == null ? 0 : roleIds.length); logger.info("设置用户角色成功, userId={}, count={}", userId, roleIds == null ? 0 : roleIds.length);
return ResultDomain.success("设置用户角色成功", Boolean.TRUE); return ResultDomain.success("设置用户角色成功", BOOLEAN.TRUE);
} }
@Override @Override

View File

@@ -83,14 +83,14 @@ public class ViewServiceImpl implements ViewService {
} }
@Override @Override
public ResultDomain<Boolean> deleteView(TbSysViewDTO viewDTO) { public ResultDomain<BOOLEAN> deleteView(TbSysViewDTO viewDTO) {
if (viewDTO == null || StringUtils.isBlank(viewDTO.getViewId())) { if (viewDTO == null || StringUtils.isBlank(viewDTO.getViewId())) {
return ResultDomain.failure(MSG_VIEW_ID_REQUIRED); return ResultDomain.failure(MSG_VIEW_ID_REQUIRED);
} }
int rows = viewMapper.deleteView(viewDTO); int rows = viewMapper.deleteView(viewDTO);
if (rows > 0) { if (rows > 0) {
logger.info("删除视图成功, viewId={}", viewDTO.getViewId()); logger.info("删除视图成功, viewId={}", viewDTO.getViewId());
return ResultDomain.success("删除视图成功", Boolean.TRUE); return ResultDomain.success("删除视图成功", BOOLEAN.TRUE);
} }
logger.warn("删除视图失败, viewId={}", viewDTO.getViewId()); logger.warn("删除视图失败, viewId={}", viewDTO.getViewId());
return ResultDomain.failure("删除视图失败"); return ResultDomain.failure("删除视图失败");

View File

@@ -247,7 +247,7 @@
</select> </select>
<!-- 根据条件查询系统访问控制列表数量 --> <!-- 根据条件查询系统访问控制列表数量 -->
<select id="getAclCountByFilter" resultType="java.lang.Integer" parameterType="org.xyzh.common.dto.sys.TbSysAclDTO"> <select id="getAclCountByFilter" resultType="java.lang.INTEGER" parameterType="org.xyzh.common.dto.sys.TbSysAclDTO">
SELECT COUNT(1) SELECT COUNT(1)
FROM sys.tb_sys_acl FROM sys.tb_sys_acl
<where> <where>

View File

@@ -213,7 +213,7 @@
</select> </select>
<!-- 根据条件查询系统访问控制策略数量 --> <!-- 根据条件查询系统访问控制策略数量 -->
<select id="getAclPolicyCount" resultType="java.lang.Integer" parameterType="org.xyzh.common.dto.sys.TbSysAclPolicyDTO"> <select id="getAclPolicyCount" resultType="java.lang.INTEGER" parameterType="org.xyzh.common.dto.sys.TbSysAclPolicyDTO">
SELECT COUNT(1) SELECT COUNT(1)
FROM sys.tb_sys_acl_policy FROM sys.tb_sys_acl_policy
<where> <where>

View File

@@ -228,7 +228,7 @@
</select> </select>
<!-- 根据条件查询系统配置数量 --> <!-- 根据条件查询系统配置数量 -->
<select id="getConfigCount" resultType="java.lang.Integer" parameterType="TbSysConfigDTO"> <select id="getConfigCount" resultType="java.lang.INTEGER" parameterType="TbSysConfigDTO">
SELECT COUNT(1) SELECT COUNT(1)
FROM config.tb_sys_config FROM config.tb_sys_config
<where> <where>

View File

@@ -172,7 +172,7 @@
</select> </select>
<!-- 根据条件查询系统部门数量 --> <!-- 根据条件查询系统部门数量 -->
<select id="getDeptCount" resultType="java.lang.Integer" parameterType="org.xyzh.common.dto.sys.TbSysDeptDTO"> <select id="getDeptCount" resultType="java.lang.INTEGER" parameterType="org.xyzh.common.dto.sys.TbSysDeptDTO">
SELECT COUNT(1) SELECT COUNT(1)
FROM sys.tb_sys_dept FROM sys.tb_sys_dept
<where> <where>

View File

@@ -182,7 +182,7 @@
</select> </select>
<!-- 根据条件查询系统部门角色关系数量 --> <!-- 根据条件查询系统部门角色关系数量 -->
<select id="getDeptRoleCount" resultType="java.lang.Integer" parameterType="org.xyzh.common.dto.sys.TbSysDeptRoleDTO"> <select id="getDeptRoleCount" resultType="java.lang.INTEGER" parameterType="org.xyzh.common.dto.sys.TbSysDeptRoleDTO">
SELECT COUNT(1) SELECT COUNT(1)
FROM sys.tb_sys_dept_role FROM sys.tb_sys_dept_role
<where> <where>

View File

@@ -168,7 +168,7 @@
</select> </select>
<!-- 根据条件查询系统模块数量 --> <!-- 根据条件查询系统模块数量 -->
<select id="getModuleCount" resultType="java.lang.Integer" parameterType="org.xyzh.common.dto.sys.TbSysModuleDTO"> <select id="getModuleCount" resultType="java.lang.INTEGER" parameterType="org.xyzh.common.dto.sys.TbSysModuleDTO">
SELECT COUNT(1) SELECT COUNT(1)
FROM sys.tb_sys_module FROM sys.tb_sys_module
<where> <where>

View File

@@ -219,7 +219,7 @@
</select> </select>
<!-- 根据条件查询系统权限数量 --> <!-- 根据条件查询系统权限数量 -->
<select id="getPermissionCount" resultType="java.lang.Integer" parameterType="org.xyzh.common.dto.sys.TbSysPermissionDTO"> <select id="getPermissionCount" resultType="java.lang.INTEGER" parameterType="org.xyzh.common.dto.sys.TbSysPermissionDTO">
SELECT COUNT(1) SELECT COUNT(1)
FROM sys.tb_sys_permission FROM sys.tb_sys_permission
<where> <where>

View File

@@ -200,7 +200,7 @@
</select> </select>
<!-- 根据条件查询系统视图权限关系数量 --> <!-- 根据条件查询系统视图权限关系数量 -->
<select id="getViewPermissionCount" resultType="java.lang.Integer" parameterType="org.xyzh.common.dto.sys.TbSysViewPermissionDTO"> <select id="getViewPermissionCount" resultType="java.lang.INTEGER" parameterType="org.xyzh.common.dto.sys.TbSysViewPermissionDTO">
SELECT COUNT(1) SELECT COUNT(1)
FROM sys.tb_sys_view_permission FROM sys.tb_sys_view_permission
<where> <where>

View File

@@ -198,7 +198,7 @@
</select> </select>
<!-- 根据条件查询系统角色数量 --> <!-- 根据条件查询系统角色数量 -->
<select id="getRoleCount" resultType="java.lang.Integer" parameterType="org.xyzh.common.dto.sys.TbSysRoleDTO"> <select id="getRoleCount" resultType="java.lang.INTEGER" parameterType="org.xyzh.common.dto.sys.TbSysRoleDTO">
SELECT COUNT(1) SELECT COUNT(1)
FROM sys.tb_sys_role FROM sys.tb_sys_role
<where> <where>

View File

@@ -207,7 +207,7 @@
</select> </select>
<!-- 根据条件查询系统角色权限关系数量 --> <!-- 根据条件查询系统角色权限关系数量 -->
<select id="getRolePermissionCount" resultType="java.lang.Integer" parameterType="org.xyzh.common.dto.sys.TbSysRolePermissionDTO"> <select id="getRolePermissionCount" resultType="java.lang.INTEGER" parameterType="org.xyzh.common.dto.sys.TbSysRolePermissionDTO">
SELECT COUNT(1) SELECT COUNT(1)
FROM sys.tb_sys_role_permission FROM sys.tb_sys_role_permission
<where> <where>

View File

@@ -204,7 +204,7 @@
</select> </select>
<!-- 根据条件查询系统用户信息数量 --> <!-- 根据条件查询系统用户信息数量 -->
<select id="getUserInfoCount" resultType="java.lang.Integer" parameterType="org.xyzh.common.dto.sys.TbSysUserInfoDTO"> <select id="getUserInfoCount" resultType="java.lang.INTEGER" parameterType="org.xyzh.common.dto.sys.TbSysUserInfoDTO">
SELECT COUNT(1) SELECT COUNT(1)
FROM sys.tb_sys_user_info FROM sys.tb_sys_user_info
<where> <where>

View File

@@ -216,7 +216,7 @@
</select> </select>
<!-- 根据条件查询用户数量 --> <!-- 根据条件查询用户数量 -->
<select id="getUserCountByFilter" resultType="java.lang.Integer" parameterType="org.xyzh.common.dto.sys.TbSysUserDTO"> <select id="getUserCountByFilter" resultType="java.lang.INTEGER" parameterType="org.xyzh.common.dto.sys.TbSysUserDTO">
SELECT COUNT(1) SELECT COUNT(1)
FROM sys.tb_sys_user FROM sys.tb_sys_user
<where> <where>

View File

@@ -226,7 +226,7 @@
</select> </select>
<!-- 根据条件查询系统用户角色关系数量 --> <!-- 根据条件查询系统用户角色关系数量 -->
<select id="getUserRoleCount" resultType="java.lang.Integer" parameterType="org.xyzh.common.dto.sys.TbSysUserRoleDTO"> <select id="getUserRoleCount" resultType="java.lang.INTEGER" parameterType="org.xyzh.common.dto.sys.TbSysUserRoleDTO">
SELECT COUNT(1) SELECT COUNT(1)
FROM sys.tb_sys_user_role FROM sys.tb_sys_user_role
<where> <where>

View File

@@ -204,7 +204,7 @@
</select> </select>
<!-- 根据条件查询系统视图数量 --> <!-- 根据条件查询系统视图数量 -->
<select id="getViewCount" resultType="java.lang.Integer" parameterType="org.xyzh.common.dto.sys.TbSysViewDTO"> <select id="getViewCount" resultType="java.lang.INTEGER" parameterType="org.xyzh.common.dto.sys.TbSysViewDTO">
SELECT COUNT(1) SELECT COUNT(1)
FROM sys.tb_sys_view FROM sys.tb_sys_view
<where> <where>