mirror of
https://github.com/continew-org/continew-admin.git
synced 2025-11-10 02:57:17 +08:00
refactor: 系统参数表结构新增ID、类别字段
This commit is contained in:
@@ -16,15 +16,11 @@
|
|||||||
|
|
||||||
package top.continew.admin.system.model.entity;
|
package top.continew.admin.system.model.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import top.continew.starter.extension.crud.model.entity.BaseUpdateDO;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 参数实体
|
* 参数实体
|
||||||
@@ -34,11 +30,16 @@ import java.time.LocalDateTime;
|
|||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@TableName("sys_option")
|
@TableName("sys_option")
|
||||||
public class OptionDO implements Serializable {
|
public class OptionDO extends BaseUpdateDO {
|
||||||
|
|
||||||
@Serial
|
@Serial
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 类别
|
||||||
|
*/
|
||||||
|
private String category;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 名称
|
* 名称
|
||||||
*/
|
*/
|
||||||
@@ -47,7 +48,6 @@ public class OptionDO implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 键
|
* 键
|
||||||
*/
|
*/
|
||||||
@TableId
|
|
||||||
private String code;
|
private String code;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -64,16 +64,4 @@ public class OptionDO implements Serializable {
|
|||||||
* 描述
|
* 描述
|
||||||
*/
|
*/
|
||||||
private String description;
|
private String description;
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改人
|
|
||||||
*/
|
|
||||||
@TableField(fill = FieldFill.UPDATE)
|
|
||||||
private Long updateUser;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改时间
|
|
||||||
*/
|
|
||||||
@TableField(fill = FieldFill.UPDATE)
|
|
||||||
private LocalDateTime updateTime;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,6 @@
|
|||||||
package top.continew.admin.system.model.query;
|
package top.continew.admin.system.model.query;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import top.continew.starter.data.core.annotation.Query;
|
import top.continew.starter.data.core.annotation.Query;
|
||||||
import top.continew.starter.data.core.enums.QueryType;
|
import top.continew.starter.data.core.enums.QueryType;
|
||||||
@@ -43,7 +42,13 @@ public class OptionQuery implements Serializable {
|
|||||||
* 键列表
|
* 键列表
|
||||||
*/
|
*/
|
||||||
@Schema(description = "键列表", example = "site_title,site_copyright")
|
@Schema(description = "键列表", example = "site_title,site_copyright")
|
||||||
@NotEmpty(message = "键不能为空")
|
|
||||||
@Query(type = QueryType.IN)
|
@Query(type = QueryType.IN)
|
||||||
private List<String> code;
|
private List<String> code;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 类别
|
||||||
|
*/
|
||||||
|
@Schema(description = "类别", example = "SITE")
|
||||||
|
@Query
|
||||||
|
private String category;
|
||||||
}
|
}
|
||||||
@@ -107,22 +107,29 @@ VALUES
|
|||||||
|
|
||||||
-- 初始化默认参数
|
-- 初始化默认参数
|
||||||
INSERT INTO `sys_option`
|
INSERT INTO `sys_option`
|
||||||
(`name`, `code`, `value`, `default_value`, `description`, `update_user`, `update_time`)
|
(`id`, `category`, `name`, `code`, `value`, `default_value`, `description`, `update_user`, `update_time`)
|
||||||
VALUES
|
VALUES
|
||||||
('系统标题', 'SITE_TITLE', NULL, 'ContiNew Admin', '用于显示登录页面的系统标题。', NULL, NULL),
|
(1, 'SITE', '系统标题', 'SITE_TITLE', NULL, 'ContiNew Admin', '用于显示登录页面的系统标题。', NULL, NULL),
|
||||||
('版权信息', 'SITE_COPYRIGHT', NULL,
|
(2, 'SITE', '系统描述', 'SITE_DESCRIPTION', NULL, '持续迭代优化的前后端分离中后台管理系统框架', NULL, NULL, NULL),
|
||||||
'Copyright © 2022-present <a href="https://blog.charles7c.top/about/me" target="_blank" rel="noopener">Charles7c</a> <span>⋅</span> <a href="https://github.com/Charles7c/continew-admin" target="_blank" rel="noopener">ContiNew Admin</a> <span>⋅</span> <a href="https://beian.miit.gov.cn" target="_blank" rel="noopener">津ICP备2022005864号-3</a>',
|
(3, 'SITE', '版权信息', 'SITE_COPYRIGHT', NULL, 'Copyright © 2022 - present ContiNew Admin 版权所有', '用于显示登录页面的底部版权信息。', NULL, NULL),
|
||||||
'用于显示登录页面的底部版权信息。', NULL, NULL),
|
(4, 'SITE', '备案号', 'SITE_BEIAN', NULL, '津ICP备2022005864号-3', 'ICP备案号', NULL, NULL),
|
||||||
('系统LOGO(16*16)', 'SITE_FAVICON', NULL, '/favicon.ico', '用于显示浏览器地址栏的系统LOGO。', NULL, NULL),
|
(5, 'SITE', 'favicon', 'SITE_FAVICON', NULL, '/favicon.ico', '用于显示浏览器地址栏的系统LOGO。', NULL, NULL),
|
||||||
('系统LOGO(33*33)', 'SITE_LOGO', NULL, '/logo.svg', '用于显示登录页面的系统LOGO。', NULL, NULL),
|
(6, 'SITE', '系统LOGO', 'SITE_LOGO', NULL, '/logo.svg', '用于显示登录页面的系统LOGO。', NULL, NULL),
|
||||||
('登录密码错误锁定账号的次数', 'PASSWORD_ERROR_LOCK_COUNT', NULL, '5', '取值范围为 0-10(0 表示不锁定)。', NULL, NULL),
|
(7, 'PASSWORD', '登录密码错误锁定账号的次数', 'PASSWORD_ERROR_LOCK_COUNT', NULL, '5', '取值范围为 0-10(0 表示不锁定)。', NULL, NULL),
|
||||||
('登录密码错误锁定账号的时间(min)', 'PASSWORD_ERROR_LOCK_MINUTES', NULL, '5', '取值范围为 1-1440(一天)。', NULL, NULL),
|
(8, 'PASSWORD', '登录密码错误锁定账号的时间(min)', 'PASSWORD_ERROR_LOCK_MINUTES', NULL, '5', '取值范围为 1-1440(一天)。', NULL, NULL),
|
||||||
('密码有效期(天)', 'PASSWORD_EXPIRATION_DAYS', NULL, '0', '取值范围为 0-999(0 表示永久有效)。', NULL, NULL),
|
(9, 'PASSWORD', '密码有效期(天)', 'PASSWORD_EXPIRATION_DAYS', NULL, '0', '取值范围为 0-999(0 表示永久有效)。', NULL, NULL),
|
||||||
('密码到期提前提示(天)', 'PASSWORD_EXPIRATION_WARNING_DAYS', NULL, '0', '密码到期 N 天前进行提示(0 表示不提示)。', NULL, NULL),
|
(10, 'PASSWORD', '密码到期提前提示(天)', 'PASSWORD_EXPIRATION_WARNING_DAYS', NULL, '0', '密码到期 N 天前进行提示(0 表示不提示)。', NULL, NULL),
|
||||||
('密码重复使用规则', 'PASSWORD_REUSE_POLICY', NULL, '5', '不允许使用最近 N 次密码,取值范围为 3-32。', NULL, NULL),
|
(11, 'PASSWORD', '密码重复使用规则', 'PASSWORD_REUSE_POLICY', NULL, '3', '不允许使用最近 N 次密码,取值范围为 3-32。', NULL, NULL),
|
||||||
('密码最小长度', 'PASSWORD_MIN_LENGTH', NULL, '8', '取值范围为 8-32。', NULL, NULL),
|
(12, 'PASSWORD', '密码最小长度', 'PASSWORD_MIN_LENGTH', NULL, '8', '取值范围为 8-32。', NULL, NULL),
|
||||||
('密码是否允许包含正反序账号名', 'PASSWORD_ALLOW_CONTAIN_USERNAME', NULL, '1', '', NULL, NULL),
|
(13, 'PASSWORD', '密码是否允许包含正反序账号名', 'PASSWORD_ALLOW_CONTAIN_USERNAME', NULL, '1', NULL, NULL, NULL),
|
||||||
('密码是否必须包含特殊字符', 'PASSWORD_CONTAIN_SPECIAL_CHARACTERS', NULL, '0', '', NULL, NULL);
|
(14, 'PASSWORD', '密码是否必须包含特殊字符', 'PASSWORD_CONTAIN_SPECIAL_CHARACTERS', NULL, '0', NULL, NULL, NULL),
|
||||||
|
(15, 'MAIL', '发件人邮箱', 'MAIL_FROM', NULL, 'charles7c@126.com', NULL, NULL, NULL),
|
||||||
|
(16, 'MAIL', 'SMTP服务器', 'MAIL_SMTP_HOST', NULL, 'smtp.126.com', NULL, NULL, NULL),
|
||||||
|
(17, 'MAIL', 'SMTP端口', 'MAIL_SMTP_PORT', NULL, '465', NULL, NULL, NULL),
|
||||||
|
(18, 'MAIL', 'SMTP用户名', 'MAIL_SMTP_USERNAME', NULL, 'charles7c@126.com', NULL, NULL, NULL),
|
||||||
|
(19, 'MAIL', 'SMTP密码', 'MAIL_SMTP_PASSWORD', NULL, NULL, NULL, NULL, NULL),
|
||||||
|
(20, 'MAIL', '是否启用SSL', 'MAIL_SSL_ENABLED', NULL, '1', NULL, NULL, NULL),
|
||||||
|
(21, 'MAIL', 'SSL端口', 'MAIL_SSL_PORT', NULL, '465', NULL, NULL, NULL);
|
||||||
|
|
||||||
-- 初始化默认字典
|
-- 初始化默认字典
|
||||||
INSERT INTO `sys_dict`
|
INSERT INTO `sys_dict`
|
||||||
|
|||||||
@@ -133,6 +133,8 @@ CREATE TABLE IF NOT EXISTS `sys_role_dept` (
|
|||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色和部门关联表';
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色和部门关联表';
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `sys_option` (
|
CREATE TABLE IF NOT EXISTS `sys_option` (
|
||||||
|
`id` bigint(20) NOT NULL COMMENT 'ID',
|
||||||
|
`category` varchar(50) DEFAULT NULL COMMENT '类别',
|
||||||
`name` varchar(50) NOT NULL COMMENT '名称',
|
`name` varchar(50) NOT NULL COMMENT '名称',
|
||||||
`code` varchar(100) NOT NULL COMMENT '键',
|
`code` varchar(100) NOT NULL COMMENT '键',
|
||||||
`value` text DEFAULT NULL COMMENT '值',
|
`value` text DEFAULT NULL COMMENT '值',
|
||||||
@@ -140,7 +142,8 @@ CREATE TABLE IF NOT EXISTS `sys_option` (
|
|||||||
`description` varchar(200) DEFAULT NULL COMMENT '描述',
|
`description` varchar(200) DEFAULT NULL COMMENT '描述',
|
||||||
`update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
|
`update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
|
||||||
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
|
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
|
||||||
PRIMARY KEY (`code`) USING BTREE
|
PRIMARY KEY (`id`) USING BTREE,
|
||||||
|
UNIQUE INDEX `uk_category_code`(`category`, `code`) USING BTREE
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='参数表';
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='参数表';
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `sys_dict` (
|
CREATE TABLE IF NOT EXISTS `sys_dict` (
|
||||||
|
|||||||
@@ -107,22 +107,29 @@ VALUES
|
|||||||
|
|
||||||
-- 初始化默认参数
|
-- 初始化默认参数
|
||||||
INSERT INTO "sys_option"
|
INSERT INTO "sys_option"
|
||||||
("name", "code", "value", "default_value", "description", "update_user", "update_time")
|
("id", "category", "name", "code", "value", "default_value", "description", "update_user", "update_time")
|
||||||
VALUES
|
VALUES
|
||||||
('系统标题', 'SITE_TITLE', NULL, 'ContiNew Admin', '用于显示登录页面的系统标题。', NULL, NULL),
|
(1, 'SITE', '系统标题', 'SITE_TITLE', NULL, 'ContiNew Admin', '用于显示登录页面的系统标题。', NULL, NULL),
|
||||||
('版权信息', 'SITE_COPYRIGHT', NULL,
|
(2, 'SITE', '系统描述', 'SITE_DESCRIPTION', NULL, '持续迭代优化的前后端分离中后台管理系统框架', NULL, NULL, NULL),
|
||||||
'Copyright © 2022-present <a href="https://blog.charles7c.top/about/me" target="_blank" rel="noopener">Charles7c</a> <span>⋅</span> <a href="https://github.com/Charles7c/continew-admin" target="_blank" rel="noopener">ContiNew Admin</a> <span>⋅</span> <a href="https://beian.miit.gov.cn" target="_blank" rel="noopener">津ICP备2022005864号-3</a>',
|
(3, 'SITE', '版权信息', 'SITE_COPYRIGHT', NULL, 'Copyright © 2022 - present ContiNew Admin 版权所有', '用于显示登录页面的底部版权信息。', NULL, NULL),
|
||||||
'用于显示登录页面的底部版权信息。', NULL, NULL),
|
(4, 'SITE', '备案号', 'SITE_BEIAN', NULL, '津ICP备2022005864号-3', 'ICP备案号', NULL, NULL),
|
||||||
('系统LOGO(16*16)', 'SITE_FAVICON', NULL, '/favicon.ico', '用于显示浏览器地址栏的系统LOGO。', NULL, NULL),
|
(5, 'SITE', 'favicon', 'SITE_FAVICON', NULL, '/favicon.ico', '用于显示浏览器地址栏的系统LOGO。', NULL, NULL),
|
||||||
('系统LOGO(33*33)', 'SITE_LOGO', NULL, '/logo.svg', '用于显示登录页面的系统LOGO。', NULL, NULL),
|
(6, 'SITE', '系统LOGO', 'SITE_LOGO', NULL, '/logo.svg', '用于显示登录页面的系统LOGO。', NULL, NULL),
|
||||||
('登录密码错误锁定账号的次数', 'PASSWORD_ERROR_LOCK_COUNT', NULL, '5', '取值范围为 0-10(0 表示不锁定)。', NULL, NULL),
|
(7, 'PASSWORD', '登录密码错误锁定账号的次数', 'PASSWORD_ERROR_LOCK_COUNT', NULL, '5', '取值范围为 0-10(0 表示不锁定)。', NULL, NULL),
|
||||||
('登录密码错误锁定账号的时间(min)', 'PASSWORD_ERROR_LOCK_MINUTES', NULL, '5', '取值范围为 1-1440(一天)。', NULL, NULL),
|
(8, 'PASSWORD', '登录密码错误锁定账号的时间(min)', 'PASSWORD_ERROR_LOCK_MINUTES', NULL, '5', '取值范围为 1-1440(一天)。', NULL, NULL),
|
||||||
('密码有效期(天)', 'PASSWORD_EXPIRATION_DAYS', NULL, '0', '取值范围为 0-999(0 表示永久有效)。', NULL, NULL),
|
(9, 'PASSWORD', '密码有效期(天)', 'PASSWORD_EXPIRATION_DAYS', NULL, '0', '取值范围为 0-999(0 表示永久有效)。', NULL, NULL),
|
||||||
('密码到期提前提示(天)', 'PASSWORD_EXPIRATION_WARNING_DAYS', NULL, '0', '密码到期 N 天前进行提示(0 表示不提示)。', NULL, NULL),
|
(10, 'PASSWORD', '密码到期提前提示(天)', 'PASSWORD_EXPIRATION_WARNING_DAYS', NULL, '0', '密码到期 N 天前进行提示(0 表示不提示)。', NULL, NULL),
|
||||||
('密码重复使用规则', 'PASSWORD_REUSE_POLICY', NULL, '5', '不允许使用最近 N 次密码,取值范围为 3-32。', NULL, NULL),
|
(11, 'PASSWORD', '密码重复使用规则', 'PASSWORD_REUSE_POLICY', NULL, '3', '不允许使用最近 N 次密码,取值范围为 3-32。', NULL, NULL),
|
||||||
('密码最小长度', 'PASSWORD_MIN_LENGTH', NULL, '8', '取值范围为 8-32。', NULL, NULL),
|
(12, 'PASSWORD', '密码最小长度', 'PASSWORD_MIN_LENGTH', NULL, '8', '取值范围为 8-32。', NULL, NULL),
|
||||||
('密码是否允许包含正反序账号名', 'PASSWORD_ALLOW_CONTAIN_USERNAME', NULL, '1', '', NULL, NULL),
|
(13, 'PASSWORD', '密码是否允许包含正反序账号名', 'PASSWORD_ALLOW_CONTAIN_USERNAME', NULL, '1', NULL, NULL, NULL),
|
||||||
('密码是否必须包含特殊字符', 'PASSWORD_CONTAIN_SPECIAL_CHARACTERS', NULL, '0', '', NULL, NULL);
|
(14, 'PASSWORD', '密码是否必须包含特殊字符', 'PASSWORD_CONTAIN_SPECIAL_CHARACTERS', NULL, '0', NULL, NULL, NULL),
|
||||||
|
(15, 'MAIL', '发件人邮箱', 'MAIL_FROM', NULL, 'charles7c@126.com', NULL, NULL, NULL),
|
||||||
|
(16, 'MAIL', 'SMTP服务器', 'MAIL_SMTP_HOST', NULL, 'smtp.126.com', NULL, NULL, NULL),
|
||||||
|
(17, 'MAIL', 'SMTP端口', 'MAIL_SMTP_PORT', NULL, '465', NULL, NULL, NULL),
|
||||||
|
(18, 'MAIL', 'SMTP用户名', 'MAIL_SMTP_USERNAME', NULL, 'charles7c@126.com', NULL, NULL, NULL),
|
||||||
|
(19, 'MAIL', 'SMTP密码', 'MAIL_SMTP_PASSWORD', NULL, NULL, NULL, NULL, NULL),
|
||||||
|
(20, 'MAIL', '是否启用SSL', 'MAIL_SSL_ENABLED', NULL, '1', NULL, NULL, NULL),
|
||||||
|
(21, 'MAIL', 'SSL端口', 'MAIL_SSL_PORT', NULL, '465', NULL, NULL, NULL);
|
||||||
|
|
||||||
-- 初始化默认字典
|
-- 初始化默认字典
|
||||||
INSERT INTO "sys_dict"
|
INSERT INTO "sys_dict"
|
||||||
|
|||||||
@@ -217,6 +217,8 @@ COMMENT ON COLUMN "sys_role_dept"."dept_id" IS '部门ID';
|
|||||||
COMMENT ON TABLE "sys_role_dept" IS '角色和部门关联表';
|
COMMENT ON TABLE "sys_role_dept" IS '角色和部门关联表';
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS "sys_option" (
|
CREATE TABLE IF NOT EXISTS "sys_option" (
|
||||||
|
"id" int8 NOT NULL,
|
||||||
|
"category" varchar(50) DEFAULT NULL,
|
||||||
"name" varchar(50) NOT NULL,
|
"name" varchar(50) NOT NULL,
|
||||||
"code" varchar(100) NOT NULL,
|
"code" varchar(100) NOT NULL,
|
||||||
"value" text DEFAULT NULL,
|
"value" text DEFAULT NULL,
|
||||||
@@ -224,9 +226,11 @@ CREATE TABLE IF NOT EXISTS "sys_option" (
|
|||||||
"description" varchar(200) DEFAULT NULL,
|
"description" varchar(200) DEFAULT NULL,
|
||||||
"update_user" int8 DEFAULT NULL,
|
"update_user" int8 DEFAULT NULL,
|
||||||
"update_time" timestamp DEFAULT NULL,
|
"update_time" timestamp DEFAULT NULL,
|
||||||
PRIMARY KEY ("code")
|
PRIMARY KEY ("id")
|
||||||
);
|
);
|
||||||
CREATE INDEX "idx_option_update_user" ON "sys_option" ("update_user");
|
CREATE UNIQUE INDEX "uk_option_category_code" ON "sys_option" ("category", "code");
|
||||||
|
COMMENT ON COLUMN "sys_option"."id" IS 'ID';
|
||||||
|
COMMENT ON COLUMN "sys_option"."category" IS '类别';
|
||||||
COMMENT ON COLUMN "sys_option"."name" IS '名称';
|
COMMENT ON COLUMN "sys_option"."name" IS '名称';
|
||||||
COMMENT ON COLUMN "sys_option"."code" IS '键';
|
COMMENT ON COLUMN "sys_option"."code" IS '键';
|
||||||
COMMENT ON COLUMN "sys_option"."value" IS '值';
|
COMMENT ON COLUMN "sys_option"."value" IS '值';
|
||||||
|
|||||||
Reference in New Issue
Block a user