// +---------------------------------------------------------------------- namespace crmeb\jobs; use app\common\repositories\store\StoreActivityRepository; use crmeb\interfaces\JobInterface; use think\facade\Log; use think\queue\Job; use app\common\repositories\store\product\ProductRepository; class AutoChangeStatusActivityJob implements JobInterface { public function fire($job, $data) { $make = app()->make(StoreActivityRepository::class); $make->getsearch(['is_status' => 1])->chunk(100,function($list){ foreach ($list as $item) { try{ if (strtotime($item['end_time']) <= time()) { $item->is_show = 0; $item->status = -1; $item->save(); } else if (!$item['status'] && strtotime($item['start_time']) <= time()) { $item->is_show = 1; $item->status = 1; $item->save(); } }catch (\Exception $exception){ Log::info('自动同步活动状态失败:'.$exception->getMessage()); } } }); $job->delete(); } public function failed($data) { // TODO: Implement failed() method. } }