Browse Source

测试

detached
zhangluping 5 months ago
parent
commit
6d52bf6d44
  1. 6
      pom.xml
  2. 6
      src/main/java/com/example/demo/controller/AuditController.java
  3. 3
      src/main/java/com/example/demo/domain/entity/Detail.java
  4. 48
      src/main/java/com/example/demo/domain/entity/UserDetailExport.java
  5. 2
      src/main/java/com/example/demo/domain/vo/Statistics.java
  6. 17
      src/main/java/com/example/demo/mapper/RefundMapper.java
  7. 40
      src/main/java/com/example/demo/mapper/StatisticsMapper.java
  8. 5
      src/main/java/com/example/demo/mapper/UserMapper.java
  9. 5
      src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java

6
pom.xml

@ -84,7 +84,11 @@
<artifactId>mybatis-spring-boot-starter</artifactId> <artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.4</version> <version>3.0.4</version>
</dependency> </dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.1.3</version>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId> <artifactId>spring-boot-devtools</artifactId>

6
src/main/java/com/example/demo/controller/AuditController.java

@ -83,15 +83,15 @@ public class AuditController {
} else { } else {
user.setFree12(user.getFree12().add(freeCoin)); // 在7月到12月时返回的值 user.setFree12(user.getFree12().add(freeCoin)); // 在7月到12月时返回的值
} }
refundMapper.inserty(detail);
userMapper.update(user); userMapper.update(user);
} }
// 充值驳回 // 充值驳回
// if (audit.getStatus() == 2 && audit.getRechargeId() != null) { // if (audit.getStatus() == 2 && audit.getRechargeId() != null) {
// // 获取 detail1 对象 // // 获取 detail1 对象
// Detail detail1 = detailMapper.selectByDetailId(audit.getDetailId());
// DetailY detail1 = detailMapper.selectByDetailId(audit.getDetailId());
// if (detail1 == null) { // if (detail1 == null) {
// throw new RuntimeException("驳回失败!未找到对应的 Detail 信息,audit.getDetailId() = " + audit.getDetailId());
// throw new RuntimeException("驳回失败!未找到对应的 DetailY 信息,audit.getDetailId() = " + audit.getDetailId());
// } // }
// //
// // 获取金币数据 // // 获取金币数据

3
src/main/java/com/example/demo/domain/entity/Detail.java

