From c99ba5cba0b1f209f94ca6ce8ea96b2f26927a07 Mon Sep 17 00:00:00 2001 From: lin <550210817@qq.com> Date: Mon, 22 Apr 2024 17:00:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E5=A5=BD=E5=8F=8B=E6=9D=A1=E4=BB=B6=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- service/friend_service.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/service/friend_service.go b/service/friend_service.go index b98496e..992a373 100644 --- a/service/friend_service.go +++ b/service/friend_service.go @@ -339,13 +339,21 @@ func DeleteFriendService(uid int64, deleteFriendReq req.DeleteFriendReq) (resp.R contact := global.Query.Contact contactTx := tx.Contact.WithContext(ctx) - if _, err := contactTx.Where(contact.RoomID.Eq(roomFriendR.RoomID)).Delete(); err != nil { + resultInfo, err := contactTx.Where(contact.RoomID.Eq(roomFriendR.RoomID)).Delete() + if err != nil { if err := tx.Rollback(); err != nil { global.Logger.Errorf("事务回滚失败 %s", err.Error()) } global.Logger.Errorf("删除会话失败 %s", err.Error()) return resp.ErrorResponseData("删除好友失败"), errors.New("Business Error") } + if resultInfo.RowsAffected == 0 { + if err := tx.Rollback(); err != nil { + global.Logger.Errorf("事务回滚失败 %s", err.Error()) + } + global.Logger.Errorf("会话不存在 %d", roomFriendR.RoomID) + return resp.ErrorResponseData("删除好友失败"), errors.New("Business Error") + } // TODO:删除缓存 // 发送消息