async def RebateSearch(ns={}): """ :param ns: :return: """ if not ns: return { "status": False, "msg": "rebate data is empty, please check" } db = DBPools() async with db.sqlorContext('kboss') as sor: try: ns['del_flg'] = '0' if ns.get('resellerid') and ns.get('productid'): ns['sort'] = 'start_date' time_res = await sor.R('rp_rebate_ctl', ns) return { 'status': True, 'msg': 'rebate time search success', 'data': time_res } elif ns.get('rebateid'): res = {} ns['sort'] = 'sale_amount' rebate_res_li = await sor.R('rp_rebate', ns) for rebate_res in rebate_res_li: rebate_res['rebate_table_id'] = rebate_res['id'] rebate_cycle = rebate_res.get('rebate_cycle') if rebate_cycle in list(res.keys()): res[rebate_cycle].append(rebate_res) else: res[rebate_cycle] = [rebate_res] return { 'status': True, 'msg': 'rebate search success', 'data': res } except Exception as e: raise e return { 'status': False, 'msg': 'rebate search failed' } ret = await RebateSearch(params_kw) return ret