Add: maestro_info

This commit is contained in:
2018-07-19 18:27:11 +09:00
parent 54b8bdb3a2
commit 732c085309
8 changed files with 168 additions and 15 deletions
+47
View File
@@ -0,0 +1,47 @@
class MaestroInfo {
constructor() {
this.maestroID = sessionStorage.getItem("maestroID");
this.maestroName = "";
this.accountType = 0;
this.playerCount = 0;
}
loadMaestroInfo(onSuccess, onFail) {
let self = this;
sendRequestServer( //url, sendParams, onSuccess, onFail, isDebugMode);
"./../server/maestro/maestro_info.php",
"maestro_id=" + this.maestroID,
(jsonData) => {
self.maestroName = jsonData["name"];
self.accountType = jsonData["accountType"];
self.playerCount = jsonData["playerCount"];
onSuccess();
},
(errorMessage, errorCode) => {
onFail(errorMessage, errorCode);
}
);
}
getMaxPlayerCount() {
switch(this.accountType) {
case 1:
return 20;
case 2:
return 50;
case 3:
return 100;
}
}
getRegisteredPlayerCount() {
return this.playerCount;
}
}
+7 -2
View File
@@ -41,7 +41,7 @@
}
loadAddPlayerListPage(pageNo) {
self = this;
let self = this;
this.activePageNo = pageNo;
let pageIndex = pageNo - 1;
@@ -68,7 +68,7 @@
updateAddPlayerListPage(pageNo) {
self = this;
let self = this;
this.playerListPage = pageNo;
let pageIndex = pageNo - 1;
@@ -149,6 +149,8 @@
onClickPlayerListPage(pageNo) {
let self = this;
switch(pageNo) {
case "first":
this.activePageNo = 1;
@@ -178,6 +180,7 @@
editPlayer(inputButton) {
let self = this;
// console.log(inputButton);
let clickedObjectID = this.getClickedObjectID(inputButton);
@@ -238,6 +241,8 @@
let playerName = $("#search_name").val();
self.setupSearchPlayerList(playerName);
}
onChangePlayerCount();
},
(errorMessage, errorCode) => {
+1
View File
@@ -12,6 +12,7 @@
<script type="text/javascript" src="./../../../resources/jquery/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="./../js/main.js"></script>
<script type="text/javascript" src="./../js/lib/account_validator.js"></script>
<script type="text/javascript" src="./../js/lib/maestro_info.js"></script>
<script type="text/javascript" src="./../js/request_server.js"></script>
<script type="text/javascript" src="./../js/maestro_main.js"></script>
<script type="text/javascript" src="./../js/player_list.js"></script>
+18 -12
View File
@@ -15,17 +15,6 @@ function addPlayer() {
let playerName = $("#add_player_name").val();
let enterCode = $("#add_player_enter_code").val();
if(!accountValidator.isValidPlayerID(playerName)) {
console.log("Error - playerName : " + playerName);
onErrorPlayerID(accountValidator.messageForInvalidPlayerID(playerName));
return;
} else if(!accountValidator.isValidPlayerPW(enterCode)) {
console.log("Error - enterCode : " + enterCode);
onErrorPlayerPW(accountValidator.messageForInvalidPlayerPW(enterCode));
return;
}
/*
if(playerName.length === 0) {
// $("#add_player_notice").val("학생 이름을 입력하세요.");
$("#error_message").text("학생 이름을 입력하세요.");
@@ -37,7 +26,22 @@ function addPlayer() {
$("#add_player_enter_code").focus();
return;
}
*/
if(maestroInfo.getRegisteredPlayerCount() >= maestroInfo.getMaxPlayerCount()) {
$("#error_message").text("학생을 더 이상 추가할 수 없습니다. (더 많은 학생수로 업그레이드 하세요)");
return;
}
if(!accountValidator.isValidPlayerID(playerName)) {
console.log("Error - playerName : " + playerName);
onErrorPlayerID(accountValidator.messageForInvalidPlayerID(playerName));
return;
} else if(!accountValidator.isValidPlayerPW(enterCode)) {
console.log("Error - enterCode : " + enterCode);
onErrorPlayerPW(accountValidator.messageForInvalidPlayerPW(enterCode));
return;
}
sendRequestServer( //url, sendParams, onSuccess, onFail, isDebugMode);
"./../server/player/add_player.php",
@@ -45,6 +49,8 @@ function addPlayer() {
(jsonData) => {
addPlayerListManager.updateAddPlayerListPage(1);
onChangePlayerCount();
},
(errorMessage, errorCode) => {
+30
View File
@@ -1,17 +1,47 @@
<script type="text/javascript">
let maestroInfo = new MaestroInfo();
$(document).ready(function() {
$("#section_add_player").load("./../module/maestro_section_add_player.html");
$("#search_player").load("./../module/maestro_section_search.html");
$("#mouse_app_list").load("./../module/maestro_section_mouse_app.html");
$("#typing_app_list").load("./../module/maestro_section_typing_app.html");
maestroInfo.loadMaestroInfo(onLoadSuccessMaestroInfo, onLoadFailMaestroInfo);
});
function onLoadSuccessMaestroInfo() {
$("#maestro_info_id").text(maestroInfo.maestroName + "님, 환영합니다.");
$("#maestro_info_player_count").text("학생수 : " + maestroInfo.getRegisteredPlayerCount() + " / " + maestroInfo.getMaxPlayerCount());
}
function onLoadFailMaestroInfo(errorMessage, errorCode) {
console.log("errorMessage : " + errorMessage);
console.log("errorCode : " + errorCode);
}
function onChangePlayerCount() {
maestroInfo.loadMaestroInfo(onLoadSuccessMaestroInfo, onLoadFailMaestroInfo);
}
</script>
<div class="container">
<div id="maestro_info">
<span id="maestro_info_id">마에스트로 계정 이름
</span>
<span id="maestro_info_player_count">학생수 ? / ?
</span>
<span id="maestro_info_upgrade">업그레이드 버튼
</span>
</div>
<div id="page-tabs">
<ul>
<li class="widthQuarter activated" onClick="tabClicked(1)">학생 목록</li>
@@ -0,0 +1,16 @@
<?php
function get_max_player_count($accountType) {
switch($accountType) {
case 1:
return 20;
case 2:
return 50;
case 3:
return 100;
}
return 0;
}
?>
+47
View File
@@ -0,0 +1,47 @@
<?php
header("Content-Type: application/json");
include "./../lib/send_reply_json.php";
include "./../setup/connect_db.php";
$maestroID = $_POST["maestro_id"];
$info = get_maestro_info($maestroID);
if($info === null) {
set_error_message("마에스트로 계정 정보를 가져올 수 없습니다.");
send_result_fail();
exit;
}
set_data("name", $info["name"]);
set_data("accountType", $info["accountType"]);
set_data("playerCount", $info["playerCount"]);
send_result_success();
exit;
function get_maestro_info($maestroID) {
global $db_conn;
$query = "
SELECT Name, AccountType, PlayerCount
FROM moty_maestro
WHERE MaestroID = ?
";
$stmt = $db_conn->prepare($query);
$stmt->bind_param("s", $maestroID);
$stmt->execute();
$stmt->bind_result($name, $accountType, $playerCount);
// while($stmt->fetch())
$stmt->fetch();
$stmt->close();
$info["name"] = $name;
$info["accountType"] = $accountType;
$info["playerCount"] = $playerCount;
return $info;
}
?>
+2 -1
View File
@@ -2,6 +2,7 @@
header("Content-Type: application/json");
include "./../lib/send_reply_json.php";
include "./../lib/maestro_account_type.php";
include "./../setup/connect_db.php";
$maestroID = $_POST["maestro_id"];
@@ -27,7 +28,7 @@ if($result !== null) {
$maestroAccountType = get_maestro_account_type($maestroID);
$playerCount = get_player_count($maestroID);
if($playerCount >= $maestroAccountType * 10) {
if($playerCount >= get_max_player_count($maestroAccountType)) {
set_error_message("학생을 더 이상 추가할 수 없습니다. (더 많은 학생수로 업그레이드 하세요)");
send_result_fail();
exit;