聊天模块修改&聊天群组模块&用户好友关模块系完善
This commit is contained in:
156
acquaintances/biz/handler/user/chat_group_service.go
Normal file
156
acquaintances/biz/handler/user/chat_group_service.go
Normal file
@@ -0,0 +1,156 @@
|
||||
// Code generated by hertz generator.
|
||||
|
||||
package user
|
||||
|
||||
import (
|
||||
"acquaintances/biz/dal/mysql"
|
||||
"acquaintances/biz/utils"
|
||||
"context"
|
||||
|
||||
user "acquaintances/biz/model/user"
|
||||
"github.com/cloudwego/hertz/pkg/app"
|
||||
"github.com/cloudwego/hertz/pkg/protocol/consts"
|
||||
)
|
||||
|
||||
// CreateChatGroup .
|
||||
// @router /v1/cg/ [POST]
|
||||
func CreateChatGroup(ctx context.Context, c *app.RequestContext) {
|
||||
var err error
|
||||
var req user.CreateChatGroupReq
|
||||
err = c.BindAndValidate(&req)
|
||||
if err != nil {
|
||||
c.JSON(consts.StatusBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
data := &user.ChatGroupInfo{ChatGroupID: utils.GenerateChatGroupID(), ChatGroupName: req.ChatGroupName}
|
||||
err = mysql.CreateChatGroupInfo(req.UserID, data)
|
||||
if err != nil {
|
||||
c.JSON(consts.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
resp := new(user.CreateChatGroupRes)
|
||||
|
||||
c.JSON(consts.StatusOK, resp)
|
||||
}
|
||||
|
||||
// DeleteChatGroup .
|
||||
// @router /v1/cg/ [DELETE]
|
||||
func DeleteChatGroup(ctx context.Context, c *app.RequestContext) {
|
||||
var err error
|
||||
var req user.DeleteChatGroupReq
|
||||
err = c.BindAndValidate(&req)
|
||||
if err != nil {
|
||||
c.JSON(consts.StatusBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
err = mysql.DeleteChatGroupInfo(req.ChatGroupID, req.UserID)
|
||||
if err != nil {
|
||||
c.JSON(consts.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
resp := new(user.DeleteChatGroupRes)
|
||||
|
||||
c.JSON(consts.StatusOK, resp)
|
||||
}
|
||||
|
||||
// UpdateChatGroup .
|
||||
// @router /v1/cg/ [PUT]
|
||||
func UpdateChatGroup(ctx context.Context, c *app.RequestContext) {
|
||||
var err error
|
||||
var req user.UpdateChatGroupReq
|
||||
err = c.BindAndValidate(&req)
|
||||
if err != nil {
|
||||
c.JSON(consts.StatusBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
err = mysql.UpdatesChatGroupInfo(&req)
|
||||
if err != nil {
|
||||
c.JSON(consts.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
resp := new(user.UpdateChatGroupRes)
|
||||
|
||||
c.JSON(consts.StatusOK, resp)
|
||||
}
|
||||
|
||||
// ListChatGroupByUser .
|
||||
// @router /v1/cg/ [GET]
|
||||
func ListChatGroupByUser(ctx context.Context, c *app.RequestContext) {
|
||||
var err error
|
||||
var req user.ListChatGroupByUserReq
|
||||
err = c.BindAndValidate(&req)
|
||||
if err != nil {
|
||||
c.JSON(consts.StatusBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
data, err := mysql.GetChatGroupListByUser(&req)
|
||||
if err != nil {
|
||||
c.JSON(consts.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
resp := new(user.ListChatGroupByUserRes)
|
||||
resp.ChatGroups = data
|
||||
resp.Total = int64(len(data))
|
||||
c.JSON(consts.StatusOK, resp)
|
||||
}
|
||||
|
||||
// ListUserChatGroup .
|
||||
// @router /v1/cg/users/ [GET]
|
||||
func ListUserChatGroup(ctx context.Context, c *app.RequestContext) {
|
||||
var err error
|
||||
var req user.ListUserChatGroupReq
|
||||
err = c.BindAndValidate(&req)
|
||||
if err != nil {
|
||||
c.JSON(consts.StatusBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
data, err := mysql.GetUserListByChatGroup(&req)
|
||||
if err != nil {
|
||||
c.JSON(consts.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
resp := new(user.ListUserChatGroupRes)
|
||||
resp.Users = data
|
||||
resp.Total = int64(len(data))
|
||||
c.JSON(consts.StatusOK, resp)
|
||||
}
|
||||
|
||||
// JoinChatGroup .
|
||||
// @router /v1/cg/join/ [POST]
|
||||
func JoinChatGroup(ctx context.Context, c *app.RequestContext) {
|
||||
var err error
|
||||
var req user.JoinChatGroupReq
|
||||
err = c.BindAndValidate(&req)
|
||||
if err != nil {
|
||||
c.JSON(consts.StatusBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
err = mysql.JoinChatGroup(&req)
|
||||
if err != nil {
|
||||
c.JSON(consts.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
resp := new(user.JoinChatGroupRes)
|
||||
|
||||
c.JSON(consts.StatusOK, resp)
|
||||
}
|
||||
|
||||
// ExitChatGroup .
|
||||
// @router /v1/cg/exit/ [POST]
|
||||
func ExitChatGroup(ctx context.Context, c *app.RequestContext) {
|
||||
var err error
|
||||
var req user.ExitChatGroupReq
|
||||
err = c.BindAndValidate(&req)
|
||||
if err != nil {
|
||||
c.JSON(consts.StatusBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
err = mysql.ExitChatGroup(&req)
|
||||
if err != nil {
|
||||
c.JSON(consts.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
resp := new(user.ExitChatGroupRes)
|
||||
|
||||
c.JSON(consts.StatusOK, resp)
|
||||
}
|
@@ -0,0 +1,70 @@
|
||||
// Code generated by hertz generator.
|
||||
|
||||
package user
|
||||
|
||||
import (
|
||||
"acquaintances/biz/dal/mysql"
|
||||
"acquaintances/biz/model"
|
||||
"context"
|
||||
|
||||
user "acquaintances/biz/model/user"
|
||||
"github.com/cloudwego/hertz/pkg/app"
|
||||
"github.com/cloudwego/hertz/pkg/protocol/consts"
|
||||
)
|
||||
|
||||
// CreateFriendRelationship .
|
||||
// @router /v1/user/friendRelationship/ [POST]
|
||||
func CreateFriendRelationship(ctx context.Context, c *app.RequestContext) {
|
||||
var err error
|
||||
var req user.CreateFriendRelationshipReq
|
||||
err = c.BindAndValidate(&req)
|
||||
if err != nil {
|
||||
c.String(consts.StatusBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
err = mysql.CreateFriendApplication(req.ApplicantID, req.TargetUserID, req.ApplicationMessage)
|
||||
if err != nil {
|
||||
c.String(consts.StatusBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
resp := new(user.CreateFriendRelationshipRes)
|
||||
|
||||
c.JSON(consts.StatusOK, resp)
|
||||
}
|
||||
|
||||
// UpdateFriendRelationship .
|
||||
// @router /v1/user/friendRelationship/ [PUT]
|
||||
func UpdateFriendRelationship(ctx context.Context, c *app.RequestContext) {
|
||||
var err error
|
||||
var req user.UpdateFriendRelationshipReq
|
||||
err = c.BindAndValidate(&req)
|
||||
if err != nil {
|
||||
c.String(consts.StatusBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
resp := new(user.UpdateFriendRelationshipRes)
|
||||
|
||||
c.JSON(consts.StatusOK, resp)
|
||||
}
|
||||
|
||||
// ListFriendRelationship .
|
||||
// @router /v1/user/friendRelationship/ [GET]
|
||||
func ListFriendRelationship(ctx context.Context, c *app.RequestContext) {
|
||||
var err error
|
||||
var req user.ListFriendRelationshipReq
|
||||
err = c.BindAndValidate(&req)
|
||||
if err != nil {
|
||||
c.String(consts.StatusBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
data, err := mysql.GetApplications(req, model.ApplicationPending, model.ApplicationAccepted, model.ApplicationRejected)
|
||||
if err != nil {
|
||||
c.String(consts.StatusBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
resp := new(user.ListFriendRelationshipRes)
|
||||
resp.FriendRelationshipInfos = data
|
||||
resp.Total = int64(len(data))
|
||||
c.JSON(consts.StatusOK, resp)
|
||||
}
|
Reference in New Issue
Block a user