48 lines
1.5 KiB
Plaintext
48 lines
1.5 KiB
Plaintext
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 |