@ -14,6 +14,7 @@ import java.util.Date;
@NoArgsConstructor @NoArgsConstructor
public class Detail implements Serializable { public class Detail implements Serializable {
private Integer detailId; private Integer detailId;
private Integer detailyId;
private String name; private String name;
private String jwcode; private String jwcode;
private String area; private String area;
@ -50,7 +51,7 @@ public class Detail implements Serializable {
private String auditReson; private String auditReson;
private String orderCode; private String orderCode;
private Integer refundFlag; private Integer refundFlag;
private String reson;
// @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")

48
src/main/java/com/example/demo/domain/entity/UserDetailExport.java

@ -0,0 +1,48 @@
package com.example.demo.domain.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class UserDetailExport {
@ExcelProperty("用户序号")
@ColumnWidth(20)
private int Id;
@ExcelProperty("用户名")
@ColumnWidth(20)
private String Name;
@ExcelProperty("精网号")
@ColumnWidth(20)
private String jwcode;
@ExcelProperty("所属地区")
@ColumnWidth(20)
private String area;
@ExcelProperty("平台信息")
@ColumnWidth(20)
private String platformInfo;
@ExcelProperty("更新数量")
@ColumnWidth(20)
private BigDecimal count;
@ExcelProperty("更新类型")
@ColumnWidth(20)
private int update_type;
@ExcelProperty("充值金币")
@ColumnWidth(20)
private BigDecimal rechargeCoin;
@ExcelProperty("免费金币")
@ColumnWidth(20)
private BigDecimal freeCoin;
@ExcelProperty("任务金币")
@ColumnWidth(20)
private BigDecimal taskCoin;
@ExcelProperty("提交人")
@ColumnWidth(20)
private String submitName;
@ExcelProperty("更新时间")
@ColumnWidth(20)
private String updateTime;
}

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

@ -12,6 +12,8 @@ import java.math.BigDecimal;
public class Statistics { public class Statistics {
private BigDecimal rechargeSumCoin; private BigDecimal rechargeSumCoin;
private BigDecimal free6SumCoin;
private BigDecimal free12SumCoin;
private BigDecimal freeSumCoin; private BigDecimal freeSumCoin;
private BigDecimal taskSumCoin; private BigDecimal taskSumCoin;
private BigDecimal totalSumCoin; private BigDecimal totalSumCoin;

17
src/main/java/com/example/demo/mapper/RefundMapper.java

@ -2,6 +2,7 @@ package com.example.demo.mapper;
import com.example.demo.domain.entity.Detail; import com.example.demo.domain.entity.Detail;
import com.example.demo.domain.entity.Detail;
import org.apache.ibatis.annotations.*; import org.apache.ibatis.annotations.*;
import java.util.List; import java.util.List;
@ -19,10 +20,18 @@ public interface RefundMapper {
int insert(Detail detail); int insert(Detail detail);
@Insert({ @Insert({
"insert into detail_y",
"(jwcode,refund_type,refund_goods,contact_id,recharge_coin,free_coin,task_coin,remark,admin_id,create_time,update_type,order_code)",
"values",
"(#{jwcode},#{refundType},#{refundGoods},#{contactId},#{rechargeCoin},#{freeCoin},#{taskCoin},#{remark},#{adminId},now(),2,#{orderCode})"
})
@Options(useGeneratedKeys = true, keyColumn = "detaily_id", keyProperty = "detailyId")
int inserty(Detail detail);
@Insert({
"insert into audit", "insert into audit",
"(jwcode,refund_id,admin_id,create_time,detail_id)",
"(jwcode,refund_id,admin_id,create_time,detail_id,status,reson,audit_flag)",
"values", "values",
"(#{jwcode},#{detailId},#{adminId},now(),#{detailId})"
"(#{jwcode},#{detailId},#{adminId},now(),#{detailId},0,#{reson},1)"
}) })
int insertAudit(Detail detail); int insertAudit(Detail detail);
@ -33,7 +42,7 @@ public interface RefundMapper {
//根据订单号查询 //根据订单号查询
// @Select("select d.* " + // @Select("select d.* " +
// " p.name AS productName" + // " p.name AS productName" +
// "FROM detail where order_code = #{orderCode} and detail_flag = 1" +
// "FROM detaily where order_code = #{orderCode} and detail_flag = 1" +
// "LEFT JOIN product p ON d.product_id = p.id" ) // "LEFT JOIN product p ON d.product_id = p.id" )
// Detail selectByOrderCode(@Param("orderCode") String orderCode); // Detail selectByOrderCode(@Param("orderCode") String orderCode);
@ -56,7 +65,7 @@ public interface RefundMapper {
@Update("update detail set detail_flag = 0 where detail_id = #{detailId}") @Update("update detail set detail_flag = 0 where detail_id = #{detailId}")
int update(@Param("detailId") Integer detailId); int update(@Param("detailId") Integer detailId);
//是否退款
//退款成功将detail表中的的记录退款状态改为已退款
@Update("update detail set refund_flag = 0 where detail_id = #{contactId}") @Update("update detail set refund_flag = 0 where detail_id = #{contactId}")
int updateOrderCode(Integer contactId); int updateOrderCode(Integer contactId);

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

@ -27,7 +27,9 @@ public interface StatisticsMapper {
" 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 SUM(free_6) AS free6SumCoin,SUM(free_12) AS free12SumCoin From user_gold")
Statistics getFreeCoinTotal();
//昨日新增 //昨日新增
@Select("SELECT SUM(recharge_coin) AS rechargeYesterdaySumCoin, " + @Select("SELECT SUM(recharge_coin) AS rechargeYesterdaySumCoin, " +
" SUM(free_coin) AS freeYesterdaySumCoin, " + " SUM(free_coin) AS freeYesterdaySumCoin, " +
@ -40,7 +42,7 @@ public interface StatisticsMapper {
Statistics getYesterdayNewCoin(); Statistics getYesterdayNewCoin();
//全年累计0人数 //全年累计0人数
@Select("SELECT COUNT(jwcode) AS rechargeCount " +
@Select("SELECT COUNT(DISTINCT jwcode) AS rechargeCount " +
"FROM `detail_y` " + "FROM `detail_y` " +
"WHERE update_type = '0' " + "WHERE update_type = '0' " +
" AND create_time >= '2024-01-01' " + " AND create_time >= '2024-01-01' " +
@ -48,27 +50,27 @@ public interface StatisticsMapper {
int getYearRechargeCount(); int getYearRechargeCount();
//这周0数量 //这周0数量
@Select("SELECT COUNT(jwcode) AS rechargeCountThisWeek " +
@Select("SELECT COUNT(DISTINCT jwcode) AS rechargeCountThisWeek " +
"FROM `detail_y` WHERE update_type = '0' AND YEARWEEK(create_time, 1) = YEARWEEK(CURDATE(), 1)") "FROM `detail_y` WHERE update_type = '0' AND YEARWEEK(create_time, 1) = YEARWEEK(CURDATE(), 1)")
int getRechargeCountThisWeek(); int getRechargeCountThisWeek();
//上周0数量 //上周0数量
@Select("SELECT COUNT(jwcode) AS rechargeCountLastWeek " +
@Select("SELECT COUNT(DISTINCT jwcode) AS rechargeCountLastWeek " +
"FROM `detail_y` WHERE update_type = '0' AND YEARWEEK(create_time, 1) = YEARWEEK(CURDATE() - INTERVAL 1 WEEK, 1)") "FROM `detail_y` WHERE update_type = '0' AND YEARWEEK(create_time, 1) = YEARWEEK(CURDATE() - INTERVAL 1 WEEK, 1)")
int getRechargeCountLastWeek(); int getRechargeCountLastWeek();
//今天的0数量 //今天的0数量
@Select("SELECT COUNT(jwcode) AS rechargeCountToday " +
@Select("SELECT COUNT(DISTINCT jwcode) AS rechargeCountToday " +
"FROM `detail_y` WHERE update_type = '0' AND create_time >= CURDATE()") "FROM `detail_y` WHERE update_type = '0' AND create_time >= CURDATE()")
int getRechargeCountToday(); int getRechargeCountToday();
//昨天的0数量 //昨天的0数量
@Select("SELECT COUNT(jwcode) AS rechargeCountYesterday " +
@Select("SELECT COUNT(DISTINCT jwcode) AS rechargeCountYesterday " +
"FROM `detail_y` WHERE update_type = '0' AND create_time >=CURDATE() - INTERVAL 1 DAY AND create_time < CURDATE();") "FROM `detail_y` 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(DISTINCT jwcode) AS firstRechargeCountYesterday "+
"FROM `detail_y` WHERE update_type = '0' AND create_time >=CURDATE() - INTERVAL 1 DAY AND create_time < CURDATE() AND first_recharge = 1") "FROM `detail_y` WHERE update_type = '0' AND create_time >=CURDATE() - INTERVAL 1 DAY AND create_time < CURDATE() AND first_recharge = 1")
int getFirstRechargeCountYesterday(); int getFirstRechargeCountYesterday();
@ -200,15 +202,15 @@ public interface StatisticsMapper {
@Select({ @Select({
"<script>", "<script>",
"SELECT DATE_FORMAT(create_time, '%Y-%m') AS month," , "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_y" ,
" WHERE update_type = '0'" ,
"<if test='searchStartTime != null and searchEndTime != null'>",
" AND create_time BETWEEN #{searchStartTime} AND #{searchEndTime}",
"</if>",
"GROUP BY month ORDER BY month ASC",
" SUM(recharge_coin) AS rechargeSumCoin," ,
" SUM(free_coin) AS freeSumCoin," ,
" SUM(task_coin) AS taskSumCoin" ,
" FROM detail_y" ,
" WHERE update_type = '0'" ,
"<if test='searchStartTime != null and searchEndTime != null'>",
" AND create_time BETWEEN #{searchStartTime} AND #{searchEndTime}",
"</if>",
"GROUP BY month ORDER BY month ASC",
"</script>" "</script>"
}) })
@ -250,7 +252,7 @@ public interface StatisticsMapper {
@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 " + @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_y where datediff(create_time,#{searchStartTime})>=0 " + "from detail_y where datediff(create_time,#{searchStartTime})>=0 " +
"and datediff(create_time,#{searchEndTime})<=0 and update_type = 1 group by DATE_FORMAT(create_time,'%m-%d')"
"and datediff(create_time,#{searchEndTime})<=0 and update_type = 1 group by DATE_FORMAT(create_time,'%m-%d')"
}) })
List<SumCoin> getMediuCounsumeCoinyue(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); List<SumCoin> getMediuCounsumeCoinyue(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
@ -404,7 +406,7 @@ public interface StatisticsMapper {
" SUM(d.recharge_coin) AS rechargeSumCoin,", " SUM(d.recharge_coin) AS rechargeSumCoin,",
" SUM(d.free_coin) AS freeSumCoin,", " SUM(d.free_coin) AS freeSumCoin,",
" SUM(d.task_coin) AS taskSumCoin,", " SUM(d.task_coin) AS taskSumCoin,",
" (SUM(d.recharge_coin) +SUM(d.free_coin) +SUM(d.task_coin)) AS totalRechargeSum",
" (SUM(d.recharge_coin) +SUM(d.free_coin) +SUM(d.task_coin)) AS totalRechargeSum",
"FROM detail_y d", "FROM detail_y d",
"left JOIN user u ON u.jwcode = d.jwcode", "left JOIN user u ON u.jwcode = d.jwcode",
"WHERE update_type = 0 ", "WHERE update_type = 0 ",
@ -440,7 +442,7 @@ public interface StatisticsMapper {
" SUM(d.recharge_coin) AS rechargeSumCoin,", " SUM(d.recharge_coin) AS rechargeSumCoin,",
" SUM(d.free_coin) AS freeSumCoin,", " SUM(d.free_coin) AS freeSumCoin,",
" SUM(d.task_coin) AS taskSumCoin,", " SUM(d.task_coin) AS taskSumCoin,",
" (SUM(d.recharge_coin) +SUM(d.free_coin) +SUM(d.task_coin)) AS totalRechargeSum",
" (SUM(d.recharge_coin) +SUM(d.free_coin) +SUM(d.task_coin)) AS totalRechargeSum",
"FROM detail_y d", "FROM detail_y d",
"left JOIN user u ON u.jwcode = d.jwcode", "left JOIN user u ON u.jwcode = d.jwcode",
"WHERE update_type = 0 ", "WHERE update_type = 0 ",

5
src/main/java/com/example/demo/mapper/UserMapper.java

@ -74,13 +74,13 @@ public interface UserMapper {
}) })
User selectByName(String name); User selectByName(String name);
@Select({ @Select({
"select * from user where jwcode=#{jwcode}"
"select * from user_gold where jwcode=#{jwcode}"
}) })
User selectByJwcode(String jwcode); User selectByJwcode(String jwcode);
@Update({ @Update({
"<script>", "<script>",
"update user",
"update user_gold",
"<set>", "<set>",
"<if test='buyJb!=null'>buy_jb=#{buyJb},</if>", "<if test='buyJb!=null'>buy_jb=#{buyJb},</if>",
"<if test='coreJb!=null'>core_jb=#{coreJb},</if>", "<if test='coreJb!=null'>core_jb=#{coreJb},</if>",
@ -99,6 +99,7 @@ public interface UserMapper {
"<if test='coreJb!=null'>core_jb=#{coreJb},</if>", "<if test='coreJb!=null'>core_jb=#{coreJb},</if>",
"<if test='free6!=null'>free_6=#{free6},</if>", "<if test='free6!=null'>free_6=#{free6},</if>",
"<if test='free12!=null'>free_12=#{free12},</if>", "<if test='free12!=null'>free_12=#{free12},</if>",
"last_time= now()",
"</set>", "</set>",
"where jwcode=#{jwcode}", "where jwcode=#{jwcode}",
"</script>", "</script>",

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

@ -44,6 +44,11 @@ public class StatisticsServiceImpl implements StatisticsService {
statistics.setTaskSumCoin(yearStats.getTaskSumCoin()); statistics.setTaskSumCoin(yearStats.getTaskSumCoin());
statistics.setTotalSumCoin(yearStats.getTotalSumCoin()); statistics.setTotalSumCoin(yearStats.getTotalSumCoin());
//免费金币6/12到期数量
Statistics free =CheckIfNullUtil.defaultIfNull(statisticsMapper.getFreeCoinTotal(), new Statistics());
statistics.setFree6SumCoin(free.getFree6SumCoin());
statistics.setFree12SumCoin(free.getFree12SumCoin());
// 昨日新增数据 // 昨日新增数据
Statistics yesterdayStats = CheckIfNullUtil.defaultIfNull(statisticsMapper.getYesterdayNewCoin(), new Statistics()); Statistics yesterdayStats = CheckIfNullUtil.defaultIfNull(statisticsMapper.getYesterdayNewCoin(), new Statistics());
statistics.setRechargeYesterdaySumCoin(yesterdayStats.getRechargeYesterdaySumCoin()); statistics.setRechargeYesterdaySumCoin(yesterdayStats.getRechargeYesterdaySumCoin());

Loading…
Cancel
Save