| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | <?php/** * Created by PhpStorm. * User: wuzhenke * Date: 2019/2/14 * Time: 10:03 */namespace App\Jobs\Cron;use App\Models\MembersSetmeal;use App\Repositories\CompanyRepository;use App\Repositories\MemberLogRepository;use App\Repositories\MemberSetmealRepository;use App\Services\Company\ServiceService;use Illuminate\Bus\Queueable;use Illuminate\Contracts\Queue\ShouldQueue;use Illuminate\Foundation\Bus\Dispatchable;use Illuminate\Queue\InteractsWithQueue;use Illuminate\Queue\SerializesModels;use Illuminate\Support\Facades\Log;class ClearExpiredSetmealJob implements ShouldQueue{    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;    /**     * Create a new job instance.     *     * @return void     */    public $params=null;    public function __construct($params=null)    {        if (!empty($params)){            $this->params=$params;        }    }    public function handle(MemberLogRepository $memberLogRepository,MemberSetmealRepository $memberSetmealRepository, ServiceService $serviceService, CompanyRepository $companyRepository)    {        //所有的会员都要查询到        $condition = [            ['endtime','<=', time()],            ['endtime','<>',0],            ['utype','=',1]        ];        $list = $memberSetmealRepository->findWhere($condition);        if ($list->isNotEmpty()) {            foreach ($list as $key => $val) {                unset($user);                unset($userObj);                $user = $companyRepository->getCompanyInfo(['id'=>$val->uid]);                if ($user) {                    $userObj =(object)['id'=>$user['id'],'utype'=>$user['utype'],'username'=>$user['username'],'subsite_id'=>$user['subsite_id']];                    //判断清除积分                    try{                        $serviceService->clearPoint($user['id']);                    }catch (\Exception $exception){                                            }                    if ($val->setmeal_id==1){ //免费套餐到期了                        if (!$serviceService->setFreeMembersSetmeal($userObj)) {                            Log::error('会员ID'.$user['id'].'套餐修改失败!');                        }                    }else{ //其他会员到期了                        if (!$serviceService->setMembersSetmeal($userObj, MembersSetmeal::FREE_SetMember,$this->params)) {                            Log::error('会员ID'.$user['id'].'套餐修改失败!');                        }                    }                }            }        }    }}
 |