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)
|
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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user