get(); if (!empty($activities)){//要发送通知的活动 foreach ($activities as $activity) { $message = '【福恋】恭喜您,您参加的“'.$activity->theme.'”活动报名成功,请于'.$activity->start_time.'准时参与。如有问题,请联系:18922809346,退订回N'; $members = ActivityMember::where('activity_id',$activity->id)->where('is_joined',1)->get(); $mobile = []; foreach ($members as $member) { $result = $this->isSendSms($activity,$member); if ($result) { //没有发送过 就发 $mobile[] = $result; } } if(!empty($mobile) && is_array($mobile)){ //批量发送 $array = [ 'mobile' => $mobile, 'message' => $message ]; //添加记录 $this->addSmsRecord($mobile,$activity); SendSmsBatch::dispatch($array)->onQueue('love'); } } } } //判断是否发送过该短信 public function isSendSms($activity,$member){ $code = '活动短信通知'.$activity->id; $is_send = Message::where('phone',$member->mobile)->where('code',$code)->count(); if ($is_send) { return false; }else{ return $member->mobile; } } //增加短信记录 public function addSmsRecord($mobile,$activity){ $code = '活动短信通知'.$activity->id; $message = '【福恋】恭喜您,您参加的“'.$activity->theme.'”活动报名成功,请于'.$activity->start_time.'准时参与。如有问题,请联系4000401707,退订回N'; if(!empty($mobile) && is_array($mobile)){ foreach($mobile as $mob){ Message::create([ 'phone'=>$mob, 'message'=>$message, 'code'=>$code, 'confirmed'=>1, 'ip' => request() ? request()->ip() : '127.0.0.1', 'is_click'=>0, ]); } } } }