新增按国家去重区块标题接口,优化计费列表请求方式

This commit is contained in:
wuweihua
2026-11-12 13:45:09 +08:00
parent d2c75e0c51
commit cf336f7a67
22 changed files with 436 additions and 99 deletions
@@ -0,0 +1,55 @@
-- prc_surcharge: drop calc_rule; keep dict_value / block_title; charge_type stores billing mode
SET NAMES utf8mb4;
-- If calc_rule exists, copy into charge_type then drop
SET @col := (
SELECT COLUMN_NAME FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'prc_surcharge'
AND COLUMN_NAME = 'calc_rule'
LIMIT 1
);
SET @sql := IF(@col IS NULL,
'SELECT 1',
'UPDATE prc_surcharge SET charge_type = calc_rule WHERE calc_rule IS NOT NULL AND calc_rule <> ''''');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SET @col := (
SELECT COLUMN_NAME FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'prc_surcharge'
AND COLUMN_NAME = 'calc_rule'
LIMIT 1
);
SET @sql := IF(@col IS NULL,
'SELECT 1',
'ALTER TABLE prc_surcharge DROP COLUMN calc_rule');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SET @col := (
SELECT COLUMN_NAME FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'prc_surcharge'
AND COLUMN_NAME = 'dict_value'
LIMIT 1
);
SET @sql := IF(@col IS NULL,
'ALTER TABLE prc_surcharge ADD COLUMN dict_value varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ''渠道产品 payment_product_type.dict_value'' AFTER charge_type',
'SELECT 1');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SET @col := (
SELECT COLUMN_NAME FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'prc_surcharge'
AND COLUMN_NAME = 'block_title'
LIMIT 1
);
SET @sql := IF(@col IS NULL,
'ALTER TABLE prc_surcharge ADD COLUMN block_title varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ''分区/区块(pay_postcode_group.block_title)'' AFTER country_code',
'SELECT 1');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
-- legacy amount modes: FIXED -> ALWAYS; RATE no longer used as amount mode -> MANUAL
UPDATE prc_surcharge SET charge_type = 'ALWAYS' WHERE charge_type IS NULL OR charge_type = '' OR upper(charge_type) = 'FIXED';
UPDATE prc_surcharge SET charge_type = 'MANUAL' WHERE upper(charge_type) = 'RATE';