From 72cf9b58a106997b9b01bbb94e03171f74375211 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=8B=E1=85=A2=E1=84=91=E1=85=B3=E1=86=AF=20=E1=84=82?= =?UTF-8?q?=E1=85=A9=E1=84=90=E1=85=B3=E1=84=87=E1=85=AE=E1=86=A8?= Date: Sat, 19 Oct 2019 15:10:10 +0900 Subject: [PATCH] Fix: send mail to 30days, 7days left maestro python --- src/web/module/maestro_section_help.html | 56 ++++++------- src/web/module/maestro_section_main.html | 8 +- .../php/send_mail_to_30days_left_maestro.php | 52 ++++++++++++ .../php/send_mail_to_7days_left_maestro.php | 52 ++++++++++++ .../chocomae/batch/expire_maestro_manager.py | 21 +++++ .../chocomae/send_mail_to_expire_maestro.py | 82 +++++++++++++++++++ src/web/server/maestro/login.php | 2 + 7 files changed, 241 insertions(+), 32 deletions(-) create mode 100644 src/web/php/send_mail_to_30days_left_maestro.php create mode 100644 src/web/php/send_mail_to_7days_left_maestro.php create mode 100644 src/web/python/chocomae/batch/expire_maestro_manager.py create mode 100644 src/web/python/chocomae/send_mail_to_expire_maestro.py diff --git a/src/web/module/maestro_section_help.html b/src/web/module/maestro_section_help.html index 5a17cea..0d06438 100644 --- a/src/web/module/maestro_section_help.html +++ b/src/web/module/maestro_section_help.html @@ -103,33 +103,6 @@ $(document).ready(function() {
- -
-
계정 연장
-
-

- - -

-
-
유효 기간 연장 방법
-
-
- -
    -
  • - 마에스트로 계정 유효 기간이 30일 남았을 때부터 계정 연장 화면이 나타납니다.
    - (유효 기간이 30일 넘게 남았을 때는 안보입니다) -
  • -
  • 화면 상단에 유효 기간 연장 화면이 보이면, 오른쪽의 계정 연장 버튼을 눌러주세요.
  • -
- -

-
-
-
- -
계정 업그레이드
@@ -146,7 +119,7 @@ $(document).ready(function() {
diff --git a/src/web/php/send_mail_to_30days_left_maestro.php b/src/web/php/send_mail_to_30days_left_maestro.php new file mode 100644 index 0000000..d3665dd --- /dev/null +++ b/src/web/php/send_mail_to_30days_left_maestro.php @@ -0,0 +1,52 @@ + $maestroName, + "available_date" => $registerDate +); + +$recipientParam = array( + "maestro_name" => $maestroName +); + + +$nCloudSetting = new MailSetting(); +$chocomae = new ChocomaeInfo(); + +$mailSender = new MailSender(); +$mailSender->setMailSetting($nCloudSetting); +$mailSender->setSenderInfo($chocomae->sender_name, $chocomae->sender_email); + +$mailSender->makePostParam(333); +$mailSender->setParameters($parameters); +$mailSender->addRecipient($maestroEmail, $maestroName, "R", $recipientParam); +$mailSender->addRecipient($chocomae->sender_bcc, $chocomae->sender_name, "B", $recipientParam); + +// $mailSender->showSettings(); +$mailSender->send(); + +?> diff --git a/src/web/php/send_mail_to_7days_left_maestro.php b/src/web/php/send_mail_to_7days_left_maestro.php new file mode 100644 index 0000000..37db1dc --- /dev/null +++ b/src/web/php/send_mail_to_7days_left_maestro.php @@ -0,0 +1,52 @@ + $maestroName, + "available_date" => $registerDate +); + +$recipientParam = array( + "maestro_name" => $maestroName +); + + +$nCloudSetting = new MailSetting(); +$chocomae = new ChocomaeInfo(); + +$mailSender = new MailSender(); +$mailSender->setMailSetting($nCloudSetting); +$mailSender->setSenderInfo($chocomae->sender_name, $chocomae->sender_email); + +$mailSender->makePostParam(691); +$mailSender->setParameters($parameters); +$mailSender->addRecipient($maestroEmail, $maestroName, "R", $recipientParam); +$mailSender->addRecipient($chocomae->sender_bcc, $chocomae->sender_name, "B", $recipientParam); + +// $mailSender->showSettings(); +$mailSender->send(); + +?> diff --git a/src/web/python/chocomae/batch/expire_maestro_manager.py b/src/web/python/chocomae/batch/expire_maestro_manager.py new file mode 100644 index 0000000..35b3bb7 --- /dev/null +++ b/src/web/python/chocomae/batch/expire_maestro_manager.py @@ -0,0 +1,21 @@ +from lib.database.db_manager import DBManager + + +class ExpireMaestroManager: + db_params = None + db_man = None + + def __init__(self, mode): + self.db_man = DBManager(mode) + + def get_30days_left_maestro_list(self): + unpaid_30days_sql = 'select * from maestro \ +where DATE(AvailableActivateDateTime) - INTERVAL 30 DAY = DATE(NOW()) AND ActivateStatus = 1' + day30_maestro_list = self.db_man.select(unpaid_30days_sql) + return day30_maestro_list + + def get_7days_left_maestro_list(self): + unpaid_7days_sql = 'select * from maestro \ +where DATE(AvailableActivateDateTime) - INTERVAL 7 DAY = DATE(NOW()) AND ActivateStatus = 1' + day7_maestro_list = self.db_man.select(unpaid_7days_sql) + return day7_maestro_list \ No newline at end of file diff --git a/src/web/python/chocomae/send_mail_to_expire_maestro.py b/src/web/python/chocomae/send_mail_to_expire_maestro.py new file mode 100644 index 0000000..c44acca --- /dev/null +++ b/src/web/python/chocomae/send_mail_to_expire_maestro.py @@ -0,0 +1,82 @@ +import sys +from datetime import datetime +import subprocess +from batch.expire_maestro_manager import ExpireMaestroManager + + +# print('# args : {}'.format(len(sys.argv))) +# print('args : {}'.format(str(sys.argv))) +mode = 'mac' +arg_count = len(sys.argv) +if arg_count > 1: + mode = str(sys.argv[1]).lower() + + +def print_items(list): + for item in list: + print(item) + + +def send_mail_30days_left(email, name, available_date): + filename = 'send_mail_to_30days_left_maestro.php' + path = '' + if mode == 'mac': + path = '/Applications/MAMP/htdocs/mouse_typing/src/web/php/' + else: + path = '/var/www/html/mouse_typing/src/web/php/' + + command_send_mail = [] + command_send_mail.append('/usr/bin/php') + command_send_mail.append(path + filename) + command_send_mail.append(email) + command_send_mail.append(name) + date = available_date.strftime('%Y%m%d') + command_send_mail.append(date) + # print(command_send_mail) + + # command_move_dir = ['cd', path] + # print(command_move_dir) + # subprocess.call(command_move_dir) + # command_move_pwd = ['pwd'] + # subprocess.call(command_move_pwd) + subprocess.call(command_send_mail) + + +def send_mail_7days_left(email, name, available_date): + filename = 'send_mail_to_7days_left_maestro.php' + path = '' + if mode == 'mac': + path = '/Applications/MAMP/htdocs/mouse_typing/src/web/php/' + else: + path = '/var/www/html/mouse_typing/src/web/php/' + + command_send_mail = [] + command_send_mail.append('/usr/bin/php') + command_send_mail.append(path + filename) + command_send_mail.append(email) + command_send_mail.append(name) + date = available_date.strftime('%Y%m%d') + command_send_mail.append(date) + # print(command_send_mail) + + # command_move_dir = ['cd', path] + # print(command_move_dir) + # subprocess.call(command_move_dir) + # command_move_pwd = ['pwd'] + # subprocess.call(command_move_pwd) + subprocess.call(command_send_mail) + + +# insert log and delete from DB +# print("30 days left"); +expireMaestroMan = ExpireMaestroManager(mode) +maestro_list = expireMaestroMan.get_30days_left_maestro_list() +# print_items(maestro_list) +for maestro in maestro_list: + send_mail_30days_left(maestro['Email'], maestro['Name'], maestro['AvailableActivateDateTime']) + +# print("\n7 days left"); +maestro_list = expireMaestroMan.get_7days_left_maestro_list() +# print_items(maestro_list) +for maestro in maestro_list: + send_mail_7days_left(maestro['Email'], maestro['Name'], maestro['AvailableActivateDateTime']) diff --git a/src/web/server/maestro/login.php b/src/web/server/maestro/login.php index 6937288..66dbb0c 100644 --- a/src/web/server/maestro/login.php +++ b/src/web/server/maestro/login.php @@ -30,12 +30,14 @@ if($loginData === null) { set_error_message("마에스트로 계정이 아직 활성화되지 않았습니다."); send_result_fail(); exit; + /* } else if($loginData[activateStatus] === 1 && $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; +*/ } else if($loginData[maestroID] === null) { set_error_code("wrong_password"); set_error_message("비밀번호가 틀렸습니다.");