java 商家取消订单流程

Wesley13
• 阅读 653

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

一、使用表格:

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

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

点赞
收藏
评论区
推荐文章
待兔 待兔
11个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Stella981 Stella981
3年前
Nginx + lua +[memcached,redis]
精品案例1、Nginxluamemcached,redis实现网站灰度发布2、分库分表/基于Leaf组件实现的全球唯一ID(非UUID)3、Redis独立数据监控,实现订单超时操作/MQ死信操作SelectPollEpollReactor模型4、分布式任务调试Quartz应用
Wesley13 Wesley13
3年前
mysql按月统计六个月内不同类型订单的成交金额
mysql按月统计六个月内不同类型订单的成交金额创建数据库CREATEDATABASEtest;创建订单表CREATETABLEt_order(idbigint(4)NOTNULLAUTO_INCREMENTCO
Easter79 Easter79
3年前
SpringBoot+RabbitMQ+Redis实现商品秒杀
业务分析一般而言,商品秒杀大概可以拆分成以下几步:1.用户校验校验是否多次抢单,保证每个商品每个用户只能秒杀一次2.下单订单信息进入消息队列,等待消费3.减少库存消费订单消息,减少商品库存,增加订单记录4.付款十五分钟内完成支付,修改支付状态创建表goods\_info商品库存表
Stella981 Stella981
3年前
SpringBoot+RabbitMQ+Redis实现商品秒杀
业务分析一般而言,商品秒杀大概可以拆分成以下几步:1.用户校验校验是否多次抢单,保证每个商品每个用户只能秒杀一次2.下单订单信息进入消息队列,等待消费3.减少库存消费订单消息,减少商品库存,增加订单记录4.付款十五分钟内完成支付,修改支付状态创建表goods\_info商品库存表
Wesley13 Wesley13
3年前
JPA(三)之实体关系一对多(多对一)
1.背景介绍:  对于购买商品时,订单信息(Order)和订单商品信息(OrderItem)的关系就是一对多的关系。2.实体bean:  Order.java代码packagecom.sinoi.bean;importjava.util.HashSet;importjava.util.Set;
鸿蒙小林 鸿蒙小林
2天前
《仿盒马》app开发技术分享-- 回收订单详情页(46)
技术栈Appgalleryconnect开发准备上一节我们实现了订单列表的所有功能,展示了待取件、已取消、运输中、已完成等订单列表的数据展示,并且在对应的订单中点击功能按钮实现了订单的状态切换,这一节我们就要通过点击对应列表内的订单进入相应的订单详情页,展
鸿蒙小林 鸿蒙小林
2天前
《仿盒马》app开发技术分享-- 兑换订单提交(73)
技术栈Appgalleryconnect开发准备上一节我们实现了兑换提交前的准备页面,向用户展示了兑换相关的所有信息,这一节我们就可以实现兑换订单的提交了功能分析订单提交我们需要创建对应的兑换商品订单提交信息表,我们需要把地址,商品信息,积分,备注,订单状
鸿蒙小林 鸿蒙小林
2天前
《仿盒马》app开发技术分享-- 兑换商品取消订单&取消列表展示(77)
技术栈Appgalleryconnect开发准备上一节我们实现了兑换订单待发货列表的展示逻辑,成功的在列表中展示出来,我们在订单条目中新增了两个按钮,确认揽收与取消订单,这一节我们要实现的功能是订单的取消,以及订单取消后取消列表的展示功能分析要实现订单取消