Add: maestro account extension html, make db

This commit is contained in:
2019-10-17 13:57:11 +09:00
parent 84eaa7989a
commit 65ec3e040c
3 changed files with 71 additions and 114 deletions
+1
View File
@@ -39,6 +39,7 @@
--> -->
<script type="text/javascript" src="./../../../resources/jquery/jquery-3.3.1.min.js"></script> <script type="text/javascript" src="./../../../resources/jquery/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="./../../game/lib/util/number_util.js"></script>
<script type="text/javascript" src="./../js/main.js"></script> <script type="text/javascript" src="./../js/main.js"></script>
<script type="text/javascript" src="./../js/lib/account_info.js"></script> <script type="text/javascript" src="./../js/lib/account_info.js"></script>
<script type="text/javascript" src="./../js/lib/account_validator.js"></script> <script type="text/javascript" src="./../js/lib/account_validator.js"></script>
+60 -114
View File
@@ -2,7 +2,6 @@
var registeredAccountType = -1; var registeredAccountType = -1;
$(document).ready(function() { $(document).ready(function() {
loadMaestroInfo(maestroID); loadMaestroInfo(maestroID);
}); });
@@ -15,9 +14,10 @@ function loadMaestroInfo(maestroID) {
(function(jsonData) { (function(jsonData) {
// console.log(jsonData); // console.log(jsonData);
registeredAccountType = jsonData.accountType; registeredAccountType = jsonData.accountType;
showEndDate(jsonData.availableActivateDateTime); showEndDate(jsonData.availableActivateDateTime);
showPlayerCount(jsonData.accountType, jsonData.playerCount); showPrice();
updateCards(registeredAccountType); showMaestroName(jsonData.name);
}), }),
(function(errorMessage, errorCode) { (function(errorMessage, errorCode) {
@@ -44,120 +44,31 @@ function showEndDate(date) {
$("#countdown_day").addClass("bg-secondary text-light"); $("#countdown_day").addClass("bg-secondary text-light");
else else
$("#countdown_day").addClass("text-muted"); $("#countdown_day").addClass("text-muted");
$("#end_day").html(endDate);
} }
function showPlayerCount(accountType, playerCount) { function showPrice() {
$("#maestro_info_player_count").val("학생수 : " + playerCount + " / " + accountTypePlayerCount(accountType)); $("#price_account").html(
NumberUtil.numberWithCommas(accountTypePrice(registeredAccountType)) + "원"
);
// accountTypePrice(accountType) + "원");
} }
var CARD_TYPE_EXPERIENCE = "experience"; function showMaestroName(maestroName) {
var CARD_TYPE_LOWER_PRICE = "lower_price"; $("#maestro_name_account").html(maestroName);
var CARD_TYPE_PRESENT_PRICE = "present_price";
var CARD_TYPE_UPPER_PRICE = "upper_price";
function updateCards(accountType) {
// console.log(accountType);
switch(accountType) {
case 100:
case 101:
setCardConent(1, CARD_TYPE_EXPERIENCE);
setCardConent(2, CARD_TYPE_EXPERIENCE);
setCardConent(3, CARD_TYPE_EXPERIENCE);
setCardConent(4, CARD_TYPE_EXPERIENCE);
setCardConent(5, CARD_TYPE_EXPERIENCE);
break;
case 1:
setCardConent(1, CARD_TYPE_PRESENT_PRICE);
setCardConent(2, CARD_TYPE_UPPER_PRICE);
setCardConent(3, CARD_TYPE_UPPER_PRICE);
setCardConent(4, CARD_TYPE_UPPER_PRICE);
setCardConent(5, CARD_TYPE_UPPER_PRICE);
break;
case 2:
setCardConent(1, CARD_TYPE_LOWER_PRICE);
setCardConent(2, CARD_TYPE_PRESENT_PRICE);
setCardConent(3, CARD_TYPE_UPPER_PRICE);
setCardConent(4, CARD_TYPE_UPPER_PRICE);
setCardConent(5, CARD_TYPE_UPPER_PRICE);
break;
case 3:
setCardConent(1, CARD_TYPE_LOWER_PRICE);
setCardConent(2, CARD_TYPE_LOWER_PRICE);
setCardConent(3, CARD_TYPE_PRESENT_PRICE);
setCardConent(4, CARD_TYPE_UPPER_PRICE);
setCardConent(5, CARD_TYPE_UPPER_PRICE);
break;
case 4:
setCardConent(1, CARD_TYPE_LOWER_PRICE);
setCardConent(2, CARD_TYPE_LOWER_PRICE);
setCardConent(3, CARD_TYPE_LOWER_PRICE);
setCardConent(4, CARD_TYPE_PRESENT_PRICE);
setCardConent(5, CARD_TYPE_UPPER_PRICE);
break;
case 5:
default:
setCardConent(1, CARD_TYPE_LOWER_PRICE);
setCardConent(2, CARD_TYPE_LOWER_PRICE);
setCardConent(3, CARD_TYPE_LOWER_PRICE);
setCardConent(4, CARD_TYPE_LOWER_PRICE);
setCardConent(5, CARD_TYPE_PRESENT_PRICE);
break;
}
} }
function setCardConent(cardNo, cardType) { function extendMaestroAccount() {
var htmlID = "#account_type_" + cardNo; // console.log("extend maestro account");
var buttonID = htmlID + "_btn";
var footerID = htmlID + "_footer";
switch(cardType) {
case CARD_TYPE_EXPERIENCE:
$(htmlID).addClass("border-warning");
$(buttonID).addClass("btn-secondary disabled");
$(footerID).addClass("text-danger");
$(footerID).text("체험 계정은 업그레이드가 불가능합니다.");
break;
case CARD_TYPE_LOWER_PRICE:
$(htmlID).addClass("border-muted");
$(buttonID).addClass("btn-secondary disabled");
$(footerID).addClass("text-muted");
$(footerID).text("낮은 요금제");
break;
case CARD_TYPE_PRESENT_PRICE:
$(htmlID).addClass("border-warning");
$(buttonID).addClass("btn-secondary disabled");
$(footerID).addClass("text-warning");
$(footerID).text("현재 요금제");
break;
case CARD_TYPE_UPPER_PRICE:
$(htmlID).addClass("border-primary");
$(buttonID).addClass("btn-primary");
$(footerID).addClass("text-primary");
$(footerID).text("업그레이드 가능");
break;
}
}
function upgradeMaestroInfo(accountType) {
console.log("upgrade to " + accountType);
var upgradeAccountType = accountType;
sendRequestServer( //url, sendParams, onSuccess, onFail, isDebugMode); sendRequestServer( //url, sendParams, onSuccess, onFail, isDebugMode);
"./../server/maestro/request_upgrade_maestro.php", "./../server/maestro/request_extend_maestro.php",
"maestro_id=" + maestroID + "&registered_account_type=" + registeredAccountType + "&upgrade_account_type=" + upgradeAccountType, "maestro_id=" + maestroID + "&account_type=" + registeredAccountType,
(function(jsonData) { (function(jsonData) {
// console.log(jsonData); // console.log(jsonData);
alert("업그레이드 요청이 등록되었습니다."); alert("연장 신청이 등록되었습니다.\n입금 확인과 처리에 시간이 조금 걸립니다. 양해 부탁드립니다.");
location.href="main_menu.html"; location.href="main_menu.html";
}), }),
@@ -196,12 +107,43 @@ function upgradeMaestroInfo(accountType) {
<div class="card border-primary"> <div class="card border-primary">
<div class="card-header bg-light"><span class="h4">계정 연장 신청</span></div> <div class="card-header bg-light"><span class="h4">마에스트로 계정 연장 신청</span></div>
<div class="card-body"> <div class="card-body">
<ul> <div class="mb-4">
<li>1년 연장만 가능합니다.</li> <p>유효 기간을 <span class="text-primary">+1년 연장</span>합니다.</p>
<li>업그레이드를 하셔도 1년 연장 효과가 있습니다.</li> <ol>
</ul> <li>
만료일(<span id="end_day"></span>) 기준으로 1년이 추가됩니다.<br/><span class="text-muted">(연장 신청한 날짜와는 무관합니다)</span>
</li>
<li>아래 내용을 참고하여 송금을 부탁드립니다.</li>
<li>송금 내역이 확인되는대로 연장 처리를 진행합니다.</li>
</ol>
</div>
<div class="card border-secondary bg-warning px-4 py-3 mx-2 mt-3 mb-3">
<div class="row">
<label class="col-sm-3 col-form-label">* 카카오뱅크</label>
<label class="col-sm-9 col-form-label">3333-07-4977969 (예금주 : 박지상)</label>
</div>
<div class="row">
<label class="col-sm-3 col-form-label">* 금액</label>
<label class="col-sm-9 col-form-label"><span id="price_account" class="font-weight-bold"></span></label>
</div>
<div class="row">
<label class="col-sm-3 col-form-label">* 송금자명</label>
<div class="col-sm-9">
<label class="col-form-label"><span id="maestro_name_account" class="font-weight-bold"></span> <span class="text-muted">(신청하신 마에스트로 아이디)</span></label>
<small class="form-text text-muted">빠른 입금 확인과 계정 연장 처리 작업을 위해, 송금자명을 마에스트로 아이디로 입력 부탁드립니다.</small>
</div>
</div>
</div>
</div>
<div class="mx-4 mb-4">
<button type="button" class="btn btn-primary btn-block btn-lg" onclick="extendMaestroAccount();">연장 신청</button>
</div> </div>
</div> </div>
@@ -211,9 +153,13 @@ function upgradeMaestroInfo(accountType) {
<h4 class="mb-4">마에스트로 계정 연장 안내</h4> <h4 class="mb-4">마에스트로 계정 연장 안내</h4>
<ol> <ol>
<li>위에서 업그레이드 하실 상품을 선택하세요.</li> <li>계정 연장을 위한 송금 내용을 이메일로 발송했습니다.</li>
<li>연장을 신청하신 후, 추가 금액을 계좌이체해 주세요.</li> <li>
<li>입금 내역이 확인되는대로 마에스트로 계정의 유효기간 +1년을 적용해 드리겠습니다.</li> 입금 확인 및 적용을 수작업으로 하고 있습니다. 최대한 빨리 확인하고 적용할 수 있도록 노력하겠습니다.<br/>
<span class="text-muted">(보통 늦어도 반나절 이내에 처리됩니다)</span>
</li>
<li>유효 기간은 +1년씩만 연장할 수 있습니다.</li>
<li class="text-primary">계정 업그레이드를 하셔도 +1년 연장 효과가 적용됩니다.</li>
</ol> </ol>
</div> </div>
+10
View File
@@ -32,6 +32,16 @@ CREATE TABLE maestro_upgrade (
FOREIGN KEY (MaestroID) REFERENCES maestro(MaestroID) FOREIGN KEY (MaestroID) REFERENCES maestro(MaestroID)
); );
CREATE TABLE maestro_extension (
MaestroExtensionID INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
AccountType INT UNSIGNED NOT NULL,
RequestedDateTime DATETIME NOT NULL,
Status INT UNSIGNED NOT NULL,
MaestroID INT UNSIGNED NOT NULL,
FOREIGN KEY (MaestroID) REFERENCES maestro(MaestroID)
);
CREATE TABLE player ( CREATE TABLE player (
PlayerID INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, PlayerID INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
MaestroID INT UNSIGNED NOT NULL, MaestroID INT UNSIGNED NOT NULL,