model = new \app\common\model\Players(); } public function sociaty(){ $clubinvate = new ClubInvate(); $player_info = $this->model->where("member_id", $this->auth->id)->find(); if (empty($player_info)){ $this->error(__("请先申请成为飞手!"), url('players/registeredflyers')) ; } if ($player_info['player_status'] != 9){ $this->error(__("您还不是正式飞手!"), url('user/index')); } $is_joinclub = 0; $club_invateres = $clubinvate->where('player_id',$player_info['id'])->where('status',5)->where('deletetime',null)->find(); $club_invateres1 = $clubinvate->where('player_id',$player_info['id'])->where('status',9)->where('deletetime',null)->find(); $club_invateres2 = $clubinvate->where('player_id',$player_info['id'])->where('status',6)->where('deletetime',null)->find(); if(!empty($club_invateres) || !empty($club_invateres1) || !empty($club_invateres2)) $is_joinclub = 1; $this->view->assign('is_joinclub', $is_joinclub); $this->view->assign('title', "飞手公会"); $this->view->assign('is_sociaty', $player_info['is_sociaty']); $this->view->assign('playerinfo', $player_info); return $this->view->fetch(); } public function index() { //获取用户id $user_id = $this->auth->id; $club_playercheck = new ClubPlayercheck(); if (empty($user_id)){ $this->error("请先登录!",url('user/login')); } // var_dump($this->auth->member_type);exit; $players_info = $this->model ->where('member_id', $user_id) ->find(); if (empty($players_info) ){ $this->view->assign('playerinfo', $players_info); return $this->redirect('players/registeredflyers'); } // $club_playercheckres = $club_playercheck->where('player_id',$players_info['id'])->where('status in (2,4,5)')->find(); // $club_playercheckres1 = $club_playercheck->where('player_id',$players_info['id'])->where('status',1)->find(); // if(!empty($club_playercheckres)) $this->view->assign('user_player_status', 2); // if(!empty($club_playercheckres1)) $this->view->assign('user_player_status', 1); if ($players_info->player_status == \app\common\model\Players::PLAYERS_MODIFY) { $players_info->pass_centent = db("player_check")->where(['after_status' => 1, 'player_id' => $players_info->id])-> order('id', 'DESC')->find(); } if ($players_info->player_status == \app\common\model\Players::PLAYERS_NO_PASS) { // 如果拒绝获取拒绝理由 $players_info->pass_centent = db("player_check")->where(['after_status' => 2, 'player_id' => $players_info->id])-> order('id', 'DESC')->find(); } $this->view->assign('title', "身份认证"); $this->view->assign('players', $players_info); return $this->view->fetch(); } public function authenticationflayers() { //获取用户id $user_id = $this->auth->id; if (empty($user_id)){ $this->error("请先登录!",url('user/login')); } $players_info = $this->model ->where('member_id', $user_id) ->find(); if (empty($players_info)){ $this->view->assign('playerinfo', $players_info); return $this->redirect('players/registeredflyers'); } $this->view->assign('title', "身份认证"); $this->view->assign('players', $players_info); return $this->view->fetch(); } /** * 重新申请 * @Author:Soar * @Time:2023/10/8 15:17 * @param $ids * @return void */ public function reapply($ids = null) { $this->view->assign('title', "重新申请"); if ($this->request->isPost()) { $id = $this->request->post("id"); $add_data['real_name'] = $this->request->post("real_name"); $add_data['gender'] = $this->request->post("gender"); $add_data['birthday'] = $this->request->post("birthday"); $add_data['age'] = $this->request->post("age"); $add_data['country'] = $this->request->post("country"); $add_data['province'] = $this->request->post("province"); $add_data['city'] = $this->request->post("city"); $add_data['district'] = $this->request->post("district"); $add_data['address'] = $this->request->post("address"); $add_data['player_pic'] = $this->request->post("player_pic"); $add_data['experience'] = $this->request->post("experience"); $add_data['guarder_name'] = $this->request->post("guarder_name"); $add_data['guarder_phone'] = $this->request->post("guarder_phone"); $add_data['guarder_card_number'] = $this->request->post("guarder_card_number"); $add_data['guarder_card_type'] = $this->request->post("guarder_card_type"); $add_data['guarder_card_front_view'] = $this->request->post("guarder_card_front_view"); $add_data['guarder_card_back_view'] = $this->request->post("guarder_card_back_view"); $add_data['card_type'] = $this->request->post("card_type"); $add_data['card_number'] = $this->request->post("card_number"); $add_data['card_front_view'] = $this->request->post("card_front_view"); $add_data['card_back_view'] = $this->request->post("card_back_view"); $add_data['card_view_same'] = $this->request->post("card_view_same"); $add_data['guarder_card_view_same'] = $this->request->post("guarder_card_view_same"); $add_data['asfc_user'] = $this->request->post("asfc_user"); $add_data['membership_id'] = $this->request->post("membership_id"); $add_data['flight_number'] = $this->request->post("flight_number"); $add_data['club_members'] = $this->request->post("club_members"); $add_data['club_name'] = $this->request->post("club_name"); $add_data['duties'] = $this->request->post("duties"); $add_data['counselor_name'] = $this->request->post("counselor_name"); $add_data['post_type'] = $this->request->post("post_type"); $this->registeredFlyer($id, $add_data); } //获取用户id $user_id = $this->auth->id; if (empty($user_id)){ $this->error("请先登录!",url('user/login')); } $player_info = $this->model ->where('member_id', $user_id) ->find(); $this->view->assign('playerinfo', $player_info); return $this->view->fetch(); } public function edit($ids = null) { $this->view->engine->layout('layout/defaultsRegister'); $this->view->assign('title', "修改信息"); if ($this->request->isPost()) { $id = $this->request->post("id"); $add_data['real_name'] = $this->request->post("real_name"); $add_data['gender'] = $this->request->post("gender"); $add_data['birthday'] = $this->request->post("birthday"); $add_data['age'] = $this->request->post("age"); $add_data['country'] = $this->request->post("country"); $add_data['province'] = $this->request->post("province"); $add_data['city'] = $this->request->post("city"); $add_data['district'] = $this->request->post("district"); $add_data['address'] = $this->request->post("address"); $add_data['player_pic'] = $this->request->post("player_pic"); $add_data['experience'] = $this->request->post("experience"); $add_data['guarder_name'] = $this->request->post("guarder_name"); $add_data['guarder_phone'] = $this->request->post("guarder_phone"); $add_data['guarder_card_number'] = $this->request->post("guarder_card_number"); $add_data['guarder_card_type'] = $this->request->post("guarder_card_type"); $add_data['guarder_card_front_view'] = $this->request->post("guarder_card_front_view"); $add_data['guarder_card_back_view'] = $this->request->post("guarder_card_back_view"); $add_data['card_type'] = $this->request->post("card_type"); $add_data['card_number'] = $this->request->post("card_number"); $add_data['card_front_view'] = $this->request->post("card_front_view"); $add_data['card_back_view'] = $this->request->post("card_back_view"); $add_data['card_view_same'] = $this->request->post("card_view_same"); $add_data['guarder_card_view_same'] = $this->request->post("guarder_card_view_same"); $add_data['asfc_user'] = $this->request->post("asfc_user"); $add_data['membership_id'] = $this->request->post("membership_id"); $add_data['flight_number'] = $this->request->post("flight_number"); $add_data['club_members'] = $this->request->post("club_members"); $add_data['club_name'] = $this->request->post("club_name"); $add_data['duties'] = $this->request->post("duties"); $add_data['counselor_name'] = $this->request->post("counselor_name"); $add_data['post_type'] = $this->request->post("post_type"); $add_data['eng_name'] = $this->request->post("eng_name"); $add_data['fai_number'] = $this->request->post("fai_number"); $this->registeredFlyer($id, $add_data); } //获取用户id $user_id = $this->auth->id; if (empty($user_id)){ $this->error("请先登录!",url('user/login')); } $player_info = $this->model ->where('member_id', $user_id) ->find(); $this->view->assign('playerinfo', $player_info); return $this->view->fetch(); } public function registeredflyers($ids = null) { $this->view->engine->layout('layout/defaultsRegister'); $this->view->assign('title', "注册飞手"); //获取用户id $user_id = $this->auth->id; if (empty($user_id)){ $this->error("请先登录!",url('user/login')); } $player_info = $this->model ->where('member_id', $user_id) ->find(); if($player_info && $player_info->player_status == 9){ return $this->redirect('players/index'); } $this->view->assign('playerinfo', $player_info); return $this->view->fetch(); } /** * @Author Soar * @DESC 注册飞手 * @return json */ public function registeredFlyer($id, $add_data) { // var_dump(123);exit; $post_type = $add_data['post_type']; unset($add_data['post_type']); $validate = [ ["real_name", "require", '姓名不可为空!'], ["gender", "require", '请选择性别!'], ["birthday", "require", '出生日期不可为空!'], ["country", "require", '国籍不可为空!'], ["address", "require", '详细地址不可为空!'], ["player_pic", "require", '请上传证件照!'], ['card_front_view', 'require', "请上传正面证件照片"], // ['card_back_view', 'require', "请上传{$add_data['card_type']}证件照片"], ['card_number', 'require', "请输入{$add_data['card_type']}证件号码"] ]; if ($add_data['country'] == "中国 China"){ array_push( $validate, ['province', 'require', "请选择省份"], ['city', 'require', "请选择市"], ['district', 'require', "请选择区/县"] ); } // 如果是 ASFC 获取会员编号 if ($add_data['asfc_user'] == \app\common\model\Players::ASFC_VIP) { array_push( $validate, ['membership_id', 'require', '请填写 ASFC会员 证号!'] ); } if ($add_data['club_members'] == \app\common\model\Players::CLUP_USER) { array_push( $validate, ['club_name', 'require', '请填写俱乐部名称!'], ['duties', 'require', '请填写所在俱乐部职务!'], ); } if ($add_data["country"] == "中国 China" && $add_data['age'] < \app\common\model\Players::ADULT) { //监护人 array_push( $validate, ['guarder_name', 'require', '请输入监护人姓名!'], ['guarder_phone', 'require', '请输入监护人手机号'], ['guarder_card_type', 'require', '请选择监护人证件类型'], ['guarder_card_number', 'require', "请输入监护人{$add_data['guarder_card_type']}证件号码"], ['guarder_card_front_view', 'require', "请上传监护人正面证件照片"], // ['guarder_card_back_view', 'require', "请上传监护人{$add_data['guarder_card_type']}证件照片"] ); //护照特殊判断 if ($add_data['guarder_card_type'] == \app\common\model\Players::CARD_TYPE[0]){ array_push( $validate, ['guarder_card_view_same', 'require', "请选择人像页类型"] ); } //排除护照单页的情况,背面必传 if (!($add_data['guarder_card_type'] == \app\common\model\Players::CARD_TYPE[1] && isset($add_data["guarder_card_view_same"]) && $add_data["guarder_card_view_same"] == 2)) { if ($add_data['guarder_card_type'] == \app\common\model\Players::CARD_TYPE[1]){ array_push( $validate, ['guarder_card_back_view', 'require', "请上传监护人签名页照片"] ); } array_push( $validate, ['card_back_view', 'require', "请上传反面证件照片"], ['guarder_card_back_view', 'require', "请上传监护人反面证件照片"] ); } //比较麻烦的判断 if ($add_data["guarder_card_type"] == \app\common\model\Players::CARD_TYPE[1] && $add_data["guarder_card_view_same"] == 2) { $add_data["guarder_card_back_view"] = null; } elseif ($add_data["guarder_card_type"] != "护照") { $add_data["guarder_card_view_same"] = 1; } }else{ array_push( $validate, ['card_type', 'require', '请选择证件类型!'] ); //护照特殊判断 if ($add_data['card_type'] == \app\common\model\Players::CARD_TYPE[0]){ array_push( $validate, ['card_view_same', 'require', "请选择人像页类型"] ); } //排除护照单页的情况,背面必传 if (!($add_data['card_type'] == \app\common\model\Players::CARD_TYPE[1] && isset($add_data["card_view_same"]) && $add_data["card_view_same"] == 2)) { if ($add_data['card_type'] == \app\common\model\Players::CARD_TYPE[1]){ array_push( $validate, ['card_back_view', 'require', "请上传{$add_data['guarder_card_type']}签名页照片"] ); } array_push( $validate, ['card_back_view', 'require', "请上传反面证件照片"] ); } //比较麻烦的判断 if ($add_data["card_type"] == "护照" && $add_data["card_view_same"] == 2) { $add_data["card_back_view"] = null; } elseif ($add_data["card_type"] != "护照") { $add_data["card_view_same"] = 1; } } $validate = new \think\Validate($validate); if (!$validate->check($add_data)){ $this->error($validate->getError()); } $playersModel = new \app\common\model\Players(); $playersinfo = $playersModel->getPlayers($this->auth->id); try { $add_data['member_id'] = $this->auth->id; $add_data['club_id'] = 0; $add_data['phone'] = $this->auth->mobile; $add_data['id'] = $id; $add_data['player_status'] = \app\common\model\Players::PLAYERS_REAPPLY; $add_data['updated_at'] = date("Y-m-d H:i:s", time()); $playersinfo->save($add_data); }catch (Exception $exception){ $this->error($exception->getMessage()); } if (!empty($post_type) && $post_type == "json") { return json(['code' => 1, 'data' => [], 'msg' => "提交成功"]); } //模板消息通知 $renzheng = new Renzheng(); $res = $renzheng->where('id',1)->find(); if(!empty($res)) $res = $res->toArray(); if($res['status'] == 1){ $wxmb = new Wxmb(); $wxmb->renzhengpush($add_data,$res['openid']); } $this->success("提交成功!", url('players/index')); } //飞手加入俱乐部 public function joinclub(){ $user_id = $this->auth->id; // $club_model = new Club(); // $club_playercheck = new ClubPlayercheck(); $player_info = $this->model ->where('member_id', $user_id) ->find(); if(empty($player_info)){ $this->error('请先成为飞手'); } $this->view->assign('title', "查找队伍"); return $this->view->fetch(); } public function confirmed_player(){ $user_id = $this->auth->id; $player_info = $this->model->where("member_id", $user_id)->find(); if (empty($player_info)){ $this->error(__("请先申请成为飞手!"), url('players/registeredflyers')) ; } if ($player_info['player_status'] != 9){ $this->error(__("您还不是正式飞手!"), url('user/index')); } } //我的俱乐部 public function myclub(){ $this->view->assign('title', "我的队伍"); $this->confirmed_player(); $user_id = $this->auth->id; $club_model = new Club(); $club_playercheck = new ClubPlayercheck(); $clubinvate = new ClubInvate(); $player_info = $this->model ->where('member_id', $user_id) ->find(); $clubinvate_res = $clubinvate->where('player_id',$player_info['id'])->where('status',6)->where('deletetime',null)->find(); if(!empty($clubinvate_res)) { $club_info = $club_model->where('id',$clubinvate_res['club_id'])->find(); $this->view->assign('club_info', $club_info); $this->view->assign('player_status', 2); //未加入公会已参加俱乐部 }else{ $invate_res1 = $clubinvate->where('player_id',$player_info['id'])->where('status',9)->where('deletetime',null)->find(); $invate_res2 = $clubinvate->where('player_id',$player_info['id'])->where('status',8)->where('deletetime',null)->find(); if(!empty($invate_res1) || !empty($invate_res2)){ if(!empty($invate_res1)){ $invate_res1 = $invate_res1->toArray(); $club_info1 = $club_model->where('id',$invate_res1['club_id'])->find(); $this->view->assign('club_name', $club_info1['name']); $this->view->assign('player_status', 4); //待俱乐部上传协议 } if(!empty($invate_res2)){ $invate_res2 = $invate_res2->toArray(); $club_info2 = $club_model->where('id',$invate_res2['club_id'])->find(); $this->view->assign('club_name', $club_info2['name']); $this->view->assign('player_status', 5); //俱乐部重新上传协议 } }else{ $invate_res = $clubinvate->where('player_id',$player_info['id'])->where('status',5)->where('deletetime',null)->find(); if(!empty($invate_res)){ $this->view->assign('player_status', 3); //待平台审核 }else{ if($player_info['is_sociaty'] == 1){ // var_dump(123);exit; $this->view->assign('player_status', 1); //加入公会未参加俱乐部 // }elseif($player_info['is_sociaty'] == ''){ $this->view->assign('player_status', 0); //未加入公会未参加俱乐部 } } } } // $res = $club_playercheck->where('player_id',$player_info['id'])->where('status',2)->find(); // if(empty($res)) $this->error('请先加入俱乐部'); return $this->view->fetch(); } public function myinvate(){ $this->confirmed_player(); $user_id = $this->auth->id; $club_model = new Club(); $club_playercheck = new ClubPlayercheck(); $clubinvate = new ClubInvate(); $page = $this->request->param('page'); $player_info = $this->model ->where('member_id', $user_id) ->find(); $invate_res = $clubinvate->where('player_id',$player_info['id'])->where('deletetime',null)->where('grass',null)->select(); $invate_res1 = $clubinvate->where('player_id',$player_info['id'])->where('deletetime',null)->where('grass',null)->page($page,10)->select(); foreach ($invate_res1 as &$val){ $club_res = $club_model->where('id',$val['club_id'])->find(); $val['club_name'] = $club_res['name']; $val['updatetime'] = date('Y-m-d H:i:s',$val['updatetime']); } $data['total'] = count($invate_res); $data['data'] = $invate_res1; return json($data); } public function agree_invate(){ $this->confirmed_player(); $user_id = $this->auth->id; $club_model = new Club(); $club_playercheck = new ClubPlayercheck(); $clubinvate = new ClubInvate(); $ClubThirdOauth = new ClubThirdOauth(); $Wxmb = new Wxmb(); $invate_id = $this->request->param('invate_id'); // var_dump($invate_id);exit; $player_info = $this->model ->where('member_id', $user_id) ->find(); // var_dump($invate_id);exit; $exist_invate = $clubinvate->where('id',$invate_id)->where('player_id',$player_info['id'])->find(); if(empty($exist_invate)) $this->error('异常请求',url('players/index')); $jiaru_res = $clubinvate->where('player_id',$player_info['id'])->where('status',6)->where('deletetime',null)->select(); if(!empty($jiaru_res)) $this->error('您已加入俱乐部',url('players/index')); $invate_res = $clubinvate->where('player_id',$player_info['id'])->where('deletetime',null)->select(); // 启动事务 // Db::startTrans(); // try{ // var_dump($invate_id);exit; foreach ($invate_res as $val){ if($val['id'] != $invate_id){ // var_dump($val['id']);exit; $clubinvate->save([ 'deletetime' => time(), // 'updatetime' => time(), ],['id' => $val['id']]); } } // var_dump($invate_res);exit; $res = $clubinvate->save([ 'status' => 5, // 'status' => 9, // 'createtime' => time(), 'updatetime' => time(), ],['id' => $invate_id]); // var_dump($res);exit; $res1 = $this->model->save([ 'is_sociaty' => null, 'updated_at' => date('Y-m-d H:i:s',time()), ],['id'=>$player_info['id']]); // var_dump($res1);exit; // } catch (\Exception $e) { // // 回滚事务 // // var_dump($e);exit; // Db::rollback(); // } $club_info = $club_model->where('id',$exist_invate['club_id'])->find(); if(!empty($club_info)){ $oauth_res = $ClubThirdOauth->where('user_id',$club_info['user_id'])->find(); if(!empty($oauth_res)){ $oauth_res = $oauth_res->toArray(); $push_arr = array('title'=>'飞手已同意邀请','username'=> $player_info['real_name'],'type'=>'飞手确认'); $Wxmb->leaguepush($push_arr,$oauth_res['openid']); } } $this->success('同意成功',url('players/index')); } public function reject_invate(){ $this->confirmed_player(); $user_id = $this->auth->id; $club_model = new Club(); $club_playercheck = new ClubPlayercheck(); $clubinvate = new ClubInvate(); $ClubThirdOauth = new ClubThirdOauth(); $Wxmb = new Wxmb(); $invate_id = $this->request->param('invate_id'); $player_info = $this->model ->where('member_id', $user_id) ->find(); $exist_invate = $clubinvate->where('id',$invate_id)->where('player_id',$player_info['id'])->find(); if(empty($exist_invate)) $this->error('异常请求',url('players/index')); $jiaru_res = $clubinvate->where('player_id',$player_info['id'])->where('status',6)->where('deletetime',null)->select(); if(!empty($jiaru_res)) $this->error('您已加入俱乐部'); $clubinvate->save([ 'status' => 3, // 'createtime' => time(), 'grass' => 1, ],['id' => $invate_id]); //模板消息通知 $club_info = $club_model->where('id',$exist_invate['club_id'])->find(); if(!empty($club_info)){ $oauth_res = $ClubThirdOauth->where('user_id',$club_info['user_id'])->find(); if(!empty($oauth_res)){ $oauth_res = $oauth_res->toArray(); $push_arr = array('title'=>'飞手已拒绝邀请','username'=> $player_info['real_name'],'type'=>'飞手确认'); $Wxmb->leaguepush($push_arr,$oauth_res['openid']); } } $this->success('拒绝成功'); } public function all_club(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept"); header('Access-Control-Allow-Methods: GET,POST'); $this->confirmed_player(); $club_model = new Club(); $user_id = $this->auth->id; $page = $this->request->param('page'); $res = $club_model->field('id,user_id,name,province,city,district')->where('status',9)->page($page,10)->orderRaw('rand()')->select(); $res1 = $club_model->field('id,user_id,name,province,city,district')->where('status',9)->select(); $data = array('code' => 1, 'total'=>count($res1),'data'=>$res,'user_data'=>$user_id); return json($data); // var_dump($res);exit; } public function search_club(){ $this->confirmed_player(); $club_model = new Club(); $user_id = $this->auth->id; $keyword = $this->request->param('keyword'); $page = $this->request->param('page'); $res = $club_model->field('id,user_id,name,province,city,district')->where('status',9)->where('name','like','%'.$keyword.'%')->select(); $res1 = $club_model->field('id,user_id,name,province,city,district')->where('status',9)->where('name','like','%'.$keyword.'%')->page($page,10)->select(); $data = array('code' => 1, 'total'=>count($res),'data'=>$res ,'user_data'=>$user_id); return json($data); } }