INSERT IGNORE INTO tb_pluss_merchant_bill_statistics(userId, startDate, endDate, type, amount, count)
SELECT ua.userId, #{startDate}, #{endDate}, "1", IFNULL(t.amount, 0), IFNULL(t.count, 0)
FROM
tb_pluss_user_app ua LEFT JOIN
(
SELECT
t.merchantCode,
SUM(
IF( `status` = '1', consumeFee, -consumeFee )
) amount,
SUM(
IF( `status` = '1', 1, 0 )
) count
FROM
(
SELECT
merchantCode, `status`, consumeFee,
DATE_FORMAT( createDt, "%Y-%m-%d" ) createTime
FROM tb_pluss_merchant_order
WHERE `status` IN ( '1', '2' )
AND createDt >= CONCAT(#{startDate}, " 00:00:00")
AND createDt <= CONCAT(#{endDate}, " 23:59:59")
) t
GROUP BY
t.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" )