提交附加费配置功能
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
-- ----------------------------
|
||||
-- BMS 计费字典:计费方式 / 币种
|
||||
-- charset: utf8mb4
|
||||
-- 幂等:dict_type 唯一键 + WHERE NOT EXISTS,可重复执行
|
||||
-- 默认值:计费方式 = FIXED(固定金额),币种 = CNY(人民币)
|
||||
-- ----------------------------
|
||||
|
||||
-- 1) 字典类型
|
||||
INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark)
|
||||
SELECT '计费方式', 'bms_charge_type', '0', 'admin', sysdate(), '计费方式 FIXED固定金额/WEIGHT按重量/RATE按比例'
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type WHERE dict_type = 'bms_charge_type');
|
||||
|
||||
INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark)
|
||||
SELECT '币种', 'bms_currency', '0', 'admin', sysdate(), '计费币种'
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type WHERE dict_type = 'bms_currency');
|
||||
|
||||
-- 2) 计费方式字典数据(默认 FIXED 固定金额)
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time, remark)
|
||||
SELECT 1, '固定金额(每票)', 'FIXED', 'bms_charge_type', 'Y', '0', 'admin', sysdate(), ''
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'bms_charge_type' AND dict_value = 'FIXED');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time, remark)
|
||||
SELECT 2, '按重量(每KG)', 'WEIGHT', 'bms_charge_type', 'N', '0', 'admin', sysdate(), ''
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'bms_charge_type' AND dict_value = 'WEIGHT');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time, remark)
|
||||
SELECT 3, '按比例(%)', 'RATE', 'bms_charge_type', 'N', '0', 'admin', sysdate(), ''
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'bms_charge_type' AND dict_value = 'RATE');
|
||||
|
||||
-- 3) 币种字典数据(默认 CNY 人民币)
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time, remark)
|
||||
SELECT 1, '人民币', 'CNY', 'bms_currency', 'Y', '0', 'admin', sysdate(), ''
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'bms_currency' AND dict_value = 'CNY');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time, remark)
|
||||
SELECT 2, '美元', 'USD', 'bms_currency', 'N', '0', 'admin', sysdate(), ''
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'bms_currency' AND dict_value = 'USD');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time, remark)
|
||||
SELECT 3, '欧元', 'EUR', 'bms_currency', 'N', '0', 'admin', sysdate(), ''
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'bms_currency' AND dict_value = 'EUR');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time, remark)
|
||||
SELECT 4, '英镑', 'GBP', 'bms_currency', 'N', '0', 'admin', sysdate(), ''
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'bms_currency' AND dict_value = 'GBP');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time, remark)
|
||||
SELECT 5, '日元', 'JPY', 'bms_currency', 'N', '0', 'admin', sysdate(), ''
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'bms_currency' AND dict_value = 'JPY');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time, remark)
|
||||
SELECT 6, '港币', 'HKD', 'bms_currency', 'N', '0', 'admin', sysdate(), ''
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'bms_currency' AND dict_value = 'HKD');
|
||||
|
||||
-- 4) 幂等修正默认值(数据已存在时强制对齐)
|
||||
UPDATE sys_dict_data SET is_default = 'N' WHERE dict_type = 'bms_charge_type' AND dict_value <> 'FIXED';
|
||||
UPDATE sys_dict_data SET is_default = 'Y' WHERE dict_type = 'bms_charge_type' AND dict_value = 'FIXED';
|
||||
UPDATE sys_dict_data SET is_default = 'N' WHERE dict_type = 'bms_currency' AND dict_value <> 'CNY';
|
||||
UPDATE sys_dict_data SET is_default = 'Y' WHERE dict_type = 'bms_currency' AND dict_value = 'CNY';
|
||||
@@ -0,0 +1,47 @@
|
||||
-- ----------------------------
|
||||
-- BMS 计费字典:取值方式 / 费用类型
|
||||
-- charset: utf8mb4
|
||||
-- 幂等:dict_type 唯一键 + WHERE NOT EXISTS,可重复执行
|
||||
-- 默认值:费用类型 = SURCHARGE(附加费),取值方式 = HALF_UP(四舍五入)
|
||||
-- ----------------------------
|
||||
|
||||
-- 1) 字典类型
|
||||
INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark)
|
||||
SELECT '取值方式', 'bms_round_mode', '0', 'admin', sysdate(), '计费金额取值方式'
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type WHERE dict_type = 'bms_round_mode');
|
||||
|
||||
INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark)
|
||||
SELECT '费用类型', 'bms_fee_type', '0', 'admin', sysdate(), '计费费用类型'
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type WHERE dict_type = 'bms_fee_type');
|
||||
|
||||
-- 2) 取值方式字典数据(默认 HALF_UP 四舍五入)
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time, remark)
|
||||
SELECT 1, '向上取值', 'UP', 'bms_round_mode', 'N', '0', 'admin', sysdate(), ''
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'bms_round_mode' AND dict_value = 'UP');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time, remark)
|
||||
SELECT 2, '向下取整', 'DOWN', 'bms_round_mode', 'N', '0', 'admin', sysdate(), ''
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'bms_round_mode' AND dict_value = 'DOWN');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time, remark)
|
||||
SELECT 3, '四舍五入', 'HALF_UP', 'bms_round_mode', 'Y', '0', 'admin', sysdate(), ''
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'bms_round_mode' AND dict_value = 'HALF_UP');
|
||||
|
||||
-- 3) 费用类型字典数据(默认 SURCHARGE 附加费)
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time, remark)
|
||||
SELECT 1, '基础运费', 'BASIC_FREIGHT', 'bms_fee_type', 'N', '0', 'admin', sysdate(), ''
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'bms_fee_type' AND dict_value = 'BASIC_FREIGHT');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time, remark)
|
||||
SELECT 2, '挂号费', 'REGISTRATION_FEE', 'bms_fee_type', 'N', '0', 'admin', sysdate(), ''
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'bms_fee_type' AND dict_value = 'REGISTRATION_FEE');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time, remark)
|
||||
SELECT 3, '附加费', 'SURCHARGE', 'bms_fee_type', 'Y', '0', 'admin', sysdate(), ''
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'bms_fee_type' AND dict_value = 'SURCHARGE');
|
||||
|
||||
-- 4) 幂等修正默认值(数据已存在时强制对齐,保证重复执行后默认值仍正确)
|
||||
UPDATE sys_dict_data SET is_default = 'N' WHERE dict_type = 'bms_round_mode' AND dict_value <> 'HALF_UP';
|
||||
UPDATE sys_dict_data SET is_default = 'Y' WHERE dict_type = 'bms_round_mode' AND dict_value = 'HALF_UP';
|
||||
UPDATE sys_dict_data SET is_default = 'N' WHERE dict_type = 'bms_fee_type' AND dict_value <> 'SURCHARGE';
|
||||
UPDATE sys_dict_data SET is_default = 'Y' WHERE dict_type = 'bms_fee_type' AND dict_value = 'SURCHARGE';
|
||||
@@ -0,0 +1,55 @@
|
||||
-- ----------------------------
|
||||
-- BMS price basic: surcharge config (附加费配置)
|
||||
-- charset: utf8mb4
|
||||
-- menu_id: 2115-2119
|
||||
-- ----------------------------
|
||||
|
||||
CREATE TABLE IF NOT EXISTS prc_surcharge (
|
||||
sc_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '附加费配置ID',
|
||||
sc_name VARCHAR(100) NOT NULL COMMENT '附加费名称',
|
||||
fee_type VARCHAR(30) NOT NULL DEFAULT 'SURCHARGE' COMMENT '费用类型(字典bms_fee_type)',
|
||||
charge_type VARCHAR(20) NOT NULL COMMENT '计费方式 FIXED固定金额/WEIGHT按重量/RATE按比例',
|
||||
charge_value DECIMAL(18,6) NOT NULL COMMENT '计费数值',
|
||||
currency CHAR(3) NOT NULL DEFAULT 'CNY' COMMENT '币种',
|
||||
round_mode VARCHAR(20) NOT NULL DEFAULT 'HALF_UP' COMMENT '取值方式(字典bms_round_mode)',
|
||||
ss_code VARCHAR(20) NOT NULL DEFAULT 'on' COMMENT '状态 on/of',
|
||||
country_code CHAR(2) DEFAULT NULL COMMENT '适用国家ISO2(空=全部)',
|
||||
sc_note VARCHAR(500) DEFAULT NULL COMMENT '备注',
|
||||
tms_id BIGINT(20) DEFAULT NULL COMMENT '租户ID',
|
||||
created_by VARCHAR(64) DEFAULT '' COMMENT '创建人',
|
||||
created_at DATETIME DEFAULT NULL COMMENT '创建时间',
|
||||
updated_by VARCHAR(64) DEFAULT '' COMMENT '更新人',
|
||||
updated_at DATETIME DEFAULT NULL COMMENT '更新时间',
|
||||
PRIMARY KEY (sc_id),
|
||||
INDEX idx_sc_ss_code (ss_code),
|
||||
INDEX idx_sc_country (country_code),
|
||||
INDEX idx_sc_tms_id (tms_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='附加费配置';
|
||||
|
||||
-- menus 2115-2119
|
||||
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 2115, N'附加费配置', 2100, 3, 'surcharge', 'price/basic/surcharge/index', '', 'PriceSurcharge', 1, 0, 'C', '0', '0', 'price:surcharge:list', 'money', 'admin', sysdate(), N'附加费配置菜单'
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2115);
|
||||
|
||||
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 2116, N'附加费查询', 2115, 1, '', NULL, '', '', 1, 0, 'F', '0', '0', 'price:surcharge:query', '#', 'admin', sysdate(), ''
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2116);
|
||||
|
||||
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 2117, N'附加费新增', 2115, 2, '', NULL, '', '', 1, 0, 'F', '0', '0', 'price:surcharge:add', '#', 'admin', sysdate(), ''
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2117);
|
||||
|
||||
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 2118, N'附加费修改', 2115, 3, '', NULL, '', '', 1, 0, 'F', '0', '0', 'price:surcharge:edit', '#', 'admin', sysdate(), ''
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2118);
|
||||
|
||||
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 2119, N'附加费删除', 2115, 4, '', NULL, '', '', 1, 0, 'F', '0', '0', 'price:surcharge:remove', '#', 'admin', sysdate(), ''
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2119);
|
||||
|
||||
-- role_id=1 grants
|
||||
INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, 2115 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = 1 AND menu_id = 2115);
|
||||
INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, 2116 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = 1 AND menu_id = 2116);
|
||||
INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, 2117 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = 1 AND menu_id = 2117);
|
||||
INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, 2118 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = 1 AND menu_id = 2118);
|
||||
INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, 2119 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = 1 AND menu_id = 2119);
|
||||
Reference in New Issue
Block a user