kboss/b/baiduc/get_local_baidu_orders.dspy
2025-07-16 14:27:17 +08:00

45 lines
2.1 KiB
Plaintext

async def get_local_baidu_orders(ns={}):
order_page_size = int(ns['pageSize']) if ns.get('pageSize') else 20
order_page_offset = (int(ns['pageNo']) - 1) * order_page_size if ns.get('pageNo') else 0
ordertype = ns.get('ordertype')
servicetype = ns.get('servicetype')
producttype = ns.get('producttype')
status = ns.get('status')
autoreneworder = ns.get('autoreneworder')
db = DBPools()
async with db.sqlorContext('kboss') as sor:
if ns.get('user_id_or_name'):
orders_find_sql = """ SELECT u.username, bs.user_id, bo.* FROM baidu_orders bo INNER JOIN baidu_users bs ON bs.baidu_id = bo.accountid INNER JOIN users u ON bs.user_id = u.id WHERE (bs.user_id = '%s' OR u.username = '%s') AND bo.del_flg = '0'""" % (ns.get('user_id_or_name'), ns.get('user_id_or_name'))
else:
orders_find_sql = """ SELECT u.username, bs.user_id, bo.* FROM baidu_orders bo INNER JOIN baidu_users bs ON bs.baidu_id = bo.accountid INNER JOIN users u ON bs.user_id = u.id WHERE bo.del_flg = '0'"""
if ordertype:
orders_find_sql += """ AND ordertype = '%s' """ % ordertype
if servicetype:
orders_find_sql += """ AND servicetype = '%s' """ % servicetype
if producttype:
orders_find_sql += """ AND producttype = '%s' """ % producttype
if status:
orders_find_sql += """ AND status = '%s' """ % status
if autoreneworder:
orders_find_sql += """ AND autoreneworder = '%s' """ % autoreneworder
count_num_li = await sor.sqlExe(orders_find_sql, {})
count_num = len(count_num_li)
orders_find_sql += """ORDER BY bo.createtime DESC LIMIT %s OFFSET %s; """ % (order_page_size, order_page_offset)
orders_find = await sor.sqlExe(orders_find_sql, {})
return {
'status': True,
'msg': 'get baidu orders success',
'data': {
'pageSize': order_page_size,
'totalCount': count_num,
'pageNo': ns['pageNo'],
'orders': orders_find
}
}
ret = await get_local_baidu_orders(params_kw)
return ret