diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java index ecd33ecee..a1fba4ab4 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java @@ -209,25 +209,24 @@ public class HardOrderServiceImpl extends ServiceImpl walletResult = remoteWalletService.getWalletById(dto.getWalletId()); - WalletManageVo walletVo = Optional.of(walletResult).map(R::getData).orElseThrow(() -> new RuntimeException("用户钱包不存在")); - if (!ObjectUtil.equals(walletVo.getWalletTypeUniqueCode(), WalletTypeEnum.EAT.getCode())) { - throw new RuntimeException("请使用钱包二维码支付"); - } - wallet = walletVo; - } else { + if (ObjectUtil.isNotEmpty(mch.getDefaultWalletTypeId())) { R walletResult = remoteWalletService.getWallet(dto.getUserId(), WalletTypeEnum.EAT); wallet = Optional.of(walletResult).map(R::getData).orElseThrow(() -> new RuntimeException("用户钱包不存在")); + } else { + R walletResult = remoteWalletService.getWalletByWalletTypeId(dto.getUserId(), mch.getDefaultWalletTypeId()); + wallet = Optional.of(walletResult).map(R::getData).orElseThrow(() -> new RuntimeException("用户钱包不存在")); + } + if (ObjectUtil.isEmpty(wallet)) { + throw new RuntimeException("用户钱包不存在"); } } int totalPrice = 0, extraPrice = 0, payPrice = 0; @@ -523,7 +522,7 @@ public class HardOrderServiceImpl extends ServiceImpl mch = remoteMchService.getById(dto.getMerchantId()); if (ObjectUtil.isEmpty(mch.getData())) { throw new RuntimeException("商户不存在"); @@ -533,7 +532,7 @@ public class HardOrderServiceImpl extends ServiceImpl getWallet(@RequestParam Long userId, @RequestParam WalletTypeEnum walletTypeCode); + @NoToken + @GetMapping("/wallet-manage/get-wallet-by-wallet-id") + R getWalletByWalletTypeId(@RequestParam Long userId, @RequestParam Long walletTypeId); + @NoToken @GetMapping("/wallet-manage/get-wallet-by-id") R getWalletById(@RequestParam Long walletId); 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 56856302f..ad9b0fd29 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 @@ -61,6 +61,16 @@ public class WalletManageController { return R.ok(wallet); } + @Inner + @GetMapping("/get-wallet-by-wallet-id") + public R getWalletByWalletTypeId(@RequestParam Long userId, @RequestParam Long walletTypeId) { + WalletManageEntity wallet = walletManageService.getWallet(userId, walletTypeId); + if (ObjectUtil.isEmpty(wallet)) { + return R.failed("用户钱包不存在"); + } + return R.ok(wallet); + } + @Inner @GetMapping("/create-wallet") public R getWallet(@RequestParam Long userId) {