From 0e5dfe0fc283a1d4c6fb33cd190b993ddc50b38d Mon Sep 17 00:00:00 2001 From: sunjiabei Date: Thu, 31 Jul 2025 17:21:38 +0800 Subject: [PATCH] =?UTF-8?q?7=E6=9C=8831=E6=97=A5=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E5=85=85=E5=80=BC=E4=B8=8E=E4=B8=8E=E9=87=91=E5=B8=81=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/bean/BeanRechargeController.java | 15 +++++++++ .../example/demo/domain/vo/bean/BeanRecharge.java | 1 + .../demo/domain/vo/bean/BeanRechargeInfo.java | 2 ++ .../com/example/demo/domain/vo/bean/GoldBean.java | 24 ++++++++++++++ .../demo/service/bean/BeanRechargeService.java | 2 ++ .../serviceImpl/bean/BeanRechargeServiceImpl.java | 37 ++++++++++++++++++++++ .../resources/jindouMapper/BeanRechargeMapper2.xml | 19 ++++++----- 7 files changed, 90 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/example/demo/domain/vo/bean/GoldBean.java diff --git a/src/main/java/com/example/demo/controller/bean/BeanRechargeController.java b/src/main/java/com/example/demo/controller/bean/BeanRechargeController.java index 715cc37..0a4d0db 100644 --- a/src/main/java/com/example/demo/controller/bean/BeanRechargeController.java +++ b/src/main/java/com/example/demo/controller/bean/BeanRechargeController.java @@ -4,6 +4,10 @@ import com.example.demo.Util.JWTUtil; import com.example.demo.domain.entity.Admin; import com.example.demo.domain.vo.bean.BeanRecharge; import com.example.demo.domain.vo.bean.BeanPage; +import com.example.demo.domain.vo.bean.BeanRechargeInfo; +import com.example.demo.domain.vo.bean.GoldBean; +import com.example.demo.domain.vo.coin.Gold; +import com.example.demo.domain.vo.coin.RechargeUser; import com.example.demo.domain.vo.coin.Result; import com.example.demo.service.bean.BeanRechargeService; import jakarta.servlet.http.HttpServletRequest; @@ -65,4 +69,15 @@ public class BeanRechargeController { } } + + //系统金豆统计 + @PostMapping("/statsSystemBean") + public Result statsSystemBean(@RequestBody BeanRechargeInfo beanRechargeInfo) { + try { + GoldBean goldBean = beanRechargeService.statsSystemBean(beanRechargeInfo); + return Result.success(goldBean); + } catch (Exception e) { + return Result.error("请检查数据的格式"); + } + } } \ No newline at end of file diff --git a/src/main/java/com/example/demo/domain/vo/bean/BeanRecharge.java b/src/main/java/com/example/demo/domain/vo/bean/BeanRecharge.java index 02f4ab2..88a5709 100644 --- a/src/main/java/com/example/demo/domain/vo/bean/BeanRecharge.java +++ b/src/main/java/com/example/demo/domain/vo/bean/BeanRecharge.java @@ -22,5 +22,6 @@ public class BeanRecharge { private Integer freeBean; // 免费豆 private Integer permanentBean; // 永久豆 private String remark; //备注 + private Integer money; // 金额 private String adminName; // 管理员名称 } diff --git a/src/main/java/com/example/demo/domain/vo/bean/BeanRechargeInfo.java b/src/main/java/com/example/demo/domain/vo/bean/BeanRechargeInfo.java index 58ae730..57ee8f5 100644 --- a/src/main/java/com/example/demo/domain/vo/bean/BeanRechargeInfo.java +++ b/src/main/java/com/example/demo/domain/vo/bean/BeanRechargeInfo.java @@ -28,6 +28,7 @@ public class BeanRechargeInfo { private String market; // 所属地区 private Integer freeBean; // 免费豆 private Integer permanentBean; // 永久豆 + private Integer money; // 金额 private Integer num; // 数量 private Double amount; // 金额 private String orderNo; // 订单号 @@ -35,6 +36,7 @@ public class BeanRechargeInfo { private String platform; // 充值平台 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private Date rechargeTime; // 充值时间 + private Integer time; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private Date startTime; // 开始时间 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") diff --git a/src/main/java/com/example/demo/domain/vo/bean/GoldBean.java b/src/main/java/com/example/demo/domain/vo/bean/GoldBean.java new file mode 100644 index 0000000..8c87de5 --- /dev/null +++ b/src/main/java/com/example/demo/domain/vo/bean/GoldBean.java @@ -0,0 +1,24 @@ +package com.example.demo.domain.vo.bean; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @program: gold-java + * @ClassName GoldBean + * @description: + * @author: Double + * @create: 2025−07-31 13:10 + * @Version 1.0 + **/ + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class GoldBean { + private Integer freeBean; // 免费豆 + private Integer permanentBean; // 永久豆 + private Integer money; // 金额 + private Integer beanNum; // 豆数量 +} diff --git a/src/main/java/com/example/demo/service/bean/BeanRechargeService.java b/src/main/java/com/example/demo/service/bean/BeanRechargeService.java index 3597c5e..e5f7ed2 100644 --- a/src/main/java/com/example/demo/service/bean/BeanRechargeService.java +++ b/src/main/java/com/example/demo/service/bean/BeanRechargeService.java @@ -2,6 +2,7 @@ package com.example.demo.service.bean; import com.example.demo.domain.vo.bean.BeanRechargeInfo; +import com.example.demo.domain.vo.bean.GoldBean; import com.example.demo.domain.vo.coin.RefundUser; import com.example.demo.domain.vo.coin.Result; import com.example.demo.domain.vo.bean.BeanRecharge; @@ -22,4 +23,5 @@ public interface BeanRechargeService { PageInfo selectBySystem(Integer pageNum, Integer pageSize, BeanRechargeInfo beanRechargeInfo); + GoldBean statsSystemBean(BeanRechargeInfo beanRechargeInfo); } \ No newline at end of file diff --git a/src/main/java/com/example/demo/serviceImpl/bean/BeanRechargeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/bean/BeanRechargeServiceImpl.java index 8bb36a0..f91726e 100644 --- a/src/main/java/com/example/demo/serviceImpl/bean/BeanRechargeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/bean/BeanRechargeServiceImpl.java @@ -2,6 +2,9 @@ package com.example.demo.serviceImpl.bean; import com.example.demo.domain.vo.bean.BeanRecharge; import com.example.demo.domain.vo.bean.BeanRechargeInfo; +import com.example.demo.domain.vo.bean.GoldBean; +import com.example.demo.domain.vo.coin.Gold; +import com.example.demo.domain.vo.coin.RechargeUser; import com.example.demo.domain.vo.coin.Result; import com.example.demo.mapper.bean.BeanRechargeMapper2; import com.example.demo.mapper.coin.BeanRechargeMapper1; @@ -90,6 +93,40 @@ public class BeanRechargeServiceImpl implements BeanRechargeService { } } + //统计系统金豆记录 + @Override + public GoldBean statsSystemBean(BeanRechargeInfo beanRechargeInfo) { + GoldBean gold = new GoldBean(); + List beanRechargeInfos = beanRechargeMapper2.selectBySystem(beanRechargeInfo); + + // 初始化累加器 + int permanentGoldSum = 0; + int freeGoldSum = 0; + int moneySum = 0; + + // 遍历充值记录并累加金币 + for (BeanRechargeInfo info : beanRechargeInfos) { + // 累加永久金币 + if (info.getPermanentBean() != null) { + permanentGoldSum += info.getPermanentBean(); + } + // 累加免费金币 + if (info.getFreeBean() != null) { + freeGoldSum += info.getFreeBean(); + } + // 累加金额 + if (info.getMoney() != null) { + moneySum += info.getMoney(); + } + } + + // 将累加结果设置到Gold对象 + gold.setPermanentBean(permanentGoldSum); + gold.setFreeBean(freeGoldSum); + gold.setMoney(moneySum); + gold.setBeanNum(permanentGoldSum+freeGoldSum); + return gold; + } //系统充值明细 @Override diff --git a/src/main/resources/jindouMapper/BeanRechargeMapper2.xml b/src/main/resources/jindouMapper/BeanRechargeMapper2.xml index c24b04f..48b2fc6 100644 --- a/src/main/resources/jindouMapper/BeanRechargeMapper2.xml +++ b/src/main/resources/jindouMapper/BeanRechargeMapper2.xml @@ -8,20 +8,21 @@ m.dept AS market, f.money_free AS freeBean, f.money_buy AS permanentBean, + f.money AS money, f.content AS remark, FROM_UNIXTIME(f.time) AS rechargeTime FROM fx_yaoqing_records f LEFT JOIN fx_member m ON f.uid = m.id - f.data = 0 - - - AND ( - - m.dept LIKE CONCAT('%', #{market}, '%') - - ) + + AND m.jwcode = #{jwcode} + + + AND m.dept = #{market} + + + AND FROM_UNIXTIME(f.time) BETWEEN #{startTime} AND #{endTime} @@ -37,7 +38,6 @@ f.time - @@ -50,7 +50,6 @@ DESC - f.time DESC