kboss/b/user/favorite_delete.dspy
2025-08-22 11:27:17 +08:00

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