-- File template management (system) SET NAMES utf8mb4; -- Dict: template type INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark) SELECT N'模板类型', 'sys_file_template_type', '0', 'admin', sysdate(), N'系统文件模板类型' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type WHERE dict_type = 'sys_file_template_type'); INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark) SELECT 1, N'销售价', 'SALES', 'sys_file_template_type', '', 'primary', 'N', '0', 'admin', sysdate(), NULL FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'sys_file_template_type' AND dict_value = 'SALES'); INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark) SELECT 2, N'红线价', 'REDLINE', 'sys_file_template_type', '', 'warning', 'N', '0', 'admin', sysdate(), NULL FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'sys_file_template_type' AND dict_value = 'REDLINE'); INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark) SELECT 3, N'产品价', 'PRODUCT', 'sys_file_template_type', '', 'success', 'N', '0', 'admin', sysdate(), NULL FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'sys_file_template_type' AND dict_value = 'PRODUCT'); INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark) SELECT 4, N'修改计费重模板', 'CHARGE_WEIGHT', 'sys_file_template_type', '', 'info', 'N', '0', 'admin', sysdate(), NULL FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'sys_file_template_type' AND dict_value = 'CHARGE_WEIGHT'); CREATE TABLE IF NOT EXISTS sys_file_template ( template_id bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', template_type varchar(32) NOT NULL COMMENT '类型(字典 sys_file_template_type)', file_code varchar(64) NOT NULL COMMENT '文件代码(业务唯一)', template_name varchar(100) NOT NULL COMMENT '模板名称', file_name varchar(255) DEFAULT NULL COMMENT '原始文件名', file_path varchar(500) DEFAULT NULL COMMENT '存储路径 oss://bucket/key', file_size bigint(20) DEFAULT NULL COMMENT '文件大小字节', content_type varchar(128) DEFAULT NULL COMMENT 'Content-Type', file_extension varchar(16) DEFAULT NULL COMMENT '扩展名', status char(1) NOT NULL DEFAULT '0' COMMENT '状态 0正常 1停用', remark varchar(500) DEFAULT NULL COMMENT '备注', create_by varchar(64) DEFAULT '' COMMENT '创建者', create_time datetime DEFAULT NULL COMMENT '创建时间', update_by varchar(64) DEFAULT '' COMMENT '更新者', update_time datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (template_id), UNIQUE KEY uk_sft_file_code (file_code), KEY idx_sft_type (template_type) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统文件模板'; INSERT INTO sys_file_template (template_type, file_code, template_name, status, remark, create_by, create_time) SELECT 'PRODUCT', 'PRODUCT_ALL', '产品价-多国导入模板', '0', '产品 Excel 导入(多国/目录 sheet)', 'admin', sysdate() FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_file_template WHERE file_code = 'PRODUCT_ALL'); INSERT INTO sys_file_template (template_type, file_code, template_name, status, remark, create_by, create_time) SELECT 'PRODUCT', 'PRODUCT_COUNTRY', '产品价-单国导入模板', '0', '产品 Excel 导入(单国)', 'admin', sysdate() FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_file_template WHERE file_code = 'PRODUCT_COUNTRY'); INSERT INTO sys_file_template (template_type, file_code, template_name, status, remark, create_by, create_time) SELECT 'REDLINE', 'REDLINE_ALL', '红线价-多国导入模板', '0', '红线 Excel 导入(多国)', 'admin', sysdate() FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_file_template WHERE file_code = 'REDLINE_ALL'); INSERT INTO sys_file_template (template_type, file_code, template_name, status, remark, create_by, create_time) SELECT 'REDLINE', 'REDLINE_COUNTRY', '红线价-单国导入模板', '0', '红线 Excel 导入(单国)', 'admin', sysdate() FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_file_template WHERE file_code = 'REDLINE_COUNTRY'); INSERT INTO sys_file_template (template_type, file_code, template_name, status, remark, create_by, create_time) SELECT 'SALES', 'SALES_ALL', '销售价-多国导入模板', '0', '套餐/销售价 Excel 导入(多国)', 'admin', sysdate() FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_file_template WHERE file_code = 'SALES_ALL'); INSERT INTO sys_file_template (template_type, file_code, template_name, status, remark, create_by, create_time) SELECT 'SALES', 'SALES_COUNTRY', '销售价-单国导入模板', '0', '套餐/销售价 Excel 导入(单国)', 'admin', sysdate() FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_file_template WHERE file_code = 'SALES_COUNTRY'); INSERT INTO sys_file_template (template_type, file_code, template_name, status, remark, create_by, create_time) SELECT 'CHARGE_WEIGHT', 'CHARGE_WEIGHT', '修改计费重导入模板', '0', '计费列表批量修改计费重(空模板)', 'admin', sysdate() FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_file_template WHERE file_code = 'CHARGE_WEIGHT'); -- Menu under system (parent_id=1) INSERT INTO sys_menu ( menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark ) SELECT 2460, N'模板管理', 1, 12, 'fileTemplate', 'system/fileTemplate/index', NULL, 'FileTemplate', 1, 0, 'C', '0', '0', 'system:fileTemplate:list', 'documentation', 'admin', sysdate(), N'公共导入/下载 Excel 模板(OSS)' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2460 OR perms = 'system:fileTemplate:list'); UPDATE sys_menu SET parent_id = 1, order_num = 12, visible = '0', status = '0' WHERE menu_id = 2460 AND (parent_id IS NULL OR parent_id <> 1); INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time) SELECT 2461, N'查询', 2460, 1, '', NULL, 1, 0, 'F', '0', '0', 'system:fileTemplate:query', '#', 'admin', sysdate() FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2461); INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time) SELECT 2462, N'新增', 2460, 2, '', NULL, 1, 0, 'F', '0', '0', 'system:fileTemplate:add', '#', 'admin', sysdate() FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2462); INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time) SELECT 2463, N'修改', 2460, 3, '', NULL, 1, 0, 'F', '0', '0', 'system:fileTemplate:edit', '#', 'admin', sysdate() FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2463); INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time) SELECT 2464, N'删除', 2460, 4, '', NULL, 1, 0, 'F', '0', '0', 'system:fileTemplate:remove', '#', 'admin', sysdate() FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2464); INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time) SELECT 2465, N'上传', 2460, 5, '', NULL, 1, 0, 'F', '0', '0', 'system:fileTemplate:upload', '#', 'admin', sysdate() FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2465); INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time) SELECT 2466, N'下载', 2460, 6, '', NULL, 1, 0, 'F', '0', '0', 'system:fileTemplate:download', '#', 'admin', sysdate() FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2466); INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, m.menu_id FROM (SELECT 2460 AS menu_id UNION SELECT 2461 UNION SELECT 2462 UNION SELECT 2463 UNION SELECT 2464 UNION SELECT 2465 UNION SELECT 2466) m WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = 1 AND rm.menu_id = m.menu_id);