UPDATE t_charging_card
SET balance = balance
+ #{amount}
- #{amount}
,
update_time = NOW(),
update_by = #{updateBy}
WHERE del_flag = 0
AND charging_flag = 0
AND id IN
#{id}
AND balance <= #{maxAmount} - #{amount}
AND balance >= #{amount}
INSERT INTO t_charging_card_balance_record
(card_id, change_type, amount, remark, create_time, create_by)
VALUES
(#{cardId}, #{type}, #{amount}, #{remark}, NOW(), #{createBy})
UPDATE t_charging_card
SET charging_flag = 1,
charging_order_code = #{orderCode},
update_time = NOW()
WHERE id = #{cardId}
AND del_flag = 0
AND charging_flag = 0
UPDATE t_charging_card
SET charging_flag = 0,
charging_order_code = NULL,
update_time = NOW()
WHERE id = #{cardId}
AND del_flag = 0
AND charging_order_code = #{orderCode}
UPDATE t_charging_card
SET balance = balance - #{amount},
update_time = NOW()
WHERE id = #{cardId}
AND del_flag = 0
INSERT INTO t_charging_card_balance_record
(card_id, change_type, amount, remark, charging_order_code, create_time, create_by)
VALUES
(#{cardId}, 3, #{amount}, #{orderCode}, #{orderCode}, NOW(), #{createBy})
UPDATE t_charging_card
SET balance = 0,
update_time = NOW(),
update_by = #{updateBy}
WHERE id = #{id}
AND del_flag = 0
AND balance > 0