Working on data importing. Mainly for IDAA membership.

This commit is contained in:
Scott Idem
2021-08-18 20:23:47 -04:00
parent d1c7a88c64
commit 02f719d206

View File

@@ -495,58 +495,93 @@ async def importing_person_data_v2_membership(
address_id = person_rec.get('address_id', None) address_id = person_rec.get('address_id', None)
user_id = person_rec.get('user_id', None) user_id = person_rec.get('user_id', None)
membership_person_id = person_rec.get('membership_person_id', None) membership_person_id = person_rec.get('membership_person_id', None)
log.info(f'Found membership_person_id: {membership_person_id}')
else: else:
continue continue
membership_person_data = {} membership_person_data = {}
membership_type_person_data = {} membership_type_person_data = {}
membership_person_data['lu_membership_person_status_id'] = None # expiration is > now
membership_type_person_data['lu_membership_type_person_status_id'] = None # expiration is > now
membership_person_data['first_approved_on'] = record.get('membership_join_date', None) # datetime.datetime.strptime(date_time_str, '%m/%d/%Y')
membership_type_person_data['first_approved_on'] = record.get('membership_join_date', None)
membership_person_data['first_start_on'] = record.get('membership_join_date', None) membership_person_data['first_approved_on'] = datetime.datetime.strptime(record.get('membership_join_date', None), '%m/%d/%Y')
membership_type_person_data['first_start_on'] = record.get('membership_join_date', None) # 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): if membership_last_renewal_date := record.get('membership_last_renewal_date', None):
membership_person_data['start_on'] = membership_last_renewal_date membership_person_data['start_on'] = datetime.datetime.strptime(membership_last_renewal_date, '%m/%d/%Y')
membership_type_person_data['start_on'] = membership_last_renewal_date membership_type_person_data['start_on'] = datetime.datetime.strptime(membership_last_renewal_date, '%m/%d/%Y')
else: else:
membership_person_data['start_on'] = record.get('membership_join_date', None) membership_person_data['start_on'] = datetime.datetime.strptime(record.get('membership_join_date', None), '%m/%d/%Y')
membership_type_person_data['start_on'] = record.get('membership_join_date', None) membership_type_person_data['start_on'] = datetime.datetime.strptime(record.get('membership_join_date', None), '%m/%d/%Y')
membership_person_data['end_on'] = record.get('membership_expiration_date', None) membership_person_data['end_on'] = datetime.datetime.strptime(record.get('membership_expiration_date', None), '%m/%d/%Y')
membership_type_person_data['end_on'] = record.get('membership_expiration_date', None) membership_type_person_data['end_on'] = datetime.datetime.strptime(record.get('membership_expiration_date', None), '%m/%d/%Y')
membership_person_data['last_end_on'] = record.get('membership_expiration_date', None) 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'] = record.get('membership_expiration_date', None) 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 # membership_type_person_data['membership_person_id'] = membership_person_id
if membership_type_name == 'Al-Anon Member': if membership_type_name == 'Al-Anon Member':
membership_type_person_data['membership_type_id'] = 6 membership_type_person_data['membership_type_id'] = 6
membership_type_person_data['product_id'] = 13 membership_type_person_data['product_id'] = 13
membership_person_data['level'] = 1 membership_person_data['level'] = 1
elif membership_type_name == 'Annual Contribution': # Unsure... making affililate 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['membership_type_id'] = 8
membership_type_person_data['product_id'] = 13 membership_type_person_data['product_id'] = 13
membership_person_data['level'] = 3 membership_person_data['level'] = 3
membership_type_person_data['level'] = 3
elif membership_type_name == 'Doctoral Qualifying Member': elif membership_type_name == 'Doctoral Qualifying Member':
membership_type_person_data['membership_type_id'] = 5 membership_type_person_data['membership_type_id'] = 5
membership_type_person_data['product_id'] = 4 membership_type_person_data['product_id'] = 4
membership_person_data['level'] = 1 membership_person_data['level'] = 1
membership_type_person_data['level'] = 1
elif membership_type_name == 'Student Member': elif membership_type_name == 'Student Member':
membership_type_person_data['membership_type_id'] = 7 membership_type_person_data['membership_type_id'] = 7
membership_type_person_data['product_id'] = 14 membership_type_person_data['product_id'] = 14
membership_person_data['level'] = 1 membership_person_data['level'] = 1
membership_type_person_data['level'] = 1
if membership_person_id: # Update the membership records if membership_person_id: # Update the membership records
membership_person_data['id'] = membership_person_id
# sql_update() # UPDATE membership_person # 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'): if membership_person_obj_up_result := sql_update(data=membership_person_data, table_name='membership_person'):
log.debug(membership_person_obj_up_result) log.debug(membership_person_obj_up_result)
else: else:
log.warning(membership_person_obj_up_result) log.warning(membership_person_obj_up_result)
continue # Something unexpected may have happened # continue # Something unexpected may have happened
# sql_update() # UPDATE membership_type_person # 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
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):
# 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'): 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) log.debug(membership_type_person_obj_up_result)
else: else:
@@ -558,15 +593,17 @@ async def importing_person_data_v2_membership(
membership_person_data['user_id'] = user_id membership_person_data['user_id'] = user_id
# sql_insert() # INSERT new membership_person # 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'): if membership_person_obj_in_result := sql_insert(data=membership_person_data, table_name='membership_person'):
log.debug(membership_person_obj_in_result) log.debug(membership_person_obj_in_result)
membership_person_id = membership_person_obj_in_result # Should be an int 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 membership_person_new = True # Need to UPDATE this record after the membership type person data is processed
else: else:
log.warning(membership_person_obj_in_result) log.warning(membership_person_obj_in_result)
continue # Something unexpected may have happened # continue # Something unexpected may have happened
# sql_insert() # INSERT new membership_type_person link using membership_person_id # 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 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'): 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) log.debug(membership_type_person_obj_in_result)
@@ -574,10 +611,12 @@ async def importing_person_data_v2_membership(
membership_type_person_new = True # Need to UPDATE this record after the membership type person data is processed membership_type_person_new = True # Need to UPDATE this record after the membership type person data is processed
else: else:
log.warning(membership_type_person_obj_in_result) log.warning(membership_type_person_obj_in_result)
continue # Something unexpected may have happened # continue # Something unexpected may have happened
membership_person_data['membership_type_person_id'] = membership_type_person_id membership_person_data['membership_type_person_id'] = membership_type_person_id
# sql_update() # UPDATE membership_person with new 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'): if membership_person_obj_up_result := sql_update(data=membership_person_data, table_name='membership_person'):
log.debug(membership_person_obj_up_result) log.debug(membership_person_obj_up_result)
else: else:
@@ -590,7 +629,7 @@ async def importing_person_data_v2_membership(
person_data_min['membership_type_person_id'] = membership_type_person_id person_data_min['membership_type_person_id'] = membership_type_person_id
person_data_min['membership_type_name'] = membership_type_name person_data_min['membership_type_name'] = membership_type_name
person_data_li.append(person_data_min) person_data_li.append(person_data_min)
log.debug(f"Record processed: {person_id} {person_data['full_name']}") log.debug(f"Record processed: {person_id} {record['email']}")
# log.debug('*** *** *** *** END TEST RUN *** *** *** ***') # log.debug('*** *** *** *** END TEST RUN *** *** *** ***')
# break # break