INSERT INTO temp_huifu_wallet_reconciliation(trade_serial_no,
create_time,
merchant_no,
request_serial_no,
trade_amount,
trade_status,
bank_trade_type,
trade_start_time,
trade_end_time,
expend_account_no,
expend_account_name,
expend_bank_code,
income_account_no,
income_account_name,
incomed_bank_code,
income_cer_no,
merchant_retain,
remark,
service_charge )
VALUES
(#{item.tradeSerialNo},
NOW(),
#{item.merchantNo},
#{item.requestSerialNo},
#{item.tradeAmount},
#{item.tradeStatus},
#{item.bankTradeType},
#{item.tradeStartTime},
#{item.tradeEndTime},
#{item.expendAccountNo},
#{item.expendAccountName},
#{item.expendBankCode},
#{item.incomeAccountNo},
#{item.incomeAccountName},
#{item.incomedBankCode},
#{item.incomeCerNo},
#{item.merchantRetain},
#{item.remark},
#{item.serviceCharge} )
INSERT INTO eb_huifu_wallet_reconciliation(trade_serial_no,
create_time,
merchant_no,
trade_date,
request_serial_no,
trade_amount,
trade_status,
bank_trade_type,
trade_start_time,
trade_end_time,
expend_account_no,
expend_account_name,
expend_bank_code,
income_account_no,
income_account_name,
incomed_bank_code,
income_cer_no,
merchant_retain,
remark,
service_charge,
expend_uni_id,
income_uni_id)
SELECT a.trade_serial_no,
a.create_time,
a.merchant_no,
date_format(a.trade_start_time, '%Y%m%d') AS tradeDate,
a.request_serial_no,
a.trade_amount,
a.trade_status,
a.bank_trade_type,
a.trade_start_time,
a.trade_end_time,
a.expend_account_no,
a.expend_account_name,
a.expend_bank_code,
a.income_account_no,
a.income_account_name,
a.incomed_bank_code,
a.income_cer_no,
a.merchant_retain,
a.remark,
a.service_charge,
b.uni_id,
c.uni_id
FROM temp_huifu_wallet_reconciliation a
LEFT JOIN eb_huifu_wallet_account b ON b.wallet_account_no = a.expend_account_no
LEFT JOIN eb_huifu_wallet_account c ON c.wallet_account_no = a.income_account_no
WHERE NOT EXISTS(SELECT 1
FROM eb_huifu_wallet_reconciliation
WHERE trade_date = date_format(a.trade_start_time, '%Y%m%d')
AND trade_serial_no = a.trade_serial_no
AND expend_account_no = a.expend_account_no
AND income_account_no = a.income_account_no)
UPDATE eb_huifu_wallet_reconciliation a ,temp_huifu_wallet_reconciliation b
SET a.update_time = NOW() ,
a.trade_amount = b.trade_amount,
a.trade_status = b.trade_status,
a.bank_trade_type = b.bank_trade_type,
a.trade_start_time = b.trade_start_time,
a.trade_end_time = b.trade_end_time,
a.expend_account_no = b.expend_account_no,
a.expend_account_name = b.expend_account_name,
a.expend_bank_code = b.expend_bank_code,
a.income_account_no = b.income_account_no,
a.income_account_name = b.income_account_name,
a.incomed_bank_code = b.incomed_bank_code,
a.income_cer_no = b.income_cer_no,
a.merchant_retain = b.merchant_retain,
a.remark = b.remark ,
a.service_charge = b.service_charge
WHERE a.trade_serial_no = b.trade_serial_no
AND a.expend_account_no = b.expend_account_no
AND a.income_account_no = b.income_account_no
AND a.trade_date = date_format(b.trade_start_time, '%Y%m%d')
DELETE
FROM temp_huifu_wallet_reconciliation