Created
June 21, 2022 10:58
-
-
Save nghiahsgs/4e26c598f163bb6a9d480e1847be04d2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@router.get("/request",tags=["request"]) | |
def get_request(user_id:str): | |
utils_db_order_ads.db.connect(reuse_if_open=True) | |
# step 0 | |
L_request0 = utils_db_order_ads.Request.select().where(utils_db_order_ads.Request.customer_id == user_id).where(utils_db_order_ads.Request.status != 0) | |
# return len(L_request0) | |
# # step 1 | |
# L_order_ads = utils_db_order_ads.Order_ads.select().where(utils_db_order_ads.Order_ads.user_id == user_id) | |
# L_order_code = [order_ads.order_code for order_ads in L_order_ads] | |
# L_request = utils_db_order_ads.Request.select().where(utils_db_order_ads.Request.order_code<<L_order_code) | |
# L_request+=L_request0 | |
L_request=L_request0 | |
# return len(L_request0) | |
# neu so co 1 chu so => 2 chu so | |
def format_day(x): | |
if(len('%s'%x)==1): | |
return f'0{x}' | |
return '%s'%x | |
# return L_request[0].date_start.day | |
L_request = [ | |
{ | |
'order_code':e.order_code, | |
'order_note_ck':utils_db_order_ads.Order_ads.select().where(utils_db_order_ads.Order_ads.order_code == e.order_code)[0].order_note_ck if len(utils_db_order_ads.Order_ads.select().where(utils_db_order_ads.Order_ads.order_code == e.order_code)) else "", | |
'request_code':e.request_code, | |
'target':e.target, | |
'id':e.request_id, | |
'_id':e.id, | |
'platform':'%s'%(int(e.ads_type)-1), | |
'project_name':e.project_name, | |
'real_eastate_type':e.real_eastate_type, | |
'location':e.location, | |
'hotline':e.phone_contract, | |
'real_eastate_level':e.real_eastate_level, | |
'project_document':e.project_document, | |
'link_website':e.web_url, | |
'total_budget':e.total_budget, | |
'daily_budget':e.daily_budget, | |
'date_range':'%s - %s'%( | |
# '%s-%s-%s'%(format_day(e.date_start.day),format_day(e.date_start.month),format_day(e.date_start.year)) if isinstance(e.date_start,datetime) else 'e.date_start', | |
# '%s-%s-%s'%(format_day(e.date_stop.day),format_day(e.date_stop.month),format_day(e.date_stop.year)) if isinstance(e.date_stop,datetime) else e.date_stop | |
'%s-%s-%s'%(format_day(e.date_start.day),format_day(e.date_start.month),format_day(e.date_start.year)), | |
'%s-%s-%s'%(format_day(e.date_stop.day),format_day(e.date_stop.month),format_day(e.date_stop.year)) | |
), | |
# "date_range":'%s - %s'%( | |
# e.date_start, | |
# e.date_stop | |
# ), | |
'note':e.note, | |
'customer_id':e.customer_id, | |
'page_id':e.page_id, | |
'page_name':e.page_name, | |
'marketer':{ | |
'marketer_id':e.marketer_id, | |
'name': | |
utils_db_order_ads.Marketer.select().where(utils_db_order_ads.Marketer.marketer_id==e.marketer_id)[0].fullname if len(utils_db_order_ads.Marketer.select().where(utils_db_order_ads.Marketer.marketer_id==e.marketer_id)) else '', | |
'avatar': | |
utils_db_order_ads.Marketer.select().where(utils_db_order_ads.Marketer.marketer_id==e.marketer_id)[0].avatar if len(utils_db_order_ads.Marketer.select().where(utils_db_order_ads.Marketer.marketer_id==e.marketer_id)) else '', | |
'marketer_type': | |
utils_db_order_ads.Marketer.select().where(utils_db_order_ads.Marketer.marketer_id==e.marketer_id)[0].marketer_type if len(utils_db_order_ads.Marketer.select().where(utils_db_order_ads.Marketer.marketer_id==e.marketer_id)) else '', | |
'phone': | |
utils_db_order_ads.Marketer.select().where(utils_db_order_ads.Marketer.marketer_id==e.marketer_id)[0].phone if len(utils_db_order_ads.Marketer.select().where(utils_db_order_ads.Marketer.marketer_id==e.marketer_id)) else '', | |
'fee_order_ads':[ | |
{ | |
"marketer_type":e.marketer_type, | |
"percent":e.percent | |
} for e in utils_db_order_ads.Fee_order_ads.select() | |
] | |
}, | |
'marketer_take': utils_db_order_ads.Marketer_take.select().where(utils_db_order_ads.Marketer_take.marketer_id==e.marketer_id).where(utils_db_order_ads.Marketer_take.request_id==e.request_id)[0].__data__ if len(utils_db_order_ads.Marketer_take.select().where(utils_db_order_ads.Marketer_take.marketer_id==e.marketer_id).where(utils_db_order_ads.Marketer_take.request_id==e.request_id)) else {}, | |
'status':e.status, | |
'connection_to_page':e.connection_to_page, | |
'list_camp':[ | |
{ | |
'name':e.name, | |
'camp_id':e.camp_id, | |
'account_id':e.account_id, | |
'request_id':e.request_id, | |
'total_spent':e.total_spent, | |
'daily_budget':e.daily_budget, | |
'status':e.status, | |
'rating':e.rating, | |
'date_start': '%s/%s/%s'%(format_day(e.date_start.day),format_day(e.date_start.month),format_day(e.date_start.year)), | |
'date_stop': '%s/%s/%s'%(format_day(e.date_stop.day),format_day(e.date_stop.month),format_day(e.date_stop.year)) | |
# 'date_start':'%s'%e.date_start, | |
# 'date_stop':'%s'%e.date_stop, | |
} | |
for e in utils_db_order_ads.Requested_camps.select().where(utils_db_order_ads.Requested_camps.request_id==e.request_id) | |
], | |
"total_spent":sum([e.total_spent for e in utils_db_order_ads.Requested_camps.select().where(utils_db_order_ads.Requested_camps.request_id==e.request_id)]), | |
'request_pages':[ | |
{ | |
"id":e.id, | |
"email":e.email, | |
"page_avatar":e.page_avatar, | |
"page_cover":e.page_cover, | |
"page_name":e.page_name, | |
"link_web":e.link_web, | |
"hotline":e.hotline, | |
"status":e.status, | |
"request_id":e.request_id | |
} | |
for e in utils_db_order_ads.Request_page.select().where(utils_db_order_ads.Request_page.request_id==e.request_id) | |
], | |
} | |
for e in L_request] | |
L_request = L_request[::-1] | |
L_request_canceled = list(filter(lambda x:x['status']==4,L_request)) | |
L_request_not_canceled = list(filter(lambda x:x['status']!=4,L_request)) | |
L_request = L_request_not_canceled + L_request_canceled | |
# loai bo kh tu chay | |
L_request = [e for e in L_request if e['order_code']!='KHTC'] | |
utils_db_order_ads.db.close() | |
return L_request |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment