sms = $sms; $this->userCon = $userCon; } public function ParticipantList(Request $request){ $participant = Participant::select('id', 'mobile', 'nickname', 'subscribe','avatar', 'sex', 'fruit_num', 'chance', 'is_helper', 'is_pick_up', 'is_final_pick_up', 'updated_at'); if($request->has('fruit_num') && !empty($request->fruit_num)){ if($request->fruit_num > 9) { $participant = $participant->where('fruit_num', '>=', 9); }else{ $participant = $participant->where('fruit_num', $request->fruit_num); } } if($request->has('keyword') && !empty($request->keyword)){ $participant = $participant->where('nickname', 'like', '%'.$request->keyword.'%')->orWhere('mobile', 'like', '%'.$request->keyword.'%'); } if($request->has('subscribe') && is_numeric($request->subscribe)){ $participant = $participant->where('subscribe',$request->subscribe); } if($request->has('is_pick_up') && is_numeric($request->is_pick_up)){ $participant = $participant->where('is_pick_up',$request->is_pick_up); } if($request->has('start_time') && !empty($request->start_time) & $request->has('end_time') && !empty($request->end_time)){ $participant = $participant->whereBetween('updated_at', [$request->start_time, $request->end_time]); } $list = $participant->orderBy('fruit_num', 'desc')->orderBy('updated_at', 'desc')->paginate(); return $this->success('ok', $list); } public function ParticipantListExcel(Request $request){ $participant = Participant::select('mobile', 'nickname', 'subscribe','avatar', 'sex', 'fruit_num', 'chance', 'is_pick_up', 'is_final_pick_up'); if($request->has('fruit_num') && !empty($request->fruit_num)){ if($request->fruit_num > 9) { $participant = $participant->where('fruit_num', '>=', 9); }else{ $participant = $participant->where('fruit_num', 9); } } if($request->has('keyword') && !empty($request->keyword)){ $participant = $participant->where('nickname', 'like', '%'.$request->keyword.'%'); } if($request->has('subscribe') && is_numeric($request->subscribe)){ $participant = $participant->where('subscribe',$request->subscribe); } if($request->has('is_pick_up') && is_numeric($request->is_pick_up)){ $participant = $participant->where('is_pick_up',$request->is_pick_up); } if($request->has('start_time') && !empty($request->start_time) & $request->has('end_time') && !empty($request->end_time)){ $participant = $participant->whereBetween('updated_at', [$request->start_time, $request->end_time]); } $list = $participant->orderBy('updated_at', 'desc')->orderBy('fruit_num', 'desc')->get(); $new_data = []; foreach ($list as $item) { $data['nickname'] = $item->nickname; $data['sex'] = $item->sex == 1 ? '男' : '女'; $data['fruit_num'] = $item->fruit_num; $data['chance'] = $item->chance; $data['subscribe'] = $item->subscribe ? '已关注' : '未关注'; $data['is_pick_up'] = $item->is_pick_up ? '已领取' : '未领取'; $data['is_final_pick_up'] = $item->is_final_pick_up ? '已领取' : '未领取'; $data['mobile'] = $item->mobile; } $new_data[] = $data; return \Excel::download(new ParticipantExport($new_data), 'participant.xlsx'); } public function ShareList(Request $request){ if(!$request->has('id') || empty($request->id)){ return $this->failure('请输入id'); } $participant = Participant::withCount('participant_share')->find($request->id); if(empty($participant)){ return $this->failure('用户信息不存在'); } $list = FruitHistory::has('participant_helper')->has('participant_share')->with('participant_helper:id,nickname,avatar,sex,subscribe')->with('participant_share:id,nickname,sex')->where('participant_id', $request->id)->paginate(); return $this->success('ok', ['participant'=>$participant, 'list'=>$list]); } }