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