diff --git a/cash-api/product-server/src/main/java/com/czg/controller/admin/ProductController.java b/cash-api/product-server/src/main/java/com/czg/controller/admin/ProductController.java index b18425029..3aaa40506 100644 --- a/cash-api/product-server/src/main/java/com/czg/controller/admin/ProductController.java +++ b/cash-api/product-server/src/main/java/com/czg/controller/admin/ProductController.java @@ -303,9 +303,13 @@ public class ProductController { public CzgResult sync() { long shopId = StpKit.USER.getShopId(0L); long sysUserId = StpKit.USER.getLoginIdAsLong(); - long headShopId = StpKit.USER.getVipHeadShopId(); - if(shopId == headShopId){ - throw new CzgException("不存在主店分店关系,无需同步"); + boolean isEnableSync = StpKit.USER.isEnableSync(shopId); + long headShopId = StpKit.USER.getHeadShopId(); + if (!isEnableSync) { + throw new CzgException("主店未开启商品资料同步功能"); + } + if (shopId == headShopId) { + throw new CzgException("不存在主子店铺关系,无需同步商品信息"); } ThreadUtil.execAsync(() -> { shopSyncService.sync(headShopId, shopId, sysUserId); 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 ae441e305..afcc9a12b 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 @@ -242,6 +242,19 @@ public class MyStpLogic { return shopId; } + /** + * 是否启用同步功能 + * @param shopId 店铺id + * @return 主店id + */ + public boolean isEnableSync(Long shopId) { + Integer isEnableProdSync = DbChain.table("tb_shop_config").select("is_enable_prod_sync").where("id = ?", shopId).objAs(Integer.class); + if (isEnableProdSync == null) { + return false; + } + return isEnableProdSync == 1; + } + /** * 校验是否为管理端登录 */