From 3d474b266cd724192794fb9c72db403fb757dfcf Mon Sep 17 00:00:00 2001 From: "jisangs (iMac)" Date: Sun, 3 Jul 2022 01:06:12 +0900 Subject: [PATCH] Fix: trial maestro account --- resources/image/maestro/maestro_extension.png | Bin 0 -> 85606 bytes resources/image/maestro/maestro_upgrade.png | Bin 0 -> 76043 bytes src/web/admin/admin_upgrade_list.html | 65 ++++-- src/web/js/lib/account_info.js | 71 +++++++ src/web/js/lib/maestro_info.js | 2 + src/web/module/home_section.html | 9 +- .../module/home_section_reopen_service.html | 126 +++++++++--- src/web/module/maestro_extension.html | 5 +- src/web/module/maestro_section_main.html | 7 +- src/web/module/maestro_section_register.html | 19 +- src/web/module/maestro_upgrade.html | 53 ++++- src/web/server/admin/extension_maestro.php | 2 +- src/web/server/admin/maestro_upgrade_list.php | 10 +- src/web/server/admin/register_maestro.php | 8 + src/web/server/admin/upgrade_maestro.php | 9 +- src/web/server/maestro/add_maestro.php | 188 +++++++++++++++++- src/web/server/maestro/login.php | 18 +- src/web/server/maestro/maestro_info.php | 6 +- .../maestro/request_upgrade_maestro.php | 20 +- src/web/server/mail/mail_contents.php | 65 +++++- src/web/server/mail/send_naver_mail.php | 53 ++++- src/web/server/player/login.php | 2 +- 22 files changed, 637 insertions(+), 101 deletions(-) create mode 100644 resources/image/maestro/maestro_extension.png create mode 100644 resources/image/maestro/maestro_upgrade.png diff --git a/resources/image/maestro/maestro_extension.png b/resources/image/maestro/maestro_extension.png new file mode 100644 index 0000000000000000000000000000000000000000..7fb46efc0454410f5619772baf1844cc6c8c29f3 GIT binary patch literal 85606 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 literal 0 HcmV?d00001 diff --git a/resources/image/maestro/maestro_upgrade.png b/resources/image/maestro/maestro_upgrade.png new file mode 100644 index 0000000000000000000000000000000000000000..0d5f50a193a1f9a07d9236e5c1fcecf8c1a6f1bd GIT binary patch literal 76043 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
2z{!5Z_WB))QdR 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 C--wj} literal 0 HcmV?d00001 diff --git a/src/web/admin/admin_upgrade_list.html b/src/web/admin/admin_upgrade_list.html index 619df7f..5f29b6c 100644 --- a/src/web/admin/admin_upgrade_list.html +++ b/src/web/admin/admin_upgrade_list.html @@ -67,27 +67,45 @@ } for(var i = 0; i < jsonList.length; i++) { - if(jsonList[i].status == 1) { - $("#maestro_list_result_contents").append( - "
" - + " " - + " " - + " " - + " " - + " " - + " " - + " " - + " " - + " " - + " " - + "
" - ); - } else { + if(jsonList[i].status == 1) { // 요청 + var tableRowString = + "
" + + " " + + " " + + " " + + " "; + if(jsonList[i].registeredActivateStatus == 1) { // 체험 + tableRowString += + " "; + } else { // 0: 미승인, 2: 활성화, 100: 환불 + tableRowString += + " " + } + tableRowString += + " " + + " " + + " "; + if(jsonList[i].registeredActivateStatus == 1) { // 체험 + tableRowString += + " "; + } else { // 0: 미승인, 2: 활성화, 100: 환불 + tableRowString += + " "; + } + tableRowString += + " " + + " " + + "
"; + $("#maestro_list_result_contents").append(tableRowString); + } + /* + else { // status == 2: 취소, 3: 업그레이드 적용 $("#maestro_list_result_contents").append( "
" + " " + " " + " " + + " " + " " + " " + " " @@ -98,6 +116,7 @@ + "
" ); } + */ } } @@ -123,6 +142,7 @@ var children = inputButton.parentElement.childNodes; var maestroUpgradeID; var maestroID; + var registeredActiveStatus; var registeredAccountType; var upgradeAccountType; for (var i=0; i < children.length; i++) { @@ -133,6 +153,10 @@ } else if (children[i].className == "maestro_id d-none") { maestroID = children[i].value; continue; + } else if (children[i].className == "registered_activate_status col-sm text-right") { + // upgradeAccountType = children[i].value; + registeredActiveStatus = activateStatusValue(children[i].value); + continue; } else if (children[i].className == "registered_account_type col-sm text-right") { // upgradeAccountType = children[i].value; registeredAccountType = accountTypeValue(children[i].value); @@ -151,11 +175,15 @@ sendRequestServer( //url, sendParams, onSuccess, onFail, isDebugMode); "./../server/admin/upgrade_maestro.php", - "maestro_upgrade_id=" + maestroUpgradeID + "&maestro_id=" + maestroID + "®istered_account_type=" + registeredAccountType+ "&upgrade_account_type=" + upgradeAccountType, + "maestro_upgrade_id=" + maestroUpgradeID + + "&maestro_id=" + maestroID + + "®istered_activate_status=" + registeredActiveStatus + + "®istered_account_type=" + registeredAccountType + + "&upgrade_account_type=" + upgradeAccountType, function(jsonData) { loadMaestroUpgradeList(""); - $("#error_message").text("마에스트로 계정이 정상적으로 등록되었습니다."); + $("#error_message").text("마에스트로 계정이 정상적으로 업그레이드되었습니다."); }, function(errorMessage, errorCode) { @@ -206,6 +234,7 @@
+ diff --git a/src/web/js/lib/account_info.js b/src/web/js/lib/account_info.js index e50938c..4a47eb9 100644 --- a/src/web/js/lib/account_info.js +++ b/src/web/js/lib/account_info.js @@ -19,6 +19,44 @@ return 0; } +function activateStatus(activateStatus) { + switch(activateStatus) { + case 0: + return "미승인"; + + case 1: + return "체험"; + + case 2: + return "활성화"; + + case 100: + return "등록 취소"; + + default: + return activateStatus + "? (N/A)"; + } +} + +function activateStatusValue(activateStatus) { + switch(activateStatus) { + case "미승인": + return 0; + + case "체험": + return 1; + + case "활성화": + return 2; + + case "등록 취소": + return 100; + + default: + return -1; + } +} + function accountType(accountType) { switch(accountType) { case 1: @@ -44,12 +82,40 @@ function accountType(accountType) { return accountType + "? (N/A)"; } +function trialAccountType(accountType) { + switch(accountType) { + case 1: + return "20명 (0원)"; + + case 2: + return "50명 (0원)"; + + case 3: + return "100명 (0원)"; + + case 4: + return "500명 (0원)"; + + case 5: + return "1,000명 (0원)"; + + case 100: + case 101: + return "해당없음"; + } + + return accountType + "? (N/A)"; +} + function accountStatus(accountType, activateStatus) { if(activateStatus == 0) return "입금대기"; + else if(activateStatus == 1) + return "체험"; else if(activateStatus == 100) return "환불"; + // activateStatus == 2 : "활성화" switch(accountType) { case 1: return "20명"; @@ -121,18 +187,23 @@ function accountTypePrice(accountType) { function accountTypeValue(accountType) { switch(accountType) { case "20명 (1만원)": + case "20명 (0원)": return 1; case "50명 (2만원)": + case "50명 (0원)": return 2; case "100명 (3만원)": + case "100명 (0원)": return 3; case "500명 (4만원)": + case "500명 (0원)": return 4; case "1,000명 (5만원)": + case "1,000명 (0원)": return 5; } diff --git a/src/web/js/lib/maestro_info.js b/src/web/js/lib/maestro_info.js index 0fe9905..03ebe1c 100644 --- a/src/web/js/lib/maestro_info.js +++ b/src/web/js/lib/maestro_info.js @@ -1,6 +1,7 @@ function MaestroInfo() { this.maestroID = sessionStorage.getItem("maestroID"); this.maestroName = ""; + this.activateStatus = 0; this.accountType = 0; this.availableActivateDateTime = ""; this.playerCount = 0; @@ -15,6 +16,7 @@ MaestroInfo.prototype.loadMaestroInfo = function(onSuccess, onFail) { function(jsonData) { self.maestroName = jsonData["name"]; + self.activatedStatus = jsonData["activatedStatus"]; self.accountType = jsonData["accountType"]; self.availableActivateDateTime = jsonData["availableActivateDateTime"]; self.playerCount = jsonData["playerCount"]; diff --git a/src/web/module/home_section.html b/src/web/module/home_section.html index 3c7ed78..cd4bce1 100644 --- a/src/web/module/home_section.html +++ b/src/web/module/home_section.html @@ -4,12 +4,13 @@ $(document).ready(function() { // showServiceCloseMessage(); showErrorMessage( '(07월 02일) 알림
\ - * 초코마에 유료 정식 서비스 시작
\ - * 계정 유효기간 연장 or 업그레이드 메뉴가 활성화되었습니다.
\ + * 초코마에 8월 유료 정식 서비스 예고
\ + * 7월 31일까지 계속해서 무료 사용 가능
\ + * 7월 31일 전에도 유료 결제 가능 - 유효기간 연장 / 업그레이드 기능 활성화
\
\ \ \ - 정식 유료 서비스 - 자세한 내용 보기' + 8월 유료 서비스 안내 - 자세한 내용 보기' , 'info' ); }); @@ -183,7 +184,7 @@ function experienceMaestro() {
diff --git a/src/web/module/home_section_reopen_service.html b/src/web/module/home_section_reopen_service.html index 06c246b..74cef1f 100644 --- a/src/web/module/home_section_reopen_service.html +++ b/src/web/module/home_section_reopen_service.html @@ -11,14 +11,92 @@

  • 5월부터 6월까지 약 2개월간 개인 서버에서 시험적으로 운영해 보았습니다.
  • -
  • 큰 문제 없이 서비스가 진행되어서 8월 1일부터 유료 서비스로 전환합니다.
  • +
  • 큰 문제 없이 서비스가 진행되어서 8월 1일부터 정식 유료 서비스로 전환할 예정입니다.
  • +
  • + 8월 정식 유료 서비스 위해 일부 서비스 내용을 수정하였습니다. +
      +
    • 마에스트로 체험 계정
    • +
    • + 유료 결제 적용 +
        +
      1. 유효기간 연장
      2. +
      3. 요금제 업그레이드
      4. +
      +
      +
        +
      • 베타 기간동안 막아두었던 100명(3만원), 500명(4만원), 1,000명(5만원) 요금제도 활성화되었습니다.
      • +
      +
      +
    • +
    +
  • +
+

+ +
마에스트로 체험 계정
+

+

    +
  • + 베타 서비스 기간 동안 마에스트로 계정을 만들면 무료로 승인해드렸습니다. +
      +
    • 베타 기간동안 가입하고 무료로 사용하시는 분들이 많으셨습니다.
    • +
    • 정식 유료 서비스를 시작하더라도 계정 생성시 무료로 사용할 수 있는 체험 기간을 드리기로 결정했습니다.
    • +
    • 마에스트로 체험 계정의 유효 기간은 2주입니다.
    • +
    +
  • +
  • 베타 서비스 기간동안은 체험 계정이어도 7월 말까지 무료로 계속해서 사용하실 수 있습니다.
  • +
+

+ +
마에스트로 체험 계정 생성 즉시 활성화
+

+

    +
  • 5월부터 6월까지는 마에스트로 신규 계정을 생성하면 관리자가 승인한 후에야 계정이 활성화 되었습니다.
  • +
  • 7월부터는 마에스트로 신규 계정 생성하면 즉시 계정이 활성화됩니다.
  • +
  • 신규 계정은 체험 계정으로 시작합니다. 그렇기 때문에 신규 계정 생성시에는 결제가 생략됩니다.
  • +
  • + 체험 계정의 최초 유효기간이 지나면 비활성화됩니다. 계속해서 사용하시려면 아래와 같은 방법으로 결제하실 수 있습니다. +
      +
    • 유효기간 연장
    • +
    • 요금제 업그레이드
    • +
    +
  • +
+

+ + + +
+ +
+
베타 서비스와 마에스트로 체험 계정의 무료 사용에 대한 안내
+
+
7월 2일 이전에 생성한 기존 무료 계정
+

+

    +
  • 7월 31일까지 계속해서 무료로 사용하실 수 있습니다.
  • +
+

+
7월 2일 ~ 7월 17일까지 생성한 체험 계정
+

+

    +
  • 마찬가지로 7월 31일까지 무료로 사용하실 수 있습니다.
  • +
+

+
7월 17일 ~ 7월 31일까지 생성한 계정
+

+

베타 서비스가 2주보다 적게 남은 시점입니다.
+
    +
  • 체험 계정 기준으로 유효기간이 2주가 주어집니다.
  • +
  • 마에스트로 체험 계정을 만들면, 생성일로부터 2주동안 무료로 사용하실 수 있습니다.
  • +
+

+
8월 1일 이후에 생성한 계정
+

+

    +
  • 체험 계정 기준으로 유효기간이 2주가 주어집니다.
  • +
  • 마에스트로 체험 계정을 만들면, 생성일로부터 2주동안 무료로 사용하실 수 있습니다.
-

@@ -34,38 +112,25 @@
  • 만료일 30일 전(7월 2일)부터 마에스트로 관리 화면 홈에 [유효기간 연장] 버튼이 보여집니다.
    - -
  • -
  • [유효기간 연장] 버튼을 눌러서 계정 유효기간을 신청합니다.
  • -
  • - 연장 신청 화면에서 보여드릴 초코마에 카카오뱅크 계좌로 송금해주세요. (보내는 사람 이름은 반드시 마에스트로 이름으로 기입 부탁드립니다) -
    - + 유효기간 연장 화면
  • +
  • [유효기간 연장] 버튼을 누르면 입금 안내 메일을 보내드립니다.
  • +
  • 입금 내역이 확인되는대로 승인을 처리해 드립니다.
  • -
    (방법 2) 계정 업그레이드
    +
    (방법 2) 요금제 업그레이드

    • 마에스트로 로그인을 하면 관리 화면 홈 상단 우측에 [업그레이드] 버튼이 있습니다.
      - + 업그레이드 화면
    • - [업그레이드] 버튼을 눌러서 상위 요금제로 업그레이드를 신청합니다. + [업그레이드] 버튼을 누르면 입금 안내 메일을 보내드립니다.
      - -
    • -
    • - 업그레이드 신청 화면에서 보여드릴 초코마에 카카오뱅크 계좌로 송금해주세요. (송금자명은 반드시 마에스트로 이름으로 기입 부탁드립니다) -
      -
    • +
    • 입금 내역이 확인되는대로 승인을 처리해 드립니다.

    @@ -88,8 +153,11 @@
    • 초코마에 서비스를 다시 찾아주셔서 감사합니다.

    • -
    • 현재 회사를 다니고 있기 때문에 추가적인 개발은 못하는 상황입니다.
    • -
    • 웹 개발 일을 열심히 배워서 내년이나 이후에는 개선된 서비스를 제공할 수 있도록 노력하겠습니다.
    • +
    • 여전히 부족한 서비스이지만 다시 유료화를 시작합니다.
    • +
    • 수입이 모이면 안정적인 서버도 준비하고, 서비스를 개선해보려고 합니다.
    • +
    • 계속해서 많은 응원 부탁드립니다.
    • +
      +
    • 감사합니다!

    diff --git a/src/web/module/maestro_extension.html b/src/web/module/maestro_extension.html index 05d5b4d..6ef6063 100644 --- a/src/web/module/maestro_extension.html +++ b/src/web/module/maestro_extension.html @@ -35,7 +35,6 @@ function showPrice() { $("#price_account").html( NumberUtil.numberWithCommas(accountTypePrice(registeredAccountType)) + "원" ); - // accountTypePrice(accountType) + "원"); } function showMaestroName(maestroName) { @@ -167,13 +166,13 @@ function extendMaestroAccount() {

    마에스트로 계정 연장 안내

      -
    1. 위의 연장 신청 버튼을 누르면 계정 연장, 송금 안내 내용이 이메일로 자동 발송됩니다.
    2. +
    3. 위의 유효기간 연장 버튼을 누르면 계정 연장, 송금 안내 내용이 이메일로 자동 발송됩니다.
    4. 입금 확인 및 적용을 수작업으로 하고 있습니다. 최대한 빨리 확인하고 적용할 수 있도록 노력하겠습니다.
      (보통 늦어도 반나절 이내에 처리됩니다)
    5. 유효 기간은 +1년씩만 연장 가능합니다.
    6. -
    7. 계정 업그레이드를 하셔도 +1년 연장 효과가 적용됩니다.
    8. +
    9. 계정 업그레이드를 하시면 학생수를 늘리고 1년을 사용하실 수 있습니다.
    diff --git a/src/web/module/maestro_section_main.html b/src/web/module/maestro_section_main.html index e5fdba1..e9a9b63 100644 --- a/src/web/module/maestro_section_main.html +++ b/src/web/module/maestro_section_main.html @@ -24,12 +24,13 @@ $(document).ready(function() { // showServiceCloseMessage(); showErrorMessage( '(07월 02일) 알림
    \ - * 초코마에 유료 정식 서비스 시작
    \ - * 계정 유효기간 연장 or 업그레이드 메뉴가 활성화되었습니다.
    \ + * 초코마에 8월 유료 정식 서비스 예고
    \ + * 7월 31일까지 계속해서 무료 사용 가능
    \ + * 7월 31일 전에도 유료 결제 가능 - 유효기간 연장 / 업그레이드 기능 활성화
    \
    \ \ \ - 정식 유료 서비스 - 자세한 내용 보기' + 8월 유료 서비스 안내 - 자세한 내용 보기' , 'info' ); }); diff --git a/src/web/module/maestro_section_register.html b/src/web/module/maestro_section_register.html index f74d96e..fd23ad9 100644 --- a/src/web/module/maestro_section_register.html +++ b/src/web/module/maestro_section_register.html @@ -564,7 +564,8 @@ $('#myTab a').on('click', function (e) { 1,000명 (5만원) - 계정 활성화 날짜로부터 1년동안 유효합니다. + 2022년 07월 31일까지 무료로 위의 마에스트로 계정을 체험하실 수 있습니다. + * 유료 결제하면, 위 내용으로 1년동안 사용하실 수 있습니다. @@ -630,6 +631,8 @@ $('#myTab a').on('click', function (e) { +
    +
    입력하신 내용이 모두 맞는지 확인해주세요.
    @@ -650,6 +653,16 @@ $('#myTab a').on('click', function (e) {

    마에스트로 아이디 ???? 가 신청되었습니다.

    + +
    +
      +
    • 7월 31일까지 베타 서비스를 진행중입니다.
    • +
    • 신청하신 마에스트로 아이디는 바로 사용하실 수 있습니다.
    • +
    • 등록하신 이메일로도 생성된 마에스트로 계정 정보를 보내드렸습니다.
    • +
    • 7월 31일까지 무료로 사용하시고, 마음에 들면 유효기간이 종료되기 전에 유료 결제를 부탁드립니다.
    • +
    +
    +
      @@ -665,6 +678,7 @@ $('#myTab a').on('click', function (e) {
    + + diff --git a/src/web/module/maestro_upgrade.html b/src/web/module/maestro_upgrade.html index 85b72fa..d054e6f 100644 --- a/src/web/module/maestro_upgrade.html +++ b/src/web/module/maestro_upgrade.html @@ -2,6 +2,7 @@ var maestroAvailableDate = new MaestroAvailableDate(); +var registeredActivateStatus = 0; var registeredAccountType = -1; @@ -9,6 +10,10 @@ $(document).ready(function() { loadMaestroInfo(maestroID); }); +function showMaestroName(maestroName) { + $("#maestro_name_account").html(maestroName); +} + function loadMaestroInfo(maestroID) { sendRequestServer( //url, sendParams, onSuccess, onFail, isDebugMode); "./../server/maestro/maestro_info.php", @@ -16,6 +21,7 @@ function loadMaestroInfo(maestroID) { (function(jsonData) { // console.log(jsonData); + registeredActivateStatus = jsonData.activateStatus; registeredAccountType = jsonData.accountType; // showEndDate(jsonData.availableActivateDateTime); @@ -25,6 +31,8 @@ function loadMaestroInfo(maestroID) { showPlayerCount(jsonData.accountType, jsonData.playerCount); updateCards(registeredAccountType); + + showMaestroName(jsonData.name); }), (function(errorMessage, errorCode) { @@ -136,17 +144,18 @@ function setCardConent(cardNo, cardType) { } } -function upgradeMaestroInfo(accountType) { - console.log("upgrade to " + accountType); - var upgradeAccountType = accountType; +function upgradeMaestroInfo(upgradeAccountType) { + console.log("upgrade to " + upgradeAccountType); sendRequestServer( //url, sendParams, onSuccess, onFail, isDebugMode); "./../server/maestro/request_upgrade_maestro.php", - "maestro_id=" + maestroID + "®istered_account_type=" + registeredAccountType + "&upgrade_account_type=" + upgradeAccountType, - + "maestro_id=" + maestroID + + "®istered_activate_status=" + registeredActivateStatus + + "®istered_account_type=" + registeredAccountType + + "&upgrade_account_type=" + upgradeAccountType, (function(jsonData) { // console.log(jsonData); - alert("업그레이드 요청이 등록되었습니다."); + alert("업그레이드 안내 메일을 보내드렸습니다.\n메일 내용에 따라 송금해주시면 내역이 확인되는대로 업그레이드를 적용해드리겠습니다."); location.href="main_menu.html"; }), @@ -262,6 +271,29 @@ function upgradeMaestroInfo(accountType) { +
    +
    송금 정보
    +
    +
    + + +
    + +
    + + +
    + +
    + +
    + + 빠른 입금 확인과 계정 연장 처리 작업을 위해, 송금자명을 마에스트로 아이디로 입력 부탁드립니다. +
    +
    +
    +
    + @@ -272,10 +304,11 @@ function upgradeMaestroInfo(accountType) {

    마에스트로 업그레이드 안내

      -
    1. 위에서 업그레이드 하실 상품을 선택하세요.
    2. -
    3. 업그레이드를 신청하신 후, 추가 금액을 계좌이체해 주세요.
    4. -
    5. 신청 내역이 확인되는대로 마에스트로 계정의 요금제를 변경해 드리겠습니다.
    6. -
    7. 기존 요금제 기간이 얼마나 남았던가에 상관없이, 유효 기간은 업그레이드가 적용된 날짜로부터 1년으로 다시 채워집니다.
      +
    8. 업그레이드 하실 상품을 선택하세요.
    9. +
    10. 업그레이드 버튼을 누르면 입금 안내 메일이 발송됩니다.
    11. +
    12. 업그레이드 안내 메일 내용에 따라 청구된 금액을 송금해 주세요.
    13. +
    14. 송금 내역이 확인되는대로 마에스트로 계정의 업그레이드를 적용해 드리겠습립니다. (많이 늦어진다 싶으면 아래 문의 메일로 연락주세요)
    15. +
    16. 기존 요금제 기간이 얼마나 남았던가에 상관없이, 유효 기간은 업그레이드가 적용된 날짜로부터 1년으로 설정됩니다.
    diff --git a/src/web/server/admin/extension_maestro.php b/src/web/server/admin/extension_maestro.php index 3f604d1..a37abd0 100644 --- a/src/web/server/admin/extension_maestro.php +++ b/src/web/server/admin/extension_maestro.php @@ -47,7 +47,7 @@ function extension_maestro($maestro_id, $new_available_date) { // "; $query = " UPDATE maestro - SET ActivateStatus = 1, AvailableActivateDateTime = DATE_FORMAT(?, '%Y-%m-%d') + SET ActivateStatus = 2, AvailableActivateDateTime = DATE_FORMAT(?, '%Y-%m-%d') WHERE MaestroID = ?; "; $stmt = $db_conn->prepare($query); diff --git a/src/web/server/admin/maestro_upgrade_list.php b/src/web/server/admin/maestro_upgrade_list.php index 60c8467..d8bb84f 100644 --- a/src/web/server/admin/maestro_upgrade_list.php +++ b/src/web/server/admin/maestro_upgrade_list.php @@ -29,7 +29,7 @@ function get_maestro_upgrade_list() { global $db_conn; $query = " - SELECT U.MaestroUpgradeID, U.MaestroID, M.Name, U.RegisteredAccountType, U.RequestedAccountType, U.RequestedDateTime, M.AvailableActivateDateTime, U.Status + SELECT U.MaestroUpgradeID, U.MaestroID, M.Name, U.RegisteredActivateStatus, U.RegisteredAccountType, U.RequestedAccountType, U.RequestedDateTime, M.AvailableActivateDateTime, U.Status FROM maestro_upgrade U, maestro M WHERE U.Status < 2 AND U.MaestroID = M.MaestroID ORDER BY U.MaestroUpgradeID DESC @@ -38,13 +38,14 @@ function get_maestro_upgrade_list() { // $stmt->bind_param("iii", $maestroID, $startNo, $endNo); // $stmt->bind_param("ii", $maestroName, $startNo); $stmt->execute(); - $stmt->bind_result($maestroUpgradeID, $maestroID, $maestroName, $registeredAccountType, $requestedAccountType, $requestedDateTime, $availableActivateDateTime, $status); + $stmt->bind_result($maestroUpgradeID, $maestroID, $maestroName, $registeredActivateStatus, $registeredAccountType, $requestedAccountType, $requestedDateTime, $availableActivateDateTime, $status); $maestroUpgradeList = array(); while($stmt->fetch()) { $maestro["maestroUpgradeID"] = $maestroUpgradeID; $maestro["maestroID"] = $maestroID; $maestro["maestroName"] = $maestroName; + $maestro["registeredActivateStatus"] = $registeredActivateStatus; $maestro["registeredAccountType"] = $registeredAccountType; $maestro["requestedAccountType"] = $requestedAccountType; $maestro["requestedDateTime"] = $requestedDateTime; @@ -60,7 +61,7 @@ function get_maestro_update_list_by_name($searchMaestroName) { global $db_conn; $query = " - SELECT U.MaestroUpgradeID, U.MaestroID, M.Name, U.RegisteredAccountType, U.RequestedAccountType, U.RequestedDateTime, M.AvailableActivateDateTime, U.Status + SELECT U.MaestroUpgradeID, U.MaestroID, M.Name, U.RegisteredActivateStatus, U.RegisteredAccountType, U.RequestedAccountType, U.RequestedDateTime, M.AvailableActivateDateTime, U.Status FROM maestro_upgrade U, maestro M WHERE M.Name LIKE CONCAT('%', ?, '%') AND U.MaestroID = M.MaestroID ORDER BY U.MaestroUpgradeID DESC @@ -68,13 +69,14 @@ function get_maestro_update_list_by_name($searchMaestroName) { $stmt = $db_conn->prepare($query); $stmt->bind_param("s", $searchMaestroName); $stmt->execute(); - $stmt->bind_result($maestroUpgradeID, $maestroID, $maestroName, $registeredAccountType, $requestedAccountType, $requestedDateTime, $availableActivateDateTime, $status); + $stmt->bind_result($maestroUpgradeID, $maestroID, $maestroName, $registeredActivateStatus, $registeredAccountType, $requestedAccountType, $requestedDateTime, $availableActivateDateTime, $status); $maestroUpgradeList = array(); while($stmt->fetch()) { $maestro["maestroUpgradeID"] = $maestroUpgradeID; $maestro["maestroID"] = $maestroID; $maestro["maestroName"] = $maestroName; + $maestro["registeredActivateStatus"] = $registeredActivateStatus; $maestro["registeredAccountType"] = $registeredAccountType; $maestro["requestedAccountType"] = $requestedAccountType; $maestro["requestedDateTime"] = $requestedDateTime; diff --git a/src/web/server/admin/register_maestro.php b/src/web/server/admin/register_maestro.php index 5967e76..091eb48 100644 --- a/src/web/server/admin/register_maestro.php +++ b/src/web/server/admin/register_maestro.php @@ -61,12 +61,20 @@ function register_maestro($maestroID) { // SET ActivateStatus = 1, AvailableActivateDateTime = DATE_ADD(NOW(), INTERVAL 1 YEAR) // WHERE MaestroID = ? // "; + // closed beta $query = " UPDATE maestro SET ActivateStatus = 1, AvailableActivateDateTime = '2022-07-31 23:59:59' WHERE MaestroID = ? "; + + // (07/17) before 2 weeks from closing beta service +// $query = " +// UPDATE maestro +// SET ActivateStatus = 1, AvailableActivateDateTime = DATE_ADD(NOW(), INTERVAL 14 DAY) +// WHERE MaestroID = ? +// "; $stmt = $db_conn->prepare($query); $stmt->bind_param("i", $maestroID); $stmt->execute(); diff --git a/src/web/server/admin/upgrade_maestro.php b/src/web/server/admin/upgrade_maestro.php index 6a81dee..52a08b0 100644 --- a/src/web/server/admin/upgrade_maestro.php +++ b/src/web/server/admin/upgrade_maestro.php @@ -14,6 +14,7 @@ include "./../mail/send_naver_mail.php"; $maestro_upgrade_id = $_POST["maestro_upgrade_id"]; $maestro_id = $_POST["maestro_id"]; +$registered_activate_status = $_POST["registered_activate_status"]; $registered_account_type = $_POST["registered_account_type"]; $upgrade_account_type = $_POST["upgrade_account_type"]; @@ -23,7 +24,11 @@ change_upgrade_request_status_to_close($maestro_id); change_upgrade_request_status_to_applied($maestro_upgrade_id); $maestro_data = get_maestro_data($maestro_id); -sendMailUpgradeDone($maestro_data["name"], $maestro_data["email"], $registered_account_type, $upgrade_account_type); +if($registered_activate_status == 1) { // 체험 + sendMailTrialMaestroUpgradeDone($maestro_data["name"], $maestro_data["email"], $registered_account_type, $upgrade_account_type); +} else { // 0: 미승인, 2: 활성화, 3: 환불 + sendMailUpgradeDone($maestro_data["name"], $maestro_data["email"], $registered_account_type, $upgrade_account_type); +} insertMaestroLog("upgrade_maestro", $maestro_id, $registered_account_type." -> ".$upgrade_account_type); // set_data("maestro_upgrade_id", $maestro_upgrade_id); @@ -39,7 +44,7 @@ function upgrade_maestro($maestro_id, $upgrade_account_type) { $query = " UPDATE maestro - SET AccountType = ?, ActivateStatus = 1, AvailableActivateDateTime = DATE_ADD(NOW(), INTERVAL 1 YEAR) + SET AccountType = ?, ActivateStatus = 2, AvailableActivateDateTime = DATE_ADD(NOW(), INTERVAL 1 YEAR) WHERE MaestroID = ?; "; $stmt = $db_conn->prepare($query); diff --git a/src/web/server/maestro/add_maestro.php b/src/web/server/maestro/add_maestro.php index 5e95f70..45d3485 100644 --- a/src/web/server/maestro/add_maestro.php +++ b/src/web/server/maestro/add_maestro.php @@ -37,7 +37,29 @@ if($maestroID === null) { exit; } -sendMailRegisterBankInfo($maestro_name, $email, $account_type); +add_maestro_test_player($maestroID); + +$playerID = get_maestro_test_player($maestroID); +if($playerID === null) { + set_error_message("마에스트로 테스트 플레이어 생성 실패"); + send_result_fail(); + exit; +} + +$result = set_maestro_test_player($maestroID, $playerID); +if($result === null || $result === 0) { + set_error_message("마에스트로 테스트 플레이어 등록 실패"); + send_result_fail(); + exit; +} + +add_default_activated_apps($maestroID); + +add_maestro_sample_player_data($maestroID); +$count = count_registered_player($maestroID); +update_count_registered_player($maestroID, $count); + +sendMailTrialRegisterDone($maestro_name, $email, $account_type); insertMaestroLog("add_maestro", $maestroID, $maestro_name." / ".$email." / ".$account_type); send_result_success(); @@ -69,10 +91,172 @@ function add_maestro($maestro_name, $password, $email, $account_type) { $query = " INSERT INTO maestro (Name, Password, Email, AccountType, ActivateStatus, AvailableActivateDateTime, PlayerCount, AcceptClausesDateTime, AllowEditEnterCode, MaestroTestID) - VALUES (?, PASSWORD(?), ?, ?, 0, NOW(), 0, NOW(), 0, 0)"; + VALUES (?, PASSWORD(?), ?, ?, 1, '2022-07-31 23:59:59', 0, NOW(), 0, 0)"; $stmt = $db_conn->prepare($query); $stmt->bind_param("sssi", $maestro_name, $password, $email, $account_type); $stmt->execute(); } +function add_maestro_test_player($maestroID) { + global $db_conn; + + $query = " + INSERT INTO player (MaestroID, Name, EnterCode, AccountType) + VALUES (?, '마에스트로', '', 1) + "; + $stmt = $db_conn->prepare($query); + $stmt->bind_param("i", $maestroID); + $stmt->execute(); +} + +function get_maestro_test_player($maestroID) { + global $db_conn; + + $query = " + SELECT PlayerID + FROM player + WHERE MaestroID = ? AND AccountType = 1 + "; + $stmt = $db_conn->prepare($query); + $stmt->bind_param("i", $maestroID); + $stmt->execute(); + $stmt->bind_result($playerID); + $stmt->fetch(); + $stmt->close(); + + return $playerID; +} + +function set_maestro_test_player($maestroID, $playerID) { + global $db_conn; + + $query = " + UPDATE maestro + SET MaestroTestID = ? + WHERE MaestroID = ? + "; + $stmt = $db_conn->prepare($query); + $stmt->bind_param("ii", $playerID, $maestroID); + $stmt->execute(); + + return $stmt->affected_rows; +} + +function add_default_activated_apps($maestroID) { + global $db_conn; + + $query = " + SELECT AppID + FROM app + WHERE Status = 1; + "; + $stmt = $db_conn->prepare($query); + $stmt->execute(); + $stmt->bind_result($appID); + + $activeAppList = array(); + while($stmt->fetch()) { + array_push($activeAppList, $appID); + } + $stmt->close(); + + $count = count($activeAppList); + for($i = 0; $i < $count; $i++) { + $activeAppID = $activeAppList[$i]; + + $query = " + INSERT INTO active_app (MaestroID, AppID) + VALUES (?, ?); + "; + $stmt = $db_conn->prepare($query); + $stmt->bind_param("ii", $maestroID, $activeAppID); + $stmt->execute(); + $stmt->close(); + } +} + +function add_maestro_sample_player_data($maestro_id) { + $samplePlayerList = make_sample_player_list($maestro_id); + for($i = 0; $i < count($samplePlayerList); $i++) { + insert_maestro_sample_player_data($maestro_id, $samplePlayerList[$i]); + } +} + + +function insert_maestro_sample_player_data($maestro_id, $player) { + global $db_conn; + + $query = " + INSERT INTO player (MaestroID, Name, EnterCode, AccountType) + VALUES (?, ?, ?, ?) + "; + $stmt = $db_conn->prepare($query); + $stmt->bind_param("issi", + $maestro_id, + $player["Name"], + $player["EnterCode"], + $player["AccountType"] + ); + $stmt->execute(); + $stmt->close(); +} + +function make_sample_player_list() { + $samplePlayerList = array(); + + $player["Name"] = "050215"; + $player["EnterCode"] = "050215"; + $player["AccountType"] = 0; + array_push($samplePlayerList, $player); + + $player["Name"] = "6-3_이철수"; + $player["EnterCode"] = "1111"; + $player["AccountType"] = 0; + array_push($samplePlayerList, $player); + + $player["Name"] = "3-1김영희"; + $player["EnterCode"] = "0301"; + $player["AccountType"] = 0; + array_push($samplePlayerList, $player); + + $player["Name"] = "홍길동"; + $player["EnterCode"] = "181231"; + $player["AccountType"] = 0; + array_push($samplePlayerList, $player); + + return $samplePlayerList; +} + +function count_registered_player($maestroID) { + global $db_conn; + + $query = " + SELECT COUNT(PlayerID) + FROM player + WHERE MaestroID = ? AND AccountType = 0 + "; + $stmt = $db_conn->prepare($query); + $stmt->bind_param("i", $maestroID); + $stmt->execute(); + $stmt->bind_result($countPlayer); + // while($stmt->fetch()) + $stmt->fetch(); + $stmt->close(); + + return $countPlayer; +} + +function update_count_registered_player($maestroID, $countPlayer) { + global $db_conn; + + $query = " + UPDATE maestro + SET PlayerCount = ? + WHERE MaestroID = ? + "; + $stmt = $db_conn->prepare($query); + $stmt->bind_param("ii", $countPlayer, $maestroID); + $stmt->execute(); +} + ?> \ No newline at end of file diff --git a/src/web/server/maestro/login.php b/src/web/server/maestro/login.php index 66dbb0c..9a1e524 100644 --- a/src/web/server/maestro/login.php +++ b/src/web/server/maestro/login.php @@ -26,14 +26,20 @@ if($loginData === null) { send_result_fail(); exit; } else if($loginData[activateStatus] === 0) { - set_error_code("over_date"); - set_error_message("마에스트로 계정이 아직 활성화되지 않았습니다."); + set_error_code("not_paid_maestro"); + set_error_message("아직 유료 가입하지 않은 마에스트로 계정입니다."); send_result_fail(); exit; - /* -} else if($loginData[activateStatus] === 1 && $date < $now) { +} else if($loginData[activateStatus] === 100) { + set_error_code("canceled_maestro"); + set_error_message("등록이 취소된 마에스트로 계정입니다."); + send_result_fail(); + exit; +/* +// 체험, 활성화 계정은 유효기간이 지나도 접속할 수 있음 +// 그래야 연장, 업그레이드를 통해 유료 결제하고 계정을 다시 살릴 수 있음 +} else if($loginData[activateStatus] !== 0 && $date < $now) { set_error_code("over_date"); - $date = new DateTime($loginData[availableActivateDateTime]); set_error_message("마에스트로 계정의 유효기간이 지났습니다. : ".$date->format("Y-m-d H:i:s")); send_result_fail(); exit; @@ -60,7 +66,7 @@ function get_maestro_id($maestroName) { $query = " SELECT MaestroID FROM maestro - WHERE Name = ? AND ActivateStatus = 1 + WHERE Name = ? AND ActivateStatus != 0 "; $stmt = $db_conn->prepare($query); $stmt->bind_param("s", $maestroName); diff --git a/src/web/server/maestro/maestro_info.php b/src/web/server/maestro/maestro_info.php index e8ba1f7..4f3ba12 100644 --- a/src/web/server/maestro/maestro_info.php +++ b/src/web/server/maestro/maestro_info.php @@ -18,6 +18,7 @@ $playerCount = getPlayerCount($maestroID); set_data("name", $info["name"]); set_data("email", $info["email"]); set_data("accountType", $info["accountType"]); +set_data("activateStatus", $info["activateStatus"]); set_data("availableActivateDateTime", $info["availableActivateDateTime"]); set_data("playerCount", $playerCount); send_result_success(); @@ -28,14 +29,14 @@ function get_maestro_info($maestroID) { global $db_conn; $query = " - SELECT Name, Email, AccountType, AvailableActivateDateTime, PlayerCount + SELECT Name, Email, AccountType, ActivateStatus, AvailableActivateDateTime, PlayerCount FROM maestro WHERE MaestroID = ? "; $stmt = $db_conn->prepare($query); $stmt->bind_param("s", $maestroID); $stmt->execute(); - $stmt->bind_result($name, $email, $accountType, $availableActivateDateTime, $playerCount); + $stmt->bind_result($name, $email, $accountType, $activateStatus, $availableActivateDateTime, $playerCount); // while($stmt->fetch()) $stmt->fetch(); $stmt->close(); @@ -43,6 +44,7 @@ function get_maestro_info($maestroID) { $info["name"] = $name; $info["email"] = $email; $info["accountType"] = $accountType; + $info["activateStatus"] = $activateStatus; $info["availableActivateDateTime"] = $availableActivateDateTime; $info["playerCount"] = $playerCount; diff --git a/src/web/server/maestro/request_upgrade_maestro.php b/src/web/server/maestro/request_upgrade_maestro.php index ae46bca..97435e2 100644 --- a/src/web/server/maestro/request_upgrade_maestro.php +++ b/src/web/server/maestro/request_upgrade_maestro.php @@ -11,7 +11,8 @@ include './../lib/maestro_account_info.php'; include "./../mail/send_naver_mail.php"; $maestro_id = $_POST["maestro_id"]; -$registered_acount_type = $_POST["registered_account_type"]; +$registered_activate_status = $_POST["registered_activate_status"]; +$registered_account_type = $_POST["registered_account_type"]; $upgrade_account_type = $_POST["upgrade_account_type"]; @@ -22,7 +23,7 @@ $upgrade_account_type = $_POST["upgrade_account_type"]; // exit; // } -add_maestro_update($maestro_id, $registered_acount_type, $upgrade_account_type); +add_maestro_update($maestro_id, $registered_activate_status, $registered_account_type, $upgrade_account_type); // simplely check if maestro upgrade db added or not $countUpgrade = count_maestro_upgrade($maestro_id); @@ -35,7 +36,12 @@ if($countUpgrade === null || $countUpgrade < 1) { } $maestro_data = get_maestro_data($maestro_id); -sendMailUpgradeBankInfo($maestro_data["name"], $maestro_data["email"], $registered_acount_type, $upgrade_account_type); +if($maestro_data["activateStatus"] == 1) { // 체험 + sendMailTrialMaestroUpgradeBankInfo($maestro_data["name"], $maestro_data["email"], $registered_account_type, $upgrade_account_type); +} else { // activateStatus == 2 : 활성화 + sendMailUpgradeBankInfo($maestro_data["name"], $maestro_data["email"], $registered_account_type, $upgrade_account_type); +} + send_result_success(); exit; @@ -61,15 +67,15 @@ function count_maestro_upgrade($maestro_id) { return $countUpgrade; } -function add_maestro_update($maestro_id, $registered_acount_type, $upgrade_account_type) { +function add_maestro_update($maestro_id, $registered_activate_status, $registered_account_type, $upgrade_account_type) { global $db_conn; $query = " - INSERT INTO maestro_upgrade (RegisteredAccountType, RequestedAccountType, RequestedDateTime, Status, MaestroID) - VALUES (?, ?, NOW(), 1, ?); + INSERT INTO maestro_upgrade (RegisteredActivateStatus, RegisteredAccountType, RequestedAccountType, RequestedDateTime, Status, MaestroID) + VALUES (?, ?, ?, NOW(), 1, ?); "; $stmt = $db_conn->prepare($query); - $stmt->bind_param("iii", $registered_acount_type, $upgrade_account_type, $maestro_id); + $stmt->bind_param("iiii", $registered_activate_status, $registered_account_type, $upgrade_account_type, $maestro_id); $stmt->execute(); } diff --git a/src/web/server/mail/mail_contents.php b/src/web/server/mail/mail_contents.php index 0ef30d5..05ee654 100644 --- a/src/web/server/mail/mail_contents.php +++ b/src/web/server/mail/mail_contents.php @@ -86,11 +86,19 @@ $subjectMap['closedBetaRegistrationDone'] = "[초코마에] {{maestro_name}} - $bodyMap['closedBetaRegistrationDone'] = "안녕하세요.
    ". "[초코마에] 마에스트로 계정을 신청해 주셔서 감사합니다.
    ". "
    ". +"신청하신 마에스트로 계정 내용은 아래와 같습니다.
    ". +"1) 아이디 : {{maestro_name}}
    ". +"2) 요금제 : {{student_count}}명 ({{price}}원)
    ". +"
    ". +"--------------------". +"
    ". +"
    ". "{{maestro_name}} - 마에스트로 계정이 활성화 되었습니다.
    ". "
    ". -"* 베타 기간인 7월 말까지 무료로 사용하실 수 있습니다. 마음에 들면 유료 정식 서비스때 결제 부탁드릴게요.
    ". -"* 베타 기간동안 서버 부하와 안정성을 확인합니다. 문제가 없으면 이후 유료로 정식 서비스를 재개할 예정입니다.
    ". -"* 계정 업그레이드는 베타 기간 이후에 가능합니다.
    ". +"
    ". +"* 베타 기간인 7월 말까지 무료로 사용하실 수 있습니다. 마음에 들면 유료 결제(유효기간 연장 / 업그레이드)를 부탁드릴게요.
    ". +"* 어뷰징 및 서버 성능 향상을 위해 사용하지 않는 계정은 삭제됩니다.
    ". +"* 위와 같은 이유로, 2주간의 체험 기간이 끝나고 결제가 이루어지지 않은 계정은 이후 자동으로 삭제됩니다.
    ". "
    ". "등록하신 마에스트로 계정 정보는 마에스트로 로그인 후, [계정 정보 수정] 화면에서 변경이 가능합니다.
    ". "(변경 가능 정보 : 마에스트로 아이디, 이메일, 암호)
    ". @@ -98,7 +106,6 @@ $bodyMap['closedBetaRegistrationDone'] = "안녕하세요.
    ". "감사합니다."; - // extension $subjectMap['extensionBankInfo'] = "[초코마에] {{maestro_name}} - 마에스트로 계정 유효기간 연장을 위한 입금 안내"; $bodyMap['extensionBankInfo'] = "안녕하세요.
    ". @@ -143,6 +150,52 @@ $bodyMap['extensionDone'] = "안녕하세요.
    ". +// upgrade - trial maestro +$subjectMap['trialMaestroUpgradeBankInfo'] = "[초코마에] {{maestro_name}} - 마에스트로 계정 업그레이드를 위한 입금 안내"; +$bodyMap['trialMaestroUpgradeBankInfo'] = "안녕하세요.
    ". +"[초코마에] 마에스트로 계정 요금제 업그레이드를 신청해주셔서 감사합니다.
    ". +"
    ". +"{{maestro_name}} - 마에스트로 계정의 현재 요금제와 업그레이드 요금제는 아래와 같습니다.
    ". +"1) 현재 사용중인 요금제 : {{prev_student_count}}명 (0원 : 무료 체험 기간)
    ". +"2) 신청하신 업그레이드 요금제 : {{upgrade_student_count}}명 ({{upgrade_price}}원)
    ". +"
    ". +"
    ". +"계정 요금제 업그레이드를 위한 은행 계좌 입금 정보는 아래와 같습니다.
    ". +"------------------------------------------------------------
    ". +"* 은행 계좌 : {{bank_account_no}} ( 카카오뱅크, 예금주 : 박지상 )
    ". +"* 금액 : {{upgrade_price}}원
    ". +"* 송금자명 : {{maestro_name}} (신청하신 마에스트로 아이디)
    ". +" ☞ 빠른 입금 확인을 위해, 송금자명을 본인 이름 대신 위와 같이 아이디로 부탁드립니다 ☜
    ". +"------------------------------------------------------------
    ". +"
    ". +"* 혹시 신청하신 아이디가 아니라 본인 이름등으로 송금되었다면, 송금자명을 본 메일로 답신 부탁드립니다.
    ". +"
    ". +"* 상위 요금제로 업그레이드 하시면, 유효기간은 업그레이드가 적용된 날짜로부터 1년으로 설정됩니다.
    ". +"* 유효기간이 끝나서 비활성화된 계정과 그 안에 있는 모든 정보는, 6개월 후에 자동 삭제됩니다.
    ". +"
    ". +"
    ". +"계정 신청 내역과 입금 내역이 확인되는대로 마에스트로 아이디를 업그레이드 해드리겠습니다.
    ". +"현재 수작업으로 확인하고 활성화하고 있어서 시간이 조금 걸리는 점 양해 부탁드립니다.
    ". +"마에스트로 계정이 업그레이드 되는대로, 즉시 알림 메일을 드리겠습니다.
    ". +"
    ". +"감사합니다."; + +$subjectMap['trialMaestroUpgradeDone'] = "[초코마에] {{maestro_name}} - 마에스트로 계정의 요금제 업그레이드 완료 알림"; +$bodyMap['trialMaestroUpgradeDone'] = "안녕하세요.
    ". +"[초코마에] 마에스트로 계정 요금제 업그레이드를 신청해주셔서 감사합니다.
    ". +"
    ". +"{{maestro_name}} - 마에스트로 계정의 요금제가 [ {{prev_student_count}}명 (0원 : 무료 체험 기간) ] 에서 [ {{upgrade_student_count}}명 ({{upgrade_price}}원) ] 으로 업그레이드 되었습니다.
    ". +"
    ". +"* 마에스트로 계정 유효기간이 오늘부터 1년으로 설정되었습니다.
    ". +"
    ". +"
    ". +"등록하신 마에스트로 계정 정보는 마에스트로 로그인 후, [계정 정보 수정] 화면에서 변경이 가능합니다.
    ". +"(변경 가능 정보 : 마에스트로 아이디, 이메일, 암호)
    ". +"
    ". +"감사합니다."; + + + // upgrade $subjectMap['upgradeBankInfo'] = "[초코마에] {{maestro_name}} - 마에스트로 계정 업그레이드를 위한 입금 안내"; $bodyMap['upgradeBankInfo'] = "안녕하세요.
    ". @@ -163,7 +216,7 @@ $bodyMap['upgradeBankInfo'] = "안녕하세요.
    ". "
    ". "* 혹시 신청하신 아이디가 아니라 본인 이름등으로 송금되었다면, 송금자명을 본 메일로 답신 부탁드립니다.
    ". "
    ". -"* 상위 요금제로 업그레이드 하시면, 유효기간은 업그레이드가 적용된 날짜로부터 1년으로 다시 채워집니다.
    ". +"* 상위 요금제로 업그레이드 하시면, 유효기간은 업그레이드가 적용된 날짜로부터 1년으로 설정됩니다.
    ". "* 유효기간이 끝나서 비활성화된 계정과 그 안에 있는 모든 정보는, 6개월 후에 자동 삭제됩니다.
    ". "
    ". "
    ". @@ -179,7 +232,7 @@ $bodyMap['upgradeDone'] = "안녕하세요.
    ". "
    ". "{{maestro_name}} - 마에스트로 계정의 요금제가 [ {{prev_student_count}}명 ({{prev_price}}원) ] 에서 [ {{upgrade_student_count}}명 ({{upgrade_price}}원) ] 으로 업그레이드 되었습니다.
    ". "
    ". -"* 마에스트로 계정 유효기간이 오늘부터 1년으로 다시 채워졌습니다.
    ". +"* 마에스트로 계정 유효기간이 오늘부터 1년으로 설정되었습니다.
    ". "
    ". "
    ". "등록하신 마에스트로 계정 정보는 마에스트로 로그인 후, [계정 정보 수정] 화면에서 변경이 가능합니다.
    ". diff --git a/src/web/server/mail/send_naver_mail.php b/src/web/server/mail/send_naver_mail.php index 0168e79..e6ce80d 100644 --- a/src/web/server/mail/send_naver_mail.php +++ b/src/web/server/mail/send_naver_mail.php @@ -40,6 +40,21 @@ function sendMailRegisterDone($maestro_name, $maestro_email) { } +// Register - closed beta, trial maestro +function sendMailTrialRegisterDone($maestro_name, $maestro_email, $account_type) { + global $subjectMap, $bodyMap; + + $subject = str_replace("{{maestro_name}}", $maestro_name, $subjectMap['closedBetaRegistrationDone']); + + $body = str_replace("{{maestro_name}}", $maestro_name, $bodyMap['closedBetaRegistrationDone']); + $body = str_replace("{{student_count}}", get_max_player_count($account_type), $body); + $price = number_format(get_price($account_type)); + $body = str_replace("{{price}}", $price, $body); + + return send_naver_mail($maestro_email, $maestro_name, $subject, $body); +} + + // Extend function sendMailExtensionBankInfo($maestro_name, $prev_date, $new_available_date, $maestro_email, $account_type) { global $subjectMap, $bodyMap, $bank_account_no; @@ -69,6 +84,39 @@ function sendMailExtensionDone($maestro_name, $new_available_date, $maestro_emai } +// Upgrade - trial maestro +function sendMailTrialMaestroUpgradeBankInfo($maestro_name, $maestro_email, $prev_account_type, $upgrade_account_type) { + global $subjectMap, $bodyMap, $bank_account_no; + + $subject = str_replace("{{maestro_name}}", $maestro_name, $subjectMap['trialMaestroUpgradeBankInfo']); + + $body = str_replace("{{maestro_name}}", $maestro_name, $bodyMap['trialMaestroUpgradeBankInfo']); + $body = str_replace("{{prev_student_count}}", get_max_player_count($prev_account_type), $body); + $prev_price = number_format(get_price($prev_account_type)); + $body = str_replace("{{upgrade_student_count}}", get_max_player_count($upgrade_account_type), $body); + $upgrade_price = number_format(get_price($upgrade_account_type)); + $body = str_replace("{{upgrade_price}}", $upgrade_price, $body); + $body = str_replace("{{bank_account_no}}", $bank_account_no, $body); + $body = str_replace("{{price}}", $upgrade_price, $body); + + return send_naver_mail($maestro_email, $maestro_name, $subject, $body); +} + +function sendMailTrialMaestroUpgradeDone($maestro_name, $maestro_email, $prev_account_type, $upgrade_account_type) { + global $subjectMap, $bodyMap; + + $subject = str_replace("{{maestro_name}}", $maestro_name, $subjectMap['trialMaestroUpgradeDone']); + + $body = str_replace("{{maestro_name}}", $maestro_name, $bodyMap['trialMaestroUpgradeDone']); + $body = str_replace("{{prev_student_count}}", get_max_player_count($prev_account_type), $body); + $body = str_replace("{{upgrade_student_count}}", get_max_player_count($upgrade_account_type), $body); + $upgrade_price = number_format(get_price($upgrade_account_type)); + $body = str_replace("{{upgrade_price}}", $upgrade_price, $body); + + return send_naver_mail($maestro_email, $maestro_name, $subject, $body); +} + + // Upgrade function sendMailUpgradeBankInfo($maestro_name, $maestro_email, $prev_account_type, $upgrade_account_type) { global $subjectMap, $bodyMap, $bank_account_no; @@ -83,8 +131,9 @@ function sendMailUpgradeBankInfo($maestro_name, $maestro_email, $prev_account_ty $upgrade_price = number_format(get_price($upgrade_account_type)); $body = str_replace("{{upgrade_price}}", $upgrade_price, $body); $body = str_replace("{{bank_account_no}}", $bank_account_no, $body); - $charge_price = (int)$upgrade_price - (int)$prev_price; - $body = str_replace("{{price}}", $charge_price, $body); + $charge_price = get_price($upgrade_account_type) - get_price($prev_account_type); +// $charge_price = (int)$upgrade_price - (int)$prev_price; + $body = str_replace("{{price}}", number_format($charge_price), $body); return send_naver_mail($maestro_email, $maestro_name, $subject, $body); } diff --git a/src/web/server/player/login.php b/src/web/server/player/login.php index 1500f9e..bac50f6 100644 --- a/src/web/server/player/login.php +++ b/src/web/server/player/login.php @@ -35,7 +35,7 @@ if($activateStatus == 0) { send_result_fail(); exit; } else if($activateStatus == 100) { - set_error_message("죄송합니다. 등록이 취소된 마에스트로 계정입니다."); + set_error_message("등록이 취소된 마에스트로 계정입니다."); send_result_fail(); exit; }