From 42831781b62852ed2011bb8802e553b38043035a Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Tue, 28 Jun 2022 15:16:29 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20SAP=E3=83=87=E3=83=BC=E3=82=BF=E4=BF=9D?= =?UTF-8?q?=E7=AE=A1=E3=81=AE=E3=83=81=E3=82=A7=E3=83=83=E3=82=AF=E5=87=A6?= =?UTF-8?q?=E7=90=86=E3=81=A7=E9=80=9A=E7=9F=A5=E3=81=99=E3=82=8B=E3=83=A1?= =?UTF-8?q?=E3=83=BC=E3=83=AB=E6=96=87=E3=81=AE=E7=BD=AE=E3=81=8D=E6=8F=9B?= =?UTF-8?q?=E3=81=88=E5=87=A6=E7=90=86=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sap-fin-monthly-data-notice-daily.py | 20 ++++++++++++++++-- .../sap-fin-receive-check-daily.py | 20 ++++++++++++++++-- .../sap-fin-receive-check-monthly.py | 21 +++++++++++++++++-- .../sap-sup-monthly-data-notice-daily.py | 20 ++++++++++++++++-- .../sap-sup-receive-check-daily.py | 20 ++++++++++++++++-- .../sap-sup-receive-check-monthly.py | 21 +++++++++++++++++-- ...nthly_data_notice_mail_body_monthly.config | 2 +- ...p_fin_receive_check_mail_body_daily.config | 2 +- ...fin_receive_check_mail_body_monthly.config | 2 +- ...nthly_data_notice_mail_body_monthly.config | 2 +- ...p_sup_receive_check_mail_body_daily.config | 2 +- ...sup_receive_check_mail_body_monthly.config | 2 +- 12 files changed, 116 insertions(+), 18 deletions(-) diff --git a/lambda/sap-fin-monthly-data-notice-daily/sap-fin-monthly-data-notice-daily.py b/lambda/sap-fin-monthly-data-notice-daily/sap-fin-monthly-data-notice-daily.py index 236091dd..f5b59d26 100644 --- a/lambda/sap-fin-monthly-data-notice-daily/sap-fin-monthly-data-notice-daily.py +++ b/lambda/sap-fin-monthly-data-notice-daily/sap-fin-monthly-data-notice-daily.py @@ -15,7 +15,6 @@ RECEIVE_MONTHLY_FILE_NAME_LIST_PATH = os.environ["RECEIVE_MONTHLY_FILE_NAME_LIST NOTICE_MAIL_TITLE_TEMPLATE_PATH = os.environ["NOTICE_MAIL_TITLE_TEMPLATE_PATH"] NOTICE_MAIL_BODY_TEMPLATE_PATH = os.environ["NOTICE_MAIL_BODY_TEMPLATE_PATH"] MBJ_SAP_NOTICE_TOPIC = os.environ["MBJ_SAP_NOTICE_TOPIC"] -MAIL_BODY_REPLACE_SYMBOL = os.environ["MAIL_BODY_REPLACE_SYMBOL"] NDS_NOTICE_TOPIC = os.environ["NDS_NOTICE_TOPIC"] NDS_NOTICE_TITLE = os.environ["NDS_NOTICE_TITLE"] LOG_LEVEL = os.environ["LOG_LEVEL"] @@ -112,7 +111,8 @@ def lambda_handler(event, context): logger.info(f'I-05-05 通知メール(本文)テンプレートファイル読込 読込元:{CONFIG_BUCKET_NAME}/{NOTICE_MAIL_BODY_TEMPLATE_PATH}') mail_body_obj = s3_client.get_object(Bucket=CONFIG_BUCKET_NAME, Key=NOTICE_MAIL_BODY_TEMPLATE_PATH) mail_body_response = mail_body_obj['Body'].read().decode('utf-8') - mail_body = mail_body_response.replace(MAIL_BODY_REPLACE_SYMBOL, mail_msg) + # メール本文内のプレースホルダーを置き換える + mail_body = substitute_mail_body(mail_body_response, mail_msg) logger.info('I-05-06 通知メール(本文)テンプレートファイルを読み込みました') except Exception as e: logger.error(f'E-05-02 通知メール(本文)テンプレートファイルの読み込みに失敗しました エラー内容:{e}') @@ -159,6 +159,22 @@ def error_notice(error_log_id, exception) -> None: return +def substitute_mail_body(before_mail_body:str, mail_msg: str) -> str: + """メール本文のプレースホルダーを置き換えます + + Args: + before_mail_body (str): 置き換え前のメール本文 + mail_msg (str): メール本文のプレースホルダーを置き換える文言 + + Returns: + str: 置き換え後のメール本文 + """ + substitute_dict = { + "notice_file_names": mail_msg + } + mail_body = before_mail_body.format_map(substitute_dict) + return mail_body + # カスタムExceptionクラス class CustomException(Exception, metaclass=ABCMeta): def __init__(self, id, arg): diff --git a/lambda/sap-fin-receive-check-daily/sap-fin-receive-check-daily.py b/lambda/sap-fin-receive-check-daily/sap-fin-receive-check-daily.py index 27057ff4..35fc666e 100644 --- a/lambda/sap-fin-receive-check-daily/sap-fin-receive-check-daily.py +++ b/lambda/sap-fin-receive-check-daily/sap-fin-receive-check-daily.py @@ -17,7 +17,6 @@ NON_BUSINESS_DAY_LIST_PATH = os.environ["NON_BUSINESS_DAY_LIST_PATH"] NOTICE_MAIL_TITLE_TEMPLATE_PATH = os.environ["NOTICE_MAIL_TITLE_TEMPLATE_PATH"] NOTICE_MAIL_BODY_TEMPLATE_PATH = os.environ["NOTICE_MAIL_BODY_TEMPLATE_PATH"] MBJ_SAP_NOTICE_TOPIC = os.environ["MBJ_SAP_NOTICE_TOPIC"] -MAIL_BODY_REPLACE_SYMBOL = os.environ["MAIL_BODY_REPLACE_SYMBOL"] NDS_NOTICE_TOPIC = os.environ["NDS_NOTICE_TOPIC"] NDS_NOTICE_TITLE = os.environ["NDS_NOTICE_TITLE"] LOG_LEVEL = os.environ["LOG_LEVEL"] @@ -164,7 +163,8 @@ def lambda_handler(event, context): logger.info(f'I-05-05 通知メール(本文)テンプレートファイル読込 読込元:{CONFIG_BUCKET_NAME}/{NOTICE_MAIL_BODY_TEMPLATE_PATH}') mail_body_obj = s3_client.get_object(Bucket=CONFIG_BUCKET_NAME, Key=NOTICE_MAIL_BODY_TEMPLATE_PATH) mail_body_response = mail_body_obj['Body'].read().decode('utf-8') - mail_body = mail_body_response.replace(MAIL_BODY_REPLACE_SYMBOL, mail_msg) + # メール本文内のプレースホルダーを置き換える + mail_body = substitute_mail_body(mail_body_response, mail_msg) logger.info('I-05-06 通知メール(本文)テンプレートファイルを読み込みました') except Exception as e: logger.error(f'E-05-02 通知メール(本文)テンプレートファイルの読み込みに失敗しました エラー内容:{e}') @@ -210,6 +210,22 @@ def error_notice(error_log_id, exception) -> None: traceback.print_exc() return +def substitute_mail_body(before_mail_body:str, mail_msg: str) -> str: + """メール本文のプレースホルダーを置き換えます + + Args: + before_mail_body (str): 置き換え前のメール本文 + mail_msg (str): メール本文のプレースホルダーを置き換える文言 + + Returns: + str: 置き換え後のメール本文 + """ + substitute_dict = { + "notice_file_names": mail_msg + } + mail_body = before_mail_body.format_map(substitute_dict) + return mail_body + # カスタムExceptionクラス class CustomException(Exception, metaclass=ABCMeta): diff --git a/lambda/sap-fin-receive-check-monthly/sap-fin-receive-check-monthly.py b/lambda/sap-fin-receive-check-monthly/sap-fin-receive-check-monthly.py index 00170d36..57688ebb 100644 --- a/lambda/sap-fin-receive-check-monthly/sap-fin-receive-check-monthly.py +++ b/lambda/sap-fin-receive-check-monthly/sap-fin-receive-check-monthly.py @@ -17,7 +17,6 @@ MONTHLY_CEHCK_DAY_LIST_PATH = os.environ["MONTHLY_CEHCK_DAY_LIST_PATH"] NOTICE_MAIL_TITLE_TEMPLATE_PATH = os.environ["NOTICE_MAIL_TITLE_TEMPLATE_PATH"] NOTICE_MAIL_BODY_TEMPLATE_PATH = os.environ["NOTICE_MAIL_BODY_TEMPLATE_PATH"] MBJ_SAP_NOTICE_TOPIC = os.environ["MBJ_SAP_NOTICE_TOPIC"] -MAIL_BODY_REPLACE_SYMBOL = os.environ["MAIL_BODY_REPLACE_SYMBOL"] NDS_NOTICE_TOPIC = os.environ["NDS_NOTICE_TOPIC"] NDS_NOTICE_TITLE = os.environ["NDS_NOTICE_TITLE"] LOG_LEVEL = os.environ["LOG_LEVEL"] @@ -166,7 +165,8 @@ def lambda_handler(event, context): logger.info(f'I-05-05 通知メール(本文)テンプレートファイル読込 読込元:{CONFIG_BUCKET_NAME}/{NOTICE_MAIL_BODY_TEMPLATE_PATH}') mail_body_obj = s3_client.get_object(Bucket=CONFIG_BUCKET_NAME, Key=NOTICE_MAIL_BODY_TEMPLATE_PATH) mail_body_response = mail_body_obj['Body'].read().decode('utf-8') - mail_body = mail_body_response.replace(MAIL_BODY_REPLACE_SYMBOL, mail_msg) + # メール本文内のプレースホルダーを置き換える + mail_body = substitute_mail_body(mail_body_response, mail_msg) logger.info('I-05-06 通知メール(本文)テンプレートファイルを読み込みました') except Exception as e: logger.error(f'E-05-02 通知メール(本文)テンプレートファイルの読み込みに失敗しました エラー内容:{e}') @@ -213,6 +213,23 @@ def error_notice(error_log_id, exception) -> None: return +def substitute_mail_body(before_mail_body:str, mail_msg: str) -> str: + """メール本文のプレースホルダーを置き換えます + + Args: + before_mail_body (str): 置き換え前のメール本文 + mail_msg (str): メール本文のプレースホルダーを置き換える文言 + + Returns: + str: 置き換え後のメール本文 + """ + substitute_dict = { + "notice_file_names": mail_msg + } + mail_body = before_mail_body.format_map(substitute_dict) + return mail_body + + # カスタムExceptionクラス class CustomException(Exception, metaclass=ABCMeta): def __init__(self, id, arg): diff --git a/lambda/sap-sup-monthly-data-notice-daily/sap-sup-monthly-data-notice-daily.py b/lambda/sap-sup-monthly-data-notice-daily/sap-sup-monthly-data-notice-daily.py index f4d1d1e7..a160cf94 100644 --- a/lambda/sap-sup-monthly-data-notice-daily/sap-sup-monthly-data-notice-daily.py +++ b/lambda/sap-sup-monthly-data-notice-daily/sap-sup-monthly-data-notice-daily.py @@ -15,7 +15,6 @@ RECEIVE_MONTHLY_FILE_NAME_LIST_PATH = os.environ["RECEIVE_MONTHLY_FILE_NAME_LIST NOTICE_MAIL_TITLE_TEMPLATE_PATH = os.environ["NOTICE_MAIL_TITLE_TEMPLATE_PATH"] NOTICE_MAIL_BODY_TEMPLATE_PATH = os.environ["NOTICE_MAIL_BODY_TEMPLATE_PATH"] MBJ_SAP_NOTICE_TOPIC = os.environ["MBJ_SAP_NOTICE_TOPIC"] -MAIL_BODY_REPLACE_SYMBOL = os.environ["MAIL_BODY_REPLACE_SYMBOL"] NDS_NOTICE_TOPIC = os.environ["NDS_NOTICE_TOPIC"] NDS_NOTICE_TITLE = os.environ["NDS_NOTICE_TITLE"] LOG_LEVEL = os.environ["LOG_LEVEL"] @@ -112,7 +111,8 @@ def lambda_handler(event, context): logger.info(f'I-05-05 通知メール(本文)テンプレートファイル読込 読込元:{CONFIG_BUCKET_NAME}/{NOTICE_MAIL_BODY_TEMPLATE_PATH}') mail_body_obj = s3_client.get_object(Bucket=CONFIG_BUCKET_NAME, Key=NOTICE_MAIL_BODY_TEMPLATE_PATH) mail_body_response = mail_body_obj['Body'].read().decode('utf-8') - mail_body = mail_body_response.replace(MAIL_BODY_REPLACE_SYMBOL, mail_msg) + # メール本文内のプレースホルダーを置き換える + mail_body = substitute_mail_body(mail_body_response, mail_msg) logger.info('I-05-06 通知メール(本文)テンプレートファイルを読み込みました') except Exception as e: logger.error(f'E-05-02 通知メール(本文)テンプレートファイルの読み込みに失敗しました エラー内容:{e}') @@ -159,6 +159,22 @@ def error_notice(error_log_id, exception) -> None: return +def substitute_mail_body(before_mail_body:str, mail_msg: str) -> str: + """メール本文のプレースホルダーを置き換えます + + Args: + before_mail_body (str): 置き換え前のメール本文 + mail_msg (str): メール本文のプレースホルダーを置き換える文言 + + Returns: + str: 置き換え後のメール本文 + """ + substitute_dict = { + "notice_file_names": mail_msg + } + mail_body = before_mail_body.format_map(substitute_dict) + return mail_body + # カスタムExceptionクラス class CustomException(Exception, metaclass=ABCMeta): def __init__(self, id, arg): diff --git a/lambda/sap-sup-receive-check-daily/sap-sup-receive-check-daily.py b/lambda/sap-sup-receive-check-daily/sap-sup-receive-check-daily.py index 6dbe7624..addb19b3 100644 --- a/lambda/sap-sup-receive-check-daily/sap-sup-receive-check-daily.py +++ b/lambda/sap-sup-receive-check-daily/sap-sup-receive-check-daily.py @@ -17,7 +17,6 @@ NON_BUSINESS_DAY_LIST_PATH = os.environ["NON_BUSINESS_DAY_LIST_PATH"] NOTICE_MAIL_TITLE_TEMPLATE_PATH = os.environ["NOTICE_MAIL_TITLE_TEMPLATE_PATH"] NOTICE_MAIL_BODY_TEMPLATE_PATH = os.environ["NOTICE_MAIL_BODY_TEMPLATE_PATH"] MBJ_SAP_NOTICE_TOPIC = os.environ["MBJ_SAP_NOTICE_TOPIC"] -MAIL_BODY_REPLACE_SYMBOL = os.environ["MAIL_BODY_REPLACE_SYMBOL"] NDS_NOTICE_TOPIC = os.environ["NDS_NOTICE_TOPIC"] NDS_NOTICE_TITLE = os.environ["NDS_NOTICE_TITLE"] LOG_LEVEL = os.environ["LOG_LEVEL"] @@ -164,7 +163,8 @@ def lambda_handler(event, context): logger.info(f'I-05-05 通知メール(本文)テンプレートファイル読込 読込元:{CONFIG_BUCKET_NAME}/{NOTICE_MAIL_BODY_TEMPLATE_PATH}') mail_body_obj = s3_client.get_object(Bucket=CONFIG_BUCKET_NAME, Key=NOTICE_MAIL_BODY_TEMPLATE_PATH) mail_body_response = mail_body_obj['Body'].read().decode('utf-8') - mail_body = mail_body_response.replace(MAIL_BODY_REPLACE_SYMBOL, mail_msg) + # メール本文内のプレースホルダーを置き換える + mail_body = substitute_mail_body(mail_body_response, mail_msg) logger.info('I-05-06 通知メール(本文)テンプレートファイルを読み込みました') except Exception as e: logger.error(f'E-05-02 通知メール(本文)テンプレートファイルの読み込みに失敗しました エラー内容:{e}') @@ -210,6 +210,22 @@ def error_notice(error_log_id, exception) -> None: traceback.print_exc() return +def substitute_mail_body(before_mail_body:str, mail_msg: str) -> str: + """メール本文のプレースホルダーを置き換えます + + Args: + before_mail_body (str): 置き換え前のメール本文 + mail_msg (str): メール本文のプレースホルダーを置き換える文言 + + Returns: + str: 置き換え後のメール本文 + """ + substitute_dict = { + "notice_file_names": mail_msg + } + mail_body = before_mail_body.format_map(substitute_dict) + return mail_body + # カスタムExceptionクラス class CustomException(Exception, metaclass=ABCMeta): diff --git a/lambda/sap-sup-receive-check-monthly/sap-sup-receive-check-monthly.py b/lambda/sap-sup-receive-check-monthly/sap-sup-receive-check-monthly.py index 2c6be537..7d91326a 100644 --- a/lambda/sap-sup-receive-check-monthly/sap-sup-receive-check-monthly.py +++ b/lambda/sap-sup-receive-check-monthly/sap-sup-receive-check-monthly.py @@ -17,7 +17,6 @@ MONTHLY_CEHCK_DAY_LIST_PATH = os.environ["MONTHLY_CEHCK_DAY_LIST_PATH"] NOTICE_MAIL_TITLE_TEMPLATE_PATH = os.environ["NOTICE_MAIL_TITLE_TEMPLATE_PATH"] NOTICE_MAIL_BODY_TEMPLATE_PATH = os.environ["NOTICE_MAIL_BODY_TEMPLATE_PATH"] MBJ_SAP_NOTICE_TOPIC = os.environ["MBJ_SAP_NOTICE_TOPIC"] -MAIL_BODY_REPLACE_SYMBOL = os.environ["MAIL_BODY_REPLACE_SYMBOL"] NDS_NOTICE_TOPIC = os.environ["NDS_NOTICE_TOPIC"] NDS_NOTICE_TITLE = os.environ["NDS_NOTICE_TITLE"] LOG_LEVEL = os.environ["LOG_LEVEL"] @@ -166,7 +165,8 @@ def lambda_handler(event, context): logger.info(f'I-05-05 通知メール(本文)テンプレートファイル読込 読込元:{CONFIG_BUCKET_NAME}/{NOTICE_MAIL_BODY_TEMPLATE_PATH}') mail_body_obj = s3_client.get_object(Bucket=CONFIG_BUCKET_NAME, Key=NOTICE_MAIL_BODY_TEMPLATE_PATH) mail_body_response = mail_body_obj['Body'].read().decode('utf-8') - mail_body = mail_body_response.replace(MAIL_BODY_REPLACE_SYMBOL, mail_msg) + # メール本文内のプレースホルダーを置き換える + mail_body = substitute_mail_body(mail_body_response, mail_msg) logger.info('I-05-06 通知メール(本文)テンプレートファイルを読み込みました') except Exception as e: logger.error(f'E-05-02 通知メール(本文)テンプレートファイルの読み込みに失敗しました エラー内容:{e}') @@ -213,6 +213,23 @@ def error_notice(error_log_id, exception) -> None: return +def substitute_mail_body(before_mail_body:str, mail_msg: str) -> str: + """メール本文のプレースホルダーを置き換えます + + Args: + before_mail_body (str): 置き換え前のメール本文 + mail_msg (str): メール本文のプレースホルダーを置き換える文言 + + Returns: + str: 置き換え後のメール本文 + """ + substitute_dict = { + "notice_file_names": mail_msg + } + mail_body = before_mail_body.format_map(substitute_dict) + return mail_body + + # カスタムExceptionクラス class CustomException(Exception, metaclass=ABCMeta): def __init__(self, id, arg): diff --git a/s3/config/SAP/sap_fin_monthly_data_notice_mail_body_monthly.config b/s3/config/SAP/sap_fin_monthly_data_notice_mail_body_monthly.config index 275b3316..f5ee0569 100644 --- a/s3/config/SAP/sap_fin_monthly_data_notice_mail_body_monthly.config +++ b/s3/config/SAP/sap_fin_monthly_data_notice_mail_body_monthly.config @@ -1,6 +1,6 @@ 宛先各位  SAP月次I/Fである以下のファイルを受領しましたので、通知いたします。 -@pgm_str_01@ +{notice_file_names}  尚、本メールはシステム自動送信のため、返信は出来ません。  本件に関する問い合わせは、IT部門 ゴザリ様にお願いいたします。 diff --git a/s3/config/SAP/sap_fin_receive_check_mail_body_daily.config b/s3/config/SAP/sap_fin_receive_check_mail_body_daily.config index 8c4e87a0..f1b7410f 100644 --- a/s3/config/SAP/sap_fin_receive_check_mail_body_daily.config +++ b/s3/config/SAP/sap_fin_receive_check_mail_body_daily.config @@ -1,6 +1,6 @@ 宛先各位  SAP日次I/Fである以下のファイルを受領できておりません。 -@pgm_str_01@ +{notice_file_names}  SAPシステム側のSFTP送信状況のご確認をお願いいたします。 diff --git a/s3/config/SAP/sap_fin_receive_check_mail_body_monthly.config b/s3/config/SAP/sap_fin_receive_check_mail_body_monthly.config index d08f0ac8..17fd53d7 100644 --- a/s3/config/SAP/sap_fin_receive_check_mail_body_monthly.config +++ b/s3/config/SAP/sap_fin_receive_check_mail_body_monthly.config @@ -1,6 +1,6 @@ 宛先各位  SAP月次I/Fである以下のファイルを受領できておりません。 -@pgm_str_01@ +{notice_file_names}  SAPシステム側のSFTP送信状況のご確認をお願いいたします。 diff --git a/s3/config/SAP/sap_sup_monthly_data_notice_mail_body_monthly.config b/s3/config/SAP/sap_sup_monthly_data_notice_mail_body_monthly.config index 275b3316..f5ee0569 100644 --- a/s3/config/SAP/sap_sup_monthly_data_notice_mail_body_monthly.config +++ b/s3/config/SAP/sap_sup_monthly_data_notice_mail_body_monthly.config @@ -1,6 +1,6 @@ 宛先各位  SAP月次I/Fである以下のファイルを受領しましたので、通知いたします。 -@pgm_str_01@ +{notice_file_names}  尚、本メールはシステム自動送信のため、返信は出来ません。  本件に関する問い合わせは、IT部門 ゴザリ様にお願いいたします。 diff --git a/s3/config/SAP/sap_sup_receive_check_mail_body_daily.config b/s3/config/SAP/sap_sup_receive_check_mail_body_daily.config index 8c4e87a0..f1b7410f 100644 --- a/s3/config/SAP/sap_sup_receive_check_mail_body_daily.config +++ b/s3/config/SAP/sap_sup_receive_check_mail_body_daily.config @@ -1,6 +1,6 @@ 宛先各位  SAP日次I/Fである以下のファイルを受領できておりません。 -@pgm_str_01@ +{notice_file_names}  SAPシステム側のSFTP送信状況のご確認をお願いいたします。 diff --git a/s3/config/SAP/sap_sup_receive_check_mail_body_monthly.config b/s3/config/SAP/sap_sup_receive_check_mail_body_monthly.config index d08f0ac8..17fd53d7 100644 --- a/s3/config/SAP/sap_sup_receive_check_mail_body_monthly.config +++ b/s3/config/SAP/sap_sup_receive_check_mail_body_monthly.config @@ -1,6 +1,6 @@ 宛先各位  SAP月次I/Fである以下のファイルを受領できておりません。 -@pgm_str_01@ +{notice_file_names}  SAPシステム側のSFTP送信状況のご確認をお願いいたします。