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 3abd40b0..915a20dc 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.NOT_TRANSFER_YOURSELF, - !Objects.equals(cmd.getAcceptUserId(), cmd.requiredReqUserId())); + ResponseAssert.isTrue(WalletErrorCode.TARGET_USER_NOT_RECHARGE_AGENCY, freight); + ResponseAssert.isTrue(WalletErrorCode.NOT_TRANSFER_YOURSELF, !Objects.equals(cmd.getAcceptUserId(), cmd.requiredReqUserId())); // 上锁 String key = "UBWTransferGold:" + cmd.requiredReqUserId(); @@ -104,18 +104,13 @@ 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(), @@ -123,7 +118,6 @@ 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 857bb013..9b91f4be 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,10 +45,9 @@ public class UserBankSearchUserProfileQryExe { } if (isTransfer(cmd)) { - if (Objects.equals(cmd.getReqUserId(), userProfile.getId())) { - return null; - } - return userProfile; + if (Objects.equals(cmd.getReqUserId(), userProfile.getId())) { + return null; + } } if (cmd.typeEqBD()) { @@ -72,6 +71,9 @@ 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 5ed6488a..5cde4586 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.NOT_TRANSFER_YOURSELF, - !Objects.equals(cmd.getAcceptUserId(), cmd.requiredReqUserId())); + ResponseAssert.isTrue(WalletErrorCode.TARGET_USER_NOT_RECHARGE_AGENCY, freight); + ResponseAssert.isTrue(WalletErrorCode.NOT_TRANSFER_YOURSELF, !Objects.equals(cmd.getAcceptUserId(), cmd.requiredReqUserId())); // 上锁 String key = "USTransferGold:" + cmd.requiredReqUserId(); @@ -96,18 +96,13 @@ 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); - if (freight) { - FreightBalance freightBalance = freightBalanceService.getFreightBalance(cmd.getAcceptUserId()); - ResponseAssert.notNull(FreightErrorCode.NOT_FREIGHT, freightBalance); + 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));