49 lines
1.9 KiB
Plaintext
49 lines
1.9 KiB
Plaintext
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 |