public function profileGetAllDetails(Request $request)
 {
     $user_roll = $request->input('user_roll');
     $users = User::where('user_roll', '!=', $user_roll)->select('user_id', 'user_roll', 'user_name', 'user_phone', 'user_type')->get();
     foreach ($users as $user) {
         $teams = TeamMember::where('user_id', '=', $user->user_id)->lists('team_id');
         $user->teams = $teams;
     }
     return JSONResponse::response(200, $users);
 }
Example #2
0
 public function create()
 {
     //获取所有分类
     $getCate = Cate::all();
     $cates = array();
     foreach ($getCate as $k => $v) {
         $cates[$v->id] = $v->name;
     }
     $teams = array();
     $teams[0] = '非团队博文';
     $teamMembers = TeamMember::where('user_id', \Auth()->user()->id)->get();
     foreach ($teamMembers as $teamMember) {
         $team = Team::findOrFail($teamMember->team_id);
         $teams[$team->id] = $team->title;
     }
     return view('member.articles.create', compact('cates', 'teams'));
 }
Example #3
0
 public function teamwork($id)
 {
     $action = 'teamwork';
     $user = User::findOrFail($id);
     $teams = array();
     $teamMembers = TeamMember::where('user_id', $id)->get();
     foreach ($teamMembers as $teamMember) {
         $team = Team::findOrFail($teamMember->team_id);
         $team['role'] = $teamMember->role;
         array_push($teams, $team);
     }
     return view("member.users.teamwork", compact('action', 'user', 'teams'));
 }
Example #4
0
 public function countTeamMembers($teamId)
 {
     return TeamMember::where('team_id', $teamId)->count();
 }
 public function getAllTasks(Request $request)
 {
     $user_roll = $request->input('user_roll');
     $user_id = User::where('user_roll', '=', $user_roll)->pluck('user_id');
     $exported_fields = ['tasks.task_id', 'task_name', 'task_completed', 'teams.team_id', 'team_name'];
     $user = User::where('user_roll', '=', $user_roll)->first();
     if ($user->user_type == 3) {
         $task_list = Assigned::where('user_id', '=', $user_id)->leftJoin('tasks', 'assigned.task_id', '=', 'tasks.task_id')->leftJoin('teams', 'tasks.team_id', '=', 'teams.team_id')->where('tasks.enabled', '=', true)->select($exported_fields)->get();
         foreach ($task_list as $task_list_task) {
             $task_user_rolls = Assigned::where('task_id', '=', $task_list_task->task_id)->leftJoin('users', 'assigned.user_id', '=', 'users.user_id')->lists('user_roll');
             $task_list_task->assigned = $task_user_rolls;
         }
         return JSONResponse::response(200, $task_list);
     } else {
         $team_list = TeamMember::where('user_id', '=', $user_id)->select('team_id')->lists('team_id');
         $task_list = Task::leftJoin('teams', 'tasks.team_id', '=', 'teams.team_id')->where('tasks.enabled', '=', true)->whereIn('tasks.team_id', $team_list)->select($exported_fields)->get();
         foreach ($task_list as $task_list_task) {
             $task_user_rolls = Assigned::where('task_id', '=', $task_list_task->task_id)->leftJoin('users', 'assigned.user_id', '=', 'users.user_id')->lists('user_roll');
             $task_list_task->assigned = $task_user_rolls;
         }
         return JSONResponse::response(200, $task_list);
     }
 }
