INSERT IGNORE INTO tb_pluss_member_trans_statistics(userId, startDate, endDate, type, rechargeAmount, consumeAmount, giveAmount)
SELECT ua.userId, #{startDate}, #{endDate}, "1", IFNULL(t.rechargeAmount, 0), IFNULL(t.consumeAmount, 0), IFNULL(t.giveAmount, 0)
FROM
tb_pluss_user_app ua LEFT JOIN
(
SELECT
merchantCode,
SUM(IF(type = 1, transMoney, 0)) rechargeAmount,
SUM(IF(type = 2, transMoney, 0)) consumeAmount,
SUM(giveMoney) giveAmount
FROM (
SELECT merchantCode, rechargeMoney transMoney, giveMoney, 1 type, createDt
FROM tb_pluss_merchant_menber_recharge
WHERE createDt BETWEEN CONCAT(#{startDate}, " 00:00:00")
AND CONCAT(#{endDate}, " 23:59:59")
UNION
SELECT merchantCode, comsumeMoney transMoney, giveMoney, 2 type, createDt
FROM tb_pluss_merchant_menber_comsume
WHERE createDt BETWEEN CONCAT(#{startDate}, " 00:00:00")
AND CONCAT(#{endDate}, " 23:59:59")
) t GROUP BY merchantCode
) t ON t.merchantCode = ua.merchantCode
LEFT JOIN tb_pluss_merchant_channel_status mcs ON ua.merchantCode = mcs.merchantCode
WHERE ua.userType = 'promoter' AND mcs.`status` = '3' AND mcs.updateTime <= CONCAT(#{endDate}, " 23:59:59" )