Files
BMS/bms-back/sql/price/billing_task_fail_code_alter.sql
T
2026-09-28 11:07:09 +08:00

24 lines
3.1 KiB
SQL

-- prc_billing_task add fail_code for abnormal-task search
ALTER TABLE prc_billing_task
ADD COLUMN fail_code varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '失败码' AFTER bill_id,
ADD KEY idx_billing_task_fail_code (fail_code);
-- backfill known historical FAILED rows
UPDATE prc_billing_task SET fail_code = 'NO_CUSTOMER_PACKAGE' WHERE success_status = 'FAILED' AND fail_code IS NULL AND error_message LIKE '%未绑定套餐%';
UPDATE prc_billing_task SET fail_code = 'ALREADY_IN_AR_BILL' WHERE success_status = 'FAILED' AND fail_code IS NULL AND error_message LIKE '%已生成应收账单%';
UPDATE prc_billing_task SET fail_code = 'PRODUCT_ARCHIVE_MISSING' WHERE success_status = 'FAILED' AND fail_code IS NULL AND error_message LIKE '%未找到有效产品档案%';
UPDATE prc_billing_task SET fail_code = 'ZONE_PRICE_NOT_HIT' WHERE success_status = 'FAILED' AND fail_code IS NULL AND error_message LIKE '%该分区无对应产品重量段%';
UPDATE prc_billing_task SET fail_code = 'PRICE_NOT_HIT' WHERE success_status = 'FAILED' AND fail_code IS NULL AND error_message LIKE '%没有产品/国家/重量段%';
UPDATE prc_billing_task SET fail_code = 'POSTCODE_REQUIRED' WHERE success_status = 'FAILED' AND fail_code IS NULL AND error_message LIKE '%请填写目的邮编%';
UPDATE prc_billing_task SET fail_code = 'POSTCODE_ZONE_NOT_FOUND' WHERE success_status = 'FAILED' AND fail_code IS NULL AND error_message LIKE '%邮编未匹配到分区%';
UPDATE prc_billing_task SET fail_code = 'ORACLE_ORDER_NOT_FOUND' WHERE success_status = 'FAILED' AND fail_code IS NULL AND error_message LIKE '%Oracle main order not found%';
UPDATE prc_billing_task SET fail_code = 'ORACLE_ORDERNO_EMPTY' WHERE success_status = 'FAILED' AND fail_code IS NULL AND error_message LIKE '%mapped orderNo empty%';
UPDATE prc_billing_task SET fail_code = 'ORACLE_CUSTOMER_EMPTY' WHERE success_status = 'FAILED' AND fail_code IS NULL AND error_message LIKE '%mapped customerCode empty%';
UPDATE prc_billing_task SET fail_code = 'ORACLE_PRODUCT_EMPTY' WHERE success_status = 'FAILED' AND fail_code IS NULL AND error_message LIKE '%mapped productCode empty%';
UPDATE prc_billing_task SET fail_code = 'ORACLE_WEIGHT_INVALID' WHERE success_status = 'FAILED' AND fail_code IS NULL AND error_message LIKE '%mapped weight invalid%';
UPDATE prc_billing_task SET fail_code = 'BILL_TIME_EMPTY' WHERE success_status = 'FAILED' AND fail_code IS NULL AND (error_message LIKE '%billTime empty%' OR error_message LIKE '%billTime required%');
UPDATE prc_billing_task SET fail_code = 'REFUND_ORDER_UNRESOLVED' WHERE success_status = 'FAILED' AND fail_code IS NULL AND error_message LIKE '%退费订单号无法解析%';
UPDATE prc_billing_task SET fail_code = 'CUSTOMER_DISABLED' WHERE success_status = 'FAILED' AND fail_code IS NULL AND error_message LIKE '%客户已停用%';
UPDATE prc_billing_task SET fail_code = 'FREIGHT_MISSING' WHERE success_status = 'FAILED' AND fail_code IS NULL AND error_message LIKE '%运费为空%';
UPDATE prc_billing_task SET fail_code = 'UNKNOWN' WHERE success_status = 'FAILED' AND fail_code IS NULL AND error_message IS NOT NULL AND error_message <> '';