当你们遇到如下需求时你们是怎么处理,是给每个一个定时任务或者是什么?
1.待付款 60分钟后未付款 变已取消 2.买家申请退款,七天后商家无操作,退款状态由申请退款变为退款关闭 3.商家申请退款,买家没点击同意,三天自动退款给买家 4.发货后10天不点确认收货,系统自动确认收货 5.申请退货,七天不操作,自动同意退货 6.申请换货,七天不操作,自动同意换货 7.(无投诉)时,不修改申请,不申请投诉,不撤销申请时,7天后系统都会自动关闭换货 8..(无投诉)时,不修改申请,不申请投诉,不撤销申请时,7天后系统都会自动关闭退款
4 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
整好实现了一个框架解决这些问题.
整个框架包含1.事件处理平台 2.消息队列 3.定时任务平台(Hangfire)
定时任务只做一个事情.那就是定时发送消息.触发指定事件.
整个系统的所有操作都定义为消息事件.事件处理
事件处理平台订阅消息队列.将各个类型的消息分发给各自的处理方法.
比如你的问题1 定义一个订单创建事件.在创建订单往消息队列发送订单创建消息.
定义一个订单创建消息处理,在这个事件中调用定时任务创建api(Hangfire的就一行代码).
60分钟后发送一个订单超时取消消息.
然后定义一个超时取消消息处理.这个业务就完了.
添加回答
举报
0/150
提交
取消