diff --git a/app/methods/e_impexium_methods.py b/app/methods/e_impexium_methods.py index ad49358..8bdd503 100644 --- a/app/methods/e_impexium_methods.py +++ b/app/methods/e_impexium_methods.py @@ -156,6 +156,8 @@ def get_events(page=1): return event_li +# ### BEGIN ### API Impexium Methods ### get_event_registrants() ### +# Updated 2021-10-07 def get_event_registrants( event_code: str, page: int = 1, @@ -192,6 +194,7 @@ def get_event_registrants( return event_registrant_li else: return event_registrant_li['dataList'] +# ### END ### API Impexium Methods ### get_event_registrants() ### def get_individual_registrations(api, record_number, event_code=None, page=1): diff --git a/app/routers/e_impexium.py b/app/routers/e_impexium.py index 10442e5..8ccac9c 100644 --- a/app/routers/e_impexium.py +++ b/app/routers/e_impexium.py @@ -19,6 +19,7 @@ from app.models.response_models import Resp_Body_Base, mk_resp router = APIRouter() +# ### BEGIN ### API Impexium ### event_import_reg() ### # Updated 2021-10-07 @router.get('/event/{e_impexium_event_id}/import_reg', response_model=Resp_Body_Base) async def event_import_reg( @@ -146,197 +147,4 @@ async def event_import_reg( event_badge_li.append(event_badge_data) return mk_resp(data=event_badge_li, response=response) - - for record in df_dict: - membership_new = None - person_id = None - contact_id = None - address_id = None - user_id = None - # person_profile_id = None - membership_person_id = None - membership_type_person_id = None - - 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: - person_data['external_import_id'] = record['email'] - external_import_id = person_data['external_import_id'] - - if membership_type_name := record.get('membership_type', None): pass - else: continue - - 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_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') - person_rec = person_rec_result - person_id = person_rec.get('person_id', None) - contact_id = person_rec.get('contact_id', None) - address_id = person_rec.get('address_id', None) - user_id = person_rec.get('user_id', None) - membership_person_id = person_rec.get('membership_person_id', None) - log.info(f'Found membership_person_id: {membership_person_id}') - else: - continue - - membership_person_data = {} - membership_type_person_data = {} - - - # datetime.datetime.strptime(date_time_str, '%m/%d/%Y') - - membership_person_data['first_approved_on'] = datetime.datetime.strptime(record.get('membership_join_date', None), '%m/%d/%Y') - # membership_type_person_data['first_approved_on'] = datetime.datetime.strptime(record.get('membership_join_date', None), '%m/%d/%Y') - membership_person_data['first_start_on'] = datetime.datetime.strptime(record.get('membership_join_date', None), '%m/%d/%Y') - membership_type_person_data['first_start_on'] = datetime.datetime.strptime(record.get('membership_join_date', None), '%m/%d/%Y') - - if membership_last_renewal_date := record.get('membership_last_renewal_date', None): - membership_person_data['start_on'] = datetime.datetime.strptime(membership_last_renewal_date, '%m/%d/%Y') - membership_type_person_data['start_on'] = datetime.datetime.strptime(membership_last_renewal_date, '%m/%d/%Y') - else: - membership_person_data['start_on'] = datetime.datetime.strptime(record.get('membership_join_date', None), '%m/%d/%Y') - membership_type_person_data['start_on'] = datetime.datetime.strptime(record.get('membership_join_date', None), '%m/%d/%Y') - membership_person_data['end_on'] = datetime.datetime.strptime(record.get('membership_expiration_date', None), '%m/%d/%Y') - membership_type_person_data['end_on'] = datetime.datetime.strptime(record.get('membership_expiration_date', None), '%m/%d/%Y') - membership_person_data['last_end_on'] = datetime.datetime.strptime(record.get('membership_expiration_date', None), '%m/%d/%Y') - membership_type_person_data['last_end_on'] = datetime.datetime.strptime(record.get('membership_expiration_date', None), '%m/%d/%Y') - - current_datetime = datetime.datetime.now() - if membership_person_data['end_on'] >= current_datetime: - membership_person_data['lu_membership_person_status_id'] = 5 # 5 = active; expiration is > now - membership_type_person_data['lu_membership_type_status_id'] = 5 # 5 = active; expiration is > now - else: - membership_person_data['lu_membership_person_status_id'] = 7 # 7 = inactive; expiration is < now - membership_type_person_data['lu_membership_type_status_id'] = 7 # 7 = inactive; expiration is > now - - - # membership_type_person_data['membership_person_id'] = membership_person_id - if membership_type_name == 'Al-Anon Member': - membership_type_person_data['membership_type_id'] = 6 - membership_type_person_data['product_id'] = 13 - membership_person_data['level'] = 1 - membership_type_person_data['level'] = 1 - elif membership_type_name == 'Annual Contribution': # Unsure... making affiliate - membership_type_person_data['membership_type_id'] = 8 - membership_type_person_data['product_id'] = 13 - membership_person_data['level'] = 3 - membership_type_person_data['level'] = 3 - elif membership_type_name == 'Doctoral Qualifying Member': - membership_type_person_data['membership_type_id'] = 5 - membership_type_person_data['product_id'] = 4 - membership_person_data['level'] = 1 - membership_type_person_data['level'] = 1 - elif membership_type_name == 'Student Member': - membership_type_person_data['membership_type_id'] = 7 - membership_type_person_data['product_id'] = 14 - membership_person_data['level'] = 1 - membership_type_person_data['level'] = 1 - - if membership_person_id: # Update the membership records - membership_person_data['id'] = membership_person_id - # sql_update() # UPDATE membership_person - log.info('UPDATE membership_person...') - if membership_person_obj_up_result := sql_update(data=membership_person_data, table_name='membership_person'): - log.debug(membership_person_obj_up_result) - else: - log.warning(membership_person_obj_up_result) - # continue # Something unexpected may have happened - - # sql_update() # UPDATE membership_type_person - log.info('UPDATE membership_type_person...') - data = {} - data['membership_person_id'] = membership_person_id - sql = f""" - SELECT * - FROM `v_membership_person` AS `membership_person` - WHERE membership_person.id = :membership_person_id - LIMIT 1; - """ - if membership_person_rec_result := sql_select(data=data, sql=sql): - # Pull out IDs of existing person record - log.debug('Found one record') - membership_person_rec = membership_person_rec_result - membership_type_person_id = membership_person_rec.get('membership_type_person_id', None) - log.info(f'Found membership_type_person_id: {membership_type_person_id}') - else: - continue - membership_type_person_data['id'] = membership_type_person_id - if membership_type_person_obj_up_result := sql_update(data=membership_type_person_data, table_name='membership_type_person'): - log.debug(membership_type_person_obj_up_result) - else: - log.warning(membership_type_person_obj_up_result) - continue # Something unexpected may have happened - else: # Create new membership records - membership_person_data['account_id'] = account_id - membership_person_data['person_id'] = person_id - membership_person_data['user_id'] = user_id - - # sql_insert() # INSERT new membership_person - log.info('INSERT new membership_person...') - if membership_person_obj_in_result := sql_insert(data=membership_person_data, table_name='membership_person'): - log.debug(membership_person_obj_in_result) - membership_person_id = membership_person_obj_in_result # Should be an int - membership_person_new = True # Need to UPDATE this record after the membership type person data is processed - else: - log.warning(membership_person_obj_in_result) - # continue # Something unexpected may have happened - - # sql_insert() # INSERT new membership_type_person link using membership_person_id - log.info('INSERT new membership_type_person link using membership_person_id...') - membership_type_person_data['membership_person_id'] = membership_person_id - if membership_type_person_obj_in_result := sql_insert(data=membership_type_person_data, table_name='membership_type_person'): - log.debug(membership_type_person_obj_in_result) - membership_type_person_id = membership_type_person_obj_in_result # Should be an int - membership_type_person_new = True # Need to UPDATE this record after the membership type person data is processed - else: - log.warning(membership_type_person_obj_in_result) - # continue # Something unexpected may have happened - - membership_person_data['membership_type_person_id'] = membership_type_person_id - # sql_update() # UPDATE membership_person with new membership_type_person_id - log.info('UPDATE membership_person with new membership_type_person_id...') - membership_person_data['id'] = membership_person_id - if membership_person_obj_up_result := sql_update(data=membership_person_data, table_name='membership_person'): - log.debug(membership_person_obj_up_result) - else: - log.warning(membership_person_obj_up_result) - continue # Something unexpected may have happened - - person_data_min = {} - person_data_min['person_id'] = person_id - person_data_min['membership_person_id'] = membership_person_id - person_data_min['membership_type_person_id'] = membership_type_person_id - person_data_min['membership_type_name'] = membership_type_name - person_data_li.append(person_data_min) - log.debug(f"Record processed: {person_id} {record['email']}") - # log.debug('*** *** *** *** END TEST RUN *** *** *** ***') - # break - - return mk_resp(data=person_data_li) +# ### END ### API Impexium ### event_import_reg() ### \ No newline at end of file