diff --git a/ecs/crm-datafetch/src/backup_crm_csv_data_process.py b/ecs/crm-datafetch/src/backup_crm_csv_data_process.py index ba7bb8ea..11ecb03b 100644 --- a/ecs/crm-datafetch/src/backup_crm_csv_data_process.py +++ b/ecs/crm-datafetch/src/backup_crm_csv_data_process.py @@ -11,7 +11,7 @@ def backup_crm_csv_data_process(target_object: TargetObject, execute_datetime: E Args: target_object (TargetObject): 取得対象オブジェクト情報インスタンス - execute_datetime (ExecuteDateTime): 実行日次取得インスタンス + execute_datetime (ExecuteDateTime): 実行日時取得インスタンス csv_string (str): csvデータ Raises: diff --git a/ecs/crm-datafetch/src/backup_crm_data_process.py b/ecs/crm-datafetch/src/backup_crm_data_process.py index b37a8a50..763a17c8 100644 --- a/ecs/crm-datafetch/src/backup_crm_data_process.py +++ b/ecs/crm-datafetch/src/backup_crm_data_process.py @@ -12,7 +12,7 @@ def backup_crm_data_process(target_object: TargetObject, sf_object_dict: dict, e Args: target_object (TargetObject): 取得対象オブジェクト名 sf_object_dict (dict): Salesforceオブジェクトデータ - execute_datetime (ExecuteDateTime): 実行日次取得インスタンス + execute_datetime (ExecuteDateTime): 実行日時取得インスタンス Raises: FileUploadException: S3のファイルアップロード失敗 diff --git a/ecs/crm-datafetch/src/check_object_info_process.py b/ecs/crm-datafetch/src/check_object_info_process.py index 84f0db40..f187b62d 100644 --- a/ecs/crm-datafetch/src/check_object_info_process.py +++ b/ecs/crm-datafetch/src/check_object_info_process.py @@ -10,7 +10,7 @@ def check_object_info_process(object_info: dict, execute_datetime: ExecuteDateTi Args: object_info (dict): 取得対象オブジェクト情報 - execute_datetime (ExecuteDateTime): 実行日次取得インスタンス + execute_datetime (ExecuteDateTime): 実行日時取得インスタンス Raises: InvalidConfigException: オブジェクト情報定義が不正だった場合 diff --git a/ecs/crm-datafetch/src/config/objects.py b/ecs/crm-datafetch/src/config/objects.py index 70beb2eb..35494ff9 100644 --- a/ecs/crm-datafetch/src/config/objects.py +++ b/ecs/crm-datafetch/src/config/objects.py @@ -1,13 +1,22 @@ -from src.system_var.constants import ( - COLUMNS_KEY, COLUMNS_TYPE, DATE_PATTERN_YYYYMMDDTHHMMSSTZ, - DATETIME_COLUMN_DEFAULT_VALUE, DATETIME_COLUMN_KEY, DATETIME_COLUMN_TYPE, - DATE_PATTERN_EXPECTED_YYYYMMDDTHHMMSSTZ, IS_SKIP_KEY, IS_SKIP_TYPE, - IS_UPDATE_LAST_FETCH_DATETIME_KEY, IS_UPDATE_LAST_FETCH_DATETIME_TYPE, - LAST_FETCH_DATETIME_FILE_NAME_KEY, LAST_FETCH_DATETIME_FILE_NAME_TYPE, - LAST_FETCH_DATETIME_FROM_KEY, LAST_FETCH_DATETIME_FROM_TYPE, - LAST_FETCH_DATETIME_TO_KEY, LAST_FETCH_DATETIME_TO_TYPE, OBJECT_NAME_KEY, - OBJECT_NAME_TYPE, OBJECTS_KEY, OBJECTS_TYPE, UPLOAD_FILE_NAME_KEY, - UPLOAD_FILE_NAME_TYPE) +from src.system_var.constants import (COLUMNS_KEY, COLUMNS_TYPE, + DATE_PATTERN_EXPECTED_YYYYMMDDTHHMMSSTZ, + DATE_PATTERN_YYYYMMDDTHHMMSSTZ, + DATETIME_COLUMN_DEFAULT_VALUE, + DATETIME_COLUMN_KEY, + DATETIME_COLUMN_TYPE, IS_SKIP_KEY, + IS_SKIP_TYPE, + IS_UPDATE_LAST_FETCH_DATETIME_KEY, + IS_UPDATE_LAST_FETCH_DATETIME_TYPE, + LAST_FETCH_DATETIME_FILE_NAME_KEY, + LAST_FETCH_DATETIME_FILE_NAME_TYPE, + LAST_FETCH_DATETIME_FROM_KEY, + LAST_FETCH_DATETIME_FROM_TYPE, + LAST_FETCH_DATETIME_TO_KEY, + LAST_FETCH_DATETIME_TO_TYPE, + OBJECT_NAME_KEY, OBJECT_NAME_TYPE, + OBJECTS_KEY, OBJECTS_TYPE, + UPLOAD_FILE_NAME_KEY, + UPLOAD_FILE_NAME_TYPE) from src.util.dict_checker import DictChecker from src.util.execute_datetime import ExecuteDateTime @@ -119,10 +128,12 @@ class LastFetchDatetime(): def __validate(self) -> None: self.__dict_checker.assert_key_exist(LAST_FETCH_DATETIME_FROM_KEY) self.__dict_checker.assert_data_type(LAST_FETCH_DATETIME_FROM_KEY, LAST_FETCH_DATETIME_FROM_TYPE) - self.__dict_checker.assert_match_pattern(LAST_FETCH_DATETIME_FROM_KEY, DATE_PATTERN_YYYYMMDDTHHMMSSTZ,DATE_PATTERN_EXPECTED_YYYYMMDDTHHMMSSTZ) + self.__dict_checker.assert_match_pattern(LAST_FETCH_DATETIME_FROM_KEY, DATE_PATTERN_YYYYMMDDTHHMMSSTZ, + DATE_PATTERN_EXPECTED_YYYYMMDDTHHMMSSTZ) if self.__dict_checker.check_key_exist(LAST_FETCH_DATETIME_TO_KEY): self.__dict_checker.assert_data_type(LAST_FETCH_DATETIME_TO_KEY, LAST_FETCH_DATETIME_TO_TYPE) - self.__dict_checker.assert_match_pattern(LAST_FETCH_DATETIME_TO_KEY, DATE_PATTERN_YYYYMMDDTHHMMSSTZ,DATE_PATTERN_EXPECTED_YYYYMMDDTHHMMSSTZ) + self.__dict_checker.assert_match_pattern(LAST_FETCH_DATETIME_TO_KEY, DATE_PATTERN_YYYYMMDDTHHMMSSTZ, + DATE_PATTERN_EXPECTED_YYYYMMDDTHHMMSSTZ) return @property diff --git a/ecs/crm-datafetch/src/controller.py b/ecs/crm-datafetch/src/controller.py index 97c1f10e..7cacd906 100644 --- a/ecs/crm-datafetch/src/controller.py +++ b/ecs/crm-datafetch/src/controller.py @@ -71,7 +71,7 @@ def _fetch_crm_data(fetch_target_objects: FetchTargetObjects, execute_datetime: Args: fetch_target_objects (FetchTargetObjects): CRMオブジェクト情報インスタンス - execute_datetime (ExecuteDateTime): 実行日次取得インスタンス + execute_datetime (ExecuteDateTime): 実行日時取得インスタンス process_result (dict): 取得処理実行結果辞書オブジェクト Returns: @@ -80,10 +80,12 @@ def _fetch_crm_data(fetch_target_objects: FetchTargetObjects, execute_datetime: for object_info in fetch_target_objects: try: + # 1.処理結果出力用のマップの初期化 process_result[object_info.get(OBJECT_NAME_KEY)] = 'fail' _fetch_crm_data_per_object(object_info, execute_datetime) + # 16.処理結果出力用のマップの更新 process_result[object_info.get(OBJECT_NAME_KEY)] = 'success' except MeDaCaCRMDataFetchException as e: @@ -105,35 +107,35 @@ def _fetch_crm_data_per_object(object_info: dict, execute_datetime: ExecuteDateT Args: object_info (dict): 取得対象オブジェクト情報 - execute_datetime (ExecuteDateTime): 実行日次取得インスタンス + execute_datetime (ExecuteDateTime): 実行日時取得インスタンス """ - # 1. オブジェクト処理結果の初期化 + # 2. 対象オブジェクト情報の内容をログに出力する logger.debug(f'D-CTRL-04 対象のオブジェクト情報を出力します オブジェクト情報:[{object_info}]') - # 2. オブジェクト情報形式チェック処理を呼び出す + # 3. オブジェクト情報形式チェック処理を呼び出す logger.info('I-CTRL-05 オブジェクト情報形式チェック処理呼び出し') target_object = check_object_info_process(object_info, execute_datetime) target_object_name = target_object.object_name - # 3. 処理対象のオブジェクト名をログ出力する + # 4. 処理対象のオブジェクト名をログ出力する logger.info( f'I-CTRL-06 [{target_object_name}]のデータ取得を開始します') - # 4. オブジェクト情報.is_skipがTrueの場合、次のオブジェクトの処理に移行する + # 5. オブジェクト情報.is_skipがTrueの場合、次のオブジェクトの処理に移行する if target_object.is_skip is True: logger.info( f'I-CTRL-07 [{target_object_name}]のデータ取得処理をスキップします') return - # 5. データ取得期間設定処理を呼び出す + # 6. データ取得期間設定処理を呼び出す logger.info( f'I-CTRL-08 [{target_object_name}]のデータ取得期間設定処理呼び出し') last_fetch_datetime = set_datetime_period_process(target_object, execute_datetime) - # 6. CRMデータ取得処理を呼び出す + # 7. CRMデータ取得処理を呼び出す logger.info( f'I-CTRL-09 [{target_object_name}]のデータ取得処理呼び出し') @@ -145,41 +147,41 @@ def _fetch_crm_data_per_object(object_info: dict, execute_datetime: ExecuteDateT f'I-CTRL-22 [{target_object_name}]のレコード件数が0件のため、ファイルアップロードをスキップします') return - # 7. 出力ファイル名をログ出力する + # 8. 出力ファイル名をログ出力する logger.info( f'I-CTRL-10 [{target_object_name}] の出力ファイル名は [{target_object.upload_file_name}] となります') - # 8. CRM電文データバックアップ処理を呼び出す + # 9. CRM電文データバックアップ処理を呼び出す logger.info( f'I-CTRL-11 [{target_object_name}] CRM電文データバックアップ処理呼び出し') backup_crm_data_process(target_object, crm_data_response, execute_datetime) - # 9. CSV変換処理を呼び出す + # 10. CSV変換処理を呼び出す logger.info( f'I-CTRL-12 [{target_object.object_name}] CSV変換処理呼び出し') csv_string = convert_crm_csv_data_process(target_object, crm_data_response) - # 10. CSVバックアップ処理を呼び出す + # 11. CSVバックアップ処理を呼び出す logger.info( f'I-CTRL-13 [{target_object_name}] CSVデータバックアップ処理呼び出し') backup_crm_csv_data_process(target_object, execute_datetime, csv_string) - # 11. CSVアップロード処理を呼び出す + # 12. CSVアップロード処理を呼び出す logger.info( f'I-CTRL-14 [{target_object_name}] CSVデータアップロード処理呼び出し') copy_crm_csv_data_process(target_object, execute_datetime) - # 12. メモリ解放 + # 13. メモリ解放 del crm_data_response del csv_string gc.collect() - # 13. 前回取得日時ファイル更新処理を呼びだす + # 14. 前回取得日時ファイル更新処理を呼びだす logger.info( f'I-CTRL-15 [{target_object_name}] 前回取得日時ファイル更新処理呼び出し') upload_last_fetch_datetime_process(target_object, last_fetch_datetime) - # 14. オブジェクトのアップロードが完了した旨をログに出力する + # 15. 1オブジェクトのアップロードが完了した旨をログに出力する logger.info(f'I-CTRL-16 [{target_object_name}] 処理正常終了') return diff --git a/ecs/crm-datafetch/src/copy_crm_csv_data_process.py b/ecs/crm-datafetch/src/copy_crm_csv_data_process.py index ba2831ea..c8dd08c0 100644 --- a/ecs/crm-datafetch/src/copy_crm_csv_data_process.py +++ b/ecs/crm-datafetch/src/copy_crm_csv_data_process.py @@ -12,7 +12,7 @@ def copy_crm_csv_data_process(target_object: TargetObject, execute_datetime: Exe Args: target_object (TargetObject): 取得対象オブジェクト情報インスタンス - execute_datetime (ExecuteDateTime): 実行日次取得インスタンス + execute_datetime (ExecuteDateTime): 実行日時取得インスタンス Raises: FileUploadException: S3のファイルアップロード失敗 diff --git a/ecs/crm-datafetch/src/prepare_data_fetch_process.py b/ecs/crm-datafetch/src/prepare_data_fetch_process.py index f0ea9ab6..d546c7b8 100644 --- a/ecs/crm-datafetch/src/prepare_data_fetch_process.py +++ b/ecs/crm-datafetch/src/prepare_data_fetch_process.py @@ -19,7 +19,7 @@ def prepare_data_fetch_process(): Returns: fetch_target_objects : CRMオブジェクト情報インスタンス - execute_datetime : 実行日次取得インスタンス + execute_datetime : 実行日時取得インスタンス process_result : 取得処理実行結果辞書オブジェクト """ diff --git a/ecs/crm-datafetch/src/set_datetime_period_process.py b/ecs/crm-datafetch/src/set_datetime_period_process.py index 062fac97..144c0888 100644 --- a/ecs/crm-datafetch/src/set_datetime_period_process.py +++ b/ecs/crm-datafetch/src/set_datetime_period_process.py @@ -14,7 +14,7 @@ def set_datetime_period_process(target_object: TargetObject, execute_datetime: E Args: target_object (TargetObject): 取得対象オブジェクト情報インスタンス - execute_datetime (ExecuteDateTime): 実行日次取得インスタンス + execute_datetime (ExecuteDateTime): 実行日時取得インスタンス Raises: FileNotFoundException: S3上のファイルが存在しない場合 diff --git a/ecs/crm-datafetch/tests/test_controller.py b/ecs/crm-datafetch/tests/test_controller.py index c142fcfd..b01e7a31 100644 --- a/ecs/crm-datafetch/tests/test_controller.py +++ b/ecs/crm-datafetch/tests/test_controller.py @@ -162,7 +162,7 @@ class TestController: assert self.mock_convert_crm_csv_data_process.call_count == 3, 'CSV変換処理が複数回実行されること' assert self.mock_backup_crm_csv_data_process.call_count == 3, 'CSVバックアップ処理が複数回実行されること' assert self.mock_copy_crm_csv_data_process.call_count == 3, 'CSVアップロード処理が複数回実行されること' - assert self.mock_upload_last_fetch_datetime_process.call_count == 3, '前回取得日次ファイル更新処理が複数回実行されること' + assert self.mock_upload_last_fetch_datetime_process.call_count == 3, '前回取得日時ファイル更新処理が複数回実行されること' assert self.mock_upload_result_data_process.called is True, '取得処理実施結果アップロード処理が1回のみ実行されること' assert self.mock_upload_result_data_process.call_count == 1, '取得処理実施結果アップロード処理が1回のみ実行されること' diff --git a/s3/config/crm/object_info/crm_object_list_diff.json b/s3/config/crm/object_info/crm_object_list_diff.json index aa20d187..a5f8da67 100644 --- a/s3/config/crm/object_info/crm_object_list_diff.json +++ b/s3/config/crm/object_info/crm_object_list_diff.json @@ -239,7 +239,8 @@ "MSJ_Evaluation_Comment__c", "Position_vod__c", "Talk_Title_vod__c", - "MSJ_Attendee_Reaction__c" + "MSJ_Attendee_Reaction__c", + "MSJ_Registration__c" ], "is_skip": false, "is_update_last_fetch_datetime": true