㈠ php怎麼實現下單以後超過幾個小時不付款,訂單自動刪除(是刪除不是關閉或不讓支付)
這個問題可以用sql的定時任務實現,程序只能啟動線程定時掃描,在線程中判斷是否滿足刪除條件,滿足則刪除,不滿足則跳過,這個和sql的定時任務原理是一樣的
㈡ 如何使用php、html及消息隊列實現訂單超時自動關閉訂單
從php腳本方面解決的話,那就是每分鍾用ajax請求一次php腳本,檢查訂單狀態和當前時間,30分鍾後檢查到訂單無異,測php更新訂單到關閉狀態,這個地方需要用到setTimeout了,循環執行請求,但是缺點是頁面必能關閉,關閉了js就不執行,所以這個方法不太可取,30分鍾時間太長,不可能不進行其他頁面行為。
使用Mysql 定時計劃任務(推薦你使用),語法體
createeventmyevent
onscheleatcurrent_timestamp+interval1hour(周期或者時間點)
do
updatemyschema.mytablesetmycol=mycol+1;(執行的sql
詳細使用可以參考:https://segmentfault.com/a/1190000005142597,很清楚
㈢ PHP時間到了自動取消訂單
我做的話;時間倒計時,是js做的。在時間內有點擊就處理訂單事件。時間完成結束就不完成事件訂單的處理。
瀏覽器關閉計時器也自動關閉了。
㈣ PHP請教 訂單過了存活期 自動關閉訂單
自動的 話恐怕要涉及到計劃任務,而這個 功能php 自帶的很弱,或許你可以考慮下linux
㈤ ecshop程序(php內核)怎麼來實現 下訂單後3小時不付款,自動取消訂單
你在頁腳埋一個js吧 當前台有用戶訪問網站的時候 都會觸發這個JS 服務端 用txt文本 或這 資料庫 記錄一下 上次處理訂單的時間 當這個js觸發的時候 調用服務端的文件判斷當前時間和上次時間是否有1個小時(這個可以自行設置頻率 根據網站訂單的量調節) 如果滿足時間差了 就處理下訂單表裡面的 未付款訂單 如果不滿足 則放棄.. 這樣 對伺服器的壓力也不是很大.... 當然 如果你還是覺得大了 就種cooke 當用戶訪問的時候 第一次激活js 則埋下cooke 再次觸發的時候 先通過js 讀取用戶端的cooke 判斷時間 大於某個值的時候再請求 服務端文件 否則就放棄 ....能想到的就是這么處理了
㈥ TP6隊列think-queue(延時隊列/自動取消訂單/php自動操作)
什麼是延時隊列?顧名思義:首先它要具有隊列的特性,再給它附加一個延遲消費隊列消息的功能,也就是說可以指定隊列中的消息在哪個時間點被消費。
延時隊列在項目中肆姿散的應用還是比較多的,尤其像電商類平台訂單成功後,在30分鍾內沒有支付,自動取消訂單
外賣平台發送訂餐通知,下單成功後60s給用戶推送簡訊。
如果訂單一直處於某一個未完結狀態時,及時處理關單,並退還庫存
淘寶新建商戶一個月內還沒上傳商品信息,將凍結商鋪等
……
上邊的這些場景都可裂氏以應用延時隊列解決。
1.安裝think-queue
2.安裝redis
3.配置,項目\config\queue.php
4.創建隊列和冊物推送
新增 \app\job\test.php 控制器,在該控制器中添加 fire 方法
fire方法是消息隊列默認調用的方法
5.在項目中進行調用延時隊列方法
6.添加監聽 - 重要必要有這個監聽,Queue::later才有效
㈦ php怎麼實現 下單以後超過24小時不支付,訂單自動刪除
一般訂單是保存資料庫的,購物車的東西可以放到cookie,你可以弄個定時任務,每小時查詢未付款訂單,這個看你的精確度了,你要不需要精確,,就一小時一次,需要精確,就時間間隔縮短