|
@@ -4,13 +4,15 @@ namespace app\api\controller;
|
|
|
|
|
|
use app\common\controller\Api;
|
|
|
use app\common\model\Order;
|
|
|
+use think\Db;
|
|
|
+use think\Exception;
|
|
|
|
|
|
/**
|
|
|
* 定时任务
|
|
|
*/
|
|
|
class TimedTask extends Api
|
|
|
{
|
|
|
- protected $noNeedLogin = ['cancellation_order'];
|
|
|
+ protected $noNeedLogin = ['*'];
|
|
|
protected $noNeedRight = '*';
|
|
|
|
|
|
/**
|
|
@@ -18,13 +20,40 @@ class TimedTask extends Api
|
|
|
* @return void
|
|
|
*/
|
|
|
public function cancellation_order(){
|
|
|
- $list = Order::all(function ($query){
|
|
|
- $query->where(['type'=>2])->field('id,create_time');
|
|
|
+ //订单过期自动取消
|
|
|
+ $orderlist = Order::all(function ($query){
|
|
|
+ $query->where(['type'=>1,'status'=>1])->field('id,create_time');
|
|
|
});
|
|
|
- foreach ($list as $k=>$v){
|
|
|
- $valid_time = strtotime($v['create_time']) + 1800;
|
|
|
+ foreach ($orderlist as $k=>$value){
|
|
|
+ if($value){
|
|
|
+ $create_time = strtotime($value['create_time']) + 1800;
|
|
|
+ if($create_time < time()){
|
|
|
+ Db::startTrans();
|
|
|
+ try {
|
|
|
+ Order::where('id',$value['id'])->update(['status'=>0]);
|
|
|
+ Db::commit();
|
|
|
+ }catch (Exception $exception){
|
|
|
+ Db::rollback();
|
|
|
+ $this->error($exception);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //报价单过期自动取消
|
|
|
+ $pjdorderlist = Order::all(function ($query){
|
|
|
+ $query->where(['type'=>2,'status'=>1])->field('id,valid_time');
|
|
|
+ });
|
|
|
+ foreach ($pjdorderlist as $k=>$v){
|
|
|
+ $valid_time = strtotime($v['valid_time']);
|
|
|
if($valid_time < time()){
|
|
|
- Order::where('id',$v['id'])->update(['stauts'=>0]);
|
|
|
+ Db::startTrans();
|
|
|
+ try {
|
|
|
+ Order::where('id',$v['id'])->update(['status'=>0]);
|
|
|
+ Db::commit();
|
|
|
+ }catch (Exception $exception){
|
|
|
+ Db::rollback();
|
|
|
+ $this->error($exception);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|