async def resellerRebateOldSearch(ns={}): if not ns: return { "status": False, "msg": "reseller rebate failed, user id is empty", } db = DBPools() async with db.sqlorContext('kboss') as sor: try: if ns.get('resellerid') and ns.get('productid'): rebate_sql = """SELECT tl.*, te.rebate_cycle, te.sale_amount, te.rebate_rate from rp_rebate_ctl as tl LEFT join rp_rebate as te on tl.rebateid=te.rebateid WHERE resellerid = '%s' and productid = '%s' and tl.del_flg='0' order by tl.start_date desc;""" % (ns.get('resellerid'), ns.get('productid')) res = await sor.sqlExe(rebate_sql, {}) result = [] exist_id = [] for item in res: sdate = item.get('start_date') if not sdate in exist_id: exist_id.append(sdate) data = { 'id': item.get('id'), 'rebateid': item.get('rebateid'), 'start_date': sdate, 'end_date': item.get('end_date') } result.append(data) return { 'status': True, 'msg': 'reseller rebate search success', 'data': result } else: ns['del_flg'] = '0' result = await sor.R('rp_rebate', ns) return { 'status': True, 'msg': 'reseller rebate search success', 'data': result } except Exception as e: return { 'status': False, 'msg': 'reseller rebate search failed', 'err_msg': e } ret = await resellerRebateOldSearch(params_kw) return ret