首页 > 解决方案 > 通过 Groovy 脚本通过 Impex 从 Hybris 导出数据

问题描述

我有 Impex 通过 HAC 中的 ImpexExport 从 Hybris 导出数据。(工作正常)我想通过 Groovy 脚本执行相同的操作,通过 groovy 脚本读取相同的 Impex 并将导出的 zip 文件保存在特定位置。

Impex INSERT_UPDATE 区域;isocodeShort;isocode;国家(isocode)

标签: groovyhybris

解决方案


您可以使用exportService来实现您的目的:

import de.hybris.platform.servicelayer.impex.ExportConfig
import de.hybris.platform.servicelayer.impex.ExportResult
import de.hybris.platform.servicelayer.impex.ExportService
import de.hybris.platform.servicelayer.impex.impl.StreamBasedImpExResource


ExportService exportService = spring.getBean("exportService")


final ByteArrayInputStream baos = new ByteArrayInputStream("INSERT_UPDATE Region;isocode[unique=true];isocodeShort;country(isocode)".getBytes("UTF-8"));

final ExportConfig config = new ExportConfig();
config.setScript(new StreamBasedImpExResource(baos, "UTF-8"));
config.setValidationMode(ExportConfig.ValidationMode.STRICT);
config.setEncoding("UTF-8");
exportedData =  exportService.exportData(config).getExportedData()

这将创建一个 ExportedModel 媒体,以获取该媒体的下载 URL,您可以使用:exportedData.getDownloadURL()


推荐阅读