Example #6
0
 /**
  * 交换队员处理
  * Case1:该当位置为空
  * Case2:该当位置有队员,换人对象未入队
  * Case3:该当位置有队员,换人对象入队
  * Case4:该当位置有队员,换人对象为空
  * @param $intPosition
  * @param null $objToOwnedCard
  * @return null
  */
 public function changeMember($intPosition, $objToOwnedCard = null)
 {
     // 检查位置信息是否正确
     if ($intPosition <= 0 || $intPosition > self::intTeamMemberCount) {
         // TODO Error
         return null;
     }
     // 取得该位置原队员
     $objTeamMember = $this->getMember($intPosition);
     // Transaction
     DB::beginTransaction();
     // 根据目标队员分析Case
     try {
         if ($objToOwnedCard) {
             /******* 目标队员不为空的情况 *******/
             // 检查目标卡片的用户是否一致
             if ($objToOwnedCard->player_id != $this->player_id) {
                 // 目标卡片用户不同
                 throw new Exception('Wrong Player Id');
             }
             // 检查目标卡片是否已在目标位置
             if ($objToOwnedCard->id == $objTeamMember->owned_card_id) {
                 // 目标卡片已在目标位置
                 throw new Exception('Wrong Player Id');
             }
             // 检查目标卡片的入队情况
             if ($objToOwnedCard->team_id > 0 && $objToOwnedCard->team_id != $this->id) {
                 // 已经在其他队伍中
                 throw new Exception('Wrong Player Id');
             }
             // 开始换人处理
             if ($objTeamMember->owned_card_id > 0) {
                 // 目标位置有玩家卡片的情况
                 // 目标卡片是否已经在当前队伍的其他位置上
                 if ($objToOwnedCard->team_id == $this->id) {
                     // 目标卡片原本已在此队伍中 需要和目标位置原卡片互换情报
                     $objToOwnedCardTeamMember = TeamMember::where("owned_card_id", $objToOwnedCard->id)->first();
                     // 对象卡片原位置的玩家卡片ID更新为目标位置原玩家卡片ID
                     $objToOwnedCardTeamMember->owned_card_id = $objTeamMember->owned_card_id;
                     // 保存
                     if (!$objToOwnedCardTeamMember->save()) {
                         throw new Exception('Save Failed');
                     }
                 } else {
                     // 目标玩家卡片原本未在队伍中 需要重置目标位置原玩家卡片的队伍ID
                     $objFromOwnedCard = OwnedCard::find($objTeamMember->owned_card_id);
                     $objFromOwnedCard->team_id = 0;
                     if (!$objFromOwnedCard->save()) {
                         throw new Exception('Save Failed');
                     }
                 }
                 // 更新目标队员情报
                 $objTeamMember->owned_card_id = $objToOwnedCard->id;
                 // 更新目标用户卡片
                 $objToOwnedCard->team_id = $this->id;
                 // 保存修改
                 if (!$objToOwnedCard->save() || !$objTeamMember->save()) {
                     throw new Exception('Save Failed');
                 }
             } else {
                 // 目标位置无卡片的情况
                 // 目标卡片是否已经在当前队伍的其他位置上
                 if ($objToOwnedCard->team_id == $this->id) {
                     $objToOwnedCardTeamMember = TeamMember::where("owned_card_id", $objToOwnedCard->id)->first();
                     // 对象卡片原位置重置
                     $objToOwnedCardTeamMember->owned_card_id = 0;
                     // 保存
                     if (!$objToOwnedCardTeamMember->save()) {
                         throw new Exception('Save Failed');
                     }
                 }
                 // 更新队员情报
                 $objTeamMember->owned_card_id = $objToOwnedCard->id;
                 // 更新目标用户卡片
                 $objToOwnedCard->team_id = $this->id;
                 // 保存修改
                 if (!$objToOwnedCard->save() || !$objTeamMember->save()) {
                     throw new Exception('Save Failed');
                 }
             }
         } else {
             /******* 目标队员为空的情况下 *******/
             // 检查目前队伍人数,若等于1 则不可换为空
             $intTeamMemberCount = TeamMember::where("team_id", $this->id)->where("owned_card_id", ">", 0)->count();
             if ($intTeamMemberCount <= 1) {
                 throw new Exception('Last Member');
             }
             // 目标位置是否有玩家卡片
             if ($objTeamMember->owned_card_id <= 0) {
                 throw new Exception('Null Member To Null Member');
             }
             // 清空目标位置原卡片数据
             $objFromOwnedCard = OwnedCard::find($objTeamMember->owned_card_id);
             $objFromOwnedCard->team_id = 0;
             $objTeamMember->owned_card_id = 0;
             if (!$objFromOwnedCard->save() || !$objTeamMember->save()) {
                 throw new Exception('Save Failed');
             }
         }
         // 2016/11/10 队伍信息更新
         switch ($intPosition) {
             case 1:
                 if ($objToOwnedCard) {
                     $this->position_1_owned_card_id = $objToOwnedCard->id;
                 } else {
                     $this->position_1_owned_card_id = 0;
                 }
                 break;
             case 2:
                 if ($objToOwnedCard) {
                     $this->position_2_owned_card_id = $objToOwnedCard->id;
                 } else {
                     $this->position_2_owned_card_id = 0;
                 }
                 break;
             case 3:
                 if ($objToOwnedCard) {
                     $this->position_3_owned_card_id = $objToOwnedCard->id;
                 } else {
                     $this->position_3_owned_card_id = 0;
                 }
                 break;
             case 4:
                 if ($objToOwnedCard) {
                     $this->position_4_owned_card_id = $objToOwnedCard->id;
                 } else {
                     $this->position_4_owned_card_id = 0;
                 }
                 break;
             case 5:
                 if ($objToOwnedCard) {
                     $this->position_5_owned_card_id = $objToOwnedCard->id;
                 } else {
                     $this->position_5_owned_card_id = 0;
                 }
                 break;
             case 6:
                 if ($objToOwnedCard) {
                     $this->position_6_owned_card_id = $objToOwnedCard->id;
                 } else {
                     $this->position_6_owned_card_id = 0;
                 }
                 break;
         }
         $this->save();
         DB::commit();
     } catch (Exception $e) {
         // TODO Dev Log
         DB::rollback();
     }
 }
