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