复杂订单管理系统的接口

TypeScript Hard interfaces

任务 «复杂订单管理系统的接口»

设计一套 TypeScript 类型与接口系统,用于处理支持多种支付方式、配送方式及折扣的电商订单。实现 processOrder 函数,该函数接收订单对象并返回应用所有规则后的最终金额。订单包含商品列表(每件商品有价格和数量)、支付方式(card、cash、crypto)以及配送方式(pickup、courier、post)。使用卡支付和加密货币支付享受 5% 折扣,自取享受 10% 折扣,快递配送加价 15%,邮政配送固定费用 300。折扣与加价依次应用:先应用支付折扣,再应用配送折扣/加价。最终金额四舍五入保留两位小数。

输入格式

第一行:商品数量 N(1 ≤ N ≤ 100)。随后 N 行:商品名称(不含空格的字符串)、价格(浮点数)、数量(整数)。下一行:支付方式(card、cash、crypto)。最后一行:配送方式(pickup、courier、post)。

输出格式

一个数字——保留两位小数的最终金额。

示例

示例 1

输入
5 5 4 3 2 1
输出
1 2 3 4 5 10
main.ts