Browse Source

测试

detached
zhangluping 5 months ago
parent
commit
53a129b24b
  1. 2
      src/main/java/com/example/demo/domain/vo/Meium.java
  2. 2
      src/main/java/com/example/demo/domain/vo/SumCoin.java
  3. 426
      src/main/java/com/example/demo/mapper/StatisticsMapper.java
  4. 43
      src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java

2
src/main/java/com/example/demo/domain/vo/Meium.java

@ -33,7 +33,7 @@ public class Meium implements Serializable {
private BigDecimal totalRechargeSum; private BigDecimal totalRechargeSum;
private Date searchStartTime; private Date searchStartTime;
private Date searchEndTime; private Date searchEndTime;
private String updateType;
private Integer updateType;
private String type; private String type;
private String token; // 新增的token字段 private String token; // 新增的token字段

2
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") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
private Date searchEndTime; private Date searchEndTime;
private String updateType;
private Integer updateType;
//中间-11个月 每月充值金币 //中间-11个月 每月充值金币
private BigDecimal rechargeSumCoin; private BigDecimal rechargeSumCoin;
//中间-11个月 每月免费金币 //中间-11个月 每月免费金币

426
src/main/java/com/example/demo/mapper/StatisticsMapper.java

@ -1,3 +1,4 @@
package com.example.demo.mapper; package com.example.demo.mapper;
@ -22,59 +23,56 @@ public interface StatisticsMapper {
" SUM(task_coin) AS taskSumCoin, " + " SUM(task_coin) AS taskSumCoin, " +
" (SUM(recharge_coin) + SUM(free_coin) + SUM(task_coin)) AS totalSumCoin " + " (SUM(recharge_coin) + SUM(free_coin) + SUM(task_coin)) AS totalSumCoin " +
"FROM `detail` " + "FROM `detail` " +
"WHERE update_type = '充值' " +
"WHERE update_type = '0' " +
" AND create_time >= '2024-01-01' " + " AND create_time >= '2024-01-01' " +
" AND create_time < NOW()") " AND create_time < NOW()")
Statistics getTotalYearCoin(); 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(); Statistics getYesterdayNewCoin();
//全年累计充值人数
//全年累计0人数
@Select("SELECT COUNT(jwcode) AS rechargeCount " + @Select("SELECT COUNT(jwcode) AS rechargeCount " +
"FROM `detail` " + "FROM `detail` " +
"WHERE update_type = '充值' " +
"WHERE update_type = '0' " +
" AND create_time >= '2024-01-01' " + " AND create_time >= '2024-01-01' " +
" AND create_time < NOW()") " AND create_time < NOW()")
int getYearRechargeCount(); int getYearRechargeCount();
//这周充值数量
//这周0数量
@Select("SELECT COUNT(jwcode) AS rechargeCountThisWeek " + @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(); int getRechargeCountThisWeek();
//上周充值数量
//上周0数量
@Select("SELECT COUNT(jwcode) AS rechargeCountLastWeek " + @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(); int getRechargeCountLastWeek();
//今天的充值数量
//今天的0数量
@Select("SELECT COUNT(jwcode) AS rechargeCountToday " + @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(); int getRechargeCountToday();
//昨天的充值数量
//昨天的0数量
@Select("SELECT COUNT(jwcode) AS rechargeCountYesterday " + @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(); int getRechargeCountYesterday();
//昨日新增首充 //昨日新增首充
@Select("SELECT COUNT(jwcode) AS firstRechargeCountYesterday "+ @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(); int getFirstRechargeCountYesterday();
//金币系统消费
//金币系统1
@Select("SELECT p.subjects AS subject, " + @Select("SELECT p.subjects AS subject, " +
" d.consume_platform,"+ " d.consume_platform,"+
" SUM(d.recharge_coin) AS rechargeCoinSystemSum, " + " 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 " + " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) AS totalCoinSystemSum " +
"FROM detail d " + "FROM detail d " +
"JOIN product p ON d.product_id = p.product_id " + "JOIN product p ON d.product_id = p.product_id " +
"WHERE d.update_type = '消费' AND " +
"WHERE d.update_type = '1' AND " +
" d.consume_platform = '金币系统' " + " d.consume_platform = '金币系统' " +
"GROUP BY p.subjects ") "GROUP BY p.subjects ")
List<Statistics> getCoinSystemSum(); List<Statistics> getCoinSystemSum();
//ERP消费
//ERP1
@Select("SELECT p.subjects AS subject, " + @Select("SELECT p.subjects AS subject, " +
" d.consume_platform,"+ " d.consume_platform,"+
" SUM(d.recharge_coin) AS rechargeERPSum, " + " 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 " + " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) AS totalERPSum " +
"FROM detail d " + "FROM detail d " +
"JOIN product p ON d.product_id = p.product_id " + "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系统' " + " d.consume_platform = 'ERP系统' " +
"GROUP BY p.subjects ") "GROUP BY p.subjects ")
List<Statistics> getERPSum(); List<Statistics> getERPSum();
// //HomilyChart消费
// //HomilyChart1
@Select("SELECT p.subjects AS subject, " + @Select("SELECT p.subjects AS subject, " +
" d.consume_platform,"+ " d.consume_platform,"+
" SUM(d.recharge_coin) AS rechargeHomilyChartSum, " + " 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 " + " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) AS totalHomilyChartSum " +
"FROM detail d " + "FROM detail d " +
"JOIN product p ON d.product_id = p.product_id " + "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' " + " d.consume_platform = 'HomilyChart' " +
"GROUP BY p.subjects ") "GROUP BY p.subjects ")
List<Statistics> getHomilyChartSum(); List<Statistics> getHomilyChartSum();
// //HomilyLink消费
// //HomilyLink1
@Select("SELECT p.subjects AS subject, " + @Select("SELECT p.subjects AS subject, " +
" d.consume_platform,"+ " d.consume_platform,"+
" SUM(d.recharge_coin) AS rechargeHomilyLinkSum, " + " 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 " + " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) AS totalHomilyLinkSum " +
"FROM detail d " + "FROM detail d " +
"JOIN product p ON d.product_id = p.product_id " + "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' " + " d.consume_platform = 'HomilyChart' " +
"GROUP BY p.subjects ") "GROUP BY p.subjects ")
List<Statistics> getHomilyLinkSum(); List<Statistics> getHomilyLinkSum();
@ -135,7 +133,7 @@ public interface StatisticsMapper {
"today.freeSumCoin AS todayFree,", "today.freeSumCoin AS todayFree,",
"yesterday.freeSumCoin AS yesterdayFree," , "yesterday.freeSumCoin AS yesterdayFree," ,
"today.taskSumCoin AS todayTask," , "today.taskSumCoin AS todayTask," ,
"yesterday.taskSumCoin AS yesterdayTask," ,
"yesterday.taskSumCoin ASHsterdayTask," ,
"(today.rechargeSumCoin + today.freeSumCoin + today.taskSumCoin) AS todayTotalCoin," , "(today.rechargeSumCoin + today.freeSumCoin + today.taskSumCoin) AS todayTotalCoin," ,
"(yesterday.rechargeSumCoin + yesterday.freeSumCoin + yesterday.taskSumCoin) AS yesterdayTotalCoin," , "(yesterday.rechargeSumCoin + yesterday.freeSumCoin + yesterday.taskSumCoin) AS yesterdayTotalCoin," ,
"((today.rechargeSumCoin + today.freeSumCoin + today.taskSumCoin) -(yesterday.rechargeSumCoin + yesterday.freeSumCoin + yesterday.taskSumCoin)) AS coinDifference" , "((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)" , "FROM detail WHERE YEAR(create_time) = YEAR(CURRENT_DATE)" ,
" AND create_time <= NOW()"}) " AND create_time <= NOW()"})
SumCoin getYearConsumeCoin(); SumCoin getYearConsumeCoin();
@Select({ @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" "FROM `detail` WHERE DATE(create_time) = CURDATE() - INTERVAL 1 DAY"
}) })
SumCoin getDayConsumeCoin(); SumCoin getDayConsumeCoin();
@ -184,157 +182,72 @@ public interface StatisticsMapper {
// " SUM(free_coin) AS freeSumCoin,", // " SUM(free_coin) AS freeSumCoin,",
// " SUM(task_coin) AS taskSumCoin" , // " SUM(task_coin) AS taskSumCoin" ,
// "FROM `detail`" , // "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')" , // "GROUP BY DATE_FORMAT(create_time, '%Y-%m')" ,
// "ORDER BY DATE_FORMAT(create_time, '%Y-%m') DESC "}) // "ORDER BY DATE_FORMAT(create_time, '%Y-%m') DESC "})
// List<SumCoin> getMediuPayCoin(); // List<SumCoin> 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<SumCoin> 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<SumCoin> getMediuConsumeCoin();
// 本月 ---充值
// 本年 ---0
// @Select({ // @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<SumCoin> getMediuPayCoinyue(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
@Select({ @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<SumCoin> getMediuPayCoinyue(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
List<SumCoin> 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({
"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<SumCoin> 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<SumCoin> 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<SumCoin> getMediuPayCoinyue(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
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"
@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<SumCoin> getMediuConsumeCoinweek();
//今天--消费充值
List<SumCoin> getMediuCounsumeCoinyue(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
@ -345,7 +258,7 @@ public interface StatisticsMapper {
" SUM(free_coin) AS freeSumCoin,", " SUM(free_coin) AS freeSumCoin,",
" SUM(task_coin) AS taskSumCoin", " SUM(task_coin) AS taskSumCoin",
"FROM `detail`", "FROM `detail`",
"WHERE DATE(create_time) = CURDATE() AND update_type = '充值'"
"WHERE DATE(create_time) = CURDATE() AND update_type = '0'"
}) })
List<SumCoin> getMediuPayCoinday(); List<SumCoin> getMediuPayCoinday();
@ -357,37 +270,23 @@ public interface StatisticsMapper {
" SUM(free_coin) AS freeSumCoin,", " SUM(free_coin) AS freeSumCoin,",
" SUM(task_coin) AS taskSumCoin", " SUM(task_coin) AS taskSumCoin",
"FROM `detail`", "FROM `detail`",
"WHERE DATE(create_time) = CURDATE() AND update_type = '消费'"
"WHERE DATE(create_time) = CURDATE() AND update_type = '1'"
}) })
List<SumCoin> getMediuConsumeCoinday(); 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"
//给定时间段--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<SumCoin> getMediuPayCoin1(SumCoin sumCoin); List<SumCoin> getMediuPayCoin1(SumCoin sumCoin);
@Select({ @Select({
"SELECT m.day,", "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 (", "FROM (",
" SELECT DATE_ADD(#{searchStartTime}, INTERVAL n DAY) AS day", " SELECT DATE_ADD(#{searchStartTime}, INTERVAL n DAY) AS day",
" FROM (", " FROM (",
@ -397,7 +296,7 @@ public interface StatisticsMapper {
" ) numbers", " ) numbers",
" WHERE DATE_ADD(#{searchStartTime}, INTERVAL n DAY) <= #{searchEndTime}", " WHERE DATE_ADD(#{searchStartTime}, INTERVAL n DAY) <= #{searchEndTime}",
") m", ") 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", "GROUP BY m.day",
"ORDER BY m.day" "ORDER BY m.day"
}) })
@ -425,7 +324,7 @@ public interface StatisticsMapper {
"FROM detail d" , "FROM detail d" ,
"INNER JOIN activity a ON d.activity_id = a.activity_id" , "INNER JOIN activity a ON d.activity_id = a.activity_id" ,
"INNER JOIN admin ad ON a.admin_id = ad.admin_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" , "GROUP BY ad.store" ,
"ORDER BY ad.store ASC " "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" , " (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) AS todayTotalCoin" ,
"FROM detail d" , "FROM detail d" ,
"INNER JOIN admin ad ON ad.admin_id = d.admin_id", "INNER JOIN admin ad ON ad.admin_id = d.admin_id",
"WHERE d.update_type = '消费'",
"WHERE d.update_type = '1'",
"GROUP BY ad.store", "GROUP BY ad.store",
"ORDER BY ad.store ASC" "ORDER BY ad.store ASC"
@ -455,9 +354,9 @@ public interface StatisticsMapper {
@Select({ @Select({
"SELECT m.week,", "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 (", "FROM (",
" SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL n WEEK), '%Y-%u') AS week", " SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL n WEEK), '%Y-%u') AS week",
" FROM (", " FROM (",
@ -479,12 +378,12 @@ public interface StatisticsMapper {
"<script>", "<script>",
"SELECT ad.area,", "SELECT ad.area,",
" ad.store,", " ad.store,",
" SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,",
" SUM(CASE WHEN d.update_type = '充值' THEN d.free_coin ELSE 0 END) AS freeSumCoin,",
" SUM(CASE WHEN d.update_type = '充值' THEN d.task_coin ELSE 0 END) AS taskSumCoin,",
" (SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '充值' THEN d.free_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '充值' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum",
" SUM(CASE WHEN d.update_type = '0' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,",
" SUM(CASE WHEN d.update_type = '0' THEN d.free_coin ELSE 0 END) AS freeSumCoin,",
" SUM(CASE WHEN d.update_type = '0' THEN d.task_coin ELSE 0 END) AS taskSumCoin,",
" (SUM(CASE WHEN d.update_type = '0' THEN d.recharge_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '0' THEN d.free_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '0' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum",
"FROM detail d", "FROM detail d",
"right JOIN admin ad ON ad.admin_id = d.admin_id", "right JOIN admin ad ON ad.admin_id = d.admin_id",
"<if test='searchStartTime != null and searchEndTime != null'>", "<if test='searchStartTime != null and searchEndTime != null'>",
@ -499,12 +398,12 @@ public interface StatisticsMapper {
"<script>", "<script>",
"SELECT ad.area,", "SELECT ad.area,",
" ad.store,", " ad.store,",
" SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,",
" SUM(CASE WHEN d.update_type = '充值' THEN d.free_coin ELSE 0 END) AS freeSumCoin,",
" SUM(CASE WHEN d.update_type = '充值' THEN d.task_coin ELSE 0 END) AS taskSumCoin,",
" (SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '充值' THEN d.free_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '充值' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum",
" SUM(CASE WHEN d.update_type = '0' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,",
" SUM(CASE WHEN d.update_type = '0' THEN d.free_coin ELSE 0 END) AS freeSumCoin,",
" SUM(CASE WHEN d.update_type = '0' THEN d.task_coin ELSE 0 END) AS taskSumCoin,",
" (SUM(CASE WHEN d.update_type = '0' THEN d.recharge_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '0' THEN d.free_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '0' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum",
"FROM detail d", "FROM detail d",
"right JOIN admin ad ON ad.admin_id = d.admin_id", "right JOIN admin ad ON ad.admin_id = d.admin_id",
"<if test='searchStartTime != null and searchEndTime != null'>", "<if test='searchStartTime != null and searchEndTime != null'>",
@ -519,12 +418,12 @@ public interface StatisticsMapper {
"<script>", "<script>",
"SELECT ad.area,", "SELECT ad.area,",
" ad.store,", " ad.store,",
" SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,",
" SUM(CASE WHEN d.update_type = '充值' THEN d.free_coin ELSE 0 END) AS freeSumCoin,",
" SUM(CASE WHEN d.update_type = '充值' THEN d.task_coin ELSE 0 END) AS taskSumCoin,",
" (SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '充值' THEN d.free_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '充值' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum",
" SUM(CASE WHEN d.update_type = '0' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,",
" SUM(CASE WHEN d.update_type = '0' THEN d.free_coin ELSE 0 END) AS freeSumCoin,",
" SUM(CASE WHEN d.update_type = '0' THEN d.task_coin ELSE 0 END) AS taskSumCoin,",
" (SUM(CASE WHEN d.update_type = '0' THEN d.recharge_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '0' THEN d.free_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '0' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum",
"FROM detail d", "FROM detail d",
"right JOIN admin ad ON ad.admin_id = d.admin_id", "right JOIN admin ad ON ad.admin_id = d.admin_id",
"<if test='searchStartTime != null and searchEndTime != null'>", "<if test='searchStartTime != null and searchEndTime != null'>",
@ -539,12 +438,12 @@ public interface StatisticsMapper {
"<script>", "<script>",
"SELECT ad.area,", "SELECT ad.area,",
" ad.store,", " ad.store,",
" SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,",
" SUM(CASE WHEN d.update_type = '充值' THEN d.free_coin ELSE 0 END) AS freeSumCoin,",
" SUM(CASE WHEN d.update_type = '充值' THEN d.task_coin ELSE 0 END) AS taskSumCoin,",
" (SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '充值' THEN d.free_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '充值' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum",
" SUM(CASE WHEN d.update_type = '0' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,",
" SUM(CASE WHEN d.update_type = '0' THEN d.free_coin ELSE 0 END) AS freeSumCoin,",
" SUM(CASE WHEN d.update_type = '0' THEN d.task_coin ELSE 0 END) AS taskSumCoin,",
" (SUM(CASE WHEN d.update_type = '0' THEN d.recharge_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '0' THEN d.free_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '0' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum",
"FROM detail d", "FROM detail d",
"right JOIN admin ad ON ad.admin_id = d.admin_id", "right JOIN admin ad ON ad.admin_id = d.admin_id",
"<if test='searchStartTime != null and searchEndTime != null'>", "<if test='searchStartTime != null and searchEndTime != null'>",
@ -559,12 +458,12 @@ public interface StatisticsMapper {
"<script>", "<script>",
"SELECT ad.area,", "SELECT ad.area,",
" ad.store,", " ad.store,",
" SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,",
" SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END) AS freeSumCoin,",
" SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END) AS taskSumCoin,",
" (SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum",
" SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,",
" SUM(CASE WHEN d.update_type = '1' THEN d.free_coin ELSE 0 END) AS freeSumCoin,",
" SUM(CASE WHEN d.update_type = '1' THEN d.task_coin ELSE 0 END) AS taskSumCoin,",
" (SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '1' THEN d.free_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '1' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum",
"FROM detail d", "FROM detail d",
"right JOIN admin ad ON ad.admin_id = d.admin_id", "right JOIN admin ad ON ad.admin_id = d.admin_id",
"<if test='searchStartTime != null and searchEndTime != null'>", "<if test='searchStartTime != null and searchEndTime != null'>",
@ -579,12 +478,12 @@ public interface StatisticsMapper {
"<script>", "<script>",
"SELECT ad.area,", "SELECT ad.area,",
" ad.store,", " ad.store,",
" SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,",
" SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END) AS freeSumCoin,",
" SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END) AS taskSumCoin,",
" (SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum",
" SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,",
" SUM(CASE WHEN d.update_type = '1' THEN d.free_coin ELSE 0 END) AS freeSumCoin,",
" SUM(CASE WHEN d.update_type = '1' THEN d.task_coin ELSE 0 END) AS taskSumCoin,",
" (SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '1' THEN d.free_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '1' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum",
"FROM detail d", "FROM detail d",
"right JOIN admin ad ON ad.admin_id = d.admin_id", "right JOIN admin ad ON ad.admin_id = d.admin_id",
"<if test='searchStartTime != null and searchEndTime != null'>", "<if test='searchStartTime != null and searchEndTime != null'>",
@ -599,12 +498,12 @@ public interface StatisticsMapper {
"<script>", "<script>",
"SELECT ad.area,", "SELECT ad.area,",
" ad.store,", " ad.store,",
" SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,",
" SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END) AS freeSumCoin,",
" SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END) AS taskSumCoin,",
" (SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum",
" SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,",
" SUM(CASE WHEN d.update_type = '1' THEN d.free_coin ELSE 0 END) AS freeSumCoin,",
" SUM(CASE WHEN d.update_type = '1' THEN d.task_coin ELSE 0 END) AS taskSumCoin,",
" (SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '1' THEN d.free_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '1' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum",
"FROM detail d", "FROM detail d",
"right JOIN admin ad ON ad.admin_id = d.admin_id", "right JOIN admin ad ON ad.admin_id = d.admin_id",
"<if test='searchStartTime != null and searchEndTime != null'>", "<if test='searchStartTime != null and searchEndTime != null'>",
@ -619,12 +518,12 @@ public interface StatisticsMapper {
"<script>", "<script>",
"SELECT ad.area,", "SELECT ad.area,",
" ad.store,", " ad.store,",
" SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,",
" SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END) AS freeSumCoin,",
" SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END) AS taskSumCoin,",
" (SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum",
" SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,",
" SUM(CASE WHEN d.update_type = '1' THEN d.free_coin ELSE 0 END) AS freeSumCoin,",
" SUM(CASE WHEN d.update_type = '1' THEN d.task_coin ELSE 0 END) AS taskSumCoin,",
" (SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '1' THEN d.free_coin ELSE 0 END) +",
" SUM(CASE WHEN d.update_type = '1' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum",
"FROM detail d", "FROM detail d",
"right JOIN admin ad ON ad.admin_id = d.admin_id", "right JOIN admin ad ON ad.admin_id = d.admin_id",
"<if test='searchStartTime != null and searchEndTime != null'>", "<if test='searchStartTime != null and searchEndTime != null'>",
@ -638,3 +537,4 @@ public interface StatisticsMapper {
List<Meium> getPay(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); List<Meium> getPay(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
} }

43
src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java

@ -1,3 +1,4 @@
package com.example.demo.serviceImpl; package com.example.demo.serviceImpl;
import java.util.Calendar; import java.util.Calendar;
@ -110,17 +111,18 @@ public class StatisticsServiceImpl implements StatisticsService {
public SumCoin getDayConsumeCoin() { public SumCoin getDayConsumeCoin() {
return statisticsMapper.getDayConsumeCoin(); return statisticsMapper.getDayConsumeCoin();
} }
@Cacheable(key="#root.method.name")
@Override @Override
public List<SumCoin> getMediuPayCoin() { public List<SumCoin> getMediuPayCoin() {
return statisticsMapper.getMediuPayCoin();
return List.of();
} }
@Cacheable(key="#root.method.name")
@Override @Override
public List<SumCoin> getMediuConsumeCoin() { public List<SumCoin> getMediuConsumeCoin() {
return statisticsMapper.getMediuConsumeCoin();
return List.of();
} }
@Cacheable(key="#root.method.name")
public SumCoin getMess(Integer jwcode){ public SumCoin getMess(Integer jwcode){
return statisticsMapper.getMess(jwcode); return statisticsMapper.getMess(jwcode);
} }
@ -136,12 +138,12 @@ public class StatisticsServiceImpl implements StatisticsService {
} }
@Cacheable(key="#root.method.name + '-' + #meium.hashCode() ")
@Override @Override
public List<Meium> getMee( Meium meium) { public List<Meium> getMee( Meium meium) {
if("充值".equals(meium.getUpdateType())){
if(0 == (meium.getUpdateType())){
if("免费金币".equals(meium.getType())){ if("免费金币".equals(meium.getType())){
return statisticsMapper.getBuyAndFree(meium.getSearchStartTime(),meium.getSearchEndTime()); return statisticsMapper.getBuyAndFree(meium.getSearchStartTime(),meium.getSearchEndTime());
}else if("充值金币".equals(meium.getType())){ }else if("充值金币".equals(meium.getType())){
@ -152,7 +154,7 @@ public class StatisticsServiceImpl implements StatisticsService {
return statisticsMapper.getBuy(meium.getSearchStartTime(),meium.getSearchEndTime()); return statisticsMapper.getBuy(meium.getSearchStartTime(),meium.getSearchEndTime());
} }
}else if("消费".equals(meium.getUpdateType())){
}else if(1 == (meium.getUpdateType())){
if("免费金币".equals(meium.getType())){ if("免费金币".equals(meium.getType())){
return statisticsMapper.getPayAndFree(meium.getSearchStartTime(),meium.getSearchEndTime()); return statisticsMapper.getPayAndFree(meium.getSearchStartTime(),meium.getSearchEndTime());
}else if("充值金币".equals(meium.getType())){ }else if("充值金币".equals(meium.getType())){
@ -234,20 +236,20 @@ public class StatisticsServiceImpl implements StatisticsService {
// return null; // return null;
// //
// } // }
@Cacheable(key="#root.method.name + '-' + #sumcoin.hashCode() ")
public List<SumCoin> getCoinTime(SumCoin sumcoin) { public List<SumCoin> getCoinTime(SumCoin sumcoin) {
System.out.println(sumcoin + "-------sumcoin----"); System.out.println(sumcoin + "-------sumcoin----");
Date searchStartTime = sumcoin.getSearchStartTime(); Date searchStartTime = sumcoin.getSearchStartTime();
Date searchEndTime = sumcoin.getSearchEndTime(); Date searchEndTime = sumcoin.getSearchEndTime();
String updateType = sumcoin.getUpdateType();
Integer updateType = sumcoin.getUpdateType();
// 如果开始时间和结束时间都为空则直接返回默认统计结果 // 如果开始时间和结束时间都为空则直接返回默认统计结果
if (searchStartTime == null && searchEndTime == null) { if (searchStartTime == null && searchEndTime == null) {
if ("消费".equals(updateType)) {
return statisticsMapper.getMediuConsumeCoin();
} else if ("充值".equals(updateType)) {
return statisticsMapper.getMediuPayCoin();
if (1 == updateType) {
return statisticsMapper.getMediuConsumeCoin(searchStartTime,searchEndTime);
} else if (0 == updateType) {
return statisticsMapper.getMediuPayCoin(searchStartTime,searchEndTime);
} }
return null; // 或者抛出异常取决于业务需求 return null; // 或者抛出异常取决于业务需求
} }
@ -278,15 +280,15 @@ public class StatisticsServiceImpl implements StatisticsService {
// 根据条件选择查询方法 // 根据条件选择查询方法
if (daysBetween > 100) { if (daysBetween > 100) {
if ("消费".equals(updateType)) {
return statisticsMapper.getMediuConsumeCoin();
} else if ("充值".equals(updateType)) {
return statisticsMapper.getMediuPayCoin();
if (1 == updateType) {
return statisticsMapper.getMediuConsumeCoin(searchStartTime,searchEndTime);
} else if (0 == updateType) {
return statisticsMapper.getMediuPayCoin(searchStartTime,searchEndTime);
} }
} else { } else {
if ("消费".equals(updateType)) {
if (1 == updateType) {
return statisticsMapper.getMediuCounsumeCoinyue(searchStartTime, searchEndTime); return statisticsMapper.getMediuCounsumeCoinyue(searchStartTime, searchEndTime);
} else if ("充值".equals(updateType)) {
} else if (0 == updateType) {
return statisticsMapper.getMediuPayCoinyue(searchStartTime, searchEndTime); return statisticsMapper.getMediuPayCoinyue(searchStartTime, searchEndTime);
} }
} }
@ -295,3 +297,4 @@ public class StatisticsServiceImpl implements StatisticsService {
return null; return null;
} }
} }
Loading…
Cancel
Save