// Code generated by hertz generator. package user import ( "acquaintances/biz/dal/mysql" "acquaintances/biz/model" user "acquaintances/biz/model/user" "acquaintances/biz/utils" "context" "github.com/cloudwego/hertz/pkg/app" "github.com/cloudwego/hertz/pkg/common/hlog" "github.com/cloudwego/hertz/pkg/protocol/consts" "strconv" ) // UpdateUser . // @router /v1/user/update/ [PUT] func UpdateUser(ctx context.Context, c *app.RequestContext) { var err error var req user.UpdateUserRequest err = c.BindAndValidate(&req) if err != nil { c.JSON(consts.StatusBadRequest, err.Error()) return } if err = mysql.UpdatesUser(&req); err != nil { hlog.Error(err.Error()) c.JSON(consts.StatusInternalServerError, &user.CreateUserResponse{Code: user.Code_DBErr, Msg: err.Error()}) return } resp := new(user.UpdateUserResponse) c.JSON(consts.StatusOK, resp) } // DeleteUser . // @router /v1/user/delete/ [delete] func DeleteUser(ctx context.Context, c *app.RequestContext) { var err error var req user.DeleteUserRequest err = c.BindAndValidate(&req) if err != nil { c.JSON(consts.StatusBadRequest, err.Error()) return } if err = mysql.DeleteUser(req.UserID); err != nil { c.JSON(consts.StatusInternalServerError, err.Error()) return } resp := new(user.DeleteUserResponse) c.JSON(consts.StatusOK, resp) } // QueryUser . // @router /v1/user/[GET] func InfoUser(ctx context.Context, c *app.RequestContext) { var err error var req user.InfoUserRequest err = c.BindAndValidate(&req) if err != nil { c.JSON(consts.StatusBadRequest, err.Error()) return } hlog.Infof("InfoUser(%+v)", req) data, err := mysql.InfoUser(req.UserID) if err != nil { c.JSON(consts.StatusInternalServerError, err.Error()) return } resData := new(user.UserInfoReq) resData.UserName = data.UserName resData.Gender = data.Gender resData.Age = int64(data.Age) resData.Introduce = data.Introduce resData.AvatarImageURL = data.AvatarImageURL if data.Birthday != nil { resData.Birthday = data.Birthday.String() } resData.Area = int64(data.Area) resData.Mobile = data.Mobile resData.Email = data.UserEmail resData.Alias = data.Alias resData.Address = data.Address resData.UserID = data.UserID resp := new(user.QueryUserResponse) resp.UserInfo = resData c.JSON(consts.StatusOK, resp) } // CreateUser . // @router /v1/user/create/ [POST] func CreateUser(ctx context.Context, c *app.RequestContext) { var err error var req user.CreateUserRequest err = c.BindAndValidate(&req) if err != nil { c.JSON(consts.StatusBadRequest, err.Error()) return } userId, err := utils.GetID() if err != nil { c.JSON(consts.StatusInternalServerError, err.Error()) return } if err = mysql.CreateUser([]*model.User{ { UserID: strconv.FormatInt(userId, 10), UserName: req.Name, Gender: req.Gender, Age: uint8(req.Age), Mobile: req.Mobile, Area: uint8(req.Area), UserPassword: req.UserPassword, }, }); err != nil { c.JSON(consts.StatusInternalServerError, &user.CreateUserResponse{Code: user.Code_DBErr, Msg: err.Error()}) return } resp := new(user.CreateUserResponse) c.JSON(consts.StatusOK, resp) } // FindUser . // @router /v1/user/find/ [GET] func FindUser(ctx context.Context, c *app.RequestContext) { var err error var req user.FindUserRequest err = c.BindAndValidate(&req) if err != nil { c.String(consts.StatusBadRequest, err.Error()) return } data, err := mysql.FindUser(&req.Keyword) if err != nil { c.JSON(consts.StatusInternalServerError, err.Error()) return } resp := new(user.FindUserResponse) resp.UserInfo = data c.JSON(consts.StatusOK, resp) } // LoginUser . // @router /v1/user/login/ [POST] func LoginUser(ctx context.Context, c *app.RequestContext) { var err error var req user.LoginUserRequest err = c.BindAndValidate(&req) if err != nil { c.JSON(consts.StatusBadRequest, err.Error()) return } data, err := mysql.CheckLogin(req.UserName, req.Password) if err != nil { c.JSON(consts.StatusBadRequest, err.Error()) return } resp := new(user.LoginUserResponse) resData := new(user.UserInfoReq) resData.UserName = data.UserName resData.Gender = data.Gender resData.Age = int64(data.Age) resData.Introduce = data.Introduce resData.AvatarImageURL = data.AvatarImageURL if data.Birthday != nil { resData.Birthday = data.Birthday.String() } resData.Area = int64(data.Area) resData.Mobile = data.Mobile resData.Email = data.UserEmail resData.Alias = data.Alias resData.Address = data.Address resData.UserID = data.UserID resp.UserInfo = resData c.JSON(consts.StatusOK, resp) }