35 lines
1.1 KiB
SQL
35 lines
1.1 KiB
SQL
-- prc_order_bill.refund_status
|
|
SET NAMES utf8mb4;
|
|
|
|
SET @col := (
|
|
SELECT COLUMN_NAME FROM information_schema.COLUMNS
|
|
WHERE TABLE_SCHEMA = DATABASE()
|
|
AND TABLE_NAME = 'prc_order_bill'
|
|
AND COLUMN_NAME = 'refund_status'
|
|
LIMIT 1
|
|
);
|
|
SET @sql := IF(
|
|
@col IS NULL,
|
|
'ALTER TABLE prc_order_bill ADD COLUMN refund_status varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ''NONE'' COMMENT ''退费状态:NONE未退费/REFUNDED已退费'' AFTER credit_arrears_status, ADD KEY idx_order_bill_refund_status (refund_status)',
|
|
'SELECT 1'
|
|
);
|
|
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
|
|
|
UPDATE prc_order_bill b
|
|
SET b.refund_status = 'REFUNDED'
|
|
WHERE EXISTS (
|
|
SELECT 1 FROM prc_income_bill_fee f
|
|
WHERE f.bill_id = b.bill_id
|
|
AND UPPER(f.fee_type) = 'REFUND'
|
|
)
|
|
AND (b.refund_status IS NULL OR b.refund_status <> 'REFUNDED');
|
|
|
|
UPDATE prc_order_bill b
|
|
SET b.refund_status = 'NONE'
|
|
WHERE (b.refund_status IS NULL OR b.refund_status = '')
|
|
AND NOT EXISTS (
|
|
SELECT 1 FROM prc_income_bill_fee f
|
|
WHERE f.bill_id = b.bill_id
|
|
AND UPPER(f.fee_type) = 'REFUND'
|
|
);
|