diff --git a/src/main/java/com/example/demo/controller/AuditController.java b/src/main/java/com/example/demo/controller/AuditController.java index e11bdb5..d7180be 100644 --- a/src/main/java/com/example/demo/controller/AuditController.java +++ b/src/main/java/com/example/demo/controller/AuditController.java @@ -44,6 +44,12 @@ public class AuditController { } } + @PostMapping("/goldedit") + public Result goldedit(@RequestBody Audit audit) throws Exception { + auditService.goldedit(audit); + return Result.success(); + } + @PostMapping("/edit") public Result edit(@RequestBody Audit audit){ diff --git a/src/main/java/com/example/demo/controller/StatisticsController.java b/src/main/java/com/example/demo/controller/StatisticsController.java index 7fb3968..2483c6a 100644 --- a/src/main/java/com/example/demo/controller/StatisticsController.java +++ b/src/main/java/com/example/demo/controller/StatisticsController.java @@ -1,10 +1,9 @@ package com.example.demo.controller; -import com.example.demo.domain.vo.Meium; -import com.example.demo.domain.vo.Result; -import com.example.demo.domain.vo.Statistics; -import com.example.demo.domain.vo.UserVo; +import com.example.demo.domain.vo.*; +import com.example.demo.mapper.StatisticsMapper; +import com.example.demo.serviceImpl.StatisticsServiceImpl; import com.example.demo.serviceImpl.UserServiceImpl; import com.example.demo.sevice.StatisticsService; import lombok.RequiredArgsConstructor; @@ -14,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Arrays; +import java.util.Date; @RestController @@ -26,6 +26,10 @@ public class StatisticsController { private final StatisticsService statisticsService; @Autowired UserServiceImpl userService; + @Autowired + private StatisticsMapper statisticsMapper; + @Autowired + private StatisticsServiceImpl statisticsServiceImpl; @PostMapping("/a") @@ -96,4 +100,15 @@ public class StatisticsController { return Result.success(statisticsService.getMediu()); } + @PostMapping("/getMediuConsumeCoin2") + public Result getMediuConsumeCoin2(@RequestBody SumCoin sumCoin){ + System.out.println(sumCoin.getSearchStartTime()+" -------------searchStartTime----"); + return Result.success(statisticsMapper.getMediuConsumeCoin2(sumCoin)); + } + @PostMapping("/getCoinTime") + public Result getCoinTime(@RequestBody SumCoin sumcoin){ + System.out.println(sumcoin.getSearchStartTime()+" -------------searchStartTime----"); + return Result.success(statisticsServiceImpl.getCoinTime(sumcoin)); + } + } diff --git a/src/main/java/com/example/demo/domain/entity/Activity.java b/src/main/java/com/example/demo/domain/entity/Activity.java index d2fdb23..3298127 100644 --- a/src/main/java/com/example/demo/domain/entity/Activity.java +++ b/src/main/java/com/example/demo/domain/entity/Activity.java @@ -21,34 +21,38 @@ public class Activity implements Serializable { private Integer activityId; private Integer adminId; private String dept; - @JsonSerialize(using = LocalDateTimeSerializer.class) - @JsonDeserialize(using = LocalDateTimeDeserializer.class) - private LocalDateTime startTime; - @JsonSerialize(using = LocalDateTimeSerializer.class) - @JsonDeserialize(using = LocalDateTimeDeserializer.class) - private LocalDateTime endTime; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date startTime; + + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date endTime; private String activityName; private BigDecimal rechargeRatio; - @JsonSerialize(using = LocalDateTimeSerializer.class) - @JsonDeserialize(using = LocalDateTimeDeserializer.class) - private LocalDateTime createTime; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date createTime; private Integer activityFlag; @DateTimeFormat(pattern = "yyyy-MM-dd") private String name; private Integer status; - @JsonSerialize(using = LocalDateTimeSerializer.class) - @JsonDeserialize(using = LocalDateTimeDeserializer.class) - private LocalDateTime startDate; - @JsonSerialize(using = LocalDateTimeSerializer.class) - @JsonDeserialize(using = LocalDateTimeDeserializer.class) - private LocalDateTime endDate; + private Date startDate; + + + private Date endDate; private String token; // 新增的token字段 + + + + private String adminName; + private String freeGold; } diff --git a/src/main/java/com/example/demo/domain/entity/Audit.java b/src/main/java/com/example/demo/domain/entity/Audit.java index 3301803..dadb0fc 100644 --- a/src/main/java/com/example/demo/domain/entity/Audit.java +++ b/src/main/java/com/example/demo/domain/entity/Audit.java @@ -25,5 +25,6 @@ public class Audit { private String reson; private Integer detailId; private String token; + private Recharge recharge; } diff --git a/src/main/java/com/example/demo/domain/entity/Detail.java b/src/main/java/com/example/demo/domain/entity/Detail.java index 6f490aa..4e03fe7 100644 --- a/src/main/java/com/example/demo/domain/entity/Detail.java +++ b/src/main/java/com/example/demo/domain/entity/Detail.java @@ -61,4 +61,12 @@ public class Detail implements Serializable { private BigDecimal allCoin; private String token; + private BigDecimal free6; + private BigDecimal free12; + + private BigDecimal allGold; + + + + } 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 a2c21cb..99c9b88 100644 --- a/src/main/java/com/example/demo/domain/vo/Meium.java +++ b/src/main/java/com/example/demo/domain/vo/Meium.java @@ -1,11 +1,14 @@ package com.example.demo.domain.vo; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.math.BigDecimal; +import java.time.LocalDate; import java.time.LocalDateTime; import java.util.Date; import java.util.HashMap; @@ -22,9 +25,11 @@ public class Meium implements Serializable { private BigDecimal taskSumCoin; private String area; private String store; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") private BigDecimal totalRechargeSum; - private LocalDateTime searchStartTime; - private LocalDateTime searchEndTime; + private Date searchStartTime; + private Date searchEndTime; private String updateType; private String type; private String token; // 新增的token字段 diff --git a/src/main/java/com/example/demo/domain/vo/RechargeVo.java b/src/main/java/com/example/demo/domain/vo/RechargeVo.java index 48e6b32..4de8ad1 100644 --- a/src/main/java/com/example/demo/domain/vo/RechargeVo.java +++ b/src/main/java/com/example/demo/domain/vo/RechargeVo.java @@ -40,4 +40,6 @@ public class RechargeVo { private Integer auditId; private String token; + private Integer detailId; + } \ No newline at end of file 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 ae07286..2635e1d 100644 --- a/src/main/java/com/example/demo/domain/vo/SumCoin.java +++ b/src/main/java/com/example/demo/domain/vo/SumCoin.java @@ -1,9 +1,14 @@ package com.example.demo.domain.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.Date; @Data @NoArgsConstructor @@ -51,8 +56,14 @@ public class SumCoin { private BigDecimal yearSumFreeCoin; //全年累计消耗金币数--下面 消耗任务金币 private BigDecimal yearSumTaskCoin; - - + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date searchStartTime; + + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date searchEndTime; + private String updateType; //中间-11个月 每月充值金币 private BigDecimal rechargeSumCoin; //中间-11个月 每月免费金币 @@ -60,6 +71,8 @@ public class SumCoin { //中间-11个月 每月任务金币 private BigDecimal taskSumCoin; private String month; + private String dayofweek; + private String day; private Integer jwcode; diff --git a/src/main/java/com/example/demo/domain/vo/UserConsumeCoin.java b/src/main/java/com/example/demo/domain/vo/UserConsumeCoin.java new file mode 100644 index 0000000..7e65d9f --- /dev/null +++ b/src/main/java/com/example/demo/domain/vo/UserConsumeCoin.java @@ -0,0 +1,25 @@ +package com.example.demo.domain.vo; + +import com.example.demo.domain.entity.Detail; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.apache.ibatis.annotations.Param; + +import java.math.BigDecimal; + +@Data +@NoArgsConstructor +public class UserConsumeCoin { + + + private String jwcode; + private BigDecimal free6; + private BigDecimal free12; + private BigDecimal rechargeSumCoin; + //中间-11个月 每月免费金币 + private BigDecimal freeSumCoin; + //中间-11个月 每月任务金币 + private BigDecimal taskSumCoin; + private BigDecimal allGold; + // +} diff --git a/src/main/java/com/example/demo/mapper/ActivityMapper.java b/src/main/java/com/example/demo/mapper/ActivityMapper.java index 0db5165..ad13af0 100644 --- a/src/main/java/com/example/demo/mapper/ActivityMapper.java +++ b/src/main/java/com/example/demo/mapper/ActivityMapper.java @@ -63,6 +63,7 @@ public interface ActivityMapper { "AND activity.activity_id = #{activityId}", "", "", + "ORDER BY activity.create_time DESC,activity.start_time DESC", "" }) List select(Activity activity); diff --git a/src/main/java/com/example/demo/mapper/StatisticsMapper.java b/src/main/java/com/example/demo/mapper/StatisticsMapper.java index 03f0148..d94b3c8 100644 --- a/src/main/java/com/example/demo/mapper/StatisticsMapper.java +++ b/src/main/java/com/example/demo/mapper/StatisticsMapper.java @@ -9,6 +9,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.time.LocalDate; import java.time.LocalDateTime; import java.util.Date; import java.util.List; @@ -185,6 +186,8 @@ public interface StatisticsMapper { // "ORDER BY DATE_FORMAT(create_time, '%Y-%m') DESC "}) // List getMediuPayCoin(); + + // 本年 ---充值 @Select({ "SELECT m.month,", " COALESCE(SUM(d.recharge_coin), 0) AS rechargeSumCoin,", @@ -195,7 +198,7 @@ public interface StatisticsMapper { " 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 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 = '充值'", @@ -204,6 +207,7 @@ public interface StatisticsMapper { }) List getMediuPayCoin(); + //本年--消费 @Select({ "SELECT m.month,", " COALESCE(SUM(d.recharge_coin), 0) AS rechargeSumCoin,", @@ -214,7 +218,7 @@ public interface StatisticsMapper { " 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 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 = '消费'", @@ -222,6 +226,183 @@ public interface StatisticsMapper { "ORDER BY m.month DESC" }) List getMediuConsumeCoin(); + // 本月 ---充值 +// @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)" +// }) +// 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" + }) + 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" + }) + + 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 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 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 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 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 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", + "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 getMediuConsumeCoin2(SumCoin sumCoin); + + + + @Select({"SELECT today.jwcode," , "today.rechargeSumCoin AS todayRecharge," , @@ -267,47 +448,26 @@ public interface StatisticsMapper { - @Select({ - "SELECT m.month,", - " 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_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", - " ) AS numbers", - ") AS m", - "LEFT JOIN detail d ON DATE_FORMAT(d.create_time, '%Y-%m') = m.month", - "", - "and detail.create_time between #{searchStartTime} and #{searchEndTime}", - "", - "GROUP BY m.month", - "ORDER BY m.month DESC" - }) - List getMediu(); + @Select({ - "SELECT m.month,", + "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", "FROM (", - " SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL n MONTH), '%Y-%m') AS month", + " SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL n WEEK), '%Y-%u') AS week", " 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 4 UNION ALL SELECT 5", " ) AS numbers", ") AS m", - "LEFT JOIN detail d ON DATE_FORMAT(d.create_time, '%Y-%m') = m.month", + "LEFT JOIN detail d ON DATE_FORMAT(d.create_time, '%Y-%u') = m.week", "", - "and detail.create_time between #{searchStartTime} and #{searchEndTime}", + "AND d.create_time BETWEEN #{searchStartTime} AND #{searchEndTime}", "", - "GROUP BY m.month", - "ORDER BY m.month DESC" + "GROUP BY m.week", + "ORDER BY m.week DESC" }) List getMediu2(); @@ -325,13 +485,13 @@ public interface StatisticsMapper { "FROM detail d", "right JOIN admin ad ON ad.admin_id = d.admin_id", "", - "and d.create_time between #{searchStartTime} and #{searchEndTime}", + "AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})", "", "GROUP BY ad.area, ad.store", "order by freeSumCoin desc", "" }) - List getBuyAndFree(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime); + List getBuyAndFree(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) - List getBuyAndRecharge(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime); + List getBuyAndRecharge(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) - List getBuyAndTask(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime); + List getBuyAndTask(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) - List getBuy(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime); + List getBuy(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) - List getPayAndFree(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime); + List getPayAndFree(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) - List getPayAndRecharge(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime); + List getPayAndRecharge(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) - List getPayAndTask(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime); + List getPayAndTask(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) - List getPay(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime); + + List getPay(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); } + diff --git a/src/main/java/com/example/demo/mapper/UserMapper.java b/src/main/java/com/example/demo/mapper/UserMapper.java index 6a11ff2..6a64198 100644 --- a/src/main/java/com/example/demo/mapper/UserMapper.java +++ b/src/main/java/com/example/demo/mapper/UserMapper.java @@ -67,6 +67,10 @@ public interface UserMapper { "select * from user where name=#{name}" }) User selectByName(String name); + @Select({ + "select * from user where jwcode=#{jwcode}" + }) + User selectByJwcode(String jwcode); @Update({ "