diff --git a/src/main/java/com/example/demo/domain/vo/Meium.java b/src/main/java/com/example/demo/domain/vo/Meium.java index 69acea1..fd9a956 100644 --- a/src/main/java/com/example/demo/domain/vo/Meium.java +++ b/src/main/java/com/example/demo/domain/vo/Meium.java @@ -33,7 +33,7 @@ public class Meium implements Serializable { private BigDecimal totalRechargeSum; private Date searchStartTime; private Date searchEndTime; - private String updateType; + private Integer updateType; private String type; private String token; // 新增的token字段 diff --git a/src/main/java/com/example/demo/domain/vo/SumCoin.java b/src/main/java/com/example/demo/domain/vo/SumCoin.java index 5e900e4..592c6f4 100644 --- a/src/main/java/com/example/demo/domain/vo/SumCoin.java +++ b/src/main/java/com/example/demo/domain/vo/SumCoin.java @@ -65,7 +65,7 @@ public class SumCoin { @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date searchEndTime; - private String updateType; + private Integer updateType; //中间-11个月 每月充值金币 private BigDecimal rechargeSumCoin; //中间-11个月 每月免费金币 diff --git a/src/main/java/com/example/demo/mapper/StatisticsMapper.java b/src/main/java/com/example/demo/mapper/StatisticsMapper.java index bfd0ec5..0550cac 100644 --- a/src/main/java/com/example/demo/mapper/StatisticsMapper.java +++ b/src/main/java/com/example/demo/mapper/StatisticsMapper.java @@ -1,3 +1,4 @@ + package com.example.demo.mapper; @@ -22,59 +23,56 @@ public interface StatisticsMapper { " SUM(task_coin) AS taskSumCoin, " + " (SUM(recharge_coin) + SUM(free_coin) + SUM(task_coin)) AS totalSumCoin " + "FROM `detail` " + - "WHERE update_type = '充值' " + + "WHERE update_type = '0' " + " AND create_time >= '2024-01-01' " + " AND create_time < NOW()") Statistics getTotalYearCoin(); //昨日新增 - @Select("SELECT \n" + - " SUM(COALESCE(recharge_coin, 0)) AS rechargeYesterdaySumCoin, \n" + - " SUM(COALESCE(free_coin, 0)) AS freeYesterdaySumCoin,\n" + - " SUM(COALESCE(task_coin, 0)) AS taskYesterdaySumCoin, \n" + - " (SUM(COALESCE(recharge_coin, 0)) + \n" + - " SUM(COALESCE(free_coin, 0)) + \n" + - " SUM(COALESCE(task_coin, 0))) AS totalYesterdaySumCoin \n" + - "FROM `detail` \n" + - "WHERE update_type = '充值' \n" + - " AND create_time >= CURDATE() - INTERVAL 1 DAY \n" + - " AND create_time < CURDATE();") + @Select("SELECT SUM(recharge_coin) AS rechargeYesterdaySumCoin, " + + " SUM(free_coin) AS freeYesterdaySumCoin, " + + " SUM(task_coin) AS taskYesterdaySumCoin, " + + " (SUM(recharge_coin) + SUM(free_coin) + SUM(task_coin)) AS totalYesterdaySumCoin " + + "FROM `detail` " + + "WHERE update_type = '0' " + + " AND create_time >= CURDATE() - INTERVAL 1 DAY " + + " AND create_time < CURDATE()") Statistics getYesterdayNewCoin(); - //全年累计充值人数 + //全年累计0人数 @Select("SELECT COUNT(jwcode) AS rechargeCount " + "FROM `detail` " + - "WHERE update_type = '充值' " + + "WHERE update_type = '0' " + " AND create_time >= '2024-01-01' " + " AND create_time < NOW()") int getYearRechargeCount(); - //这周充值数量 + //这周0数量 @Select("SELECT COUNT(jwcode) AS rechargeCountThisWeek " + - "FROM `detail` WHERE update_type = '充值' AND YEARWEEK(create_time, 1) = YEARWEEK(CURDATE(), 1)") + "FROM `detail` WHERE update_type = '0' AND YEARWEEK(create_time, 1) = YEARWEEK(CURDATE(), 1)") int getRechargeCountThisWeek(); - //上周充值数量 + //上周0数量 @Select("SELECT COUNT(jwcode) AS rechargeCountLastWeek " + - "FROM `detail` WHERE update_type = '充值' AND YEARWEEK(create_time, 1) = YEARWEEK(CURDATE() - INTERVAL 1 WEEK, 1)") + "FROM `detail` WHERE update_type = '0' AND YEARWEEK(create_time, 1) = YEARWEEK(CURDATE() - INTERVAL 1 WEEK, 1)") int getRechargeCountLastWeek(); - //今天的充值数量 + //今天的0数量 @Select("SELECT COUNT(jwcode) AS rechargeCountToday " + - "FROM `detail` WHERE update_type = '充值' AND create_time >= CURDATE()") + "FROM `detail` WHERE update_type = '0' AND create_time >= CURDATE()") int getRechargeCountToday(); - //昨天的充值数量 + //昨天的0数量 @Select("SELECT COUNT(jwcode) AS rechargeCountYesterday " + - "FROM `detail` WHERE update_type = '充值' AND create_time >=CURDATE() - INTERVAL 1 DAY AND create_time < CURDATE();") + "FROM `detail` WHERE update_type = '0' AND create_time >=CURDATE() - INTERVAL 1 DAY AND create_time < CURDATE();") int getRechargeCountYesterday(); //昨日新增首充 @Select("SELECT COUNT(jwcode) AS firstRechargeCountYesterday "+ - "FROM `detail` WHERE update_type = '充值' AND create_time >=CURDATE() - INTERVAL 1 DAY AND create_time < CURDATE() AND first_recharge = 1") + "FROM `detail` WHERE update_type = '0' AND create_time >=CURDATE() - INTERVAL 1 DAY AND create_time < CURDATE() AND first_recharge = 1") int getFirstRechargeCountYesterday(); - //金币系统消费 + //金币系统1 @Select("SELECT p.subjects AS subject, " + " d.consume_platform,"+ " SUM(d.recharge_coin) AS rechargeCoinSystemSum, " + @@ -83,12 +81,12 @@ public interface StatisticsMapper { " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) AS totalCoinSystemSum " + "FROM detail d " + "JOIN product p ON d.product_id = p.product_id " + - "WHERE d.update_type = '消费' AND " + + "WHERE d.update_type = '1' AND " + " d.consume_platform = '金币系统' " + "GROUP BY p.subjects ") List getCoinSystemSum(); - //ERP消费 + //ERP1 @Select("SELECT p.subjects AS subject, " + " d.consume_platform,"+ " SUM(d.recharge_coin) AS rechargeERPSum, " + @@ -97,11 +95,11 @@ public interface StatisticsMapper { " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) AS totalERPSum " + "FROM detail d " + "JOIN product p ON d.product_id = p.product_id " + - "WHERE d.update_type = '消费' AND " + + "WHERE d.update_type = '1' AND " + " d.consume_platform = 'ERP系统' " + "GROUP BY p.subjects ") List getERPSum(); - // //HomilyChart消费 + // //HomilyChart1 @Select("SELECT p.subjects AS subject, " + " d.consume_platform,"+ " SUM(d.recharge_coin) AS rechargeHomilyChartSum, " + @@ -110,12 +108,12 @@ public interface StatisticsMapper { " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) AS totalHomilyChartSum " + "FROM detail d " + "JOIN product p ON d.product_id = p.product_id " + - "WHERE d.update_type = '消费' AND " + + "WHERE d.update_type = '1' AND " + " d.consume_platform = 'HomilyChart' " + "GROUP BY p.subjects ") List getHomilyChartSum(); - // //HomilyLink消费 + // //HomilyLink1 @Select("SELECT p.subjects AS subject, " + " d.consume_platform,"+ " SUM(d.recharge_coin) AS rechargeHomilyLinkSum, " + @@ -124,7 +122,7 @@ public interface StatisticsMapper { " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) AS totalHomilyLinkSum " + "FROM detail d " + "JOIN product p ON d.product_id = p.product_id " + - "WHERE d.update_type = '消费' AND " + + "WHERE d.update_type = '1' AND " + " d.consume_platform = 'HomilyChart' " + "GROUP BY p.subjects ") List getHomilyLinkSum(); @@ -135,7 +133,7 @@ public interface StatisticsMapper { "today.freeSumCoin AS todayFree,", "yesterday.freeSumCoin AS yesterdayFree," , "today.taskSumCoin AS todayTask," , - "yesterday.taskSumCoin AS yesterdayTask," , + "yesterday.taskSumCoin ASHsterdayTask," , "(today.rechargeSumCoin + today.freeSumCoin + today.taskSumCoin) AS todayTotalCoin," , "(yesterday.rechargeSumCoin + yesterday.freeSumCoin + yesterday.taskSumCoin) AS yesterdayTotalCoin," , "((today.rechargeSumCoin + today.freeSumCoin + today.taskSumCoin) -(yesterday.rechargeSumCoin + yesterday.freeSumCoin + yesterday.taskSumCoin)) AS coinDifference" , @@ -147,33 +145,33 @@ public interface StatisticsMapper { - @Select({"SELECT SUM(CASE WHEN update_type = '消费' THEN recharge_coin ELSE 0 END) AS yearRecharge," , - "SUM(CASE WHEN update_type = '消费' THEN free_coin ELSE 0 END) AS yearFree," + - " SUM(CASE WHEN update_type = '消费' THEN task_coin ELSE 0 END) AS yearTask," + - " SUM(CASE WHEN update_type = '消费' THEN recharge_coin + free_coin + task_coin ELSE 0 END) AS yearConsumeCoin,", - " SUM(CASE WHEN update_type = '退款' THEN recharge_coin ELSE 0 END) AS totalRechargeRefund," , - " SUM(CASE WHEN update_type = '退款' THEN free_coin ELSE 0 END) AS totalFreeRefund," , - " SUM(CASE WHEN update_type = '退款' THEN task_coin ELSE 0 END) AS totalTaskRefund," , - " SUM(CASE WHEN update_type = '退款' THEN recharge_coin + free_coin + task_coin ELSE 0 END) AS yearRefundCoin," , - " SUM(CASE WHEN update_type = '消费' THEN recharge_coin + free_coin + task_coin ELSE 0 END)+SUM(CASE WHEN update_type = '退款' THEN recharge_coin + free_coin + task_coin ELSE 0 END) AS yearsumCoin,", - " SUM(CASE WHEN update_type IN ('消费', '退款') THEN recharge_coin ELSE 0 END) AS yearSumRechargeCoin,", - " SUM(CASE WHEN update_type IN ('消费', '退款') THEN free_coin ELSE 0 END) AS yearSumFreeCoin,", - " SUM(CASE WHEN update_type IN ('消费', '退款') THEN task_coin ELSE 0 END) AS yearSumTaskCoin", + @Select({"SELECT SUM(CASE WHEN update_type = '1' THEN recharge_coin ELSE 0 END) AS yearRecharge," , + "SUM(CASE WHEN update_type = '1' THEN free_coin ELSE 0 END) AS yearFree," + + " SUM(CASE WHEN update_type = '1' THEN task_coin ELSE 0 END) AS yearTask," + + " SUM(CASE WHEN update_type = '1' THEN recharge_coin + free_coin + task_coin ELSE 0 END) AS yearConsumeCoin,", + " SUM(CASE WHEN update_type = '2' THEN recharge_coin ELSE 0 END) AS totalRechargeRefund," , + " SUM(CASE WHEN update_type = '2' THEN free_coin ELSE 0 END) AS totalFreeRefund," , + " SUM(CASE WHEN update_type = '2' THEN task_coin ELSE 0 END) AS totalTaskRefund," , + " SUM(CASE WHEN update_type = '2' THEN recharge_coin + free_coin + task_coin ELSE 0 END) AS yearRefundCoin," , + " SUM(CASE WHEN update_type = '1' THEN recharge_coin + free_coin + task_coin ELSE 0 END)+SUM(CASE WHEN update_type = '2' THEN recharge_coin + free_coin + task_coin ELSE 0 END) AS yearsumCoin,", + " SUM(CASE WHEN update_type IN ('1', '2') THEN recharge_coin ELSE 0 END) AS yearSumRechargeCoin,", + " SUM(CASE WHEN update_type IN ('1', '2') THEN free_coin ELSE 0 END) AS yearSumFreeCoin,", + " SUM(CASE WHEN update_type IN ('1', '2') THEN task_coin ELSE 0 END) AS yearSumTaskCoin", "FROM detail WHERE YEAR(create_time) = YEAR(CURRENT_DATE)" , " AND create_time <= NOW()"}) SumCoin getYearConsumeCoin(); @Select({ - "SELECT IFNULL(SUM(CASE WHEN update_type = '消费' THEN recharge_coin ELSE 0 END), 0) AS todayRecharge,", - " IFNULL(SUM(CASE WHEN update_type = '消费' THEN free_coin ELSE 0 END), 0) AS todayFree,", - " IFNULL(SUM(CASE WHEN update_type = '消费' THEN task_coin ELSE 0 END), 0) AS todayTask,", - " IFNULL(SUM(CASE WHEN update_type = '消费' THEN recharge_coin + free_coin + task_coin ELSE 0 END), 0) AS dayConsumeCoin,", - " IFNULL(SUM(CASE WHEN update_type = '退款' THEN recharge_coin ELSE 0 END), 0) AS total_recharge_refund,", - " IFNULL(SUM(CASE WHEN update_type = '退款' THEN free_coin ELSE 0 END), 0) AS total_free_refund,", - " IFNULL(SUM(CASE WHEN update_type = '退款' THEN task_coin ELSE 0 END), 0) AS total_task_refund,", - " IFNULL(SUM(CASE WHEN update_type = '退款' THEN recharge_coin + free_coin + task_coin ELSE 0 END), 0) AS dayRefundCoin,", - " IFNULL(SUM(CASE WHEN update_type = '消费' THEN recharge_coin + free_coin + task_coin ELSE 0 END), 0) +", - " IFNULL(SUM(CASE WHEN update_type = '退款' THEN recharge_coin + free_coin + task_coin ELSE 0 END), 0) AS daysumCoin", + "SELECT IFNULL(SUM(CASE WHEN update_type = '1' THEN recharge_coin ELSE 0 END), 0) AS todayRecharge,", + " IFNULL(SUM(CASE WHEN update_type = '1' THEN free_coin ELSE 0 END), 0) AS todayFree,", + " IFNULL(SUM(CASE WHEN update_type = '1' THEN task_coin ELSE 0 END), 0) AS todayTask,", + " IFNULL(SUM(CASE WHEN update_type = '1' THEN recharge_coin + free_coin + task_coin ELSE 0 END), 0) AS dayConsumeCoin,", + " IFNULL(SUM(CASE WHEN update_type = '2' THEN recharge_coin ELSE 0 END), 0) AS total_recharge_refund,", + " IFNULL(SUM(CASE WHEN update_type = '2' THEN free_coin ELSE 0 END), 0) AS total_free_refund,", + " IFNULL(SUM(CASE WHEN update_type = '2' THEN task_coin ELSE 0 END), 0) AS total_task_refund,", + " IFNULL(SUM(CASE WHEN update_type = '2' THEN recharge_coin + free_coin + task_coin ELSE 0 END), 0) AS dayRefundCoin,", + " IFNULL(SUM(CASE WHEN update_type = '1' THEN recharge_coin + free_coin + task_coin ELSE 0 END), 0) +", + " IFNULL(SUM(CASE WHEN update_type = '2' THEN recharge_coin + free_coin + task_coin ELSE 0 END), 0) AS daysumCoin", "FROM `detail` WHERE DATE(create_time) = CURDATE() - INTERVAL 1 DAY" }) SumCoin getDayConsumeCoin(); @@ -184,157 +182,72 @@ public interface StatisticsMapper { // " SUM(free_coin) AS freeSumCoin,", // " SUM(task_coin) AS taskSumCoin" , // "FROM `detail`" , -// "WHERE create_time BETWEEN DATE_SUB(CURDATE(), INTERVAL 10 MONTH) AND CURDATE() AND update_type='充值'" , +// "WHERE create_time BETWEEN DATE_SUB(CURDATE(), INTERVAL 10 MONTH) AND CURDATE() AND update_type='0'" , // "GROUP BY DATE_FORMAT(create_time, '%Y-%m')" , // "ORDER BY DATE_FORMAT(create_time, '%Y-%m') DESC "}) // List getMediuPayCoin(); - // 本年 ---充值 - @Select({ - "SELECT m.month,", - " COALESCE(SUM(d.recharge_coin), 0) AS rechargeSumCoin,", - " COALESCE(SUM(d.free_coin), 0) AS freeSumCoin,", - " COALESCE(SUM(d.task_coin), 0) AS taskSumCoin", - "FROM (", - " SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL n MONTH), '%Y-%m') AS month", - " 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 UNION ALL SELECT 10 UNION ALL SELECT 11", - " ) AS numbers", - ") AS m", - "LEFT JOIN detail d ON DATE_FORMAT(d.create_time, '%Y-%m') = m.month AND d.update_type = '充值'", - "GROUP BY m.month", - "ORDER BY m.month DESC" - }) - List getMediuPayCoin(); - - //本年--消费 - @Select({ - "SELECT m.month,", - " COALESCE(SUM(d.recharge_coin), 0) AS rechargeSumCoin,", - " COALESCE(SUM(d.free_coin), 0) AS freeSumCoin,", - " COALESCE(SUM(d.task_coin), 0) AS taskSumCoin", - "FROM (", - " SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL n MONTH), '%Y-%m') AS month", - " 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 UNION ALL SELECT 10 UNION ALL SELECT 11", - " ) AS numbers", - ") AS m", - "LEFT JOIN detail d ON DATE_FORMAT(d.create_time, '%Y-%m') = m.month AND d.update_type = '消费'", - "GROUP BY m.month", - "ORDER BY m.month DESC" - }) - List getMediuConsumeCoin(); - // 本月 ---充值 + // 本年 ---0 // @Select({ -// "SELECT DATE(d.create_time) as 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 detail d", -// "WHERE d.update_type = '充值'", -// " AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})", -// "GROUP BY DATE(d.create_time)", -// "ORDER BY DATE(d.create_time)" +// "select DATE_FORMAT(create_time,'%Y-%m') as month,sum(recharge_coin) AS rechargeSumCoin,sum(free_coin) as freeSumCoin ,sum(task_coin) as taskSumCoin " + +// "from detail where datediff(create_time,#{searchStartTime})>=0 " + +// "and datediff(create_time,#{searchEndTime})<=0 and update_type = '0'" + +// "GROUP BY month ORDER BY month asc" // }) -// List getMediuPayCoinyue(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); + @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" + "SELECT DATE_FORMAT(create_time, '%Y-%m') AS month," + + " SUM(recharge_coin) AS rechargeSumCoin," + + " SUM(free_coin) AS freeSumCoin," + + " SUM(task_coin) AS taskSumCoin" + + " FROM detail" + + " WHERE create_time >= #{searchStartTime}" + + " AND create_time <= #{searchEndTime}" + + " AND update_type = '0'" + + "GROUP BY month ORDER BY month ASC" }) - List getMediuPayCoinyue(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); + + List getMediuPayCoin(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); + //本年--1 +// @Select({ +// "select DATE_FORMAT(create_time,'%Y-%m') as month,sum(recharge_coin) AS rechargeSumCoin,sum(free_coin) as freeSumCoin ,sum(task_coin) as taskSumCoin " + +// "from detail where datediff(create_time,#{searchStartTime})>=0 " + +// "and datediff(create_time,#{searchEndTime})<=0 and update_type = '1'" + +// "GROUP BY month ORDER BY month asc" +// }) @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" + "SELECT DATE_FORMAT(create_time, '%Y-%m') AS month," + + " SUM(recharge_coin) AS rechargeSumCoin," + + " SUM(free_coin) AS freeSumCoin," + + " SUM(task_coin) AS taskSumCoin" + + " FROM detail" + + " WHERE create_time >= #{searchStartTime}" + + " AND create_time <= #{searchEndTime}" + + " AND update_type = '1'" + + "GROUP BY month" + + " ORDER BY month ASC" }) - List getMediuCounsumeCoinyue(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); - //本周--充值 - @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 getMediuConsumeCoin(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); + // 本月 ---0 + + @Select({"select DATE_FORMAT(create_time,'%Y-%m-%d') as day,sum(recharge_coin) AS rechargeSumCoin,sum(free_coin) as freeSumCoin ,sum(task_coin) as taskSumCoin " + + "from detail where recharge_coin>0 and datediff(create_time,#{searchStartTime})>=0 " + + "and datediff(create_time,#{searchEndTime})<=0 and update_type = '0' group by DATE_FORMAT(create_time,'%m-%d')" }) + List getMediuPayCoinyue(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); - List 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" + + @Select({"select DATE_FORMAT(create_time,'%Y-%m-%d') as day,sum(recharge_coin) AS rechargeSumCoin,sum(free_coin) as freeSumCoin ,sum(task_coin) as taskSumCoin " + + "from detail where recharge_coin>0 and datediff(create_time,#{searchStartTime})>=0 " + + "and datediff(create_time,#{searchEndTime})<=0 and update_type = '1' group by DATE_FORMAT(create_time,'%m-%d')" }) - List getMediuConsumeCoinweek(); -//今天--消费充值 + List getMediuCounsumeCoinyue(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @@ -345,7 +258,7 @@ public interface StatisticsMapper { " SUM(free_coin) AS freeSumCoin,", " SUM(task_coin) AS taskSumCoin", "FROM `detail`", - "WHERE DATE(create_time) = CURDATE() AND update_type = '充值'" + "WHERE DATE(create_time) = CURDATE() AND update_type = '0'" }) List getMediuPayCoinday(); @@ -357,37 +270,23 @@ public interface StatisticsMapper { " SUM(free_coin) AS freeSumCoin,", " SUM(task_coin) AS taskSumCoin", "FROM `detail`", - "WHERE DATE(create_time) = CURDATE() AND update_type = '消费'" + "WHERE DATE(create_time) = CURDATE() AND update_type = '1'" }) List 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" + //给定时间段--10 + @Select({"select DATE_FORMAT(create_time,'%Y-%m-%d') as day,sum(recharge_coin) AS rechargeSumCoin,sum(free_coin) as freeSumCoin ,sum(task_coin) as taskSumCoin " + + "from detail where recharge_coin>0 and datediff(create_time,#{searchStartTime})>=0 " + + "and datediff(create_time,#{searchEndTime})<=0 and update_type = '0' group by DATE_FORMAT(create_time,'%m-%d')" }) List getMediuPayCoin1(SumCoin sumCoin); @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", + " COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END), 0) AS rechargeSumCoin,", + " COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.free_coin ELSE 0 END), 0) AS freeSumCoin,", + " COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.task_coin ELSE 0 END), 0) AS taskSumCoin", "FROM (", " SELECT DATE_ADD(#{searchStartTime}, INTERVAL n DAY) AS day", " FROM (", @@ -397,7 +296,7 @@ public interface StatisticsMapper { " ) 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 = '消费'", + "LEFT JOIN detail d ON DATE(d.create_time) = m.day AND d.update_type = '1'", "GROUP BY m.day", "ORDER BY m.day" }) @@ -425,7 +324,7 @@ public interface StatisticsMapper { "FROM detail d" , "INNER JOIN activity a ON d.activity_id = a.activity_id" , "INNER JOIN admin ad ON a.admin_id = ad.admin_id" , - "where d.update_type='充值'", + "where d.update_type='0'", "GROUP BY ad.store" , "ORDER BY ad.store ASC " }) @@ -441,7 +340,7 @@ public interface StatisticsMapper { " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) AS todayTotalCoin" , "FROM detail d" , "INNER JOIN admin ad ON ad.admin_id = d.admin_id", - "WHERE d.update_type = '消费'", + "WHERE d.update_type = '1'", "GROUP BY ad.store", "ORDER BY ad.store ASC" @@ -455,9 +354,9 @@ public interface StatisticsMapper { @Select({ "SELECT m.week,", - " COALESCE(SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END), 0) AS xrechargeSumCoin,", - " COALESCE(SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END), 0) AS xfreeSumCoin,", - " COALESCE(SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END), 0) AS xtaskSumCoin", + " COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END), 0) AS xrechargeSumCoin,", + " COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.free_coin ELSE 0 END), 0) AS xfreeSumCoin,", + " COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.task_coin ELSE 0 END), 0) AS xtaskSumCoin", "FROM (", " SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL n WEEK), '%Y-%u') AS week", " FROM (", @@ -479,12 +378,12 @@ public interface StatisticsMapper { "