-- 编码规则定义表 CREATE TABLE base_code_rule ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键', rule_name VARCHAR(64) NOT NULL COMMENT '规则名称', rule_code VARCHAR(32) NOT NULL COMMENT '规则编码(唯一标识,调用时传入)', segment_config JSON NOT NULL COMMENT '分段配置(JSON数组)', separator VARCHAR(8) DEFAULT '' COMMENT '分隔符(- / _ . 或空)', letter_case TINYINT DEFAULT 0 COMMENT '字母大小写:0=原样 1=全大写 2=全小写', total_length INT DEFAULT 0 COMMENT '固定总长度约束(0=不限制)', seq_strategy VARCHAR(16) DEFAULT 'segment' COMMENT '序号策略:segment=号段预分配 lock=分布式锁实时', status TINYINT NOT NULL DEFAULT 0 COMMENT '状态:0=启用 1=禁用', remark VARCHAR(256) DEFAULT '' COMMENT '备注', creator VARCHAR(64) DEFAULT '' COMMENT '创建者', create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', updater VARCHAR(64) DEFAULT '' COMMENT '更新者', update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', deleted TINYINT NOT NULL DEFAULT 0 COMMENT '是否删除', PRIMARY KEY (id), UNIQUE KEY uk_rule_code (rule_code) ) COMMENT '编码规则定义表'; -- 编码流水号段记录表 CREATE TABLE base_code_sequence ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键', rule_id BIGINT NOT NULL COMMENT '规则ID,关联 base_code_rule.id', reset_key VARCHAR(64) NOT NULL DEFAULT '' COMMENT '重置维度键(如按天:20260715,全局:GLOBAL)', current_value BIGINT NOT NULL DEFAULT 0 COMMENT '当前已分配的最大序号', max_value BIGINT NOT NULL DEFAULT 9999 COMMENT '序号最大值上限', creator VARCHAR(64) DEFAULT '' COMMENT '创建者', create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', updater VARCHAR(64) DEFAULT '' COMMENT '更新者', update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', deleted TINYINT NOT NULL DEFAULT 0 COMMENT '是否删除', PRIMARY KEY (id), UNIQUE KEY idx_rule_reset (rule_id, reset_key) ) COMMENT '编码流水号段记录表'; -- 编码规则菜单(基础数据 > 编码规则) INSERT INTO `system_menu`(`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (6745, '编码规则', '', 2, 1, 6743, 'code-rule', NULL, NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'); -- 编码规则按钮权限(parent_id=6745) INSERT INTO `system_menu`(`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (6746, '编码规则查询', 'base:code-rule:query', 3, 1, 6745, '', NULL, NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'); INSERT INTO `system_menu`(`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (6747, '编码规则新增', 'base:code-rule:create', 3, 2, 6745, '', NULL, NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'); INSERT INTO `system_menu`(`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (6748, '编码规则修改', 'base:code-rule:update', 3, 3, 6745, '', NULL, NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'); INSERT INTO `system_menu`(`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (6749, '编码规则删除', 'base:code-rule:delete', 3, 4, 6745, '', NULL, NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');