-- ---------------------------- -- 1、国家/区域表 -- ---------------------------- DROP TABLE IF EXISTS bms_region; CREATE TABLE bms_region ( region_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '区域ID', country_name_cn VARCHAR(100) DEFAULT NULL COMMENT '中文名', country_name_en VARCHAR(100) NOT NULL COMMENT '英文名', country_code_2 VARCHAR(2) NOT NULL COMMENT 'ISO两位码', country_code_3 VARCHAR(3) DEFAULT NULL COMMENT 'ISO三位码', continent VARCHAR(50) DEFAULT NULL COMMENT '洲/大区', sub_region VARCHAR(50) DEFAULT NULL COMMENT '子区域', currency_code VARCHAR(10) DEFAULT NULL COMMENT '货币代码', currency_name VARCHAR(50) DEFAULT NULL COMMENT '货币名称', currency_symbol VARCHAR(10) DEFAULT NULL COMMENT '货币符号', phone_prefix VARCHAR(10) DEFAULT NULL COMMENT '电话前缀', flag_emoji VARCHAR(10) DEFAULT NULL COMMENT '国旗emoji', flag_url VARCHAR(500) DEFAULT NULL COMMENT '国旗图片URL', is_independent CHAR(1) NOT NULL DEFAULT '1' COMMENT '是否独立(1是 0否)', is_eu CHAR(1) NOT NULL DEFAULT '0' COMMENT '是否欧盟成员(1是 0否)', status CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)', del_flag CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标志(0存在 2删除)', create_by VARCHAR(64) DEFAULT '' COMMENT '创建者', create_time DATETIME DEFAULT NULL COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新者', update_time DATETIME DEFAULT NULL COMMENT '更新时间', remark VARCHAR(500) DEFAULT NULL COMMENT '备注', PRIMARY KEY (region_id), UNIQUE INDEX idx_country_code_2 (country_code_2), INDEX idx_country_name_cn (country_name_cn), INDEX idx_country_name_en (country_name_en), INDEX idx_continent (continent) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='国家/区域表'; -- ---------------------------- -- 2、区域数据同步日志表 -- ---------------------------- DROP TABLE IF EXISTS bms_region_sync_log; CREATE TABLE bms_region_sync_log ( log_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '日志ID', sync_type VARCHAR(20) NOT NULL DEFAULT 'ALL' COMMENT '同步类型(ALL全量)', status VARCHAR(20) NOT NULL DEFAULT 'PROCESSING' COMMENT '状态(PENDING/PROCESSING/SUCCESS/FAILED)', total_count INT(11) DEFAULT 0 COMMENT 'API返回总数', insert_count INT(11) DEFAULT 0 COMMENT '新增数', update_count INT(11) DEFAULT 0 COMMENT '更新数', fail_count INT(11) DEFAULT 0 COMMENT '失败数', duration_ms BIGINT(20) DEFAULT 0 COMMENT '耗时(毫秒)', error_msg TEXT 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 (log_id), INDEX idx_status (status), INDEX idx_create_time (create_time) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='区域数据同步日志表'; -- ---------------------------- -- 3、菜单数据 -- ---------------------------- -- 一级菜单: 数据管理 INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) VALUES ('数据管理', 0, 6, 'data', NULL, 1, 0, 'M', '0', '0', '', 'chart', 'admin', sysdate(), '数据管理目录'); SET @parentId = LAST_INSERT_ID(); -- 二级菜单: 区域管理 INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) VALUES ('区域管理', @parentId, 1, 'region', 'data/region/index', 1, 0, 'C', '0', '0', 'data:region:list', 'international', 'admin', sysdate(), ''); SET @regionMenuId = LAST_INSERT_ID(); -- 二级菜单: 同步日志 INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) VALUES ('同步日志', @parentId, 2, 'region/sync-log', 'data/region/sync-log/index', 1, 0, 'C', '0', '0', 'data:region:log:list', 'log', 'admin', sysdate(), ''); -- 按钮权限 (区域管理) INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) VALUES ('区域查询', @regionMenuId, 1, '', NULL, 1, 0, 'F', '0', '0', 'data:region:query', '#', 'admin', sysdate(), ''); INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) VALUES ('区域编辑', @regionMenuId, 2, '', NULL, 1, 0, 'F', '0', '0', 'data:region:edit', '#', 'admin', sysdate(), ''); INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) VALUES ('区域删除', @regionMenuId, 3, '', NULL, 1, 0, 'F', '0', '0', 'data:region:remove', '#', 'admin', sysdate(), ''); INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) VALUES ('数据同步', @regionMenuId, 4, '', NULL, 1, 0, 'F', '0', '0', 'data:region:sync', '#', 'admin', sysdate(), ''); -- 按钮权限 (同步日志) SET @logMenuId = @regionMenuId + 1; INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) VALUES ('日志删除', @logMenuId, 1, '', NULL, 1, 0, 'F', '0', '0', 'data:region:log:remove', '#', 'admin', sysdate(), '');