From b8a58b038a2c74a1c22fd7f4d19550aa607f91be Mon Sep 17 00:00:00 2001 From: sunjiabei Date: Mon, 23 Jun 2025 16:14:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E8=B4=B9=E6=A8=A1=E5=9D=97=EF=BC=8C?= =?UTF-8?q?=E6=B6=88=E8=B4=B9=E9=87=91=E5=B8=81=E7=BB=9F=E8=AE=A1=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/demo/controller/ConsumeController.java | 11 +++++++ src/main/java/com/example/demo/domain/vo/Gold.java | 23 ++++++++++++++ .../com/example/demo/service/ConsumeService.java | 3 ++ .../demo/serviceImpl/ConsumeServiceImpl.java | 37 ++++++++++++++++++++++ 4 files changed, 74 insertions(+) create mode 100644 src/main/java/com/example/demo/domain/vo/Gold.java diff --git a/src/main/java/com/example/demo/controller/ConsumeController.java b/src/main/java/com/example/demo/controller/ConsumeController.java index 3184351..ba12bcf 100644 --- a/src/main/java/com/example/demo/controller/ConsumeController.java +++ b/src/main/java/com/example/demo/controller/ConsumeController.java @@ -1,6 +1,7 @@ package com.example.demo.controller; import com.example.demo.domain.vo.Consume; +import com.example.demo.domain.vo.Gold; import com.example.demo.domain.vo.Result; import com.example.demo.service.ConsumeService; import lombok.RequiredArgsConstructor; @@ -29,10 +30,20 @@ public class ConsumeController { @Autowired private ConsumeService consumeService; + //消耗明细 @PostMapping("/selectAll") public Result selcetAll() { List consumes = consumeService.selectAll(); return Result.success(consumes); } + + //消耗金币统计 + @PostMapping("/statsGold") + public Result statsGold() + { + Gold gold = consumeService.statsGold(); + return Result.success(gold); + } + } diff --git a/src/main/java/com/example/demo/domain/vo/Gold.java b/src/main/java/com/example/demo/domain/vo/Gold.java new file mode 100644 index 0000000..64f5ea1 --- /dev/null +++ b/src/main/java/com/example/demo/domain/vo/Gold.java @@ -0,0 +1,23 @@ +package com.example.demo.domain.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @program: gold-java + * @ClassName Gold + * @description: 金币信息 + * @author: Double + * @create: 2025−06-23 15:53 + * @Version 1.0 + **/ + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Gold { + private Integer permanentGolds; // 永久金币总数 + private Integer freeGolds; // 免费金币总数 + private Integer taskGolds; // 任务金币总数 +} diff --git a/src/main/java/com/example/demo/service/ConsumeService.java b/src/main/java/com/example/demo/service/ConsumeService.java index a660336..7c52636 100644 --- a/src/main/java/com/example/demo/service/ConsumeService.java +++ b/src/main/java/com/example/demo/service/ConsumeService.java @@ -2,6 +2,7 @@ package com.example.demo.service; import com.example.demo.domain.vo.Consume; +import com.example.demo.domain.vo.Gold; import java.util.List; @@ -16,4 +17,6 @@ import java.util.List; public interface ConsumeService { List selectAll(); + + Gold statsGold(); } diff --git a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java index f2821ce..0aa9b33 100644 --- a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java @@ -1,6 +1,7 @@ package com.example.demo.serviceImpl; import com.example.demo.domain.vo.Consume; +import com.example.demo.domain.vo.Gold; import com.example.demo.mapper.ConsumeMapper; import com.example.demo.service.ConsumeService; import org.springframework.beans.factory.annotation.Autowired; @@ -23,9 +24,45 @@ public class ConsumeServiceImpl implements ConsumeService { @Autowired private ConsumeMapper consumeMapper; + //消耗明细 @Override public List selectAll() { List consumes = consumeMapper.selectAll(); return consumes; } + + //消耗金币统计 + @Override + public Gold statsGold() { + Gold gold = new Gold(); + List consumes = consumeMapper.selectAll(); + + // 初始化累加器 + int permanentGoldSum = 0; + int freeGoldSum = 0; + int taskGoldSum = 0; + + // 遍历消费记录并累加金币 + for (Consume consume : consumes) { + // 累加永久金币 + if (consume.getPermanentGold() != null) { + permanentGoldSum += consume.getPermanentGold(); + } + // 累加免费金币 + if (consume.getFreeGold() != null) { + freeGoldSum += consume.getFreeGold(); + } + // 累加任务金币 + if (consume.getTaskGold() != null) { + taskGoldSum += consume.getTaskGold(); + } + } + + // 将累加结果设置到Gold对象 + gold.setPermanentGolds(permanentGoldSum); + gold.setFreeGolds(freeGoldSum); + gold.setTaskGolds(taskGoldSum); + + return gold; + } }