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="./../../game/lib/util/number_util.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_validator.js"></script>
+60 -114
View File
@@ -2,7 +2,6 @@
var registeredAccountType = -1;
$(document).ready(function() {
loadMaestroInfo(maestroID);
});
@@ -15,9 +14,10 @@ function loadMaestroInfo(maestroID) {
(function(jsonData) {
// console.log(jsonData);
registeredAccountType = jsonData.accountType;
showEndDate(jsonData.availableActivateDateTime);
showPlayerCount(jsonData.accountType, jsonData.playerCount);
updateCards(registeredAccountType);
showPrice();
showMaestroName(jsonData.name);
}),
(function(errorMessage, errorCode) {
@@ -44,120 +44,31 @@ function showEndDate(date) {
$("#countdown_day").addClass("bg-secondary text-light");
else
$("#countdown_day").addClass("text-muted");
$("#end_day").html(endDate);
}
function showPlayerCount(accountType, playerCount) {
$("#maestro_info_player_count").val("학생수 : " + playerCount + " / " + accountTypePlayerCount(accountType));
function showPrice() {
$("#price_account").html(
NumberUtil.numberWithCommas(accountTypePrice(registeredAccountType)) + "원"
);
// accountTypePrice(accountType) + "원");
}
var CARD_TYPE_EXPERIENCE = "experience";
var CARD_TYPE_LOWER_PRICE = "lower_price";
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 showMaestroName(maestroName) {
$("#maestro_name_account").html(maestroName);
}
function setCardConent(cardNo, cardType) {
var htmlID = "#account_type_" + cardNo;
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;
function extendMaestroAccount() {
// console.log("extend maestro account");
sendRequestServer( //url, sendParams, onSuccess, onFail, isDebugMode);
"./../server/maestro/request_upgrade_maestro.php",
"maestro_id=" + maestroID + "&registered_account_type=" + registeredAccountType + "&upgrade_account_type=" + upgradeAccountType,
"./../server/maestro/request_extend_maestro.php",
"maestro_id=" + maestroID + "&account_type=" + registeredAccountType,
(function(jsonData) {
// console.log(jsonData);
alert("업그레이드 요청이 등록되었습니다.");
alert("연장 신청이 등록되었습니다.\n입금 확인과 처리에 시간이 조금 걸립니다. 양해 부탁드립니다.");
location.href="main_menu.html";
}),
@@ -196,12 +107,43 @@ function upgradeMaestroInfo(accountType) {
<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">
<ul>
<li>1년 연장만 가능합니다.</li>
<li>업그레이드를 하셔도 1년 연장 효과가 있습니다.</li>
</ul>
<div class="mb-4">
<p>유효 기간을 <span class="text-primary">+1년 연장</span>합니다.</p>
<ol>
<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>
@@ -211,9 +153,13 @@ function upgradeMaestroInfo(accountType) {
<h4 class="mb-4">마에스트로 계정 연장 안내</h4>
<ol>
<li>위에서 업그레이드 하실 상품을 선택하세요.</li>
<li>연장을 신청하신 후, 추가 금액을 계좌이체해 주세요.</li>
<li>입금 내역이 확인되는대로 마에스트로 계정의 유효기간 +1년을 적용해 드리겠습니다.</li>
<li>계정 연장을 위한 송금 내용을 이메일로 발송했습니다.</li>
<li>
입금 확인 및 적용을 수작업으로 하고 있습니다. 최대한 빨리 확인하고 적용할 수 있도록 노력하겠습니다.<br/>
<span class="text-muted">(보통 늦어도 반나절 이내에 처리됩니다)</span>
</li>
<li>유효 기간은 +1년씩만 연장할 수 있습니다.</li>
<li class="text-primary">계정 업그레이드를 하셔도 +1년 연장 효과가 적용됩니다.</li>
</ol>
</div>
+10
View File
@@ -32,6 +32,16 @@ CREATE TABLE maestro_upgrade (
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 (
PlayerID INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
MaestroID INT UNSIGNED NOT NULL,