diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardDeptTotalVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardDeptTotalVo.java index 1337eca32..287cc9d6c 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardDeptTotalVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardDeptTotalVo.java @@ -24,6 +24,12 @@ public class HardDeptTotalVo { @Schema(description = "批量扣减次数") private Long walletReduceCount = 0L; + @Schema(description = "退还各自食堂金额") + private Long walletReturnCanteenPrice = 0L; + + @Schema(description = "退还各自食堂次数") + private Long walletReturnCanteenCount = 0L; + @Schema(description = "单次充值金额") private Long walletOncePrice = 0L; 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 30afc74e6..384280206 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 @@ -365,6 +365,20 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { } return remoteWalletTransactionService.sumAndCount(walletDto).getData(); }); + // 查询钱包退还各自食堂 + CompletableFuture> walletRetrunCanteenFuture = CompletableFuture.supplyAsync(() -> { + WalletTransactionSumAndCountDto walletDto = new WalletTransactionSumAndCountDto(); + walletDto.setDeptIds(deptIds); + walletDto.setBizTypes(List.of(WalletBizEnum.RETURN_CANTEEN.getCode())); + walletDto.setType(WalletTransactionSumAndCountDto.TYPE_EXPENSE); + if (ObjectUtil.isNotEmpty(dto.getCreateTimeList())) { + walletDto.setCreateTimeList(dto.getCreateTimeList()); + } + if (ObjectUtil.isNotEmpty(dto.getWalletTypeId())) { + walletDto.setWalletTypeId(dto.getWalletTypeId()); + } + return remoteWalletTransactionService.sumAndCount(walletDto).getData(); + }); // 查询钱包单次充值流水 CompletableFuture> walletOnceBatchFuture = CompletableFuture.supplyAsync(() -> { WalletTransactionSumAndCountDto walletDto = new WalletTransactionSumAndCountDto(); @@ -424,6 +438,7 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { allFutures.join(); List walletBatchList = walletBatchFuture.join(); List walletReduceList = walletReduceFuture.join(); + List walletRetrunCanteenList = walletRetrunCanteenFuture.join(); List walletOnceBatchList = walletOnceBatchFuture.join(); List walletOnceReduceList = walletOnceReduceFuture.join(); List payList = payFuture.join(); @@ -443,6 +458,13 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { v.setWalletReduceCount(i.getCount()); }); } + // 退还各自食堂 + if (ObjectUtil.isNotEmpty(walletRetrunCanteenList)) { + walletRetrunCanteenList.stream().filter(i -> ObjectUtil.equals(i.getDeptId(), v.getDeptId())).findFirst().ifPresent(i -> { + v.setWalletReturnCanteenPrice(Math.abs(i.getSum())); + v.setWalletReturnCanteenCount(i.getCount()); + }); + } if (ObjectUtil.isNotEmpty(walletOnceBatchList)) { walletOnceBatchList.stream().filter(i -> ObjectUtil.equals(i.getDeptId(), v.getDeptId())).findFirst().ifPresent(i -> { v.setWalletOncePrice(i.getSum());