From dcac429cfaf8cd3e68f1a015b6c127f7492f3dff Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Mon, 7 Apr 2025 16:52:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=9C=89=E8=AE=A2=E5=8D=95=E4=BA=A4?= =?UTF-8?q?=E6=98=93=E8=AE=B0=E5=BD=95=E4=B8=8D=E8=83=BD=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pjcloud/hard/api/feign/RemoteHardOrderService.java | 6 ++++-- .../hard/controller/order/HardOrderController.java | 10 ++++++++++ .../wallet/service/impl/WalletManageServiceImpl.java | 10 +++++----- .../wallet/service/impl/mch/MchManageServiceImpl.java | 10 ++++++++++ 4 files changed, 29 insertions(+), 7 deletions(-) diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/feign/RemoteHardOrderService.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/feign/RemoteHardOrderService.java index e48024a33..b69f95feb 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/feign/RemoteHardOrderService.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/feign/RemoteHardOrderService.java @@ -21,8 +21,10 @@ public interface RemoteHardOrderService { @GetMapping("/hard-order/get-by-ids") R> getByIds(@RequestParam List ids); - - @PostMapping("/hard-order/page") R>> getPage(@RequestParam Page page, @RequestBody HardOrderPreferencesDto hardOrderPreferencesDto); + + @NoToken + @GetMapping("/hard-order/mch-count-by-id") + R getMchCountById(@RequestParam Long id); } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java index 58cb4a72e..6f5f2fa88 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java @@ -88,6 +88,16 @@ public class HardOrderController { dto.setOrderIds(ids); return R.ok(hardOrderMapper.list(dto)); } + + @Inner + @Operation(summary = "app查询订单列表", description = "app查询订单列表") + @GetMapping("/mch-count-by-id") + public R getMchCountById(@RequestParam Long id) { + LambdaQueryWrapper query = new LambdaQueryWrapper().eq(HardOrderEntity::getMerchantId, id); + Long count = hardOrderMapper.selectCount(query); + if (ObjectUtil.isEmpty(count)) count = 0L; + return R.ok(count); + } /* ************************************* end 远程调用 ************************************* */ /* ************************************* start app start ************************************* */ 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 ebbc3a64e..6b7586a53 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 @@ -301,14 +301,14 @@ public class WalletManageServiceImpl extends ServiceImpl itemList = baseMapper.selectBalance(dto); + List itemList = baseMapper.selectBalance(walletBalanceDto); if (ObjectUtil.isEmpty(itemList)) continue; for (WalletManageBalanceVo j : itemList) { - // j.setWalletTypeName(i.getName()); walletPage.getRecords().stream().filter(v -> ObjectUtil.equals(i.getId(), v.getWalletTypeId()) && ObjectUtil.equals(v.getUserId(), j.getUserId())).findFirst().ifPresent(v -> { if (ObjectUtil.isNotEmpty(j.getBalance())) { v.setBalance(j.getBalance()); diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchManageServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchManageServiceImpl.java index f4ef141f1..2faf3d468 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchManageServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/mch/MchManageServiceImpl.java @@ -20,6 +20,7 @@ import com.bsd.pjcloud.common.core.util.CollectionUtils; import com.bsd.pjcloud.common.core.util.QRCodeImageGenerator; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.data.datascope.DataScope; +import com.bsd.pjcloud.hard.api.feign.RemoteHardOrderService; import com.bsd.pjcloud.hard.api.utils.Drawing2D; import com.bsd.pjcloud.wallet.api.constant.mch.WalletMchSupType; import com.bsd.pjcloud.wallet.api.dto.MchManageDto; @@ -67,6 +68,7 @@ public class MchManageServiceImpl extends ServiceImpl list) { if (ObjectUtil.isEmpty(list)) return; + // 判断下面是否有订单 + List mchList = baseMapper.list(MchManageDto.builder().ids(list).build()); + for (MchManageVo v : mchList) { + Long count = remoteHardOrderService.getMchCountById(v.getId()).getData(); + if (ObjectUtil.isNotEmpty(count) && count > 0) { + throw new RuntimeException("该商户<" + v.getName() + ">有订单交易记录,不能删除"); + } + } // 删除缓存 list.forEach(v -> { redisTemplate.opsForValue().getAndDelete(CacheConstants.WALLET_MCH + v);