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