对订单模块从业务架构角度进行说明。
功能模块划分
- 订单拆分
一张订单拆分成多个订单。
拆分原因?订单商品来自不同供应商,不同仓库,供应商选择了不同物流,甚至不同分类商品都可能引起拆单。 - 订单转移
根据订单和下游系统制定生产计划。 - 订单下传
触发下游系统根据订单生成自己的工单。 - 订单回传
所有的下游系统/平台在接到这张订单以后,下游系统的反馈信息(订单全程跟踪信息) - 订单取消
问题
- 重复提交订单?
1、app用户提交订单后按钮置灰。(防止误操作重复提交订单)
2、提交订单页放置一个令牌(此令牌在下单,结算之前就产生),令牌只能使用一次 。(防止恶意刷单)
3、由于远程订单服务接口有重试机制造成重复提交(接口通过业务Id,如订单号,去重)或者保证接口幂等性或者接口只能调用一次,不允许重试。