我正在开发一个原型来展示我们如何从“盒子”驱动的市场中改变我们的商业模式,并将其转变为订阅业务。我们使用Zuora中心平台来管理我们的订阅。数据通过REST提供。 (见https://www.zuora.com/developer/api-reference/#tag/Catalog)。我正在使用我从ZUORA调用的数据来调整定价。
我有以下n级数据模型:
export class OrderInTake {
productID: string;
productName: string;
productRatePlans: ProductRatePlans[];
}
export class ProductRatePlans extends Products {
'id': string;
'status': string;
'name': string;
'description': string;
'effectiveStartDate': string;
'effectiveEndDate': string;
'PriceType__c': string;
'PriceCode__c': string;
'CurrencyOfBasePrice__c': string;
'BasePrice__c': string;
'productRatePlanCharges': ProductRatePlanCharges[];
}
export class ProductRatePlanCharges extends ProductRatePlans {
'id': string;
'name': string;
'type': string;
'model': string;
'uom': string;
'pricingSummary': [];
'pricing': Pricing[];
'defaultQuantity': string;
'applyDiscountTo': string;
'discountLevel': string;
'discountClass': string;
'productDiscountApplyDetails': [ ];
'endDateCondition': string;
'upToPeriods': string;
'upToPeriodsType': string;
'billingDay': string;
'listPriceBase': string;
'billingTiming': string;
'billingPeriod': string;
'billingPeriodAlignment': string;
'specificBillingPeriod': string;
'smoothingModel': string;
'numberOfPeriods': string;
'overageCalculationOption': string;
'overageUnusedUnitsCreditOption': string;
'unusedIncludedUnitPrice': string;
'usageRecordRatingOption': string;
'priceChangeOption': string;
'priceIncreasePercentage': string;
'useTenantDefaultForPriceChange': string;
'taxable': string;
'taxCode': string;
'taxMode': string;
'FeatureCode__c': string;
'triggerEvent': string;
'description': string;
'revenueRecognitionRuleName': string;
'useDiscountSpecificAccountingCode': string;
}
当我需要访问子子数组ProductRatePlanCharges我收到错误消息:'ProductRatePlans []'类型上不存在属性'productRatePlanCharges'。
我想我需要更改模型 - 如何更改模型以便能够访问子子数组?
问题的背景:我需要在每个ProductRatePlanCharges中推送2个新对象以存储在listprice旁边,默认数量是折扣价格和调整后的数量。如果有一个更聪明的方法,而不是推动每个费率计划的价值,请分享。
感谢您的支持。
基于你的模型OrderInTake
有productRatePlans
这是一个数组,然后数组中的每个项目都有另一个名为productRatePlanCharges
的数组,所以为了访问它你需要遍历这样的
例如OrderInTake.productRatePlans[0].productRatePlanCharges
=>这也是数组
或者OrderInTake.productRatePlans.forEach(item => item.productRatePlanCharges // do something with it)