Skip to content

Commit

Permalink
refactor: 系统参数表结构新增ID、类别字段
Browse files Browse the repository at this point in the history
  • Loading branch information
Charles7c committed May 27, 2024
1 parent c34e703 commit 45396f2
Show file tree
Hide file tree
Showing 6 changed files with 68 additions and 54 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,11 @@

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 lombok.Data;
import top.continew.starter.extension.crud.model.entity.BaseUpdateDO;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
* 参数实体
Expand All @@ -34,11 +30,16 @@
*/
@Data
@TableName("sys_option")
public class OptionDO implements Serializable {
public class OptionDO extends BaseUpdateDO {

@Serial
private static final long serialVersionUID = 1L;

/**
* 类别
*/
private String category;

/**
* 名称
*/
Expand All @@ -47,7 +48,6 @@ public class OptionDO implements Serializable {
/**
* 键
*/
@TableId
private String code;

/**
Expand All @@ -64,16 +64,4 @@ public class OptionDO implements Serializable {
* 描述
*/
private String description;

/**
* 修改人
*/
@TableField(fill = FieldFill.UPDATE)
private Long updateUser;

/**
* 修改时间
*/
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
package top.continew.admin.system.model.query;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import top.continew.starter.data.core.annotation.Query;
import top.continew.starter.data.core.enums.QueryType;
Expand All @@ -43,7 +42,13 @@ public class OptionQuery implements Serializable {
* 键列表
*/
@Schema(description = "键列表", example = "site_title,site_copyright")
@NotEmpty(message = "键不能为空")
@Query(type = QueryType.IN)
private List<String> code;

/**
* 类别
*/
@Schema(description = "类别", example = "SITE")
@Query
private String category;
}
Original file line number Diff line number Diff line change
Expand Up @@ -107,22 +107,29 @@ VALUES

-- 初始化默认参数
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
('系统标题', 'SITE_TITLE', NULL, 'ContiNew Admin', '用于显示登录页面的系统标题。', NULL, NULL),
('版权信息', 'SITE_COPYRIGHT', NULL,
'Copyright © 2022-present&nbsp;<a href="https://blog.charles7c.top/about/me" target="_blank" rel="noopener">Charles7c</a>&nbsp;<span>⋅</span>&nbsp;<a href="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/Charles7c/continew-admin" target="_blank" rel="noopener">ContiNew Admin</a>&nbsp;<span>⋅</span>&nbsp;<a href="https://beian.miit.gov.cn" target="_blank" rel="noopener">津ICP备2022005864号-3</a>',
'用于显示登录页面的底部版权信息。', NULL, NULL),
('系统LOGO(16*16)', 'SITE_FAVICON', NULL, '/favicon.ico', '用于显示浏览器地址栏的系统LOGO。', NULL, NULL),
('系统LOGO(33*33)', 'SITE_LOGO', NULL, '/logo.svg', '用于显示登录页面的系统LOGO。', NULL, NULL),
('登录密码错误锁定账号的次数', 'PASSWORD_ERROR_LOCK_COUNT', NULL, '5', '取值范围为 0-10(0 表示不锁定)。', NULL, NULL),
('登录密码错误锁定账号的时间(min)', 'PASSWORD_ERROR_LOCK_MINUTES', NULL, '5', '取值范围为 1-1440(一天)。', NULL, NULL),
('密码有效期(天)', 'PASSWORD_EXPIRATION_DAYS', NULL, '0', '取值范围为 0-999(0 表示永久有效)。', NULL, NULL),
('密码到期提前提示(天)', 'PASSWORD_EXPIRATION_WARNING_DAYS', NULL, '0', '密码到期 N 天前进行提示(0 表示不提示)。', NULL, NULL),
('密码重复使用规则', 'PASSWORD_REUSE_POLICY', NULL, '5', '不允许使用最近 N 次密码,取值范围为 3-32。', NULL, NULL),
('密码最小长度', 'PASSWORD_MIN_LENGTH', NULL, '8', '取值范围为 8-32。', NULL, NULL),
('密码是否允许包含正反序账号名', 'PASSWORD_ALLOW_CONTAIN_USERNAME', NULL, '1', '', NULL, NULL),
('密码是否必须包含特殊字符', 'PASSWORD_CONTAIN_SPECIAL_CHARACTERS', NULL, '0', '', NULL, NULL);
(1, 'SITE', '系统标题', 'SITE_TITLE', NULL, 'ContiNew Admin', '用于显示登录页面的系统标题。', NULL, NULL),
(2, 'SITE', '系统描述', 'SITE_DESCRIPTION', NULL, '持续迭代优化的前后端分离中后台管理系统框架', NULL, NULL, NULL),
(3, 'SITE', '版权信息', 'SITE_COPYRIGHT', NULL, 'Copyright © 2022 - present ContiNew Admin 版权所有', '用于显示登录页面的底部版权信息。', NULL, NULL),
(4, 'SITE', '备案号', 'SITE_BEIAN', NULL, '津ICP备2022005864号-3', 'ICP备案号', NULL, NULL),
(5, 'SITE', 'favicon', 'SITE_FAVICON', NULL, '/favicon.ico', '用于显示浏览器地址栏的系统LOGO。', NULL, NULL),
(6, 'SITE', '系统LOGO', 'SITE_LOGO', NULL, '/logo.svg', '用于显示登录页面的系统LOGO。', NULL, NULL),
(7, 'PASSWORD', '登录密码错误锁定账号的次数', 'PASSWORD_ERROR_LOCK_COUNT', NULL, '5', '取值范围为 0-10(0 表示不锁定)。', NULL, NULL),
(8, 'PASSWORD', '登录密码错误锁定账号的时间(min)', 'PASSWORD_ERROR_LOCK_MINUTES', NULL, '5', '取值范围为 1-1440(一天)。', NULL, NULL),
(9, 'PASSWORD', '密码有效期(天)', 'PASSWORD_EXPIRATION_DAYS', NULL, '0', '取值范围为 0-999(0 表示永久有效)。', NULL, NULL),
(10, 'PASSWORD', '密码到期提前提示(天)', 'PASSWORD_EXPIRATION_WARNING_DAYS', NULL, '0', '密码到期 N 天前进行提示(0 表示不提示)。', NULL, NULL),
(11, 'PASSWORD', '密码重复使用规则', 'PASSWORD_REUSE_POLICY', NULL, '3', '不允许使用最近 N 次密码,取值范围为 3-32。', NULL, NULL),
(12, 'PASSWORD', '密码最小长度', 'PASSWORD_MIN_LENGTH', NULL, '8', '取值范围为 8-32。', NULL, NULL),
(13, 'PASSWORD', '密码是否允许包含正反序账号名', 'PASSWORD_ALLOW_CONTAIN_USERNAME', NULL, '1', NULL, NULL, NULL),
(14, 'PASSWORD', '密码是否必须包含特殊字符', 'PASSWORD_CONTAIN_SPECIAL_CHARACTERS', NULL, '0', NULL, NULL, NULL),
(15, 'MAIL', '发件人邮箱', 'MAIL_FROM', NULL, '[email protected]', 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, '[email protected]', 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`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,14 +133,17 @@ CREATE TABLE IF NOT EXISTS `sys_role_dept` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色和部门关联表';

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 '名称',
`code` varchar(100) NOT NULL COMMENT '',
`value` text DEFAULT NULL COMMENT '',
`default_value` text DEFAULT NULL COMMENT '默认值',
`description` varchar(200) DEFAULT NULL COMMENT '描述',
`update_user` bigint(20) 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='参数表';

CREATE TABLE IF NOT EXISTS `sys_dict` (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,22 +107,29 @@ VALUES

-- 初始化默认参数
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
('系统标题', 'SITE_TITLE', NULL, 'ContiNew Admin', '用于显示登录页面的系统标题。', NULL, NULL),
('版权信息', 'SITE_COPYRIGHT', NULL,
'Copyright © 2022-present&nbsp;<a href="https://blog.charles7c.top/about/me" target="_blank" rel="noopener">Charles7c</a>&nbsp;<span>⋅</span>&nbsp;<a href="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/Charles7c/continew-admin" target="_blank" rel="noopener">ContiNew Admin</a>&nbsp;<span>⋅</span>&nbsp;<a href="https://beian.miit.gov.cn" target="_blank" rel="noopener">津ICP备2022005864号-3</a>',
'用于显示登录页面的底部版权信息。', NULL, NULL),
('系统LOGO(16*16)', 'SITE_FAVICON', NULL, '/favicon.ico', '用于显示浏览器地址栏的系统LOGO。', NULL, NULL),
('系统LOGO(33*33)', 'SITE_LOGO', NULL, '/logo.svg', '用于显示登录页面的系统LOGO。', NULL, NULL),
('登录密码错误锁定账号的次数', 'PASSWORD_ERROR_LOCK_COUNT', NULL, '5', '取值范围为 0-10(0 表示不锁定)。', NULL, NULL),
('登录密码错误锁定账号的时间(min)', 'PASSWORD_ERROR_LOCK_MINUTES', NULL, '5', '取值范围为 1-1440(一天)。', NULL, NULL),
('密码有效期(天)', 'PASSWORD_EXPIRATION_DAYS', NULL, '0', '取值范围为 0-999(0 表示永久有效)。', NULL, NULL),
('密码到期提前提示(天)', 'PASSWORD_EXPIRATION_WARNING_DAYS', NULL, '0', '密码到期 N 天前进行提示(0 表示不提示)。', NULL, NULL),
('密码重复使用规则', 'PASSWORD_REUSE_POLICY', NULL, '5', '不允许使用最近 N 次密码,取值范围为 3-32。', NULL, NULL),
('密码最小长度', 'PASSWORD_MIN_LENGTH', NULL, '8', '取值范围为 8-32。', NULL, NULL),
('密码是否允许包含正反序账号名', 'PASSWORD_ALLOW_CONTAIN_USERNAME', NULL, '1', '', NULL, NULL),
('密码是否必须包含特殊字符', 'PASSWORD_CONTAIN_SPECIAL_CHARACTERS', NULL, '0', '', NULL, NULL);
(1, 'SITE', '系统标题', 'SITE_TITLE', NULL, 'ContiNew Admin', '用于显示登录页面的系统标题。', NULL, NULL),
(2, 'SITE', '系统描述', 'SITE_DESCRIPTION', NULL, '持续迭代优化的前后端分离中后台管理系统框架', NULL, NULL, NULL),
(3, 'SITE', '版权信息', 'SITE_COPYRIGHT', NULL, 'Copyright © 2022 - present ContiNew Admin 版权所有', '用于显示登录页面的底部版权信息。', NULL, NULL),
(4, 'SITE', '备案号', 'SITE_BEIAN', NULL, '津ICP备2022005864号-3', 'ICP备案号', NULL, NULL),
(5, 'SITE', 'favicon', 'SITE_FAVICON', NULL, '/favicon.ico', '用于显示浏览器地址栏的系统LOGO。', NULL, NULL),
(6, 'SITE', '系统LOGO', 'SITE_LOGO', NULL, '/logo.svg', '用于显示登录页面的系统LOGO。', NULL, NULL),
(7, 'PASSWORD', '登录密码错误锁定账号的次数', 'PASSWORD_ERROR_LOCK_COUNT', NULL, '5', '取值范围为 0-10(0 表示不锁定)。', NULL, NULL),
(8, 'PASSWORD', '登录密码错误锁定账号的时间(min)', 'PASSWORD_ERROR_LOCK_MINUTES', NULL, '5', '取值范围为 1-1440(一天)。', NULL, NULL),
(9, 'PASSWORD', '密码有效期(天)', 'PASSWORD_EXPIRATION_DAYS', NULL, '0', '取值范围为 0-999(0 表示永久有效)。', NULL, NULL),
(10, 'PASSWORD', '密码到期提前提示(天)', 'PASSWORD_EXPIRATION_WARNING_DAYS', NULL, '0', '密码到期 N 天前进行提示(0 表示不提示)。', NULL, NULL),
(11, 'PASSWORD', '密码重复使用规则', 'PASSWORD_REUSE_POLICY', NULL, '3', '不允许使用最近 N 次密码,取值范围为 3-32。', NULL, NULL),
(12, 'PASSWORD', '密码最小长度', 'PASSWORD_MIN_LENGTH', NULL, '8', '取值范围为 8-32。', NULL, NULL),
(13, 'PASSWORD', '密码是否允许包含正反序账号名', 'PASSWORD_ALLOW_CONTAIN_USERNAME', NULL, '1', NULL, NULL, NULL),
(14, 'PASSWORD', '密码是否必须包含特殊字符', 'PASSWORD_CONTAIN_SPECIAL_CHARACTERS', NULL, '0', NULL, NULL, NULL),
(15, 'MAIL', '发件人邮箱', 'MAIL_FROM', NULL, '[email protected]', 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, '[email protected]', 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"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -217,16 +217,20 @@ COMMENT ON COLUMN "sys_role_dept"."dept_id" IS '部门ID';
COMMENT ON TABLE "sys_role_dept" IS '角色和部门关联表';

CREATE TABLE IF NOT EXISTS "sys_option" (
"id" int8 NOT NULL,
"category" varchar(50) DEFAULT NULL,
"name" varchar(50) NOT NULL,
"code" varchar(100) NOT NULL,
"value" text DEFAULT NULL,
"default_value" text DEFAULT NULL,
"description" varchar(200) DEFAULT NULL,
"update_user" int8 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"."code" IS '';
COMMENT ON COLUMN "sys_option"."value" IS '';
Expand Down

0 comments on commit 45396f2

Please sign in to comment.