慕尼黑5688855
2018-12-06 21:02:52
當你們遇到如下需求時你們是怎么處理,是給每個一個定時任務或者是什么?
1.待付款 60分鐘后未付款 變已取消 2.買家申請退款,七天后商家無操作,退款狀態(tài)由申請退款變?yōu)橥丝铌P(guān)閉 3.商家申請退款,買家沒點擊同意,三天自動退款給買家 4.發(fā)貨后10天不點確認收貨,系統(tǒng)自動確認收貨 5.申請退貨,七天不操作,自動同意退貨 6.申請換貨,七天不操作,自動同意換貨 7.(無投訴)時,不修改申請,不申請投訴,不撤銷申請時,7天后系統(tǒng)都會自動關(guān)閉換貨 8..(無投訴)時,不修改申請,不申請投訴,不撤銷申請時,7天后系統(tǒng)都會自動關(guān)閉退款
4 回答

犯罪嫌疑人X
TA貢獻2080條經(jīng)驗 獲得超4個贊
整好實現(xiàn)了一個框架解決這些問題.
整個框架包含1.事件處理平臺 2.消息隊列 3.定時任務平臺(Hangfire)
定時任務只做一個事情.那就是定時發(fā)送消息.觸發(fā)指定事件.
整個系統(tǒng)的所有操作都定義為消息事件.事件處理
事件處理平臺訂閱消息隊列.將各個類型的消息分發(fā)給各自的處理方法.
比如你的問題1 定義一個訂單創(chuàng)建事件.在創(chuàng)建訂單往消息隊列發(fā)送訂單創(chuàng)建消息.
定義一個訂單創(chuàng)建消息處理,在這個事件中調(diào)用定時任務創(chuàng)建api(Hangfire的就一行代碼).
60分鐘后發(fā)送一個訂單超時取消消息.
然后定義一個超時取消消息處理.這個業(yè)務就完了.
添加回答
舉報
0/150
提交
取消