简体中文
price-service.batchAddAfter.parseData
约 268 字小于 1 分钟
2026-05-08
执行时机
批量添加完数据,走取价接口之前,可以改数据字段
参数
| 参数 | 说明 | 类型 |
|---|---|---|
| data | 要添加的对象数据 | Array/Object |
| lookupDatas | 对应的元数据 | Array/Object |
| param | 其他参数对象 | Object |
返回结果
| 参数 | 说明 | 类型 |
|---|---|---|
| data | 处理后的对象数据 | Array/Object |
说明
- 该钩子在批量添加完数据,走取价服务之前触发,可用于预处理数据。
- 可以在此钩子中对数据进行格式化、转换或补充。
- 返回的data将替换原始数据,用于后续的取价服务处理。
- 如果返回的data为空或未返回,则使用原始数据继续执行。
代码示例
export default class Plugin {
apply() {
return [{
event: "price-service.batchAddAfter.parseData",
functional: this.parseData.bind(this)
},
];
}
async parseData(context){
let { data, lookupDatas, param } = context;
// 确保data是数组格式
let processedData = data;
// 处理每个数据项
processedData = processedData.map(item => {
// 添加或修改字段
if(!item.processedTime) {
item.processedTime = new Date().toISOString();
}
// 根据参数进行特定处理
if(param && param.addTaxInfo) {
item.taxRate = param.defaultTaxRate || 0.13;
item.priceIncludeTax = param.priceIncludeTax || false;
}
return item;
});
return {
data: processedData,
};
}
}