diff --git a/app/routers/importing.py b/app/routers/importing.py index 0b01a96..97b80f6 100644 --- a/app/routers/importing.py +++ b/app/routers/importing.py @@ -522,14 +522,18 @@ async def ins_up_person_contact_address_user_data( return mk_resp(data=person_data_li) -# Second round: Creating membership records from the Cvent Address Book export data -@router.post('/person_data_v2_membership', response_model=Resp_Body_Base) -async def importing_person_data_v2_membership( +# Based on the Cvent Address Book Contacts export data. New External IDs should already be added in Cvent and updated in Aether as well. Use importing_update_w_external_id() endpoint function. Person contact address user data needs to be updated. Use ins_up_person_contact_address_user_data() endpoint function. +# All records should have an External ID. +# Updated 2021-10-04 +@router.get('/ins_up_membership_person_data', response_model=Resp_Body_Base) +async def ins_up_membership_person_data( response: Response = Response, ): log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.debug(locals()) + log.info('Starting membership person data insert update...') + allow_insert_person = True allow_insert_contact = True allow_insert_address = True @@ -543,14 +547,14 @@ async def importing_person_data_v2_membership( # allow_update_membership = True # allow_update_person_new_user = True - account_id = 99 + account_id = 13 full_file_path = 'admin/temp/import_person_contact_address_user_data.xlsx' - df = pandas.read_excel(full_file_path, na_filter=False, dtype={'external_import_id':str, 'phone_home':str, 'phone_mobile':str, 'city':str, 'state_province':str, 'address_postal_code':str, 'country':str}) + df = pandas.read_excel(full_file_path, na_filter=False, dtype={'external_id':str, 'external_import_id':str, 'phone_home':str, 'phone_mobile':str, 'city':str, 'state_province':str, 'address_postal_code':str, 'country':str}) log.debug(df) df_dict = df.to_dict(orient='records') - # log.debug(df_dict) + log.debug(df_dict) person_data_li = [] for record in df_dict: @@ -565,6 +569,12 @@ async def importing_person_data_v2_membership( person_data = {} person_data['account_id'] = account_id + + if record['external_id']: # This is now required for the membership portion 2021-10-04 + external_id = record['external_id'] + else: continue # external_id = None + log.info(f'External ID: {external_id}') + if record['external_import_id']: person_data['external_import_id'] = record['external_import_id'] else: @@ -576,15 +586,23 @@ async def importing_person_data_v2_membership( data = {} data['account_id'] = account_id + data['external_id'] = external_id data['external_import_id'] = external_import_id sql = f""" SELECT * FROM `v_person` AS `person` WHERE person.account_id = :account_id - AND person.external_import_id = :external_import_id - ORDER BY `person`.created_on DESC, `person`.updated_on DESC + AND person.external_id = :external_id LIMIT 1; """ + # sql = f""" + # SELECT * + # FROM `v_person` AS `person` + # WHERE person.account_id = :account_id + # AND person.external_import_id = :external_import_id + # ORDER BY `person`.created_on DESC, `person`.updated_on DESC + # LIMIT 1; + # """ if person_rec_result := sql_select(data=data, sql=sql): # Pull out IDs of existing person record log.debug('Found one record') @@ -669,7 +687,6 @@ async def importing_person_data_v2_membership( SELECT * FROM `v_membership_person` AS `membership_person` WHERE membership_person.id = :membership_person_id - ORDER BY `membership_person`.created_on DESC, `membership_person`.updated_on DESC LIMIT 1; """ if membership_person_rec_result := sql_select(data=data, sql=sql):