OrderExpireProcess.php 947 B

12345678910111213141516171819202122232425262728293031
  1. <?php
  2. use app\common\model\Orders;
  3. use think\Db;
  4. use Workerman\Lib\Timer;
  5. use Workerman\Worker as WO;
  6. class OrderExpireProcess extends Com{
  7. public static function run(){
  8. $work=self::newWorker();
  9. $work->onWorkerStart=function (WO $worker){
  10. #未支付过期
  11. Timer::add(3,function ()use ($worker){
  12. $canceled=Orders::continue(Orders::S_WAIT_PAY)->select();
  13. foreach ($canceled as $order){
  14. Db::transaction(function ()use ($order){
  15. $order->makeCancel();
  16. });
  17. }
  18. });
  19. #待收货过期
  20. Timer::add(3,function ()use ($worker){
  21. $canceled=Orders::continue(Orders::S_WAIT_REC)->select();
  22. foreach ($canceled as $order){
  23. $order->makeRec();
  24. }
  25. });
  26. };
  27. }
  28. }
  29. OrderExpireProcess::run();