<?php // +---------------------------------------------------------------------- // | CRMEB [ CRMEB赋能开发者,助力企业发展 ] // +---------------------------------------------------------------------- // | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved. // +---------------------------------------------------------------------- // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权 // +---------------------------------------------------------------------- // | Author: CRMEB Team <admin@crmeb.com> // +---------------------------------------------------------------------- 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. } }