From 0543b82a8fb94d2744d37f93d5fe0bee47251928 Mon Sep 17 00:00:00 2001 From: junleea <354425203@qq.com> Date: Mon, 7 Oct 2024 16:35:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B7=BB=E5=8A=A0=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=91=98=E8=B8=A2=E7=BE=A4=E6=88=90=E5=91=98=E5=8A=9F?= =?UTF-8?q?=E8=83=BD,=E4=BF=AE=E6=94=B9=E8=8E=B7=E5=8F=96=E5=8A=A0?= =?UTF-8?q?=E5=85=A5=E7=BE=A4=E8=81=8A=E8=AF=B7=E6=B1=82=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dao/im.go | 2 +- handler/im.go | 46 +++++++++++++++++++++++----------------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/dao/im.go b/dao/im.go index deed105..799664a 100644 --- a/dao/im.go +++ b/dao/im.go @@ -80,7 +80,7 @@ func GetMsgGroupByIndex(group_id, index int) ([]GroupMessage, error) { func GetGroupRequestUsers(user_id int) []FriendRequest { var users []FriendRequest - DB.Debug().Raw("select id,im_id,name,email FROM (SELECT im_id,from_user_id,group_id FROM (( SELECT id as im_id,from_user_id,group_id FROM messages WHERE type=? and status=? ) as m JOIN groups as g on g.id=m.group_id ) where g.auth_id=? ) as e JOIN users as u ON e.from_user_id=u.id", proto.MSG_TYPE_GROUP_INVI, 0, user_id).Scan(&users) + DB.Debug().Raw("select id,im_id,name,email FROM (SELECT im_id,from_user_id,group_id FROM (( SELECT id as im_id,from_user_id,group_id FROM messages WHERE type=? and status=? ) as m JOIN groups as g on g.id=m.group_id ) where g.auth_id=? ) as e JOIN users as u ON e.from_user_id=u.id", proto.MSG_TYPE_GROUP_ADD, 0, user_id).Scan(&users) return users } diff --git a/handler/im.go b/handler/im.go index 31bc8f4..bb31805 100644 --- a/handler/im.go +++ b/handler/im.go @@ -160,32 +160,32 @@ func DelFriendOrGroup(c *gin.Context) { } else { c.JSON(http.StatusOK, gin.H{"error": err2.Error(), "code": proto.OperationFailed, "message": "failed"}) } + } else if req.Type == 4 { + //群管理员删除群成员 + if req.GroupID == 0 { + c.JSON(http.StatusOK, gin.H{"error": "parameter error", "code": proto.ParameterError, "message": "failed,group_id is null"}) + return + } + //获取群 + group := dao.FindGroupByID(req.GroupID) + if len(group) == 0 { + c.JSON(http.StatusOK, gin.H{"error": "parameter error", "code": proto.ParameterError, "message": "failed group not found"}) + return + } + //判断是否是群主 + if group[0].AuthID != cid { + c.JSON(http.StatusOK, gin.H{"error": "no permission", "code": proto.ParameterError, "message": "不是群主"}) + return + } + err2 := service.QuitGroupService(req.To_user_id, req.GroupID) + if err2 == nil { + c.JSON(http.StatusOK, gin.H{"code": proto.SuccessCode, "message": "success"}) + } else { + c.JSON(http.StatusOK, gin.H{"error": err2.Error(), "code": proto.OperationFailed, "message": "failed"}) + } } else { c.JSON(http.StatusOK, gin.H{"error": "parameter error", "code": proto.ParameterError, "message": "failed"}) } - } else if req.Type == 4 { - //群管理员删除群成员 - if req.GroupID == 0 { - c.JSON(http.StatusOK, gin.H{"error": "parameter error", "code": proto.ParameterError, "message": "failed,group_id is null"}) - return - } - //获取群 - group := dao.FindGroupByID(req.GroupID) - if len(group) == 0 { - c.JSON(http.StatusOK, gin.H{"error": "parameter error", "code": proto.ParameterError, "message": "failed group not found"}) - return - } - //判断是否是群主 - if group[0].AuthID != cid { - c.JSON(http.StatusOK, gin.H{"error": "no permission", "code": proto.ParameterError, "message": "不是群主"}) - return - } - err2 := service.QuitGroupService(req.To_user_id, req.GroupID) - if err2 == nil { - c.JSON(http.StatusOK, gin.H{"code": proto.SuccessCode, "message": "success"}) - } else { - c.JSON(http.StatusOK, gin.H{"error": err2.Error(), "code": proto.OperationFailed, "message": "failed"}) - } } else { c.JSON(http.StatusOK, gin.H{"error": err.Error(), "code": proto.ParameterError, "message": "failed"}) }