public function setTeamOrder(Request $request) { if (!$request->user()->hasRole('admin')) { return abort(403, 'You do not have permission to perform that action'); } $this->validate($request, ['order' => 'required|array']); TeamMember::setNewOrder($request->order); return response()->json('ok'); }
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); }
/** *@test */ public function the_ordering_of_the_team_members_can_be_set_by_posting_array_of_ids_in_req_order() { $members = factory(TeamMember::class, 5)->create(); $this->withoutMiddleware(); $this->asAnAdminUser(); $response = $this->call('POST', '/admin/team/order', ['order' => [3, 2, 5, 1, 4]]); $this->assertEquals(200, $response->status()); $members = TeamMember::ordered()->get(); $this->assertEquals(3, $members->first()->id); $this->assertEquals(4, $members->last()->id); $this->assertEquals(2, $members[1]->id); $this->assertEquals(5, $members[2]->id); }
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')); }
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')); }
public function countTeamMembers($teamId) { return TeamMember::where('team_id', $teamId)->count(); }
public function initTeam() { $intPlayerId = Input::get('player_id', 0); // 目前已经生成Team数量确认 /* 玩家可用Team数量确认 * Lv.1 ~ Lv.10 1Team * Lv.11 ~ Lv.20 2Team * Lv.21 ~ Lv.50 3Team * Lv.51 ~ Lv.100 4Team * 氪金玩家 +1Team */ $objTeam = new Team(); $objTeam->player_id = $intPlayerId; $objTeam->team_no = 1; // 该用户的第一个队伍 $objTeam->team_name = "Team01"; $firstCard = OwnedCard::where('player_id', $intPlayerId)->orderBy('id', 'ASC')->first(); $objTeam->position_1_owned_card_id = $firstCard->id; $objTeam->total_cost = $firstCard->getCost(); $objTeam->save(); $objTeamBk = Team::find($objTeam->id); // 20151012 TeamMember Table 初始化 for ($intPosition = 1; $intPosition <= 6; $intPosition++) { $objTeamMember = new TeamMember(); $objTeamMember->team_id = $objTeamBk->id; $objTeamMember->position = $intPosition; $objTeamMember->player_id = $objTeamBk->player_id; if ($intPosition == 1) { $objTeamMember->card_id = $firstCard->card_id; $objTeamMember->owned_card_id = $firstCard->id; } $objTeamMember->save(); switch ($intPosition) { case 1: $objTeamBk->position_1_member_id = $objTeamMember->id; break; case 2: $objTeamBk->position_2_member_id = $objTeamMember->id; break; case 3: $objTeamBk->position_3_member_id = $objTeamMember->id; break; case 4: $objTeamBk->position_4_member_id = $objTeamMember->id; break; case 5: $objTeamBk->position_5_member_id = $objTeamMember->id; break; case 6: $objTeamBk->position_6_member_id = $objTeamMember->id; break; default: # code... break; } // 20151103 追加 $firstCard->team_id = $objTeam->id; $firstCard->save(); } $objTeamBk->save(); return Response::json($objTeamBk->toArray()); }
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); } }
/** * 交换队员处理 * 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(); } }
public function addTeam() { $lstTeams = Team::where("player_id", $this->_intPlayerId)->get()->toArray(); $intTeamCount = count($lstTeams); // TODO Team数量限定 $intNewTeamNo = $intTeamCount + 1; $objNewTeam = new Team(); $objNewTeam->team_name = "Team" . $intNewTeamNo; $objNewTeam->team_no = $intNewTeamNo; $objNewTeam->player_id = $this->_intPlayerId; $objNewTeam->save(); $objTeamBk = Team::find($objNewTeam->id); // 20151012 TeamMember Table 初始化 for ($intPosition = 1; $intPosition <= 6; $intPosition++) { $objTeamMember = new TeamMember(); $objTeamMember->team_id = $objTeamBk->id; $objTeamMember->position = $intPosition; $objTeamMember->player_id = $objTeamBk->player_id; $objTeamMember->save(); switch ($intPosition) { case 1: $objTeamBk->position_1_member_id = $objTeamMember->id; break; case 2: $objTeamBk->position_2_member_id = $objTeamMember->id; break; case 3: $objTeamBk->position_3_member_id = $objTeamMember->id; break; case 4: $objTeamBk->position_4_member_id = $objTeamMember->id; break; case 5: $objTeamBk->position_5_member_id = $objTeamMember->id; break; case 6: $objTeamBk->position_6_member_id = $objTeamMember->id; break; default: # code... break; } } $objTeamBk->save(); }
public function edit($id) { $expedition = Expedition::findOrFail($id); $profiles = TeamMember::all(); return view('admin.expeditions.teammembers')->with(compact('expedition', 'profiles')); }
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); } }
/** * 玩家创建时初始化第一套队伍 */ public function firstTeam() { // Transaction DB::beginTransaction(); try { $objTeam = new Team(); $intPlayerId = $this->id; $objTeam->player_id = $intPlayerId; $objFirstCard = OwnedCard::where('player_id', $intPlayerId)->orderBy('id', 'ASC')->first(); $objTeam->position_1_owned_card_id = $objFirstCard->id; $objTeam->total_cost = $objFirstCard->getCost(); $objTeam->save(); // TODO 是否需要 $objTeamBk = Team::find($objTeam->id); // 20151012 TeamMember Table 初始化 for ($intPosition = 1; $intPosition <= 6; $intPosition++) { $objTeamMember = new TeamMember(); $objTeamMember->team_id = $objTeamBk->id; $objTeamMember->position = $intPosition; $objTeamMember->player_id = $objTeamBk->player_id; if ($intPosition == 1) { $objTeamMember->card_id = $objFirstCard->card_id; $objTeamMember->owned_card_id = $objFirstCard->id; } if (!$objTeamMember->save()) { throw new Exception('Save Failed'); } switch ($intPosition) { case 1: $objTeamBk->position_1_member_id = $objTeamMember->id; break; case 2: $objTeamBk->position_2_member_id = $objTeamMember->id; break; case 3: $objTeamBk->position_3_member_id = $objTeamMember->id; break; case 4: $objTeamBk->position_4_member_id = $objTeamMember->id; break; case 5: $objTeamBk->position_5_member_id = $objTeamMember->id; break; case 6: $objTeamBk->position_6_member_id = $objTeamMember->id; break; } // 更新玩家卡片的队伍信息 $objFirstCard->team_id = $objTeam->id; if (!$objFirstCard->save()) { throw new Exception('Save Failed'); } } if (!$objTeamBk->save()) { throw new Exception('Save Failed'); } DB::commit(); } catch (Exception $e) { // TODO Dev Log DB::rollback(); } }
public function about() { $aboutPage = $this->contentRepository->getPageByName('about us'); $members = TeamMember::ordered()->get(); return view('front.pages.about')->with(compact('aboutPage', 'members')); }