From 68e661685067c68f543d627ff30d9e6534c9063f Mon Sep 17 00:00:00 2001 From: sunjiabei Date: Mon, 18 Aug 2025 14:47:50 +0800 Subject: [PATCH] =?UTF-8?q?8=E6=9C=8818=E6=97=A5=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E9=87=91=E5=B8=81=E7=BB=9F=E8=AE=A1=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/controller/coin/ConsumeController.java | 1 + .../example/demo/domain/vo/coin/HistoryRecord.java | 75 ++++++++++++++++++++++ .../example/demo/mapper/coin/ConsumeMapper.java | 2 + .../demo/mapper/coin/HistoryRecordMapper.java | 22 +++++++ .../example/demo/mapper/coin/RechargeMapper.java | 3 + .../com/example/demo/mapper/coin/RefundMapper.java | 2 + .../demo/service/coin/HistoryRecordService.java | 14 ++++ .../demo/serviceImpl/coin/ConsumeServiceImpl.java | 30 +-------- .../serviceImpl/coin/HistoryRecordServiceImpl.java | 16 +++++ .../demo/serviceImpl/coin/RechargeServiceImpl.java | 24 +------ .../demo/serviceImpl/coin/RefundServiceImpl.java | 31 +-------- .../resources/jindouMapper/BeanRechargeMapper2.xml | 31 --------- src/main/resources/mapper/ConsumeMapper.xml | 42 ++++++++++++ src/main/resources/mapper/RechargeMapper.xml | 42 ++++++++++++ src/main/resources/mapper/RefundMapper.xml | 45 +++++++++++++ .../resources/paymapper/BeanRechargeMapper3.xml | 31 --------- .../sqlServiceMapper/HistoryRecordMapper.xml | 8 +++ 17 files changed, 275 insertions(+), 144 deletions(-) create mode 100644 src/main/java/com/example/demo/domain/vo/coin/HistoryRecord.java create mode 100644 src/main/java/com/example/demo/mapper/coin/HistoryRecordMapper.java create mode 100644 src/main/java/com/example/demo/service/coin/HistoryRecordService.java create mode 100644 src/main/java/com/example/demo/serviceImpl/coin/HistoryRecordServiceImpl.java create mode 100644 src/main/resources/sqlServiceMapper/HistoryRecordMapper.xml diff --git a/src/main/java/com/example/demo/controller/coin/ConsumeController.java b/src/main/java/com/example/demo/controller/coin/ConsumeController.java index 95bf0a1..639dfe8 100644 --- a/src/main/java/com/example/demo/controller/coin/ConsumeController.java +++ b/src/main/java/com/example/demo/controller/coin/ConsumeController.java @@ -126,6 +126,7 @@ public class ConsumeController { Gold gold = consumeService.statsGold(consumeUser); return Result.success(gold); } catch (Exception e) { + e.printStackTrace(); return Result.error("请检查数据的格式"); } } diff --git a/src/main/java/com/example/demo/domain/vo/coin/HistoryRecord.java b/src/main/java/com/example/demo/domain/vo/coin/HistoryRecord.java new file mode 100644 index 0000000..1aa85c3 --- /dev/null +++ b/src/main/java/com/example/demo/domain/vo/coin/HistoryRecord.java @@ -0,0 +1,75 @@ +package com.example.demo.domain.vo.coin; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * @program: gold-java + * @ClassName HistoryRecord + * @description: + * @author: Double + * @create: 2025−08-18 13:42 + * @Version 1.0 + **/ + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class HistoryRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ExcelProperty("客户姓名") + private String name; // 客户姓名 + @ExcelProperty("精网号") + private Integer jwcode; // 精网号 + @ExcelProperty("所属地区") + private String market; // 所属地区 + @ExcelProperty("商品名称") + private String goodsName; // 商品名称 + @ExcelProperty("消费平台") + private String payPlatform; // 消费平台 + @ExcelProperty("金币总数") + private BigDecimal sumGold; // 金币总数 + @ExcelProperty("永久金币") + private BigDecimal permanentGold; // 永久金币 + @ExcelProperty("免费金币") + private BigDecimal freeGold; // 免费金币 + @ExcelProperty("任务金币") + private BigDecimal taskGold; // 任务金币 + @ExcelProperty("备注") + private String remark; // 备注 + @ExcelProperty("提交人ID") + private Integer adminId; //提交人Id + @ExcelProperty("提交人姓名") + private String adminName; //提交人姓名 + @ExcelProperty("是否退款") + private Integer isRefund; //是否退款 + @ExcelProperty("消费时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private Date createTime; // 消费时间 + @ExcelIgnore + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private Date startTime; // 开始时间 + @ExcelIgnore + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private Date endTime; // 结束时间 + + @ExcelIgnore + private String sortField; //排序字段 + @ExcelIgnore + private String sortOrder; //排序顺序 + @ExcelIgnore + private List markets; // 地区列表 + @ExcelProperty + private Integer flag; //是否为员工号 +} diff --git a/src/main/java/com/example/demo/mapper/coin/ConsumeMapper.java b/src/main/java/com/example/demo/mapper/coin/ConsumeMapper.java index 89ace40..a8d899b 100644 --- a/src/main/java/com/example/demo/mapper/coin/ConsumeMapper.java +++ b/src/main/java/com/example/demo/mapper/coin/ConsumeMapper.java @@ -2,6 +2,7 @@ package com.example.demo.mapper.coin; import com.example.demo.domain.entity.UserGoldRecord; import com.example.demo.domain.vo.coin.ConsumeUser; +import com.example.demo.domain.vo.coin.Gold; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -36,4 +37,5 @@ public interface ConsumeMapper { void updateUserGold(UserGoldRecord userGoldRecord); + Gold sumGold(ConsumeUser consumeUser); } diff --git a/src/main/java/com/example/demo/mapper/coin/HistoryRecordMapper.java b/src/main/java/com/example/demo/mapper/coin/HistoryRecordMapper.java new file mode 100644 index 0000000..3386cb8 --- /dev/null +++ b/src/main/java/com/example/demo/mapper/coin/HistoryRecordMapper.java @@ -0,0 +1,22 @@ +package com.example.demo.mapper.coin; + + +import com.example.demo.domain.vo.coin.HistoryRecord; + +import java.util.List; + +/** + * @program: gold-java + * @ClassName HistoryRecordMapper + * @description: + * @author: Double + * @create: 2025−08-18 13:41 + * @Version 1.0 + **/ + +public interface HistoryRecordMapper { + //获取旧的历史记录 + List getOldHistoryRecord(HistoryRecord historyRecord); + //获取新的历史记录 + List getNewHistoryRecord(HistoryRecord historyRecord); +} diff --git a/src/main/java/com/example/demo/mapper/coin/RechargeMapper.java b/src/main/java/com/example/demo/mapper/coin/RechargeMapper.java index 822b02e..3cbfafc 100644 --- a/src/main/java/com/example/demo/mapper/coin/RechargeMapper.java +++ b/src/main/java/com/example/demo/mapper/coin/RechargeMapper.java @@ -2,6 +2,7 @@ package com.example.demo.mapper.coin; import com.example.demo.domain.entity.UserGoldRecord; +import com.example.demo.domain.vo.coin.Gold; import com.example.demo.domain.vo.coin.RechargeUser; import com.example.demo.domain.vo.coin.RefundUser; import org.apache.ibatis.annotations.Mapper; @@ -25,4 +26,6 @@ public interface RechargeMapper { List selectBy(RechargeUser rechargeUser); //添加充值订单 void add(UserGoldRecord userGoldRecord); + + Gold sumGold(RechargeUser rechargeUser); } diff --git a/src/main/java/com/example/demo/mapper/coin/RefundMapper.java b/src/main/java/com/example/demo/mapper/coin/RefundMapper.java index d94af1c..0b99c4a 100644 --- a/src/main/java/com/example/demo/mapper/coin/RefundMapper.java +++ b/src/main/java/com/example/demo/mapper/coin/RefundMapper.java @@ -2,6 +2,7 @@ package com.example.demo.mapper.coin; import com.example.demo.domain.entity.UserGoldRecord; import com.example.demo.domain.vo.coin.ConsumeUser; +import com.example.demo.domain.vo.coin.Gold; import com.example.demo.domain.vo.coin.RefundUser; import org.apache.ibatis.annotations.Mapper; @@ -34,4 +35,5 @@ public interface RefundMapper { //获取商品 List selectGoods(Integer jwcode); + Gold sumGold(RefundUser refundUser); } diff --git a/src/main/java/com/example/demo/service/coin/HistoryRecordService.java b/src/main/java/com/example/demo/service/coin/HistoryRecordService.java new file mode 100644 index 0000000..937748a --- /dev/null +++ b/src/main/java/com/example/demo/service/coin/HistoryRecordService.java @@ -0,0 +1,14 @@ +package com.example.demo.service.coin; + + +/** +@program: gold-java +@ClassName HistorySelectService +@description: +@author: Double +@create: 2025−08-18 13:37 +@Version 1.0 + **/ + +public interface HistoryRecordService { +} diff --git a/src/main/java/com/example/demo/serviceImpl/coin/ConsumeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/coin/ConsumeServiceImpl.java index 9e41d91..4ae1cb5 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/ConsumeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/coin/ConsumeServiceImpl.java @@ -67,35 +67,7 @@ public class ConsumeServiceImpl implements ConsumeService { markets=null; } consumeUser.setMarkets(markets); - Gold gold = new Gold(); - List consumeUsers = consumeMapper.selectBy(consumeUser); - - // 初始化累加器 - BigDecimal permanentGoldSum = BigDecimal.valueOf(0); - BigDecimal freeGoldSum = BigDecimal.valueOf(0); - BigDecimal taskGoldSum = BigDecimal.valueOf(0); - - // 遍历消费记录并累加金币 - for (ConsumeUser user : consumeUsers) { - // 累加永久金币 - if (user.getPermanentGold() != null) { - permanentGoldSum = permanentGoldSum.add(user.getPermanentGold()); - } - // 累加免费金币 - if (user.getFreeGold() != null) { - freeGoldSum = freeGoldSum.add(user.getFreeGold()); - } - // 累加任务金币 - if (user.getTaskGold() != null) { - taskGoldSum = taskGoldSum.add(user.getTaskGold()); - } - } - - // 将累加结果设置到Gold对象 - gold.setPermanentGolds(permanentGoldSum); - gold.setFreeGolds(freeGoldSum); - gold.setTaskGolds(taskGoldSum); - + Gold gold = consumeMapper.sumGold(consumeUser); return gold; } diff --git a/src/main/java/com/example/demo/serviceImpl/coin/HistoryRecordServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/coin/HistoryRecordServiceImpl.java new file mode 100644 index 0000000..1a9728a --- /dev/null +++ b/src/main/java/com/example/demo/serviceImpl/coin/HistoryRecordServiceImpl.java @@ -0,0 +1,16 @@ +package com.example.demo.serviceImpl.coin; + +import com.example.demo.service.coin.HistoryRecordService; + +/** + * @program: gold-java + * @ClassName HistorySelect + * @description: + * @author: Double + * @create: 2025−08-18 13:37 + * @Version 1.0 + **/ + +public class HistoryRecordServiceImpl implements HistoryRecordService { +} + diff --git a/src/main/java/com/example/demo/serviceImpl/coin/RechargeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/coin/RechargeServiceImpl.java index c7b022e..c8a36ac 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/RechargeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/coin/RechargeServiceImpl.java @@ -81,29 +81,7 @@ public class RechargeServiceImpl implements RechargeService { } rechargeUser.setMarkets(markets); - Gold gold = new Gold(); - List rechargeUsers = rechargeMapper.selectBy(rechargeUser); - - // 初始化累加器 - BigDecimal permanentGoldSum = new BigDecimal(0); - BigDecimal freeGoldSum = new BigDecimal(0); - - // 遍历充值记录并累加金币 - for (RechargeUser user : rechargeUsers) { - // 累加永久金币 - if (user.getPermanentGold() != null) { - permanentGoldSum = permanentGoldSum.add(user.getPermanentGold()); - } - // 累加免费金币 - if (user.getFreeGold() != null) { - freeGoldSum = freeGoldSum.add(user.getFreeGold()); - } - } - - // 将累加结果设置到Gold对象 - gold.setPermanentGolds(permanentGoldSum); - gold.setFreeGolds(freeGoldSum); - + Gold gold = rechargeMapper.sumGold(rechargeUser); return gold; } diff --git a/src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java index 9bb0d1e..5db89b8 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java @@ -65,36 +65,7 @@ public class RefundServiceImpl implements RefundService { markets = null; } refundUser.setMarkets(markets); - Gold gold = new Gold(); - List refundUsers = refundMapper.selectBy(refundUser); - - // 初始化累加器 - - BigDecimal permanentGoldSum = BigDecimal.valueOf(0); - BigDecimal freeGoldSum = BigDecimal.valueOf(0); - BigDecimal taskGoldSum = BigDecimal.valueOf(0); - - // 遍历退款记录并累加金币 - for (RefundUser user : refundUsers) { - // 累加永久金币 - if (user.getPermanentGold() != null) { - permanentGoldSum = permanentGoldSum.add(user.getPermanentGold()); - } - // 累加免费金币 - if (user.getFreeGold() != null) { - freeGoldSum = freeGoldSum.add(user.getFreeGold()); - } - // 累加任务金币 - if (user.getTaskGold() != null) { - taskGoldSum = taskGoldSum.add(user.getTaskGold()); - } - } - - // 将累加结果设置到Gold对象 - gold.setPermanentGolds(permanentGoldSum); - gold.setFreeGolds(freeGoldSum); - gold.setTaskGolds(taskGoldSum); - + Gold gold = refundMapper.sumGold(refundUser); return gold; } diff --git a/src/main/resources/jindouMapper/BeanRechargeMapper2.xml b/src/main/resources/jindouMapper/BeanRechargeMapper2.xml index b2c1695..cad4189 100644 --- a/src/main/resources/jindouMapper/BeanRechargeMapper2.xml +++ b/src/main/resources/jindouMapper/BeanRechargeMapper2.xml @@ -81,36 +81,5 @@ AND FROM_UNIXTIME(f.time) BETWEEN #{startTime} AND #{endTime} - - - - - - - f.money_buy - f.money_free - - f.time - - f.time - - - - - ASC - DESC - DESC - - - - DESC - - - - - f.time DESC - - - \ No newline at end of file diff --git a/src/main/resources/mapper/ConsumeMapper.xml b/src/main/resources/mapper/ConsumeMapper.xml index fade5c1..68a913b 100644 --- a/src/main/resources/mapper/ConsumeMapper.xml +++ b/src/main/resources/mapper/ConsumeMapper.xml @@ -158,6 +158,48 @@ + + + + + + + INSERT INTO user_gold_record diff --git a/src/main/resources/mapper/RefundMapper.xml b/src/main/resources/mapper/RefundMapper.xml index 4f23c9d..3003aff 100644 --- a/src/main/resources/mapper/RefundMapper.xml +++ b/src/main/resources/mapper/RefundMapper.xml @@ -168,6 +168,51 @@ + + + INSERT INTO user_gold_record diff --git a/src/main/resources/paymapper/BeanRechargeMapper3.xml b/src/main/resources/paymapper/BeanRechargeMapper3.xml index abe73c8..a91069d 100644 --- a/src/main/resources/paymapper/BeanRechargeMapper3.xml +++ b/src/main/resources/paymapper/BeanRechargeMapper3.xml @@ -92,36 +92,5 @@ AND FROM_UNIXTIME(g.add_time) BETWEEN #{startTime} AND #{endTime} - - - - - - - g.count - g.price - - g.add_time - - g.add_time - - - - - ASC - DESC - DESC - - - - DESC - - - - - g.add_time DESC - - - \ No newline at end of file diff --git a/src/main/resources/sqlServiceMapper/HistoryRecordMapper.xml b/src/main/resources/sqlServiceMapper/HistoryRecordMapper.xml new file mode 100644 index 0000000..0d0e18c --- /dev/null +++ b/src/main/resources/sqlServiceMapper/HistoryRecordMapper.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file