| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | 
							- <?php
 
- namespace app\cron;
 
- use app\common\util\AppMsg;
 
- use think\Db;
 
- use yunwuxin\cron\Task;
 
- class DeviceTask extends Task
 
- {
 
-     public function configure()
 
-     {
 
-         $this->everyMinute(); //每分钟执行一次
 
-     }
 
-     /**
 
-      * 执行任务
 
-      * @return mixed
 
-      */
 
-     protected function execute()
 
-     {
 
-         try{
 
-            $this->device();
 
-            $this->addDeviceTask();
 
-            $this->deviceStart();
 
-            $this->deviceTaskRemind();
 
-         }catch (\Exception $e){
 
-             trace($e->getMessage());
 
-         }
 
-     }
 
-     //处理已超时设备台账任务,并从任务栏删除
 
-     public function device(){
 
-         set_time_limit(0);
 
-         ini_set("memory_limit","1024M");
 
-         (new \app\common\model\DeviceTask())->timer_action();
 
-     }
 
-     //近12个小时的设备台账任务加入到任务栏
 
-     public function addDeviceTask(){
 
-         (new \app\common\model\DeviceTask())->addDeviceTask();
 
-     }
 
-     // 设备台账任务将要开始提醒 每分钟执行一次
 
-     public function deviceStart(){
 
-         $curTime = date('Y-m-d H:i').':00';
 
-         $users = Db::name('device_task_user')
 
-             ->alias('ptu')
 
-             ->join('device_task pt','pt.id = ptu.task_id')
 
-             ->where('pt.del',0)
 
-             ->where('pt.status',0)
 
-             ->where('pt.start_time',$curTime)
 
-             ->column('ptu.user_id');
 
-         if($users){
 
-             send_jpush($users,AppMsg::PUSH_DEVICE_TASK,'您有新的设备台账任务将要开始,请及时执行。');
 
-         }
 
-     }
 
-     //提前五分钟提醒
 
-     public function deviceTaskRemind(){
 
-         $curStr= time() - 60*5;
 
-         $date = date('Y-m-d H:i',$curStr).':00';
 
-         $users = Db::name('device_task_user')
 
-             ->alias('ptu')
 
-             ->join('device_task pt','pt.id = ptu.task_id')
 
-             ->where('pt.del',0)
 
-             ->where('pt.status',0)
 
-             ->where('pt.start_time',$date)
 
-             ->column('ptu.user_id');
 
-         send_jpush($users,AppMsg::PUSH_DEVICE_TASK,'您有新的设备维保任务将要开始,请及时执行。');
 
-     }
 
- }
 
 
  |