是否可以在Hybris中拦截诸如CategoryProductRelation之类的关系?

2020-09-22 06:24发布

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

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


通常,在Hybris中有模型拦截器,例如PrepareInterceptor,也就是说,当模型更改时,可以将其拦截。 我当时有问题。 我想在与CategoryProductRelation相关的更改发生时进行拦截。 因此,CategoryModel和ProductModel都不会更改.cat2prodrel表中只有一行更改,这不是模型更改的情况。 我在任何地方都找不到满意的解决方案。 当CategoryProductRelation更改时,您有任何要拦截的提议吗?

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

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


通常,在Hybris中有模型拦截器,例如PrepareInterceptor,也就是说,当模型更改时,可以将其拦截。 我当时有问题。 我想在与CategoryProductRelation相关的更改发生时进行拦截。 因此,CategoryModel和ProductModel都不会更改.cat2prodrel表中只有一行更改,这不是模型更改的情况。 我在任何地方都找不到满意的解决方案。 当CategoryProductRelation更改时,您有任何要拦截的提议吗?

付费偷看设置
发送
1条回答
小熊yu生菜
1楼 · 2020-09-22 07:12.采纳回答

我解决了我的问题。 就我而言,我导入了INSERT_UPDATE并删除了 CategoryProductRelation impex。是的,的确,在这些操作过程中CategoryModel和ProductModel都没有改变,但LinkModel却改变了。 我通过查看'typeCode'编写了用于REMOVE操作的移除拦截器和用于INSERT_UPDATE操作的后保存侦听器。 这是我的解决方案:

AfterSaveListener用于INSERT_UPDATE操作

 //'143'是CategoryProductRelation的typeCode
  if(pk.getTypeCode()== 143){
 
    对象模型= modelService.get(pk);
    if(LinkModel的模型实例){
      ......
    }
    .....
  }

  

Interceptor(RemoveInterceptor)用于REMOVE操作

  if(LinkModel的模型实例){
       最终的LinkModel linkModel =(LinkModel)模型;
       PK pk = linkModel.getPk();
       .....
   }
   ....



  

一周热门 更多>