110 lines
2.6 KiB
Go
110 lines
2.6 KiB
Go
// 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/info/ [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
|
|
}
|
|
data, err := mysql.InfoUser(req.UserID)
|
|
if err != nil {
|
|
c.JSON(consts.StatusInternalServerError, err.Error())
|
|
return
|
|
}
|
|
resp := new(user.QueryUserResponse)
|
|
resp.UserInfo = data
|
|
|
|
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)
|
|
}
|