提交附加费配置功能

This commit is contained in:
wuweihua
2026-09-07 16:50:59 +08:00
parent ea2bc6f33e
commit 3994bd7998
13 changed files with 947 additions and 0 deletions
@@ -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';