diff --git a/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/command/bank/UserBankTransferGoldCmdExe.java b/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/command/bank/UserBankTransferGoldCmdExe.java index 915a20dc..3abd40b0 100644 --- a/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/command/bank/UserBankTransferGoldCmdExe.java +++ b/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/command/bank/UserBankTransferGoldCmdExe.java @@ -88,8 +88,8 @@ public class UserBankTransferGoldCmdExe { ArithmeticUtils.gtZero(cmd.getAmount())); boolean freight = freightBalanceService.existsBalance(cmd.getAcceptUserId()); - ResponseAssert.isTrue(WalletErrorCode.TARGET_USER_NOT_RECHARGE_AGENCY, freight); - ResponseAssert.isTrue(WalletErrorCode.NOT_TRANSFER_YOURSELF, !Objects.equals(cmd.getAcceptUserId(), cmd.requiredReqUserId())); + ResponseAssert.isTrue(WalletErrorCode.NOT_TRANSFER_YOURSELF, + !Objects.equals(cmd.getAcceptUserId(), cmd.requiredReqUserId())); // 上锁 String key = "UBWTransferGold:" + cmd.requiredReqUserId(); @@ -104,13 +104,18 @@ public class UserBankTransferGoldCmdExe { // 获得区域兑换比例金币比例 Double goldRatio = getExchangeGoldRatio(cmd); - BigDecimal goldQuantity = BigDecimal.valueOf(goldRatio).multiply(cmd.getAmount()).setScale(0, RoundingMode.DOWN); + BigDecimal goldQuantity = BigDecimal.valueOf(goldRatio).multiply(cmd.getAmount()) + .setScale(0, RoundingMode.DOWN); + if (freight) { FreightBalance freightBalance = freightBalanceService.getFreightBalance(cmd.getAcceptUserId()); ResponseAssert.notNull(FreightErrorCode.NOT_FREIGHT, freightBalance); - long result = goldQuantity.divide(new BigDecimal(10000), RoundingMode.DOWN).setScale(0, RoundingMode.DOWN).longValue(); - ResponseAssert.isTrue(FreightErrorCode.NOT_THRESHOLD, result >= Optional.ofNullable(freightBalance.getDeliveryThreshold()).orElse(0)); + long result = goldQuantity.divide(new BigDecimal(10000), RoundingMode.DOWN) + .setScale(0, RoundingMode.DOWN).longValue(); + ResponseAssert.isTrue(FreightErrorCode.NOT_THRESHOLD, + result >= Optional.ofNullable(freightBalance.getDeliveryThreshold()).orElse(0)); + } // 扣钱 BankBalanceDTO decrUserBankBalanceDTO = userBankBalanceService.decr(cmd.requiredReqUserId(), @@ -118,6 +123,7 @@ public class UserBankTransferGoldCmdExe { ResponseAssert.notNull(WalletErrorCode.INSUFFICIENT_BALANCE, decrUserBankBalanceDTO); Long bankRunWaterId = IdWorkerUtils.getId(); + cmd.setReqTraceId(String.valueOf(bankRunWaterId)); // 银行卡流水 userBankRunningWaterService.add( diff --git a/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/command/bank/query/UserBankSearchUserProfileQryExe.java b/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/command/bank/query/UserBankSearchUserProfileQryExe.java index 9b91f4be..857bb013 100644 --- a/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/command/bank/query/UserBankSearchUserProfileQryExe.java +++ b/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/command/bank/query/UserBankSearchUserProfileQryExe.java @@ -45,9 +45,10 @@ public class UserBankSearchUserProfileQryExe { } if (isTransfer(cmd)) { - if (Objects.equals(cmd.getReqUserId(), userProfile.getId())) { - return null; - } + if (Objects.equals(cmd.getReqUserId(), userProfile.getId())) { + return null; + } + return userProfile; } if (cmd.typeEqBD()) { @@ -71,9 +72,6 @@ public class UserBankSearchUserProfileQryExe { if (freightAgent) { return userProfile; } - if (isTransfer(cmd)) { - return null; - } return Objects.equals( ResponseAssert.requiredSuccess(agentTeamClient.existsTeamOwn(userProfile.getId())), diff --git a/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/command/salary/SalaryTransferGoldCmdExe.java b/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/command/salary/SalaryTransferGoldCmdExe.java index 5cde4586..5ed6488a 100644 --- a/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/command/salary/SalaryTransferGoldCmdExe.java +++ b/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/command/salary/SalaryTransferGoldCmdExe.java @@ -80,8 +80,8 @@ public class SalaryTransferGoldCmdExe { ArithmeticUtils.gtZero(cmd.getAmount())); boolean freight = freightBalanceService.existsBalance(cmd.getAcceptUserId()); - ResponseAssert.isTrue(WalletErrorCode.TARGET_USER_NOT_RECHARGE_AGENCY, freight); - ResponseAssert.isTrue(WalletErrorCode.NOT_TRANSFER_YOURSELF, !Objects.equals(cmd.getAcceptUserId(), cmd.requiredReqUserId())); + ResponseAssert.isTrue(WalletErrorCode.NOT_TRANSFER_YOURSELF, + !Objects.equals(cmd.getAcceptUserId(), cmd.requiredReqUserId())); // 上锁 String key = "USTransferGold:" + cmd.requiredReqUserId(); @@ -96,13 +96,18 @@ public class SalaryTransferGoldCmdExe { Double goldRatio = getExchangeGoldRatio(cmd); Long bankRunWaterId = IdWorkerUtils.getId(); - BigDecimal goldQuantity = BigDecimal.valueOf(goldRatio).multiply(cmd.getAmount()).setScale(0, RoundingMode.DOWN); + BigDecimal goldQuantity = BigDecimal.valueOf(goldRatio).multiply(cmd.getAmount()) + .setScale(0, RoundingMode.DOWN); - FreightBalance freightBalance = freightBalanceService.getFreightBalance(cmd.getAcceptUserId()); - ResponseAssert.notNull(FreightErrorCode.NOT_FREIGHT, freightBalance); + if (freight) { + FreightBalance freightBalance = freightBalanceService.getFreightBalance(cmd.getAcceptUserId()); + ResponseAssert.notNull(FreightErrorCode.NOT_FREIGHT, freightBalance); - long result = goldQuantity.divide(new BigDecimal(10000), RoundingMode.DOWN).setScale(0, RoundingMode.DOWN).longValue(); - ResponseAssert.isTrue(FreightErrorCode.NOT_THRESHOLD, result >= Optional.ofNullable(freightBalance.getDeliveryThreshold()).orElse(0)); + long result = goldQuantity.divide(new BigDecimal(10000), RoundingMode.DOWN) + .setScale(0, RoundingMode.DOWN).longValue(); + ResponseAssert.isTrue(FreightErrorCode.NOT_THRESHOLD, + result >= Optional.ofNullable(freightBalance.getDeliveryThreshold()).orElse(0)); + } // 扣钱 cmd.setReqTraceId(String.valueOf(bankRunWaterId));