From b3b016c4dd784a32feb28b33b46b37a19f88156d Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Wed, 9 Jul 2025 17:05:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=BD=99=E9=A2=9D=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wallet/api/vo/WalletQbTotalVo.java | 23 ++++++++++ .../controller/WalletManageController.java | 7 +++ .../wallet/mapper/WalletManageMapper.java | 2 + .../wallet/service/WalletManageService.java | 3 ++ .../service/impl/WalletManageServiceImpl.java | 28 +++++++++++- .../resources/mapper/WalletManageMapper.xml | 43 +++++++++++++++++++ 6 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/WalletQbTotalVo.java diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/WalletQbTotalVo.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/WalletQbTotalVo.java new file mode 100644 index 000000000..9622cda20 --- /dev/null +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/WalletQbTotalVo.java @@ -0,0 +1,23 @@ +package com.bsd.pjcloud.wallet.api.vo; + +import lombok.Data; + +@Data +public class WalletQbTotalVo { + + /** + * 总余额 + */ + private Integer total = 0; + + /** + * 饭卡钱包余额 + */ + private Integer eatTotal = 0; + + /** + * 消费钱包余额 + */ + private Integer payTotal = 0; + +} diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletManageController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletManageController.java index ec4fc31d3..3cd81035a 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletManageController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletManageController.java @@ -18,6 +18,7 @@ import com.bsd.pjcloud.wallet.api.dto.WalletManageDto; import com.bsd.pjcloud.wallet.api.dto.WalletTopupActionDto; import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity; import com.bsd.pjcloud.wallet.api.vo.WalletManageVo; +import com.bsd.pjcloud.wallet.api.vo.WalletQbTotalVo; import com.bsd.pjcloud.wallet.mapper.WalletManageMapper; import com.bsd.pjcloud.wallet.service.WalletCodeUseService; import com.bsd.pjcloud.wallet.service.WalletManageService; @@ -201,6 +202,12 @@ public class WalletManageController { return R.ok(walletManageService.scopePageList(page, dto, DataScope.of())); } + @Operation(summary = "分页查询", description = "分页查询") + @PostMapping("/qb-total") + public R qbTotal(@RequestBody WalletManageBalanceDto dto) { + return R.ok(walletManageService.qbTotal(dto, DataScope.of())); + } + @Operation(summary = "钱包记录分页", description = "钱包记录分页") @PostMapping("/page-join-qb") public R> pageJoinQb(@ParameterObject Page page, @RequestBody WalletManageBalanceDto dto) { diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/WalletManageMapper.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/WalletManageMapper.java index 062dd060a..9d3f095d4 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/WalletManageMapper.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/WalletManageMapper.java @@ -167,4 +167,6 @@ public interface WalletManageMapper extends PjcloudBaseMapper activeBalancePage(Page page, @Param("dto") WalletTopupActionDto dto, @Param("unactiveDayNumberStr") String unactiveDayNumberStr); List activeBalanceList(@Param("dto") WalletTopupActionDto dto, @Param("unactiveDayNumberStr") String unactiveDayNumberStr); + + Integer selectTotalBalance(@Param("dto") WalletManageBalanceDto dto); } \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletManageService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletManageService.java index 11a6bbfec..1af969ced 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletManageService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletManageService.java @@ -9,6 +9,7 @@ import com.bsd.pjcloud.wallet.api.dto.WalletManageDto; import com.bsd.pjcloud.wallet.api.dto.WalletTopupActionDto; import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity; import com.bsd.pjcloud.wallet.api.vo.WalletManageVo; +import com.bsd.pjcloud.wallet.api.vo.WalletQbTotalVo; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.NotNull; @@ -68,6 +69,8 @@ public interface WalletManageService extends IService { Page scopeQbPage(Page page, WalletManageBalanceDto dto, DataScope dataScope); + WalletQbTotalVo qbTotal(WalletManageBalanceDto dto, DataScope dataScope); + /** * 不活跃用户钱包 */ diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletManageServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletManageServiceImpl.java index 303ad5262..8c27b724e 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletManageServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletManageServiceImpl.java @@ -40,6 +40,7 @@ import com.bsd.pjcloud.wallet.api.utils.WalletDataUtil; import com.bsd.pjcloud.wallet.api.vo.MchManageVo; import com.bsd.pjcloud.wallet.api.vo.WalletManageBalanceVo; import com.bsd.pjcloud.wallet.api.vo.WalletManageVo; +import com.bsd.pjcloud.wallet.api.vo.WalletQbTotalVo; import com.bsd.pjcloud.wallet.mapper.WalletManageMapper; import com.bsd.pjcloud.wallet.mapper.WalletTransactionMapper; import com.bsd.pjcloud.wallet.mapper.WalletTypeMapper; @@ -51,7 +52,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Lazy; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; @@ -59,6 +59,8 @@ import java.io.IOException; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CopyOnWriteArrayList; /** * 钱包管理 @@ -306,6 +308,30 @@ public class WalletManageServiceImpl extends ServiceImpl walletTypeList = walletTypeService.list(); + // 查询所有钱包类型的流水记录 + for (WalletTypeEntity i : walletTypeList) { + WalletManageBalanceDto walletBalanceDto = BeanUtils.toBean(dto, WalletManageBalanceDto.class); + walletBalanceDto.setWalletTypeId(i.getId()); + + Integer total = baseMapper.selectTotalBalance(walletBalanceDto); + if (ObjectUtil.isEmpty(total)) total = 0; + + if (ObjectUtil.equals(i.getUniqueCode(), WalletTypeEnum.EAT.getCode())) { + result.setEatTotal(total); + } + if (ObjectUtil.equals(i.getUniqueCode(), WalletTypeEnum.PAY.getCode())) { + result.setPayTotal(total); + } + } + result.setTotal(result.getEatTotal() + result.getPayTotal()); + return result; + } + /** * 不活跃用户钱包 */ diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/WalletManageMapper.xml b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/WalletManageMapper.xml index ec06c85d2..44f7fb0f0 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/WalletManageMapper.xml +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/WalletManageMapper.xml @@ -192,4 +192,47 @@ + + \ No newline at end of file