商家取消订单的过程中,关联:退款、恢复库存、核减销量过程
一、使用表格:
req_order_ops 订单发起请求操作表
goods_order2 订单表
goods 商品表
goods_order2_oplog 订单日志表
refund_order 退款订单表
二、开发运行流程:
(1)商家取消订单,数据生成至req_order_ops表格中;状态为:商家取消订单,请求处理系统未扫描;
(2)生成扫描器,定时扫描req_order_ops表,获取状态为:商家取消订单、请求处理系统未扫描的对象(如果goods_order2状态显示其已取消,忽略它);
(3)根据获取的对象,将其存入refund_order表,goods_order2表状态显示为:商家发起取消订单 | 已取消;req_order_ops 状态为:请求处理系统已扫描 | 请求处理成功;
goods_order2_oplog 状态为:已取消
(4)生成扫描器,定时扫描refund_order 表,获取未被提交给微信扫描的对象,将退款申请提交给微信,refund_order 状态为:提交给微信已扫描 | 退款申请提交给微信 ;goods_order2_oplog
状态为:退款申请提交给微信
(5)生成扫描器,定时扫描 refund_order 表,获取:退款进度未被扫描,提交给微信已扫描 | 退款申请提交给微信 的对象,将其参数发送给微信进行退款,若退款成功:
refund_order 表的状态为:退款进度已被扫描 | 资金已成功退回;若退款失败:refund_order 表的状态为:退款进度已被扫描
(6)生成扫描器,定时扫描 refund_order 表,获取 退款进度已被扫描 | 资金已成功退回 退款结果同步处理器未扫描 的对象,goods_order2_oplog 显示状态为:订单资金
已成功退回,goods_order2 状态为:已退款 | 微信退款进度已扫描 , 状态为:退款结果同步处理器已扫描 | 退款结果已经同步到原始订单
(7)生成扫描器,恢复库存,定时扫描 goods_order2 ,获取 已取消,未删除,已完成支付,已退款,未扫描 的对象,根据该对象恢复 goods 库存,若恢复库存成功:
goods_order2 状态为:已扫描 | 已加回库存;若失败:goods_order2 状态为:已扫描
(8)生成扫描器,核减销量,定时扫描器扫描 goods_order2 ,获取 已取消,未删除,已完成支付,已退款,未扫描销量 的对象,根据该对象核减 goods销量,若核减销量
成功:goods_order2 状态为:销量已扫描 | 已核减销量;若失败:goods_order2 状态为:销量已扫描
至此完成商家取消订单业务流程。