如何通过一个网站设置多个基础商店

2020-09-12 21:11发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,我们需要通过一个网站来支持多个基本商店和目录。

如果用户A登录到网站,他应该只能看到catalogA产品;如果用户B登录到网站,那么他应该只能看到catalogA产品。

网站-> basestoreA-> productcatalogA

网站-> basestoreB-> productCatalogB

我已经重写了DefaultBaseStoreSelectorStrategy类的getCurrentBaseStore方法,并根据用户的销售额返回了基础商店。

 公共BaseStoreModel getCurrentBaseStore()
      {
         //YTODO自动生成的方法存根
 
          BaseStoreModel结果= null;
          final String salesAreasU2K2 =" _OU03_11_11";
          final String salesAreaSirius =" _3100_29_10";
          最终的BaseSiteModel currentSite = this.siteService.getCurrentBaseSite();
          如果(currentSite!= null && currentSite.getUid()。equalsIgnoreCase(" uimdc"))
          {
             //最终列表 storeModels = currentSite.getStores();
            /*
               *如果(CollectionUtils.isNotEmpty(storeModels)){
               */
 
              最后的B2BCustomerModel currentUser =(B2BCustomerModel)b2bCustomerService.getCurrentB2BCustomer();
              如果(currentUser!= null)
              {
                 //最终B2BUnitModel parentB2BUnit = b2bUnitService.getParent(currentUser);
                  最后的B2BUnitModel parentB2BUnit = currentUser.getDefaultB2BUnit();
 
                  如果(parentB2BUnit!= null)
                  {
                      最终的Set 成员= parentB2BUnit.getMembers();
 
                      for(最终PrincipalModel b2bUnit:成员)
                      {
                          如果(B2BUnitModel的b2bUnit实例)
                          {
                              如果(b2bUnit.getUid()。包含(salesAreasU2K2))
                              {
                                  结果= baseStoreService.getBaseStoreForUid(" uimdc");
                                  返回结果;
 
                              }
                              否则(b2bUnit.getUid()。contains(salesAreaSirius))
                              {
                                  结果= baseStoreService.getBaseStoreForUid(" uimdcsirius");
                                  返回结果;
                              }
                          }
 
                      }
 
                     //结果=(BaseStoreModel)storeModels.get(0);
                  }
 
              }
          }


  

但是这不起作用,并且正在显示两个目录产品。 注意-我们只有一个内容目录

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,我们需要通过一个网站来支持多个基本商店和目录。

如果用户A登录到网站,他应该只能看到catalogA产品;如果用户B登录到网站,那么他应该只能看到catalogA产品。

网站-> basestoreA-> productcatalogA

网站-> basestoreB-> productCatalogB

我已经重写了DefaultBaseStoreSelectorStrategy类的getCurrentBaseStore方法,并根据用户的销售额返回了基础商店。

 公共BaseStoreModel getCurrentBaseStore()
      {
         //YTODO自动生成的方法存根
 
          BaseStoreModel结果= null;
          final String salesAreasU2K2 =" _OU03_11_11";
          final String salesAreaSirius =" _3100_29_10";
          最终的BaseSiteModel currentSite = this.siteService.getCurrentBaseSite();
          如果(currentSite!= null && currentSite.getUid()。equalsIgnoreCase(" uimdc"))
          {
             //最终列表 storeModels = currentSite.getStores();
            /*
               *如果(CollectionUtils.isNotEmpty(storeModels)){
               */
 
              最后的B2BCustomerModel currentUser =(B2BCustomerModel)b2bCustomerService.getCurrentB2BCustomer();
              如果(currentUser!= null)
              {
                 //最终B2BUnitModel parentB2BUnit = b2bUnitService.getParent(currentUser);
                  最后的B2BUnitModel parentB2BUnit = currentUser.getDefaultB2BUnit();
 
                  如果(parentB2BUnit!= null)
                  {
                      最终的Set 成员= parentB2BUnit.getMembers();
 
                      for(最终PrincipalModel b2bUnit:成员)
                      {
                          如果(B2BUnitModel的b2bUnit实例)
                          {
                              如果(b2bUnit.getUid()。包含(salesAreasU2K2))
                              {
                                  结果= baseStoreService.getBaseStoreForUid(" uimdc");
                                  返回结果;
 
                              }
                              否则(b2bUnit.getUid()。contains(salesAreaSirius))
                              {
                                  结果= baseStoreService.getBaseStoreForUid(" uimdcsirius");
                                  返回结果;
                              }
                          }
 
                      }
 
                     //结果=(BaseStoreModel)storeModels.get(0);
                  }
 
              }
          }


  

但是这不起作用,并且正在显示两个目录产品。 注意-我们只有一个内容目录

付费偷看设置
发送
2条回答
N-Moskvin
1楼-- · 2020-09-12 22:09

尝试为您的网上论坛添加SearchRestriction

野沐沐
2楼-- · 2020-09-12 21:53

嗨,

您有什么办法解决这个问题吗? 请给我建议解决方案。 我有同样的要求。

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...