From cc0e267aed676716f8be905a7e9ae3a1f1631c9f Mon Sep 17 00:00:00 2001 From: tianfeng <769204422@qq.com> Date: Wed, 4 Mar 2026 17:08:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B6=85=E7=BA=A7=E5=B8=81=E5=95=86=E8=BD=AC?= =?UTF-8?q?=E5=B8=81=E5=95=86=E6=8A=A5=E9=94=99=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../freight/SendFreightShipCmdExe.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/command/freight/SendFreightShipCmdExe.java b/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/command/freight/SendFreightShipCmdExe.java index e88b693b..c58fed2d 100644 --- a/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/command/freight/SendFreightShipCmdExe.java +++ b/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/command/freight/SendFreightShipCmdExe.java @@ -115,6 +115,16 @@ public class SendFreightShipCmdExe { try { + // 判断发送者和接收者的代理类型 + boolean senderIsSuperFreight = freightBalanceService.checkSuperFreightAgent(cmd.requiredReqUserId()); + boolean acceptIsSuperFreight = freightBalanceService.checkSuperFreightAgent(cmd.getAcceptUserId()); + boolean acceptIsFreight = freightBalanceService.checkFreightAgent(cmd.getAcceptUserId()); + + // 权限校验:超级经销商才可以发货给经销商和超级经销商,普通经销商不能发货给经销商或超级经销商 + if (acceptIsFreight || acceptIsSuperFreight) { + ResponseAssert.isTrue(FreightErrorCode.NOT_SUPER_FREIGHT, senderIsSuperFreight); + } + // 扣款失败 ResponseAssert.isTrue(WalletErrorCode.DEDUCTION_FAILED, freightBalanceService @@ -126,16 +136,6 @@ public class SendFreightShipCmdExe { // 插入流水 FreightBalanceRunningWater runningWater = saveRunningWater(cmd, balance); - // 判断发送者和接收者的代理类型 - boolean senderIsSuperFreight = freightBalanceService.checkSuperFreightAgent(cmd.requiredReqUserId()); - boolean acceptIsSuperFreight = freightBalanceService.checkSuperFreightAgent(cmd.getAcceptUserId()); - boolean acceptIsFreight = freightBalanceService.checkFreightAgent(cmd.getAcceptUserId()); - - // 权限校验:超级经销商才可以发货给经销商和超级经销商,普通经销商不能发货给经销商或超级经销商 - if (acceptIsFreight || acceptIsSuperFreight) { - ResponseAssert.isTrue(FreightErrorCode.NOT_SUPER_FREIGHT, senderIsSuperFreight); - } - // 发货:目标是普通经销商 → incrCandyBalance 进货运钱包;目标是超级经销商(或普通用户) → changeBalance 进金币钱包 if (acceptIsFreight && !acceptIsSuperFreight) { // 目标是经销商,入货运余额