Working on data importing. Mainly for IDAA membership.
This commit is contained in:
@@ -495,58 +495,93 @@ async def importing_person_data_v2_membership(
|
||||
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 = {}
|
||||
|
||||
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)
|
||||
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_type_person_data['first_start_on'] = record.get('membership_join_date', None)
|
||||
# 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'] = membership_last_renewal_date
|
||||
membership_type_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'] = datetime.datetime.strptime(membership_last_renewal_date, '%m/%d/%Y')
|
||||
else:
|
||||
membership_person_data['start_on'] = record.get('membership_join_date', None)
|
||||
membership_type_person_data['start_on'] = record.get('membership_join_date', None)
|
||||
membership_person_data['end_on'] = record.get('membership_expiration_date', None)
|
||||
membership_type_person_data['end_on'] = record.get('membership_expiration_date', None)
|
||||
membership_person_data['last_end_on'] = record.get('membership_expiration_date', None)
|
||||
membership_type_person_data['last_end_on'] = record.get('membership_expiration_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'] = 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
|
||||
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['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
|
||||
# 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
|
||||
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'):
|
||||
log.debug(membership_type_person_obj_up_result)
|
||||
else:
|
||||
@@ -558,15 +593,17 @@ async def importing_person_data_v2_membership(
|
||||
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
|
||||
# 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)
|
||||
@@ -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
|
||||
else:
|
||||
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
|
||||
# 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:
|
||||
@@ -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_name'] = membership_type_name
|
||||
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 *** *** *** ***')
|
||||
# break
|
||||
|
||||
|
||||
Reference in New Issue
Block a user