kboss/b/product/RebateSearch.dspy
2025-07-16 14:27:17 +08:00

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