From 997b96d44fff4553425b2f0bf5a9bfdafa65abb8 Mon Sep 17 00:00:00 2001 From: lijianlin Date: Mon, 18 Aug 2025 17:30:58 +0800 Subject: [PATCH] =?UTF-8?q?8-18=20=E5=AE=A2=E6=88=B7=E9=87=91=E5=B8=81?= =?UTF-8?q?=E4=BD=99=E9=A2=9D=E5=90=88=E8=AE=A1=E6=95=B0=E4=BC=98=E5=8C=96?= =?UTF-8?q?+=E6=98=8E=E7=BB=86=E9=A1=B5=E9=9D=A2=E5=91=98=E5=B7=A5?= =?UTF-8?q?=E5=8F=B7=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/demo/domain/vo/coin/GoldDetail.java | 2 +- .../example/demo/mapper/coin/GoldDetailMapper.java | 4 ++ .../serviceImpl/coin/GoldDetailServiceImpl.java | 40 +--------------- src/main/resources/mapper/GoldDetailMapper.xml | 55 ++++++++++++++++++---- 4 files changed, 54 insertions(+), 47 deletions(-) diff --git a/src/main/java/com/example/demo/domain/vo/coin/GoldDetail.java b/src/main/java/com/example/demo/domain/vo/coin/GoldDetail.java index f63847e..35ce6e2 100644 --- a/src/main/java/com/example/demo/domain/vo/coin/GoldDetail.java +++ b/src/main/java/com/example/demo/domain/vo/coin/GoldDetail.java @@ -64,6 +64,6 @@ public class GoldDetail { @ExcelIgnore private List markets; @ExcelIgnore - private Integer UserFlag;// 用户标识 + private Integer flag;// 是否为员工号 0员工号 1非员工号 } diff --git a/src/main/java/com/example/demo/mapper/coin/GoldDetailMapper.java b/src/main/java/com/example/demo/mapper/coin/GoldDetailMapper.java index 8fb20b3..a29dbe1 100644 --- a/src/main/java/com/example/demo/mapper/coin/GoldDetailMapper.java +++ b/src/main/java/com/example/demo/mapper/coin/GoldDetailMapper.java @@ -1,6 +1,7 @@ package com.example.demo.mapper.coin; import com.example.demo.domain.entity.User; +import com.example.demo.domain.vo.coin.Gold; import com.example.demo.domain.vo.coin.GoldDetail; import com.example.demo.domain.vo.coin.Total; import lombok.Data; @@ -26,6 +27,9 @@ public interface GoldDetailMapper { Total getTotal(GoldDetail goldDetail); List getGold(User user); Total GoldTotal(User user); + //获取金币明细合计数 + Gold sumGold(@Param("goldDetail") GoldDetail goldDetail); + @Data public static class ExportRecordIdHolder{ private Long id; diff --git a/src/main/java/com/example/demo/serviceImpl/coin/GoldDetailServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/coin/GoldDetailServiceImpl.java index d1f18db..436db12 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/GoldDetailServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/coin/GoldDetailServiceImpl.java @@ -78,44 +78,8 @@ public class GoldDetailServiceImpl implements GoldDetailService { */ @Override public Gold sumGold(Integer pageNum, Integer pageSize, GoldDetail goldDetail) { - Gold gold = new Gold(); - //获取订单列表 - PageHelper.startPage(1, 500000); - List goldDetails = goldDetailMapper.getGoldDetail(goldDetail); - // List goldDetails=goldDetailMapper.getGoldDetail1(1,500000,goldDetail); - - // 初始化累加器 - int totalNum=0; - BigDecimal permanentGoldSum = BigDecimal.ZERO; - BigDecimal freeGoldSum = BigDecimal.ZERO; - BigDecimal taskGoldSum = BigDecimal.ZERO; - -// 遍历消费记录并累加金币 - for (GoldDetail detail : goldDetails) { - // 累加永久金币 - if (detail.getPermanentGold() != null) { - permanentGoldSum = permanentGoldSum.add(detail.getPermanentGold()); - } - // 累加免费金币 - if (detail.getFreeJune() != null||detail.getFreeDecember() != null) { - BigDecimal freeJune = (detail.getFreeJune() != null) ? detail.getFreeJune() : BigDecimal.ZERO; - BigDecimal freeDecember = (detail.getFreeDecember() != null) ? detail.getFreeDecember() : BigDecimal.ZERO; - freeGoldSum = freeGoldSum.add(freeJune).add(freeDecember); - } - // 累加任务金币 - if (detail.getTaskGold() != null) { - taskGoldSum = taskGoldSum.add(detail.getTaskGold()); - } - - // 每遍历一条记录,总条数加1 - totalNum++; - } - // 将累加结果设置到Gold对象 - gold.setPermanentGolds(permanentGoldSum); - gold.setFreeGolds(freeGoldSum); - gold.setTotalNum(totalNum); - gold.setTaskGolds(taskGoldSum); - gold.setSumGolds(permanentGoldSum.add(freeGoldSum).add(taskGoldSum)); + Gold gold=goldDetailMapper.sumGold(goldDetail); + return gold; } diff --git a/src/main/resources/mapper/GoldDetailMapper.xml b/src/main/resources/mapper/GoldDetailMapper.xml index 7c0d396..e870296 100644 --- a/src/main/resources/mapper/GoldDetailMapper.xml +++ b/src/main/resources/mapper/GoldDetailMapper.xml @@ -28,8 +28,8 @@ ugr.flag = 1 and ugr.audit_status IN (1,3) - - AND `user`.flag = #{UserFlag} + + AND `user`.flag = 1 and ugr.jwcode = #{jwcode} @@ -67,11 +67,12 @@ ROUND((SUM(free_june) + SUM(free_december)) / 100.0, 2) AS freeGold, ROUND(SUM(task_gold) / 100.0, 2) AS taskGold from user_gold_record ugr + left join `user` u on u.jwcode = ugr.jwcode ugr.flag = 1 and ugr.audit_status IN (1,3) - - AND `user`.flag = #{UserFlag} + + AND u.flag = 1 and `ugr`.jwcode = #{jwcode} @@ -119,8 +120,8 @@ from user u left join market m on u.market = m.id - - AND `user`.flag = #{UserFlag} + + AND u.flag = 1 and jwcode = #{jwcode} @@ -157,8 +158,8 @@ from `user` - - AND `user`.flag = #{UserFlag} + + AND `user`.flag = 1 and jwcode = #{jwcode} @@ -207,4 +208,42 @@ +