From fe9a0b3cafcc34627ec84470816d8bbe967b0972 Mon Sep 17 00:00:00 2001 From: junleea <354425203@qq.com> Date: Fri, 9 Aug 2024 20:52:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E8=AF=B7=E6=B1=82=E7=94=A8?= =?UTF-8?q?=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dao/im.go | 14 ++++++++++++++ handler/im.go | 10 ++++++++++ service/imService.go | 6 ++++++ 3 files changed, 30 insertions(+) diff --git a/dao/im.go b/dao/im.go index 8c37b58..588c207 100644 --- a/dao/im.go +++ b/dao/im.go @@ -195,3 +195,17 @@ func FindGroups(user_id int) []Group { DB.Debug().Raw("select groups.* from groups join group_users on groups.id = group_users.group_id where group_users.user_id = ?", user_id).Scan(&groups) return groups } + +type FriendRequest struct { + ID int `json:"id"` + IMID int `json:"im_id"` + Name string `json:"name"` + Email string `json:"email"` + Age int `json:"age"` +} + +func GetFriendRequest(user_id int) []FriendRequest { + var users []FriendRequest + DB.Debug().Raw("select users.id,users.name,users.email,users.age,messages.id as im_id from users join messages on users.id = messages.from_user_id where messages.to_user_id = ? and messages.type = ? and status = ?", user_id, proto.MSG_TYPE_FRIEND, 0).Scan(&users) + return users +} diff --git a/handler/im.go b/handler/im.go index e0cb13f..53fdd23 100644 --- a/handler/im.go +++ b/handler/im.go @@ -68,6 +68,8 @@ func SetUpIMGroup(router *gin.Engine) { imGroup.GET("/sse_msg", ServerSendMsg) imGroup.GET("/ws_v2", ServerSsendMsgV2) imGroup.POST("/get_friend_list", GetFriendList) //获取好友列表,包括群聊 + //获取好友请求 + imGroup.POST("/get_friend_request", GetFriendRequest) } func generateRandomHexString(length int) (string, error) { bytes := make([]byte, length/2) // 16字节的字符串需要32个十六进制字符,即16个字节 @@ -101,6 +103,14 @@ func GetMessage(c *gin.Context) { } } +func GetFriendRequest(c *gin.Context) { + id, _ := c.Get("id") + user_id := int(id.(float64)) + data := service.GetFriendRequest(user_id) + c.JSON(http.StatusOK, gin.H{"code": proto.SuccessCode, "data": data, "message": "success"}) + +} + func CreateGroup(c *gin.Context) { var req CGroup id, _ := c.Get("id") diff --git a/service/imService.go b/service/imService.go index 8f5ffe9..ecbce81 100644 --- a/service/imService.go +++ b/service/imService.go @@ -123,3 +123,9 @@ func GetFriendList(user_id int) FGRet { fg.Groups = groups return fg } + +func GetFriendRequest(user_id int) []dao.User { + //获取好友请求 + users := dao.GetFriendRequest(user_id) + return users +}