简体中文
price-service.batchAddAfter.after
约 298 字小于 1 分钟
2026-05-08
执行时机
批量添加完数据,走完取价服务后
参数
| 参数 | 说明 | 类型 |
|---|---|---|
| data | 要添加的从对象数据 | Array/Object |
| realPriceData | 取价接口返回结果 | Object |
| lookupDatas | 添加数据对应的元数据 | Array/Object |
| mdApiName | 元数据API名称 | String |
| param | 其他参数对象 | Object |
返回值
无返回值
说明
- 该钩子在批量添加完数据,走完取价服务后触发,可用于处理取价结果和回填数据。
- 可以在此钩子中根据取价结果更新原始数据或执行其他后处理逻辑。
- 该插件没有返回值,直接修改传入的数据对象。
- 可以通过realPriceData获取取价服务的完整返回结果,用于进一步处理。
代码示例
export default class Plugin {
apply() {
return [{
event: "price-service.batchAddAfter.after",
functional: this.batchAddAfter.bind(this)
},
];
}
async batchAddAfter(context){
let { data, realPriceData } = context;
// 确保data是数组格式
let dataArray = data;
// 处理每个数据项
dataArray.forEach((item, index) => {
// 从取价结果中获取对应的价格信息
if(realPriceData && realPriceData.items && realPriceData.items[index]) {
const priceInfo = realPriceData.items[index];
// 回填价格信息到原始数据
item.unitPrice = priceInfo.unitPrice;
item.finalPrice = priceInfo.finalPrice;
// 添加取价时间戳
item.priceUpdateTime = new Date().toISOString();
}
});
}
}