From efb833e8f09a4b6e539e52dd80fd6a1e9207adba Mon Sep 17 00:00:00 2001 From: Tankaikai Date: Fri, 11 Apr 2025 11:04:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=87=E6=8D=A2=E5=BA=97=E9=93=BA=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=20=E2=88=9A=20=E4=B8=8B=E5=8D=95=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E4=BC=9A=E5=91=98=20=E2=88=9A=20=E6=B3=A8=E5=86=8C=E4=BC=9A?= =?UTF-8?q?=E5=91=98=20=E2=88=9A=20=E5=AE=8C=E5=96=84=E6=89=8B=E6=9C=BA?= =?UTF-8?q?=E5=8F=B7=20=E2=88=9A=20=E4=BC=9A=E5=91=98=E6=B5=81=E6=B0=B4?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=90=8C=E6=AD=A5=20=E2=88=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/czg/sa/MyStpLogic.java | 13 +++++++++++++ .../service/impl/AuthorizationServiceImpl.java | 6 +++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/cash-common/cash-common-sa-token/src/main/java/com/czg/sa/MyStpLogic.java b/cash-common/cash-common-sa-token/src/main/java/com/czg/sa/MyStpLogic.java index 8d3cd7bec..ae441e305 100644 --- a/cash-common/cash-common-sa-token/src/main/java/com/czg/sa/MyStpLogic.java +++ b/cash-common/cash-common-sa-token/src/main/java/com/czg/sa/MyStpLogic.java @@ -229,6 +229,19 @@ public class MyStpLogic { return shopId; } + /** + * 获取主店id + * @param shopId 店铺id + * @return 主店id + */ + public Long getHeadShopId(Long shopId) { + Long mainId = DbChain.table("tb_shop_config").select("main_id").where("id = ?", shopId).objAs(Long.class); + if (mainId != null) { + return mainId; + } + return shopId; + } + /** * 校验是否为管理端登录 */ diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/AuthorizationServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/AuthorizationServiceImpl.java index 012395a0d..7b9fbf61f 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/AuthorizationServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/AuthorizationServiceImpl.java @@ -197,7 +197,11 @@ public class AuthorizationServiceImpl implements AuthorizationService { // 主店铺切换子店铺 if ((headId == null && !shopInfo.getMainId().equals(shopId)) || (!sysUser.getId().equals(headId) && shopInfo.getMainId() == null) || (headId != null && !sysUserId.equals(headId) && !shopInfo.getMainId().equals(headId))) { - throw new ApiNotPrintException("目标店铺非登录账号所有"); + Long headShopId = StpKit.USER.getHeadShopId(); + Long changeHeadShopId = StpKit.USER.getHeadShopId(sysUserId); + if (!changeHeadShopId.equals(headShopId)) { + throw new ApiNotPrintException("目标店铺非登录账号所有"); + } } // 查询角色