自媒体用户模块开发

This commit is contained in:
2025-08-07 19:26:45 +08:00
parent cbf51aca69
commit 63b9838795
10 changed files with 5904 additions and 3 deletions

View File

@@ -0,0 +1,145 @@
// Code generated by hertz generator.
package weMediaUser
import (
"context"
"github.com/cloudwego/hertz/pkg/app"
"github.com/cloudwego/hertz/pkg/protocol/consts"
"time"
"weMedia/biz/dal/mysql"
"weMedia/biz/model"
weMediaUser "weMedia/biz/model/weMediaUser"
)
// getFormattedTime 函数处理日期格式化
func getFormattedTime(birthday *time.Time) string {
if birthday == nil {
return "" // 或返回默认值,如"未设置"
}
return birthday.Format("2006-01-02 15:04:05")
}
// UpdateUser .
// @router /v1/weMedia/user/ [PUT]
func UpdateUser(ctx context.Context, c *app.RequestContext) {
var err error
var req weMediaUser.UpdateUserRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
err = mysql.UpdatesUser(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(weMediaUser.UpdateUserResponse)
c.JSON(consts.StatusOK, resp)
}
// DeleteUser .
// @router /v1/weMedia/user/ [DELETE]
func DeleteUser(ctx context.Context, c *app.RequestContext) {
var err error
var req weMediaUser.DeleteUserRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
err = mysql.DeleteUser(req.UserID)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(weMediaUser.DeleteUserResponse)
c.JSON(consts.StatusOK, resp)
}
// InfoUser .
// @router /v1/weMedia/user/ [GET]
func InfoUser(ctx context.Context, c *app.RequestContext) {
var err error
var req weMediaUser.InfoUserRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
data, err := mysql.InfoUser(req.IuqtID)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(weMediaUser.QueryUserResponse)
resp.UserInfo = &weMediaUser.UserInfoReq{
UserName: data.UserName,
Gender: weMediaUser.Gender(data.Gender),
Age: int64(data.Age),
Introduce: data.Introduce,
AvatarImageURL: data.AvatarImageURL,
Birthday: getFormattedTime(data.Birthday),
Area: int64(data.Area),
Mobile: data.Mobile,
Email: data.UserEmail,
Address: data.Address,
UserID: data.UserID,
IuqtID: data.IuqtID,
BackgroundImageURL: data.BackgroundImageURL,
}
c.JSON(consts.StatusOK, resp)
}
// CreateUser .
// @router /v1/weMedia/user/ [POST]
func CreateUser(ctx context.Context, c *app.RequestContext) {
var err error
var req weMediaUser.CreateUserRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
err = mysql.CreateUser(&model.WeMediaUser{
UserID: req.UserID,
IuqtID: "",
UserName: req.Name,
Gender: uint8(req.Gender),
Age: uint8(req.Age),
Mobile: req.Mobile,
Area: uint16(req.Area),
})
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(weMediaUser.CreateUserResponse)
c.JSON(consts.StatusOK, resp)
}
// FindUser .
// @router /v1/weMedia/user/find/ [GET]
func FindUser(ctx context.Context, c *app.RequestContext) {
var err error
var req weMediaUser.FindUserRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
data, total, err := mysql.FindUser(&req.Keyword, req.Page, req.PageSize)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(weMediaUser.FindUserResponse)
resp.Users = data
resp.Total = total
c.JSON(consts.StatusOK, resp)
}