From 92c3c44b4b4784dcfb09f6048c38eb471fea4f3f Mon Sep 17 00:00:00 2001 From: sunjiabei Date: Fri, 1 Aug 2025 17:27:41 +0800 Subject: [PATCH] =?UTF-8?q?8=E6=9C=881=E6=97=A5=E5=85=85=E5=80=BC=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8=E6=8E=A5=E5=8F=A3=E8=A1=A5=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/controller/bean/BeanAuditController.java | 13 +++++++++ .../demo/domain/vo/bean/BeanRechargeInfo.java | 15 ++++++++-- .../com/example/demo/domain/vo/bean/GoldBean.java | 1 + .../demo/service/bean/BeanAuditService.java | 3 ++ .../serviceImpl/bean/BeanAuditServiceImpl.java | 33 ++++++++++++++++++++++ 5 files changed, 63 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/example/demo/controller/bean/BeanAuditController.java b/src/main/java/com/example/demo/controller/bean/BeanAuditController.java index 4ee2860..98f89bb 100644 --- a/src/main/java/com/example/demo/controller/bean/BeanAuditController.java +++ b/src/main/java/com/example/demo/controller/bean/BeanAuditController.java @@ -1,6 +1,8 @@ package com.example.demo.controller.bean; import com.example.demo.domain.vo.bean.BeanAuditInfo; +import com.example.demo.domain.vo.bean.BeanRechargeInfo; +import com.example.demo.domain.vo.bean.GoldBean; import com.example.demo.domain.vo.coin.Page; import com.example.demo.domain.vo.coin.Result; import com.example.demo.service.bean.BeanAuditService; @@ -73,4 +75,15 @@ public class BeanAuditController { return Result.error("更新失败,查看id"); } } + + //金豆统计 + @PostMapping("/statsBean") + public Result statsBean(@RequestBody BeanAuditInfo beanAuditInfo) { + try { + GoldBean goldBean = beanAuditService.statsBean(beanAuditInfo); + return Result.success(goldBean); + } catch (Exception e) { + return Result.error("请检查数据的格式"); + } + } } 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 ddd5372..6dc7101 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 @@ -1,5 +1,6 @@ package com.example.demo.domain.vo.bean; +import com.alibaba.excel.annotation.ExcelProperty; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Data; @@ -22,21 +23,31 @@ import java.util.List; @AllArgsConstructor public class BeanRechargeInfo { + private Long id;//id + @ExcelProperty("精网号") private Integer jwcode; // 精网号 + @ExcelProperty("客户姓名") private String name; // 姓名 + @ExcelProperty("所属地区") private String market; // 所属地区 + @ExcelProperty("免费金豆") private Integer freeBean; // 免费豆 + @ExcelProperty("永久金豆") private Integer permanentBean; // 永久豆 + @ExcelProperty("金额") private Double money; // 金额 + @ExcelProperty("数量") private Integer num; // 数量 - private Double amount; // 金额 + @ExcelProperty("订单号") private String orderNo; // 订单号 + @ExcelProperty("备注") private String remark; //备注 + @ExcelProperty("充值平台") private String platform; // 充值平台 + @ExcelProperty("充值时间") @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 index 4ec287a..30b81cc 100644 --- a/src/main/java/com/example/demo/domain/vo/bean/GoldBean.java +++ b/src/main/java/com/example/demo/domain/vo/bean/GoldBean.java @@ -21,4 +21,5 @@ public class GoldBean { private Integer permanentBean; // 永久豆 private Double money; // 金额 private Integer beanNum; // 豆数量 + private Integer num; // 订单数 } diff --git a/src/main/java/com/example/demo/service/bean/BeanAuditService.java b/src/main/java/com/example/demo/service/bean/BeanAuditService.java index 8cdd4f5..54bb0f1 100644 --- a/src/main/java/com/example/demo/service/bean/BeanAuditService.java +++ b/src/main/java/com/example/demo/service/bean/BeanAuditService.java @@ -2,6 +2,7 @@ package com.example.demo.service.bean; import com.example.demo.domain.vo.bean.BeanAuditInfo; import com.example.demo.domain.vo.bean.BeanRechargeInfo; +import com.example.demo.domain.vo.bean.GoldBean; import com.example.demo.domain.vo.coin.Result; import com.github.pagehelper.PageInfo; @@ -21,4 +22,6 @@ public interface BeanAuditService { Result updateStatus1(Long id); void updateStatus2(Long id); + + GoldBean statsBean(BeanAuditInfo beanAuditInfo); } diff --git a/src/main/java/com/example/demo/serviceImpl/bean/BeanAuditServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/bean/BeanAuditServiceImpl.java index 57b83fe..f7e5faa 100644 --- a/src/main/java/com/example/demo/serviceImpl/bean/BeanAuditServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/bean/BeanAuditServiceImpl.java @@ -2,6 +2,7 @@ package com.example.demo.serviceImpl.bean; import com.example.demo.domain.vo.bean.BeanAuditInfo; import com.example.demo.domain.vo.bean.BeanRechargeInfo; +import com.example.demo.domain.vo.bean.GoldBean; import com.example.demo.domain.vo.coin.Result; import com.example.demo.mapper.coin.BeanAuditMapper; import com.example.demo.service.bean.BeanAuditService; @@ -95,4 +96,36 @@ public class BeanAuditServiceImpl implements BeanAuditService { public void updateStatus2(Long id) { beanAuditMapper.updateStatus2(id); } + + @Override + public GoldBean statsBean(BeanAuditInfo beanAuditInfo) { + GoldBean gold = new GoldBean(); + List beanAuditInfos = beanAuditMapper.selectBy(beanAuditInfo); + + // 初始化累加器 + int permanentGoldSum = 0; + int freeGoldSum = 0; + int num = 0; + + // 遍历充值记录并累加金币 + for (BeanAuditInfo info : beanAuditInfos) { + // 累加永久金币 + if (info.getPermanentBean() != null) { + permanentGoldSum += info.getPermanentBean(); + } + // 累加免费金币 + if (info.getFreeBean() != null) { + freeGoldSum += info.getFreeBean(); + } + num++; + } + + // 将累加结果设置到Gold对象 + gold.setPermanentBean(permanentGoldSum); + gold.setFreeBean(freeGoldSum); + gold.setNum(num); + gold.setBeanNum(permanentGoldSum + freeGoldSum); + return gold; + } + }