Work on Impexium
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -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() ###
|
||||
Reference in New Issue
Block a user