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>
<version>3.0.4</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.1.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>

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

@ -83,15 +83,15 @@ public class AuditController {
} else {
user.setFree12(user.getFree12().add(freeCoin)); // 在7月到12月时返回的值
}
refundMapper.inserty(detail);
userMapper.update(user);
}
// 充值驳回
// if (audit.getStatus() == 2 && audit.getRechargeId() != null) {
// // 获取 detail1 对象
// Detail detail1 = detailMapper.selectByDetailId(audit.getDetailId());
// DetailY detail1 = detailMapper.selectByDetailId(audit.getDetailId());
// 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
public class Detail implements Serializable {
private Integer detailId;
private Integer detailyId;
private String name;
private String jwcode;
private String area;
@ -50,7 +51,7 @@ public class Detail implements Serializable {
private String auditReson;
private String orderCode;
private Integer refundFlag;
private String reson;
// @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
// @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 {
private BigDecimal rechargeSumCoin;
private BigDecimal free6SumCoin;
private BigDecimal free12SumCoin;
private BigDecimal freeSumCoin;
private BigDecimal taskSumCoin;
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 org.apache.ibatis.annotations.*;
import java.util.List;
@ -19,10 +20,18 @@ public interface RefundMapper {
int insert(Detail detail);
@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",
"(jwcode,refund_id,admin_id,create_time,detail_id)",
"(jwcode,refund_id,admin_id,create_time,detail_id,status,reson,audit_flag)",
"values",
"(#{jwcode},#{detailId},#{adminId},now(),#{detailId})"
"(#{jwcode},#{detailId},#{adminId},now(),#{detailId},0,#{reson},1)"
})
int insertAudit(Detail detail);
@ -33,7 +42,7 @@ public interface RefundMapper {
//根据订单号查询
// @Select("select d.* " +
// " 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" )
// Detail selectByOrderCode(@Param("orderCode") String orderCode);
@ -56,7 +65,7 @@ public interface RefundMapper {
@Update("update detail set detail_flag = 0 where detail_id = #{detailId}")
int update(@Param("detailId") Integer detailId);
//是否退款
//退款成功将detail表中的的记录退款状态改为已退款
@Update("update detail set refund_flag = 0 where detail_id = #{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 < NOW()")
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, " +
" SUM(free_coin) AS freeYesterdaySumCoin, " +
@ -40,7 +42,7 @@ public interface StatisticsMapper {
Statistics getYesterdayNewCoin();
//全年累计0人数
@Select("SELECT COUNT(jwcode) AS rechargeCount " +
@Select("SELECT COUNT(DISTINCT jwcode) AS rechargeCount " +
"FROM `detail_y` " +
"WHERE update_type = '0' " +
" AND create_time >= '2024-01-01' " +
@ -48,27 +50,27 @@ public interface StatisticsMapper {
int getYearRechargeCount();
//这周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)")
int getRechargeCountThisWeek();
//上周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)")
int getRechargeCountLastWeek();
//今天的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()")
int getRechargeCountToday();
//昨天的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();")
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")
int getFirstRechargeCountYesterday();
@ -200,15 +202,15 @@ public interface StatisticsMapper {
@Select({
"<script>",
"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>"
})
@ -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 " +
"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);
@ -404,7 +406,7 @@ public interface StatisticsMapper {
" SUM(d.recharge_coin) AS rechargeSumCoin,",
" SUM(d.free_coin) AS freeSumCoin,",
" 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",
"left JOIN user u ON u.jwcode = d.jwcode",
"WHERE update_type = 0 ",
@ -440,7 +442,7 @@ public interface StatisticsMapper {
" SUM(d.recharge_coin) AS rechargeSumCoin,",
" SUM(d.free_coin) AS freeSumCoin,",
" 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",
"left JOIN user u ON u.jwcode = d.jwcode",
"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);
@Select({
"select * from user where jwcode=#{jwcode}"
"select * from user_gold where jwcode=#{jwcode}"
})
User selectByJwcode(String jwcode);
@Update({
"<script>",
"update user",
"update user_gold",
"<set>",
"<if test='buyJb!=null'>buy_jb=#{buyJb},</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='free6!=null'>free_6=#{free6},</if>",
"<if test='free12!=null'>free_12=#{free12},</if>",
"last_time= now()",
"</set>",
"where jwcode=#{jwcode}",
"</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.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.setRechargeYesterdaySumCoin(yesterdayStats.getRechargeYesterdaySumCoin());

Loading…
Cancel
Save