-- ---------------------------- -- BMS price basic: zone / weight section -- charset: utf8mb4 -- menu_id: 2100-2123 (2115-2123 reserved) -- ---------------------------- CREATE TABLE IF NOT EXISTS xtd_zone_scheme ( zs_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT 'zone scheme id', zs_name VARCHAR(100) NOT NULL COMMENT 'scheme name', ss_code VARCHAR(20) NOT NULL DEFAULT 'on' COMMENT 'status on/off', pg_code VARCHAR(50) DEFAULT NULL COMMENT 'product group code', sn_id BIGINT(20) DEFAULT NULL COMMENT 'service channel id', zs_note VARCHAR(500) DEFAULT NULL COMMENT 'note', tms_id BIGINT(20) DEFAULT NULL COMMENT 'tenant id', created_by VARCHAR(64) DEFAULT '' COMMENT 'created by', created_at DATETIME DEFAULT NULL COMMENT 'created at', updated_by VARCHAR(64) DEFAULT '' COMMENT 'updated by', updated_at DATETIME DEFAULT NULL COMMENT 'updated at', PRIMARY KEY (zs_id), INDEX idx_zs_ss_code (ss_code), INDEX idx_zs_tms_id (tms_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='zone scheme'; CREATE TABLE IF NOT EXISTS xtd_zone_division ( zd_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT 'division id globally unique', zs_id BIGINT(20) NOT NULL COMMENT 'scheme id', zd_sort INT(11) DEFAULT 0 COMMENT 'sort', zd_code VARCHAR(50) DEFAULT NULL COMMENT 'division code', zn_name VARCHAR(100) DEFAULT NULL COMMENT 'name', zn_ename VARCHAR(100) DEFAULT NULL COMMENT 'english name', zn_note VARCHAR(500) DEFAULT NULL COMMENT 'note', created_at DATETIME DEFAULT NULL COMMENT 'created at', updated_at DATETIME DEFAULT NULL COMMENT 'updated at', PRIMARY KEY (zd_id), INDEX idx_zd_zs_id (zs_id), CONSTRAINT fk_zd_zs FOREIGN KEY (zs_id) REFERENCES xtd_zone_scheme (zs_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='zone division'; CREATE TABLE IF NOT EXISTS xtd_zonecountry ( zc_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT 'zone country id', zd_id BIGINT(20) NOT NULL COMMENT 'division id', country_code CHAR(2) NOT NULL COMMENT 'ISO2 country code', zc_dividekind VARCHAR(10) NOT NULL DEFAULT 'C' COMMENT 'divide kind default C', created_at DATETIME DEFAULT NULL COMMENT 'created at', updated_at DATETIME DEFAULT NULL COMMENT 'updated at', PRIMARY KEY (zc_id), INDEX idx_zc_zd_id (zd_id), INDEX idx_zc_country (country_code), CONSTRAINT fk_zc_zd FOREIGN KEY (zd_id) REFERENCES xtd_zone_division (zd_id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='zone country'; CREATE TABLE IF NOT EXISTS prc_weight_section_template ( wst_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT 'weight template id', wst_name VARCHAR(100) NOT NULL COMMENT 'template name', ss_code VARCHAR(20) NOT NULL DEFAULT 'on' COMMENT 'status on/off', pg_code VARCHAR(50) DEFAULT NULL COMMENT 'product group code', sn_id BIGINT(20) DEFAULT NULL COMMENT 'service channel id', ct_code VARCHAR(50) DEFAULT NULL COMMENT 'cargo type code', pm_code VARCHAR(50) DEFAULT NULL COMMENT 'payment method code', wst_note VARCHAR(500) DEFAULT NULL COMMENT 'note', tms_id BIGINT(20) DEFAULT NULL COMMENT 'tenant id', created_by VARCHAR(64) DEFAULT '' COMMENT 'created by', created_at DATETIME DEFAULT NULL COMMENT 'created at', updated_by VARCHAR(64) DEFAULT '' COMMENT 'updated by', updated_at DATETIME DEFAULT NULL COMMENT 'updated at', PRIMARY KEY (wst_id), INDEX idx_wst_ss_code (ss_code), INDEX idx_wst_tms_id (tms_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='weight section template'; CREATE TABLE IF NOT EXISTS prc_weight_section_detail ( wsd_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT 'weight detail id globally unique', wst_id BIGINT(20) NOT NULL COMMENT 'template id', wl_title VARCHAR(100) DEFAULT NULL COMMENT 'title', wl_startweight DECIMAL(18,6) NOT NULL COMMENT 'start weight', wl_endweight DECIMAL(18,6) NOT NULL COMMENT 'end weight', weight_billing_code VARCHAR(20) DEFAULT NULL COMMENT 'billing code', fv_unitweight DECIMAL(18,6) DEFAULT NULL COMMENT 'unit weight', effective_date DATE DEFAULT NULL COMMENT 'effective date', expire_date DATE DEFAULT NULL COMMENT 'expire date', created_at DATETIME DEFAULT NULL COMMENT 'created at', updated_at DATETIME DEFAULT NULL COMMENT 'updated at', PRIMARY KEY (wsd_id), INDEX idx_wsd_wst_id (wst_id), CONSTRAINT fk_wsd_wst FOREIGN KEY (wst_id) REFERENCES prc_weight_section_template (wst_id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='weight section detail'; -- menus 2100-2114 (active); 2115-2123 reserved 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 2100, N'价格基础', 0, 7, 'price', NULL, '', '', 1, 0, 'M', '0', '0', '', 'money', 'admin', sysdate(), N'价格基础数据目录' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2100); 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 2101, N'分区管理', 2100, 1, 'zone', 'price/basic/zone/index', '', 'PriceZone', 1, 0, 'C', '0', '0', 'price:zone:list', 'international', 'admin', sysdate(), N'分区管理菜单' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2101); 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 2102, N'分区查询', 2101, 1, '', NULL, '', '', 1, 0, 'F', '0', '0', 'price:zone:query', '#', 'admin', sysdate(), '' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2102); 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 2103, N'分区新增', 2101, 2, '', NULL, '', '', 1, 0, 'F', '0', '0', 'price:zone:add', '#', 'admin', sysdate(), '' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2103); 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 2104, N'分区修改', 2101, 3, '', NULL, '', '', 1, 0, 'F', '0', '0', 'price:zone:edit', '#', 'admin', sysdate(), '' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2104); 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 2105, N'分区删除', 2101, 4, '', NULL, '', '', 1, 0, 'F', '0', '0', 'price:zone:remove', '#', 'admin', sysdate(), '' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2105); 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 2110, N'重量段管理', 2100, 2, 'weight', 'price/basic/weight/index', '', 'PriceWeight', 1, 0, 'C', '0', '0', 'price:weight:list', 'chart', 'admin', sysdate(), N'重量段管理菜单' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2110); 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 2111, N'重量段查询', 2110, 1, '', NULL, '', '', 1, 0, 'F', '0', '0', 'price:weight:query', '#', 'admin', sysdate(), '' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2111); 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 2112, N'重量段新增', 2110, 2, '', NULL, '', '', 1, 0, 'F', '0', '0', 'price:weight:add', '#', 'admin', sysdate(), '' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2112); 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 2113, N'重量段修改', 2110, 3, '', NULL, '', '', 1, 0, 'F', '0', '0', 'price:weight:edit', '#', 'admin', sysdate(), '' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2113); 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 2114, N'重量段删除', 2110, 4, '', NULL, '', '', 1, 0, 'F', '0', '0', 'price:weight:remove', '#', 'admin', sysdate(), '' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2114); -- role_id=1 grants INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, 2100 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = 1 AND menu_id = 2100); INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, 2101 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = 1 AND menu_id = 2101); INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, 2102 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = 1 AND menu_id = 2102); INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, 2103 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = 1 AND menu_id = 2103); INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, 2104 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = 1 AND menu_id = 2104); INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, 2105 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = 1 AND menu_id = 2105); INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, 2110 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = 1 AND menu_id = 2110); INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, 2111 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = 1 AND menu_id = 2111); INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, 2112 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = 1 AND menu_id = 2112); INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, 2113 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = 1 AND menu_id = 2113); INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, 2114 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = 1 AND menu_id = 2114);