43 lines
1.5 KiB
Plaintext
43 lines
1.5 KiB
Plaintext
async def favorite_delete(ns={}):
|
|
"""
|
|
删除用户收藏(软删除)
|
|
:param ns: 包含id或userid+productid+favorite_type参数
|
|
:return: 操作结果
|
|
"""
|
|
db = DBPools()
|
|
async with db.sqlorContext('kboss') as sor:
|
|
try:
|
|
if ns.get('id'):
|
|
# 根据收藏ID删除
|
|
update_dic = {
|
|
'id': ns.get('id'),
|
|
'del_flg': '1'
|
|
}
|
|
await sor.U('user_favorite', update_dic)
|
|
elif ns.get('userid') and ns.get('productid'):
|
|
# 根据用户ID和产品ID删除
|
|
update_sql = """
|
|
UPDATE user_favorite
|
|
SET del_flg = '1'
|
|
WHERE userid = '%s' AND productid = '%s' AND favorite_type = '%s' AND del_flg = '0'
|
|
""" % (ns.get('userid'), ns.get('productid'), ns.get('favorite_type', 'product'))
|
|
await sor.execute(update_sql)
|
|
else:
|
|
return {
|
|
'status': False,
|
|
'msg': '缺少必要参数'
|
|
}
|
|
|
|
return {
|
|
'status': True,
|
|
'msg': '取消关注收藏成功'
|
|
}
|
|
except Exception as e:
|
|
await sor.rollback()
|
|
return {
|
|
'status': False,
|
|
'msg': '取消关注收藏失败, %s' % str(e)
|
|
}
|
|
|
|
ret = await favorite_delete(params_kw)
|
|
return ret |