from Utils.sql_handler import test_env_conn from TestData.inbox.search_test_data import searchtData user_order_select_sql = f'select * from `user_order` where user_id = {searchtData.shopId} and email != "" and tracking_numbers != ""' user_order_select_result = test_env_conn.select_many_value(sql=user_order_select_sql) email_list = tuple([order['email'] for order in user_order_select_result]) user_select_sql = f'select * from `customer` where brand_id = {searchtData.brandId} and email in {email_list}' user_select_result = test_env_conn.select_many_value(sql=user_select_sql) user_list = tuple([user['id'] for user in user_select_result]) room_select_sql = f'select * from `im_room` where from_id in {user_list} and cate_id = {searchtData.brandId} and status = 1 and room_type != 2 and is_ignore = 0 and site_id = {searchtData.shopId} ' room_select_result = test_env_conn.select_one_value(sql=room_select_sql) room_id = room_select_result['room_id'] user_id = room_select_result['from_id'] for user in user_select_result: if user['id'] == int(user_id): user_email = user['email'] break for order in user_order_select_result: if order['email'] == user_email: search_order_id = order['order_number'] search_order_name = order['order_name'] search_tracking_number = order['tracking_numbers'] break setattr(searchtData,'order_room_id',str(room_id)) setattr(searchtData,'search_order_id',str(search_order_id)) setattr(searchtData,'search_order_name',str(search_order_name)) setattr(searchtData,'search_tracking_number',str(search_tracking_number))