| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 | <?phpnamespace App\Jobs\Cron;use App\Services\Jobfair\JobfairService;use App\Services\Jobfairout\JobfairoutService;use Illuminate\Bus\Queueable;use Illuminate\Queue\SerializesModels;use Illuminate\Queue\InteractsWithQueue;use Illuminate\Contracts\Queue\ShouldQueue;use Illuminate\Foundation\Bus\Dispatchable;use App\Models\Jobfair\Jobfair as JobF;use App\Models\Jobfairout\Jobfairout;use App\Models\Jobfair\JobfairCompany;use App\Models\MembersPoint;use Illuminate\Support\Facades\Log;use App\Repositories\MemberHandselRepository;class Jobfair implements ShouldQueue{    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;    const CREATE_LIST = 'create';    const UPDATE_LIST = 'update';    /**     * Create a new job instance.     *     * @return void     */    public function __construct()    {    }    /**     * Execute the job.     *     * @return void     */    public function handle(JobfairService $jobfairService,JobfairoutService $jobfairoutService,MemberHandselRepository $memberHandselRepository)    {        $id = $jobfairService->getJobfairOpen();        if ($id) {            $res = JobF::whereIn('id', $id)->update(['predetermined_status'=>2]);            if (!$res) {                Log::error('jobfairs failed to update.', ['date' =>$id]);            }        }        foreach ($id as $value)        {            $is_commonweal = JobF::where('id',$value)->value('is_commonweal');            if($is_commonweal != 3){                $nosign_point = JobF::where('id',$value)->value('nosign_point');                if($nosign_point){                    $list = JobfairCompany::where(['type'=>0,'jobfair_id'=>$value])->get();                    foreach ($list as $val)                    {                        $points = MembersPoint::where(['utype'=>1,'uid'=>$val->company_id])->value('points');                        if($points > $nosign_point){                            MembersPoint::where(['utype'=>1,'uid'=>$val->company_id])->decrement('points',$nosign_point);                            $handsel['uid'] = $val->company_id;                            $handsel['utype'] = 1;                            $handsel['htype'] = 'jobfair_late';                            $handsel['htype_cn'] = '招聘会未签到';                            $handsel['operate'] = 2;                            $handsel['points'] = $nosign_point;                            $memberHandselRepository->addNew($handsel);                        }else{                            MembersPoint::where(['utype'=>1,'uid'=>$val->company_id])->update(['points'=>0]);                        }                    }                }            }        }        $id = $jobfairoutService->getJobfairOpen();        if ($id) {            $res = Jobfairout::whereIn('id', $id)->update(['predetermined_status'=>2]);            if (!$res) {                Log::error('jobfairout failed to update.', ['date' =>$id]);            }        }        foreach ($id as $value)        {            $is_commonweal = Jobfairout::where('id',$value)->value('is_commonweal');            if($is_commonweal != 3){                $nosign_point = Jobfairout::where('id',$value)->value('nosign_point');                if($nosign_point){                    $list = JobfairCompany::where(['type'=>0,'jobfair_id'=>$value])->get();                    foreach ($list as $val)                    {                        $points = MembersPoint::where(['utype'=>1,'uid'=>$val->company_id])->value('points');                        if($points > $nosign_point){                            MembersPoint::where(['utype'=>1,'uid'=>$val->company_id])->decrement('points',$nosign_point);                            $handsel['uid'] = $val->company_id;                            $handsel['utype'] = 1;                            $handsel['htype'] = 'jobfair_late';                            $handsel['htype_cn'] = '赴外招聘会未签到';                            $handsel['operate'] = 2;                            $handsel['points'] = $nosign_point;                            $memberHandselRepository->addNew($handsel);                        }else{                            MembersPoint::where(['utype'=>1,'uid'=>$val->company_id])->update(['points'=>0]);                        }                    }                }            }        }    }}
 |