商家取消订单的过程中,关联:退款、恢复库存、核减销量过程

一、使用表格:

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 状态为:销量已扫描

  至此完成商家取消订单业务流程。 

posted on 2019-03-01 20:15  qqzhulu  阅读(500)  评论(0编辑  收藏  举报