Example #7
0
 /**
  * 更换玩家目标队伍的目标位置
  */
 public function changeMember()
 {
     $intTeamId = Input::get("team_id");
     $intPositionId = Input::get("position_id");
     // 取得队伍对象
     $objTeam = Team::find($intTeamId);
     if (!$objTeam) {
         // 无该当队伍 返回队伍首页
         redirect("team/");
     }
     // 取得原位置队员
     $objTeamMember = $objTeam->getMember($intPositionId);
     echo "更换位置[{$intPositionId}]的队员<br />";
     if ($objTeamMember->owned_card_id <= 0) {
         // 原位置无队员
         echo "当前无队员<br />";
         echo "<br />";
         echo "从下列卡片中选择新队员:<br />";
     } else {
         // 取得队员玩家卡片信息
         $objOwnedCard = OwnedCard::find($objTeamMember->owned_card_id);
         echo "当前队员为[Lv.{$objOwnedCard->level}]{$objOwnedCard->getName()}<br />";
         echo "<br />";
         echo "从下列卡片中选择新队员:<br />";
         $intTeamMemberCount = TeamMember::where("team_id", $intTeamId)->where("owned_card_id", ">", 0)->count();
         if ($intTeamMemberCount > 1) {
             echo "<a href='change-member-exec?player_id={$this->_intPlayerId}&team_id={$intTeamId}&position_id={$intPositionId}&owned_card_id=0'>空位</a><br />";
         }
     }
     // 取得后补玩家卡片列表
     $lstOwnedCards = OwnedCard::where("player_id", $this->_intPlayerId)->where("id", "!=", $objTeamMember->owned_card_id)->whereIn("team_id", array(0, $intTeamId))->get()->toArray();
     if (!empty($lstOwnedCards)) {
         foreach ($lstOwnedCards as $lstOwnedCard) {
             $objOwnedCard = OwnedCard::find($lstOwnedCard["id"]);
             echo "<a href='change-member-exec?player_id={$this->_intPlayerId}&team_id={$intTeamId}&position_id={$intPositionId}&owned_card_id={$objOwnedCard->id}'>[Lv.{$objOwnedCard->level}]{$objOwnedCard->getName()}</a> ";
         }
     }
 }
Example #8
0
 public function deleteMember(Request $request)
 {
     $r1 = TeamMember::where(['team_id' => $request->get('teamId'), 'user_id' => $request->get('userId')])->delete();
     $r2 = $this->createTeamTrace($request->get('teamId'), '移除成员', $this->getUserNameById($request->get('userId')));
     if ($r1 && $r2) {
         $this->succeed(true);
     } else {
         $this->fail(true);
     }
 }