- 完成从业务用例分析到领域建模设计的推演
- 实践过程需包含领域建模的主要知识点
- 可考虑业务扩展点,及系统的高可用设计
实践
业务用例
查询订单可退金额:返回该订单支付指令维度的可退金额明细
退款咨询:按支付工具的退款优先级,将退款总额分摊到各支付指令上
执行退款:执行支付指令维度的渠道退款业务流程
可退金额查询与退款咨询流程:
退款流程:系统上下游
业务分层视图
领域建模
边界上下文
模型设计
聚合根:checkoutOrder 收单订单、payTerm支付阶段、refundTerm退款阶段
领域服务
checkoutDomainService收单领域服务
- 下单
- 关单
- 取消
- 退款受理
payTermDomainService 支付阶段领域服务
- 新增支付阶段
- 修改支付阶段
- 完结支付阶段
- 取消支付阶段
payDomainService 支付领域服务
- 执行支付
- 取消支付
- 支付结果回调
paymentBizQueryService 支付查询服务
- 收单信息查询
- 支付阶段查询
- 支付指令查询
- 支付结果查询
refundDomainService退款领域服务
- 支付超时时间
- 支付成功回调
- 支付失败回调
- 支付超时回调
- 支付工具的退款优先级
- 退款超时时间
- 退款成功回调
- 退款失败回调
-
高可用设计
应用启动时,将支付工具的配置信息加载到redis中
- 支付和退款的状态变更事件走mq,异步推进,提高接口吞吐量