Work on Impexium
This commit is contained in:
@@ -156,6 +156,8 @@ def get_events(page=1):
|
|||||||
return event_li
|
return event_li
|
||||||
|
|
||||||
|
|
||||||
|
# ### BEGIN ### API Impexium Methods ### get_event_registrants() ###
|
||||||
|
# Updated 2021-10-07
|
||||||
def get_event_registrants(
|
def get_event_registrants(
|
||||||
event_code: str,
|
event_code: str,
|
||||||
page: int = 1,
|
page: int = 1,
|
||||||
@@ -192,6 +194,7 @@ def get_event_registrants(
|
|||||||
return event_registrant_li
|
return event_registrant_li
|
||||||
else:
|
else:
|
||||||
return event_registrant_li['dataList']
|
return event_registrant_li['dataList']
|
||||||
|
# ### END ### API Impexium Methods ### get_event_registrants() ###
|
||||||
|
|
||||||
|
|
||||||
def get_individual_registrations(api, record_number, event_code=None, page=1):
|
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()
|
router = APIRouter()
|
||||||
|
|
||||||
|
|
||||||
|
# ### BEGIN ### API Impexium ### event_import_reg() ###
|
||||||
# Updated 2021-10-07
|
# Updated 2021-10-07
|
||||||
@router.get('/event/{e_impexium_event_id}/import_reg', response_model=Resp_Body_Base)
|
@router.get('/event/{e_impexium_event_id}/import_reg', response_model=Resp_Body_Base)
|
||||||
async def event_import_reg(
|
async def event_import_reg(
|
||||||
@@ -146,197 +147,4 @@ async def event_import_reg(
|
|||||||
event_badge_li.append(event_badge_data)
|
event_badge_li.append(event_badge_data)
|
||||||
|
|
||||||
return mk_resp(data=event_badge_li, response=response)
|
return mk_resp(data=event_badge_li, response=response)
|
||||||
|
# ### END ### API Impexium ### event_import_reg() ###
|
||||||
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)
|
|
||||||
Reference in New Issue
Block a user