From 77d77007090456d25b86fc580e6ffde045affa62 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Mon, 13 Jul 2026 16:08:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=A2=9E=E5=8A=A0=E9=92=B1=E5=8C=85?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E6=90=9C=E7=B4=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hard/api/dto/order/HardDeptTotalDto.java | 3 ++ .../hard/api/dto/order/HardOrderDto.java | 2 + .../dto/order/HardOrderSumAndCountDto.java | 2 + .../impl/order/HardOrderTotalServiceImpl.java | 7 ++++ .../mapper/order/HardOrderMapper.xml | 30 +++++++++++++ .../impl/SysUserTransactionServiceImpl.java | 2 - .../api/dto/WalletManageBalanceDto.java | 2 + .../wallet/api/dto/WalletManageDto.java | 2 + .../wallet/api/dto/WalletTransactionDto.java | 2 + .../dto/WalletTransactionSumAndCountDto.java | 2 + .../wallet/api/vo/WalletTypeTotalVo.java | 23 +++++++--- .../wallet/mapper/WalletManageMapper.java | 1 + .../service/impl/WalletManageServiceImpl.java | 8 +++- .../impl/WalletTransactionServiceImpl.java | 13 ++++-- .../mapper/WalletTransactionMapper.xml | 42 +++++++++++++++++++ 15 files changed, 128 insertions(+), 13 deletions(-) diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardDeptTotalDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardDeptTotalDto.java index 4eb5bc81f..d68bbe83d 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardDeptTotalDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardDeptTotalDto.java @@ -13,6 +13,9 @@ public class HardDeptTotalDto implements BaseIsIncludeTreeInterface { @Schema(description = "饭卡类型id") private Long walletTypeId; + @Schema(description = "钱包类型idList") + private List walletTypeIdList; + @Schema(description = "饭卡类型id") private LocalDateTime[] createTimeList; diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardOrderDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardOrderDto.java index ecb97ca09..30ed3eb64 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardOrderDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardOrderDto.java @@ -95,4 +95,6 @@ public class HardOrderDto extends HardOrderEntity implements BaseIsIncludeTreeIn */ private Long walletTypeId; + private List walletTypeIdList; + } diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardOrderSumAndCountDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardOrderSumAndCountDto.java index 5b435e8db..e33bedaac 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardOrderSumAndCountDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardOrderSumAndCountDto.java @@ -25,6 +25,8 @@ public class HardOrderSumAndCountDto { private Long walletTypeId; + private List walletTypeIdList; + private List mchIds; /** diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java index e87f4655d..921b071ea 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java @@ -483,6 +483,7 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { WalletTransactionSumAndCountDto walletDto = new WalletTransactionSumAndCountDto(); walletDto.setDeptIds(dto.getDeptIds()); walletDto.setIsInclude(dto.getIsInclude()); + walletDto.setWalletTypeIdList(dto.getWalletTypeIdList()); walletDto.setBizTypes(List.of(WalletBizEnum.BATCH.getCode())); walletDto.setType(WalletTransactionSumAndCountDto.TYPE_INCOME); if (ObjectUtil.isNotEmpty(dto.getCreateTimeList())) { @@ -498,6 +499,7 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { WalletTransactionSumAndCountDto walletDto = new WalletTransactionSumAndCountDto(); walletDto.setDeptIds(dto.getDeptIds()); walletDto.setIsInclude(dto.getIsInclude()); + walletDto.setWalletTypeIdList(dto.getWalletTypeIdList()); walletDto.setBizTypes(List.of(WalletBizEnum.BATCH.getCode())); walletDto.setType(WalletTransactionSumAndCountDto.TYPE_EXPENSE); if (ObjectUtil.isNotEmpty(dto.getCreateTimeList())) { @@ -513,6 +515,7 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { WalletTransactionSumAndCountDto walletDto = new WalletTransactionSumAndCountDto(); walletDto.setDeptIds(dto.getDeptIds()); walletDto.setIsInclude(dto.getIsInclude()); + walletDto.setWalletTypeIdList(dto.getWalletTypeIdList()); walletDto.setBizTypes(List.of(WalletBizEnum.RETURN_CANTEEN.getCode())); // walletDto.setType(WalletTransactionSumAndCountDto.TYPE_EXPENSE); if (ObjectUtil.isNotEmpty(dto.getCreateTimeList())) { @@ -528,6 +531,7 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { WalletTransactionSumAndCountDto walletDto = new WalletTransactionSumAndCountDto(); walletDto.setDeptIds(dto.getDeptIds()); walletDto.setIsInclude(dto.getIsInclude()); + walletDto.setWalletTypeIdList(dto.getWalletTypeIdList()); walletDto.setBizTypes(List.of(WalletBizEnum.UPDATE.getCode(), WalletBizEnum.RECHARGE.getCode())); walletDto.setType(WalletTransactionSumAndCountDto.TYPE_INCOME); if (ObjectUtil.isNotEmpty(dto.getCreateTimeList())) { @@ -543,6 +547,7 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { WalletTransactionSumAndCountDto walletDto = new WalletTransactionSumAndCountDto(); walletDto.setDeptIds(dto.getDeptIds()); walletDto.setIsInclude(dto.getIsInclude()); + walletDto.setWalletTypeIdList(dto.getWalletTypeIdList()); walletDto.setBizTypes(List.of(WalletBizEnum.UPDATE.getCode(), WalletBizEnum.RECHARGE.getCode())); walletDto.setType(WalletTransactionSumAndCountDto.TYPE_EXPENSE); if (ObjectUtil.isNotEmpty(dto.getCreateTimeList())) { @@ -559,6 +564,7 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { payDto.setUserDeptIds(dto.getDeptIds()); payDto.setIsInclude(dto.getIsInclude()); payDto.setOrderStatusCodes(HardOrderStatusEnum.getPayPrice()); + payDto.setWalletTypeIdList(dto.getWalletTypeIdList()); if (ObjectUtil.isNotEmpty(dto.getCreateTimeList())) { payDto.setCreateTimeList(dto.getCreateTimeList()); } @@ -574,6 +580,7 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { refundDto.setIsInclude(dto.getIsInclude()); refundDto.setOrderStatusCodes(HardOrderStatusEnum.getPayErrorCodes()); refundDto.setRefundStatusCodes(List.of(HardSaleStatusEnum.COMPLETE.getStatus())); + refundDto.setWalletTypeIdList(dto.getWalletTypeIdList()); if (ObjectUtil.isNotEmpty(dto.getCreateTimeList())) { refundDto.setRefundTimeList(dto.getCreateTimeList()); } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/order/HardOrderMapper.xml b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/order/HardOrderMapper.xml index 5ce54daf0..7bf128c69 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/order/HardOrderMapper.xml +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/order/HardOrderMapper.xml @@ -272,6 +272,12 @@ and w_m.wallet_type_id = #{dto.walletTypeId} + + and w_m.wallet_type_id in + + #{v} + + order by a.create_time desc, a.user_id desc @@ -448,6 +454,12 @@ and w_m.wallet_type_id = #{dto.walletTypeId} + + and w_m.wallet_type_id in + + #{v} + + and m.type in @@ -480,6 +492,12 @@ and w_m.wallet_type_id = #{dto.walletTypeId} + + and w_m.wallet_type_id in + + #{v} + + and r.audit_time between #{dto.refundTimeList[0]} and #{dto.refundTimeList[1]} @@ -619,6 +637,12 @@ and w_m.wallet_type_id = #{dto.walletTypeId} + + and w_m.wallet_type_id in + + #{v} + + and (a.refund_status is null or a.refund_status not in ('20')) @@ -667,6 +691,12 @@ and w_m.wallet_type_id = #{dto.walletTypeId} + + and w_m.wallet_type_id in + + #{v} + + and o.order_status in diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserTransactionServiceImpl.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserTransactionServiceImpl.java index 8002a5fac..e5a23ec85 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserTransactionServiceImpl.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserTransactionServiceImpl.java @@ -2,11 +2,9 @@ package com.bsd.pjcloud.admin.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DatePattern; -import cn.hutool.core.date.DateTime; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletManageBalanceDto.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletManageBalanceDto.java index 9457a596c..4238c049c 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletManageBalanceDto.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletManageBalanceDto.java @@ -16,6 +16,8 @@ public class WalletManageBalanceDto implements BaseIsIncludeTreeInterface { private Long walletTypeId; + private List walletTypeIdList; + private Boolean isInclude; private List deptIds; diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletManageDto.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletManageDto.java index 182230123..361c9da49 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletManageDto.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletManageDto.java @@ -10,6 +10,8 @@ import java.util.List; @Data public class WalletManageDto extends WalletManageEntity implements BaseIsIncludeTreeInterface { + private List walletTypeIdList; + private List userIds; private List walletIds; diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletTransactionDto.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletTransactionDto.java index bfbfa9976..5aa53a2f1 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletTransactionDto.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletTransactionDto.java @@ -37,6 +37,8 @@ public class WalletTransactionDto extends WalletTransactionEntity implements Bas private Long walletTypeId; + private List walletTypeIdList; + private List bizTypes; private LocalDate[] createTimeList; diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletTransactionSumAndCountDto.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletTransactionSumAndCountDto.java index a9288234a..925ad1545 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletTransactionSumAndCountDto.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletTransactionSumAndCountDto.java @@ -30,6 +30,8 @@ public class WalletTransactionSumAndCountDto implements BaseIsIncludeTreeInterfa private Long walletTypeId; + private List walletTypeIdList; + private Long walletId; /** diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/WalletTypeTotalVo.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/WalletTypeTotalVo.java index 6e7d3cd68..d644b54c0 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/WalletTypeTotalVo.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/WalletTypeTotalVo.java @@ -8,31 +8,42 @@ public class WalletTypeTotalVo { /** * 总金额 */ - private Long totalPrice; + private Long totalPrice = 0L; /** * 总次数 */ - private Long totalTime; + private Long totalTime = 0L; /** * 消费钱包总金额 */ - private Long xfTotalPrice; + private Long xfTotalPrice = 0L; /** * 消费钱包总次数 */ - private Long xfTotalTime; + private Long xfTotalTime = 0L; /** * 饭卡钱包总金额 */ - private Long eatTotalPrice; + private Long eatTotalPrice = 0L; /** * 饭卡钱包总次数 */ - private Long eatTotalTime; + private Long eatTotalTime = 0L; + + + /** + * 充值钱包总金额 + */ + private Long topupTotalPrice = 0L; + + /** + * 充值钱包总次数 + */ + private Long topupTotalTime = 0L; } 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 5878b9c98..decb68513 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 @@ -34,6 +34,7 @@ public interface WalletManageMapper extends PjcloudBaseMapper userIds = walletPage.getRecords().stream().map(WalletManageVo::getUserId).distinct().toList(); // 查询钱包类表 - List walletTypeList = walletTypeService.list(); + WalletTypeDto walletTypeDto = new WalletTypeDto(); + walletTypeDto.setWalletTypeIds(dto.getWalletTypeIdList()); + List walletTypeList = walletTypeMapper.list(walletTypeDto); if (ObjectUtil.isEmpty(walletTypeList)) return walletPage; // 查询所有钱包类型的流水记录 for (WalletTypeEntity i : walletTypeList) { @@ -308,7 +310,9 @@ public class WalletManageServiceImpl extends ServiceImpl walletTypeList = walletTypeService.list(); + WalletTypeDto walletTypeDto = new WalletTypeDto(); + walletTypeDto.setWalletTypeIds(dto.getWalletTypeIdList()); + List walletTypeList = walletTypeMapper.list(walletTypeDto); if (ObjectUtil.isNotEmpty(dto.getWalletTypeId())) { walletTypeList = walletTypeList.stream().filter(item -> ObjectUtil.equals(item.getId(), dto.getWalletTypeId())).toList(); } diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletTransactionServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletTransactionServiceImpl.java index 31570995d..e37d51d49 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletTransactionServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletTransactionServiceImpl.java @@ -305,7 +305,9 @@ public class WalletTransactionServiceImpl extends ServiceImpl walletTypeList = walletTypeMapper.list(new WalletTypeDto()); + WalletTypeDto walletTypeDto = new WalletTypeDto(); + walletTypeDto.setWalletTypeIds(dto.getWalletTypeIdList()); + List walletTypeList = walletTypeMapper.list(walletTypeDto); if (ObjectUtil.isEmpty(walletTypeList)) return null; for (WalletTypeEntity v : walletTypeList) { WalletTransactionDto queryDto = BeanUtils.toBean(dto, WalletTransactionDto.class); @@ -322,9 +324,14 @@ public class WalletTransactionServiceImpl extends ServiceImpl and m.wallet_type_id = ${dto.walletTypeId} + + and m.wallet_type_id in + + #{v} + + and a.price > 0 @@ -214,6 +220,12 @@ and m.wallet_type_id = #{dto.walletTypeId} + + and m.wallet_type_id in + + #{v} + + and a.price > 0 @@ -249,6 +261,12 @@ and m.wallet_type_id = #{dto.walletTypeId} + + and m.wallet_type_id in + + #{v} + + @@ -264,6 +282,12 @@ and m.wallet_type_id = #{dto.walletTypeId} + + and m.wallet_type_id in + + #{v} + + group by a.dept_id @@ -294,6 +318,12 @@ and m.wallet_type_id = #{dto.walletTypeId} + + and m.wallet_type_id in + + #{v} + + order by a.create_time desc, a.user_id desc @@ -307,6 +337,12 @@ and m.wallet_type_id = #{dto.walletTypeId} + + and m.wallet_type_id in + + #{v} + + order by a.create_time desc, a.user_id desc @@ -320,6 +356,12 @@ and m.wallet_type_id = #{dto.walletTypeId} + + and m.wallet_type_id in + + #{v} + + order by a.create_time desc, a.user_id desc