" COALESCE(SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END), 0) AS rechargeSumCoin,",
" COALESCE(SUM(CASE WHEN d.update_type = '充值' THEN d.free_coin ELSE 0 END), 0) AS freeSumCoin,",
" COALESCE(SUM(CASE WHEN d.update_type = '充值' THEN d.task_coin ELSE 0 END), 0) AS taskSumCoin",
"FROM (",
" SELECT DATE_ADD(#{searchStartTime}, INTERVAL n DAY) AS day",
" FROM (",
" SELECT a.N + b.N * 10 AS n",
" FROM (SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) a,",
" (SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) b",
" ) numbers",
" WHERE DATE_ADD(#{searchStartTime}, INTERVAL n DAY) <= #{searchEndTime}",
") m",
"LEFT JOIN detail d ON DATE(d.create_time) = m.day AND d.update_type = '充值'",
" COALESCE(SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END), 0) AS rechargeSumCoin,",
" COALESCE(SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END), 0) AS freeSumCoin,",
" COALESCE(SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END), 0) AS taskSumCoin",
"FROM (",
" SELECT DATE_ADD(#{searchStartTime}, INTERVAL n DAY) AS day",
" FROM (",
" SELECT a.N + b.N * 10 AS n",
" FROM (SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) a,",
" (SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) b",
" ) numbers",
" WHERE DATE_ADD(#{searchStartTime}, INTERVAL n DAY) <= #{searchEndTime}",
") m",
"LEFT JOIN detail d ON DATE(d.create_time) = m.day AND d.update_type = '消费'",
" COALESCE(SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END), 0) AS rechargeSumCoin,",
" COALESCE(SUM(CASE WHEN d.update_type = '充值' THEN d.free_coin ELSE 0 END), 0) AS freeSumCoin,",
" COALESCE(SUM(CASE WHEN d.update_type = '充值' THEN d.task_coin ELSE 0 END), 0) AS taskSumCoin",
"FROM (",
" SELECT DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY) + INTERVAL n DAY AS day",
" FROM (SELECT 0 AS n UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6) numbers",
") m",
"LEFT JOIN detail d ON DATE(d.create_time) = m.day AND d.update_type = '充值'",
"GROUP BY m.day",
"ORDER BY m.day"
})
List<SumCoin>getMediuPayCoinweek();
//本周--消费
@Select({
"SELECT",
" CASE DAYOFWEEK(m.day)",
" WHEN 2 THEN '星期一'",
" WHEN 3 THEN '星期二'",
" WHEN 4 THEN '星期三'",
" WHEN 5 THEN '星期四'",
" WHEN 6 THEN '星期五'",
" WHEN 7 THEN '星期六'",
" WHEN 1 THEN '星期天'",
" END AS dayofweek,",
" COALESCE(SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END), 0) AS rechargeSumCoin,",
" COALESCE(SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END), 0) AS freeSumCoin,",
" COALESCE(SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END), 0) AS taskSumCoin",
"FROM (",
" SELECT DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY) + INTERVAL n DAY AS day",
" FROM (SELECT 0 AS n UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6) numbers",
") m",
"LEFT JOIN detail d ON DATE(d.create_time) = m.day AND d.update_type = '消费'",
"GROUP BY m.day",
"ORDER BY m.day"
})
List<SumCoin>getMediuConsumeCoinweek();
//今天--消费充值
@Select({
"SELECT DATE_FORMAT(create_time, '%Y-%m-%d') AS day,",
" NOW() AS currentTimestamp,",
" SUM(recharge_coin) AS rechargeSumCoin,",
" SUM(free_coin) AS freeSumCoin,",
" SUM(task_coin) AS taskSumCoin",
"FROM `detail`",
"WHERE DATE(create_time) = CURDATE() AND update_type = '充值'"
})
List<SumCoin>getMediuPayCoinday();
@Select({
"SELECT DATE_FORMAT(create_time, '%Y-%m-%d') AS day,",
" NOW() AS currentTimestamp,",
" SUM(recharge_coin) AS rechargeSumCoin,",
" SUM(free_coin) AS freeSumCoin,",
" SUM(task_coin) AS taskSumCoin",
"FROM `detail`",
"WHERE DATE(create_time) = CURDATE() AND update_type = '消费'"
})
List<SumCoin>getMediuConsumeCoinday();
//给定时间段--消费充值
@Select({
"SELECT m.day,",
" COALESCE(SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END), 0) AS rechargeSumCoin,",
" COALESCE(SUM(CASE WHEN d.update_type = '充值' THEN d.free_coin ELSE 0 END), 0) AS freeSumCoin,",
" COALESCE(SUM(CASE WHEN d.update_type = '充值' THEN d.task_coin ELSE 0 END), 0) AS taskSumCoin",
"FROM (",
" SELECT DATE_ADD(#{searchStartTime}, INTERVAL n DAY) AS day",
" FROM (",
" SELECT a.N + b.N * 10 AS n",
" FROM (SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) a,",
" (SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) b",
" ) numbers",
" WHERE DATE_ADD(#{searchStartTime}, INTERVAL n DAY) <= #{searchEndTime}",
") m",
"LEFT JOIN detail d ON DATE(d.create_time) = m.day AND d.update_type = '充值'",
"GROUP BY m.day",
"ORDER BY m.day"
})
List<SumCoin>getMediuPayCoin1(SumCoinsumCoin);
@Select({
"SELECT m.day,",
" COALESCE(SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END), 0) AS rechargeSumCoin,",
" COALESCE(SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END), 0) AS freeSumCoin,",
" COALESCE(SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END), 0) AS taskSumCoin",
"FROM (",
" SELECT DATE_ADD(#{searchStartTime}, INTERVAL n DAY) AS day",
" FROM (",
" SELECT a.N + b.N * 10 AS n",
" FROM (SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) a,",
" (SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) b",
" ) numbers",
" WHERE DATE_ADD(#{searchStartTime}, INTERVAL n DAY) <= #{searchEndTime}",
") m",
"LEFT JOIN detail d ON DATE(d.create_time) = m.day AND d.update_type = '消费'",