1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- namespace App\Jobs\Cron;
- use App\Mail\DefaultSubscribe;
- use App\Models\Member;
- use App\Models\PersonJobsSubscribe;
- use App\Services\Person\PersonFavoriteService;
- use Illuminate\Bus\Queueable;
- use Illuminate\Queue\SerializesModels;
- use Illuminate\Queue\InteractsWithQueue;
- use Illuminate\Contracts\Queue\ShouldQueue;
- use Illuminate\Foundation\Bus\Dispatchable;
- use Illuminate\Support\Facades\Mail;
- class SubscribeF 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(PersonFavoriteService $personFavoriteService)
- {
- $res = $personFavoriteService->subscribe();
- if ($res) {
- foreach ($res as $key=>$val) {
- $email = $val['email'];
- $username = $val['username'];
- $subscribe_id = $val['subscribe_id'];
- $subscribe_rate = $val['subscribe_rate'];
- unset($val['email']);
- unset($val['username']);
- unset($val['subscribe_id']);
- unset($val['subscribe_rate']);
- if ($val) {
- try {
- Mail::to($email)->send(
- new DefaultSubscribe($val, '职位订阅', ['fullname'=>$username])
- );
- $date['updated_at'] = date('Y-m-d H:i:s',time()+86400);
- if ($subscribe_rate==313) {
- $date['updated_at'] = date('Y-m-d H:i:s',time()+86400);
- } elseif ($subscribe_rate==314) {
- $date['updated_at'] = date('Y-m-d H:i:s',time()+259200);
- } elseif ($subscribe_rate==315) {
- $date['updated_at'] = date('Y-m-d H:i:s',time()+604800);
- } elseif ($subscribe_rate==316) {
- $date['updated_at'] = date('Y-m-d H:i:s',time()+1209600);
- }
- PersonJobsSubscribe::where(['id'=>$subscribe_id])->update(['updated_at'=>$date['updated_at']]);
- } catch (\Exception $e) {
- PersonJobsSubscribe::where(['id'=>$subscribe_id])
- ->update(['updated_at'=>date('Y-m-d H:i:s',time()+86400)]);
- throw $e;
- }
- }
- }
- }
- }
- }
|