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

58 lines
2.1 KiB
Plaintext

async def RebateDelete(ns={}):
"""
reseller rebate delete
id *
:param ns:
:return:
"""
db = DBPools()
async with db.sqlorContext('kboss') as sor:
try:
if ns.get('rebatectl_id'):
# 根据id查找对应字段具体内容
ctl_res_li = await sor.R('rp_rebate_ctl', {'id': ns.get('rebatectl_id')})
ctl_res = ctl_res_li[0]
# 获取rebateid 把 rebate 中对应字段删除
rebateid = ctl_res.get('rebateid')
rebate_del_sql = """update rp_rebate set del_flg = '1' where rebateid = '%s';""" % rebateid
await sor.sqlExe(rebate_del_sql, {})
await sor.U('rp_rebate_ctl', {'id': ns.get('rebatectl_id'), 'del_flg': '1'})
# 找到对应end_date的那一条数据并更新 end_date
ctl_find = {
'resellerid': ctl_res.get('resellerid'),
'productid': ctl_res.get('productid'),
'end_date': ctl_res.get('start_date')
}
ctl_data_li = await sor.R('rp_rebate_ctl', ctl_find)
if ctl_data_li:
ctl_data = ctl_data_li[0]
ctl_up = {
'id': ctl_data.get('id'),
'end_date': ctl_res.get('end_date')
}
await sor.U('rp_rebate_ctl', ctl_up)
return {
'status': True,
'msg': 'delete rebate success'
}
elif ns.get('rebate_table_id'):
nss = {
'id': ns.get('rebate_table_id'),
'del_flg': '1'
}
await sor.U('rp_rebate', nss)
return {
'status': True,
'msg': 'rebate delete success'
}
except Exception as e:
return {
'status': False,
'err_msg': e
}
ret = await RebateDelete(params_kw)
return ret