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 b1aad55ef..7359511f0 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 @@ -359,7 +359,7 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { } List deptList = remoteDeptService.getInnerAllDept(deptDto).getData(); if (ObjectUtil.isEmpty(deptList)) return null; - List deptIds = deptList.stream().map(SysDept::getDeptId).filter(ObjectUtil::isNotEmpty).distinct().toList(); + // List deptIds = deptList.stream().map(SysDept::getDeptId).filter(ObjectUtil::isNotEmpty).distinct().toList(); List resultList = deptList.stream().map(v -> { HardDeptTotalVo item = new HardDeptTotalVo(); item.setDeptId(v.getDeptId()); @@ -369,7 +369,8 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { // 查询钱包批量充值流水 CompletableFuture> walletBatchFuture = CompletableFuture.supplyAsync(() -> { WalletTransactionSumAndCountDto walletDto = new WalletTransactionSumAndCountDto(); - walletDto.setDeptIds(deptIds); + walletDto.setDeptIds(dto.getDeptIds()); + walletDto.setIsInclude(dto.getIsInclude()); walletDto.setBizTypes(List.of(WalletBizEnum.BATCH.getCode())); walletDto.setType(WalletTransactionSumAndCountDto.TYPE_INCOME); if (ObjectUtil.isNotEmpty(dto.getCreateTimeList())) { @@ -383,7 +384,8 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { // 查询钱包批量扣减流水 CompletableFuture> walletReduceFuture = CompletableFuture.supplyAsync(() -> { WalletTransactionSumAndCountDto walletDto = new WalletTransactionSumAndCountDto(); - walletDto.setDeptIds(deptIds); + walletDto.setDeptIds(dto.getDeptIds()); + walletDto.setIsInclude(dto.getIsInclude()); walletDto.setBizTypes(List.of(WalletBizEnum.BATCH.getCode())); walletDto.setType(WalletTransactionSumAndCountDto.TYPE_EXPENSE); if (ObjectUtil.isNotEmpty(dto.getCreateTimeList())) { @@ -397,7 +399,8 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { // 查询钱包退还各自食堂 CompletableFuture> walletRetrunCanteenFuture = CompletableFuture.supplyAsync(() -> { WalletTransactionSumAndCountDto walletDto = new WalletTransactionSumAndCountDto(); - walletDto.setDeptIds(deptIds); + walletDto.setDeptIds(dto.getDeptIds()); + walletDto.setIsInclude(dto.getIsInclude()); walletDto.setBizTypes(List.of(WalletBizEnum.RETURN_CANTEEN.getCode())); // walletDto.setType(WalletTransactionSumAndCountDto.TYPE_EXPENSE); if (ObjectUtil.isNotEmpty(dto.getCreateTimeList())) { @@ -411,7 +414,8 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { // 查询钱包单次充值流水 CompletableFuture> walletOnceBatchFuture = CompletableFuture.supplyAsync(() -> { WalletTransactionSumAndCountDto walletDto = new WalletTransactionSumAndCountDto(); - walletDto.setDeptIds(deptIds); + walletDto.setDeptIds(dto.getDeptIds()); + walletDto.setIsInclude(dto.getIsInclude()); walletDto.setBizTypes(List.of(WalletBizEnum.UPDATE.getCode())); walletDto.setType(WalletTransactionSumAndCountDto.TYPE_INCOME); if (ObjectUtil.isNotEmpty(dto.getCreateTimeList())) { @@ -425,7 +429,8 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { // 查询钱包单次扣减流水 CompletableFuture> walletOnceReduceFuture = CompletableFuture.supplyAsync(() -> { WalletTransactionSumAndCountDto walletDto = new WalletTransactionSumAndCountDto(); - walletDto.setDeptIds(deptIds); + walletDto.setDeptIds(dto.getDeptIds()); + walletDto.setIsInclude(dto.getIsInclude()); walletDto.setBizTypes(List.of(WalletBizEnum.UPDATE.getCode())); walletDto.setType(WalletTransactionSumAndCountDto.TYPE_EXPENSE); if (ObjectUtil.isNotEmpty(dto.getCreateTimeList())) { @@ -439,7 +444,8 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { // 查询订单支付流水 CompletableFuture> payFuture = CompletableFuture.supplyAsync(() -> { HardOrderSumAndCountDto payDto = new HardOrderSumAndCountDto(); - payDto.setUserDeptIds(deptIds); + payDto.setUserDeptIds(dto.getDeptIds()); + payDto.setIsInclude(dto.getIsInclude()); payDto.setOrderStatusCodes(HardOrderStatusEnum.getPayPrice()); if (ObjectUtil.isNotEmpty(dto.getCreateTimeList())) { payDto.setCreateTimeList(dto.getCreateTimeList()); @@ -452,7 +458,8 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { // 查询订单退款流水 CompletableFuture> refundFuture = CompletableFuture.supplyAsync(() -> { HardOrderSumAndCountDto refundDto = new HardOrderSumAndCountDto(); - refundDto.setUserDeptIds(deptIds); + refundDto.setUserDeptIds(dto.getDeptIds()); + refundDto.setIsInclude(dto.getIsInclude()); refundDto.setOrderStatusCodes(HardOrderStatusEnum.getPayErrorCodes()); refundDto.setRefundStatusCodes(List.of(HardSaleStatusEnum.COMPLETE.getStatus())); if (ObjectUtil.isNotEmpty(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 045f97bf2..25f111b39 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 @@ -476,6 +476,17 @@ and o.user_dept_id in + + + and o.user_dept_id IN + + + and o.user_dept_id NOT IN + + + and o.user_dept_id IN + + #{v} 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 464b1dfbc..a9288234a 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 @@ -1,5 +1,6 @@ package com.bsd.pjcloud.wallet.api.dto; +import com.bsd.pjcloud.admin.api.vo.base.BaseIsIncludeTreeInterface; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -7,7 +8,7 @@ import java.time.LocalDateTime; import java.util.List; @Data -public class WalletTransactionSumAndCountDto { +public class WalletTransactionSumAndCountDto implements BaseIsIncludeTreeInterface { /** * 类型 - 收入 */ @@ -31,4 +32,9 @@ public class WalletTransactionSumAndCountDto { private Long walletId; + /** + * 是否包含deptIds + */ + private Boolean isInclude = false; + } diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/WalletTransactionMapper.xml b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/WalletTransactionMapper.xml index 0317eebb6..dd6ab9665 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/WalletTransactionMapper.xml +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/WalletTransactionMapper.xml @@ -137,8 +137,9 @@ sum(a.price) as sum, count(0) as count from wallet_transaction a + left join wallet_manage m on m.id = a.wallet_id - a.del_flag = 0 and a.dept_id is not null + a.del_flag = 0 and m.dept_id is not null a.wallet_id = ${dto.walletId} @@ -159,7 +160,17 @@ - and a.dept_id in + + + and m.dept_id IN + + + and m.dept_id NOT IN + + + and m.dept_id IN + + #{v}