日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php倒计时关闭订单,订单倒计时取消,nodejs 辅助实现倒计时任务

發布時間:2025/3/15 php 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php倒计时关闭订单,订单倒计时取消,nodejs 辅助实现倒计时任务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先本地安裝node環境

由于小編是搞后臺開發的,前段框架略知一二,此處就不班門弄斧了,網上很多教程

http://nodejs.cn/

win和linux找才對應包

安裝完成之后創建node一個框架express,創建一個工程

地址 127.0.0.1:3000

此處demo 為?LateSend

然后再創建文件

LateSend/routes/latefire.js

倒計時取消訂單邏輯代碼:

var express = require('express');

var router = express.Router();

var request = require('request');

var moment = require('moment');

router.get('/', function(req, res) {

var taskname = req.query.taskname;

var objectid = req.query.objectid;

var time = req.query.time;

var start = Date.now();

var returnUrl = req.query.returnUrl;

console.log('當前時間:' + moment(start).format('YYYY-MM-DD HH:mm:ss')+"---taskname="+taskname+"----objectid="+objectid+"----time="+time);

var oneID = setTimeout(function () {

console.log(Date.now() - start + '毫秒后,'+ moment(start).format('YYYY-MM-DD HH:mm:ss')+'觸發動作!被修改訂單id:'+objectid+'\r\n');

request.post(returnUrl+taskname).form({order_id:objectid,time:time});

clearTimeout(oneID);

}, time*60*1000);

res.send("服務器將在"+time+"分 后觸發"+taskname+"操作");

});

module.exports = router;

實現邏輯:

1.后臺服務器,創建訂單的地方,調用127.0.0.1:3000,請求倒計時功能

$url='http://127.0.0.1:3000/latefire?taskname=cancelOrderLateCancel&objectid='.$order_id.'&time=30&returnUrl=127.0.0.1:80/home/order/lateCancelOrder';

此處把express項目用到的信息,作為參數傳遞過來,回調地址,任務名稱,訂單ID,倒計時時間

2.node服務啟動并持續運行,使用npm 安裝插件forever,可一直運行該服務,否則,node退出窗口,服務停止

3.node服務運行,設置time=30之后,自動回調項目取消訂單的功能邏輯

地址為127.0.0.1:80/home/order/lateCancelOrder

lateCancelOrder這個方法中,實現取消訂單的基本邏輯

另外訂單倒計時還有一更搓的方法,小編之前自己用的,也分享下吧

在訂單下成功頁面,js定時器,倒計時30分鐘,發送取消請求的命令,缺點,用戶會關掉瀏覽器,定時器,不能運行

這時候,做了各種補救錯誤,比如請求付款的接口處,先判斷時間是否到時間,倒計時30分鐘,到了,直接返回訂單已過期

輔助linux crontab定時任務,每天晚上12點檢查所有漏網之魚,所有為取消的訂單,系統取消掉

總結

以上是生活随笔為你收集整理的php倒计时关闭订单,订单倒计时取消,nodejs 辅助实现倒计时任务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。