Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@nghiahsgs
Created June 21, 2022 10:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nghiahsgs/4e26c598f163bb6a9d480e1847be04d2 to your computer and use it in GitHub Desktop.
Save nghiahsgs/4e26c598f163bb6a9d480e1847be04d2 to your computer and use it in GitHub Desktop.
@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