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 043b12bb3..d3e86c09b 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 @@ -83,6 +83,7 @@ public class MyStpLogic { logic.createLoginSession(id); session = logic.getSession(); } + // 主店没有headShopId Object parentId1 = session.get("headShopId"); if (!isMain && parentId1 == null) { session.set("headId", headId); 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 1c811f76d..8bcb76f04 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 @@ -181,10 +181,11 @@ public class AuthorizationServiceImpl implements AuthorizationService { @Override public void switchTo(Long sysUserId) { + // 暂时通过headId判断主店账号 Long headId = StpKit.USER.getHeadId(); long shopId = StpKit.USER.getLoginIdAsLong(); ShopInfo currentInfo = shopInfoService.getById(shopId); - if (currentInfo.getIsHeadShop() != YesNoEnum.YES.value()) { + if (headId != null && currentInfo.getIsHeadShop() != YesNoEnum.YES.value()) { throw new ApiNotPrintException("登录账号无权限切换"); } @@ -199,7 +200,7 @@ public class AuthorizationServiceImpl implements AuthorizationService { } // 主店铺切换子店铺 - if (!shopInfo.getMainId().equals(shopId)) { + if (headId != null && !shopInfo.getMainId().equals(shopId)) { throw new ApiNotPrintException("目标店铺非登录账号所有"); }