128 lines
4.8 KiB
Plaintext
128 lines
4.8 KiB
Plaintext
async def RebateDelete(ns={}):
|
||
"""
|
||
reseller rebate delete
|
||
id *
|
||
:param ns:
|
||
:return:
|
||
"""
|
||
# ns = {
|
||
# # 'rebatectl_id': 'yuk5Z5J4',
|
||
# 'id': 'a8eDmd63'
|
||
# }
|
||
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'
|
||
}
|
||
except Exception as e:
|
||
return {
|
||
'status': False,
|
||
'err_msg': e
|
||
}
|
||
|
||
|
||
async def resellerRebateDelete(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'
|
||
}
|
||
else:
|
||
# 把对应id删除
|
||
# ns['del_flg'] = '1'
|
||
# await sor.U('rp_rebate', ns)
|
||
|
||
# 查询所在的rebateid是否还剩一个, 删除后把ctl对应内容删除
|
||
bate_li = await sor.R('rp_rebate', ns)
|
||
rebateid = bate_li[0]['rebateid']
|
||
bete_count_li = await sor.R('rp_rebate', {'rebateid': rebateid, 'del_flg': '0'})
|
||
if len(bete_count_li) == 1:
|
||
# 此处按时间段删除
|
||
# 查找该时间段对应的ctl中的id
|
||
ctl_id_find = {
|
||
'rebateid': rebateid,
|
||
'del_flg': '0'
|
||
}
|
||
ctl_id_res = await sor.R('rp_rebate_ctl', ctl_id_find)
|
||
rd_res = await RebateDelete({'rebatectl_id': ctl_id_res[0].get('id')})
|
||
if not rd_res.get('status'):
|
||
return {
|
||
'status': False,
|
||
'msg': 'rebate only one, but ctl table delete failed'
|
||
}
|
||
ns['del_flg'] = '1'
|
||
await sor.U('rp_rebate', ns)
|
||
return {
|
||
'status': True,
|
||
'msg': 'delete rebate success'
|
||
}
|
||
except Exception as e:
|
||
raise e
|
||
return {
|
||
'status': False,
|
||
'msg': 'delete rebate failed'
|
||
}
|
||
|
||
|
||
ret = await resellerRebateDelete(params_kw)
|
||
return ret |