async def favorite_delete(ns={}): """ 删除用户收藏(软删除) :param ns: 包含id或userid+productid+favorite_type参数 :return: 操作结果 """ # 处理userid if ns.get('userid'): ns['userid'] = ns.get('userid') else: ns['userid'] = await get_user() if not ns.get('userid'): server_error(401) db = DBPools() async with db.sqlorContext('kboss') as sor: try: if ns.get('id'): # 根据收藏ID删除 update_sql = """ UPDATE user_favorite SET del_flg = '1' WHERE userid = '%s' AND productid = '%s' """ % (ns.get('userid'), ns.get('id')) await sor.sqlExe(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