Hybris 导入impex时的AfterSaveListener类型代码问题

Hybris 导入impex时的AfterSaveListener类型代码问题,hybris,impex,Hybris,Impex,Hybris 6.3.0.2 我创建了一个AfterSaveListener,它在保存项目后执行一些自定义逻辑 *余波监听器- @Override public void afterSave(final Collection<AfterSaveEvent> events) { for (final AfterSaveEvent event : events) { final int type = event.getType(); if

Hybris 6.3.0.2

我创建了一个AfterSaveListener,它在保存项目后执行一些自定义逻辑

*余波监听器-

@Override
public void afterSave(final Collection<AfterSaveEvent> events)
{
    for (final AfterSaveEvent event : events)
    {
        final int type = event.getType();
        if (AfterSaveEvent.UPDATE == type || AfterSaveEvent.CREATE == type)
        {
            final PK pk = event.getPk();
            //The AttributeFormat Model typecode is "11001"
            if (11001 == pk.getTypeCode())
            {
                final AttributeFormatModel attributeFormat = modelService.get(pk);
                updateProductFeatureByAttributeFormat(attributeFormat);
            }
         }
    }
}
@覆盖
公共作废afterSave(最终收集事件)
{
用于(最终余波事件:事件)
{
final int type=event.getType();
if(AfterSaveEvent.UPDATE==type | | AfterSaveEvent.CREATE==type)
{
最终PK=event.getPk();
//AttributeFormat模型类型代码为“11001”
if(11001==pk.getTypeCode())
{
final attributeformModel attributeFormat=modelService.get(主键);
通过attributeFormat(attributeFormat)更新ProductFeature;
}
}
}
}
已经创建了一个新的项目类型“AttributeFormat”,我正在根据它更新产品特征数据

如果我从backoffice更新或创建AttributeFormat,这个监听器可以正常工作,但在通过impex导入数据时,它不能按预期工作

弹劾-

INSERT_UPDATE AttributeFormat;code[unique=true];prefix[lang=$lang];suffix[lang=$lang];separator[lang=$lang];$classSystemVersion
;prefix_suffix_separator;<;change;,
插入\u更新属性格式;代码[unique=true];前缀[lang=$lang];后缀[lang=$lang];分隔符[lang=$lang]$类系统版本

;前缀\后缀\分隔符 在hybris管理控制台中检查您的模型属性FormatModel的类型代码,通常是考虑中父类的类型代码 我建议使用instanceof检查

@Override
public void afterSave(final Collection<AfterSaveEvent> events)
{
    events.forEach(event -> {
        if (event.getType() == AfterSaveEvent.CREATE)
        {
            final PK pk = event.getPk();
            final Object object = getModelService().get(pk);
            if (object instanceof ManageTransportOfferingForScheduleConfigurationCronJobModel)
            {
                final ManageTransportOfferingForScheduleConfigurationCronJobModel cronjob =
                        (ManageTransportOfferingForScheduleConfigurationCronJobModel) object;
                cronjob.setActive(Boolean.TRUE);
                getCronJobService().performCronJob(cronjob, true);
            }
        }
    });
}
@覆盖
公共作废afterSave(最终收集事件)
{
events.forEach(事件->{
if(event.getType()==AfterSaveEvent.CREATE)
{
最终PK=event.getPk();
最终对象=getModelService().get(pk);
if(ManageTransportOfferingForScheduleConfigurationCronJobModel的对象实例)
{
时间表配置CronJobModel cronjob的最终ManageTransportOffering=
(ManageTransportOfferingForScheduleConfigurationCronJobModel)对象;
cronjob.setActive(Boolean.TRUE);
getCronJobService().performCronJob(cronjob,true);
}
}
});
}

当类型代码不起作用时,它是什么?您确定在更新案例中,您要执行此测试
if(AfterSaveEvent.update==type | | | AfterSaveEvent.CREATE==type)
?@alain.janinm是的,它将进入
if(AfterSaveEvent.update==type | | AfterSaveEvent.CREATE==type)
但预期的类型代码“11001”没有出现。您能否提供您获得的其他类型代码?你知道它代表哪个物体吗?