$v) { $tmp2 = Volunteerservicecorpsdetailed::where('groupid', $v->id)->get(); $number = Volunteerservicecorpsdetailed::where('groupid', $v->id)->count(); $leader = Users::where('id', $v->leaderid)->first(['nickname', 'phone', 'avatar']); foreach ($tmp2 as $key => $value) { $member[] = Users::where('id', $value->userid)->first(['nickname', 'phone', 'avatar']); } $res['group'][] = array('groupname' => $v->groupname, 'leaderid' => $v->leaderid, 'groupid' => $v->id, "category" => $v->category, 'img' => $v->img, 'number' => $number, 'leader' => $leader, 'member' => $member); } return ApiResponse::success(200, $res); } /** * @Apidoc\Title("1.0 获取志愿队伍详细信息根据id") * @Apidoc\Url("api/v1/Volunteerservicecorps/get_volunteerservicecorp_details") * @Apidoc\Param("volunteerservicecorp_id", type="int",require=true, desc="队伍id") * @Apidoc\Method("POST") */ public function get_volunteerservicecorp_details(Request $request) { $data = $request->post(); $volunteerservicecorp_id = $data['volunteerservicecorp_id']; $tmp = Volunteerservicecorp::where('id', $volunteerservicecorp_id)->get(); $res = []; foreach ($tmp as $k => $v) { $tmp2 = Volunteerservicecorpsdetailed::where('groupid', $v->id)->get(); $number = Volunteerservicecorpsdetailed::where('groupid', $v->id)->count(); $leader = Users::where('id', $v->leaderid)->first(['nickname', 'phone', 'avatar']); foreach ($tmp2 as $key => $value) { $member[] = Users::where('id', $value->userid)->first(['nickname', 'phone', 'avatar']); } $res['group'] = array('groupname' => $v->groupname, 'leaderid' => $v->leaderid, "category" => $v->category, 'briefly' => $v->briefly, 'created_at' => $v->created_at, 'img' => $v->img, 'number' => $number, 'leader' => $leader, 'member' => $member); } return ApiResponse::success(200, $res); } /** * @Apidoc\Title("1.0 志愿队伍报名接口") * @Apidoc\Url("api/v1/Volunteerservicecorps/join") * @Apidoc\Param("groupid", type="int",require=true, desc="队伍id") * @Apidoc\Method("POST") */ public function join(Request $request) { $data = $request->post(); $groupid = $data['groupid']; $user = $request->data; $userid = $user['id']; //志愿者队伍 $isjoin = Volunteerservicecorpsdetailed::where('groupid', $groupid)->where('userid', $userid)->count(); //志愿者申请 $filed = Volunteerjoinrequest::where('groupid', $groupid)->where('userid', $userid)->count(); if ($isjoin > 0) { return ApiResponse::success(402, [], "您已经报名过了"); } if ($filed > 0) { return ApiResponse::success(402, [], "申请已提交,待审核"); } $tmp = Volunteerservicecorp::where('id', $groupid)->first(); $volunteerjoinrequest = new volunteerjoinrequest(); $volunteerjoinrequest->userid = $userid; $volunteerjoinrequest->groupid = $groupid; $volunteerjoinrequest->status = 0; $volunteerjoinrequest->remark = ""; $volunteerjoinrequest->save(); MessageDao::SendMessage($userid,"系统通知","$tmp->groupname 申请已提交 等待队长审批"); //TODO这里没写队长通知 时间来不及 // Unset($Message); // $Message = new Message(); // $Message->content = "您有一条待审批消息"; // $Message->title = "系统通知"; $user = User::where('id', $userid)->first(); $json['nickname'] = $user->nickname; $json['userid'] = $user->id; $json['groupid'] = $groupid; // $Message->parameters = json_encode($json); // $Message->userid = $tmp->leaderid; // $Message->save(); MessageDao::SendMessage($tmp->leaderid,"系统通知","您有一条待审批消息",json_encode($json)); return ApiResponse::success(200, []); } /** * @Apidoc\Title("1.0 志愿队伍搜索接口") * @Apidoc\Url("api/v1/Volunteerservicecorps/search") * @Apidoc\Param("type", type="int",require=true, desc="0是按照类型搜索1是按照名称") * @Apidoc\Param("key", type="string",require=true, desc="key") * @Apidoc\Method("POST") */ public function search(Request $request) { $data = $request->post(); $type = $data['type']; $key = $data['key']; var_dump($type); if ($type == 1) { $Volunteerservicecorp = Volunteerservicecorp::where('groupname', 'like', '%' . $key . '%')->get(); } else { $Volunteerservicecorp = Volunteerservicecorp::where('category', 'like', '%' . $key . '%')->get(); } $tmp = $Volunteerservicecorp; $res = []; foreach ($tmp as $k => $v) { $tmp2 = Volunteerservicecorpsdetailed::where('groupid', $v->id)->get(); $number = Volunteerservicecorpsdetailed::where('groupid', $v->id)->count(); $leader = Users::where('id', $v->leaderid)->first(['nickname', 'phone', 'avatar']); foreach ($tmp2 as $key => $value) { $member[] = Users::where('id', $value->userid)->first(['nickname', 'phone', 'avatar']); } $res['group'][] = array('groupname' => $v->groupname, 'leaderid' => $v->leaderid, 'groupid' => $v->id, "category" => $v->category, 'img' => $v->img, 'number' => $number, 'leader' => $leader, 'member' => $member); } return ApiResponse::success(200, $res); } /** * @Apidoc\Title("1.0 志愿队伍审批接口") * @Apidoc\Url("api/v1/Volunteerservicecorps/approval") * @Apidoc\Param("type", type="int",require=true, desc="0同意1不同意") * @Apidoc\Param("groupid", type="int",require=true, desc="队伍id") * @Apidoc\Param("userid", type="int",require=true, desc="userid") * @Apidoc\Method("POST") */ public function approval(Request $request) { $data = $request->post(); $user = $request->data; $userid = $user['id']; $Volunteerservicecorp = Volunteerservicecorp::where('id', $data['groupid'])->first(); if ($userid != $Volunteerservicecorp->leaderid) { return ApiResponse::success(402, [], '不是队长没有审核权限'); } if ($user['type'] == 0) { $volunteerservicecorpsdetailed = new Volunteerservicecorpsdetailed(); $volunteerservicecorpsdetailed->userid = $data['userid']; $volunteerservicecorpsdetailed->groupid = $data['groupid']; $volunteerservicecorpsdetailed->save(); $volunteerjoinrequest = volunteerjoinrequest::where('groupid', $data['groupid'])->where('userid', $data['userid'])->first(); $volunteerjoinrequest->status = 2; $volunteerjoinrequest->save(); $Volunteerservicecorp = Volunteerservicecorp::where('id', $data['groupid'])->first(); MessageDao::SendMessage($data['userid'],"系统通知","您加入的志愿队 $Volunteerservicecorp->groupname 已同意申请"); return ApiResponse::success(200, [], '成功'); } $volunteerjoinrequest = volunteerjoinrequest::where('groupid', $data['groupid'])->where('userid', $data['userid'])->first(); $volunteerjoinrequest->status = 1; MessageDao::SendMessage($data['userid'],"系统通知","您加入的志愿队 $Volunteerservicecorp->groupname 已拒绝您的申请"); $volunteerjoinrequest->save(); return ApiResponse::success(200, [], '成功'); } }