是否可以在Hybris中拦截像CategoryProductRelation这样的关系?

时间:2018-04-06 14:46:10

标签: java spring sap interceptor hybris

通常,在Hybris中,存在模型拦截器,例如PrepareInterceptor。也就是说,当模型发生变化时,它可以被拦截。 那时我有一个问题。我想在发生与CategoryProductRelation相关的更改时进行拦截。 CategoryModel和ProductModel都没有因此而改变。只是在cat2prodrel表中有一行变化。这不是模型更改的情况。当CategoryProductRelation发生变化时,您是否有任何拦截提议?

1 个答案:

答案 0 :(得分:0)

我解决了我的问题。在我的例子中,我导入了INSERT_UPDATE和REMOVE CategoryProductRelation impex.Yes,在这些操作中,CategoryModel和ProductModel都没有改变,但LinkModel发生了变化。我通过查看' typeCode'为REMOVE操作编写了一个删除拦截器,为INSERT_UPDATE操作编写了一个after保存侦听器。这是我的解决方案。

用于INSERT_UPDATE操作的AfterSaveListener

 .....
//'143' is a typeCode of CategoryProductRelation
if(pk.getTypeCode()==143){

  Object model= modelService.get(pk); 
  if(model instanceof LinkModel){
    ......
  }
  .....
} 

用于REMOVE操作的拦截器(RemoveInterceptor)

 ......
 if(model instanceof LinkModel){
     final LinkModel linkModel = (LinkModel) model;
     PK pk=linkModel.getPk();
     .....
 }
 .....