Files
IUQT/weMedia/biz/handler/moment/moments_service.go

501 lines
12 KiB
Go

// Code generated by hertz generator.
package moment
import (
"context"
"weMedia/biz/dal/mysql"
weMediaUser "weMedia/biz/model/weMediaUser"
"github.com/cloudwego/hertz/pkg/app"
"github.com/cloudwego/hertz/pkg/protocol/consts"
moment "weMedia/biz/model/moment"
)
// CreateMoment .
// @router /v1/weMedia/moments/[POST]
func CreateMoment(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.CreateMomentRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
err = mysql.SaveMomentWithImages(req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(moment.CreateMomentResponse)
c.JSON(consts.StatusOK, resp)
}
// ListMoments .
// @router /v1/weMedia/moments/list/ [GET]
func ListMoments(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.ListMomentsRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
moments, total, err := mysql.ListMoments(req)
if err != nil {
return
}
resp := new(moment.ListMomentsResponse)
resp.Moments = moments
resp.Total = int32(total)
c.JSON(consts.StatusOK, resp)
}
// ListMomentsAppoint .
// @router /v1/weMedia/moments/user/list/ [GET]
func ListMomentsAppoint(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.ListMomentsAppointRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
data, total, err := mysql.GetMomentsAppoint(req)
if err != nil {
return
}
resp := new(moment.ListMomentsAppointResponse)
resp.Total = total
resp.Moments = data
c.JSON(consts.StatusOK, resp)
}
// DeleteMoment .
// @router /v1/weMedia/moments/ [DELETE]
func DeleteMoment(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.DeleteMomentRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
err = mysql.DeleteMoment(req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(moment.DeleteMomentResponse)
c.JSON(consts.StatusOK, resp)
}
// LikeMoment .
// @router /v1/weMedia/moments/like/ [POST]
func LikeMoment(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.LikeMomentRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
err = mysql.LikeMoment(req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(moment.LikeMomentResponse)
c.JSON(consts.StatusOK, resp)
}
// UnlikeMoment .
// @router /v1/weMedia/moments/dislike/ [POST]
func UnlikeMoment(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.UnlikeMomentRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
err = mysql.UnlikeMoment(req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(moment.UnlikeMomentResponse)
c.JSON(consts.StatusOK, resp)
}
// ListMomentLikes .
// @router /v1/weMedia/moments/like/list/ [GET]
func ListMomentLikes(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.ListMomentLikesRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
data, total, err := mysql.GetLikeUserList(req)
if err != nil {
return
}
userInfo, err := mysql.GetUsersById(data...)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
// 构建响应数据
response := struct {
Code int `json:"code"`
Msg string `json:"msg"`
Total int32 `json:"total"` // 总点赞数
List []*weMediaUser.UserInfoReq `json:"list"` // 当前页用户列表
}{
Total: total,
List: userInfo,
}
// 返回JSON响应
c.JSON(consts.StatusOK, response)
}
// CommentMoment .
// @router /v1/weMedia/moments/comment/ [POST]
func CommentMoment(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.CommentMomentRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
err = mysql.CommentMoment(req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(moment.CommentMomentResponse)
c.JSON(consts.StatusOK, resp)
}
// ListMomentComments .
// @router /v1/weMedia/moments/comment/list/ [GET]
func ListMomentComments(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.ListMomentCommentsRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
comments, total, err := mysql.ListMomentComments(req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(moment.ListMomentCommentsResponse)
resp.Comments = comments
resp.Total = total
c.JSON(consts.StatusOK, resp)
}
// DeleteComment .
// @router /v1/weMedia/moments/comment/ [DELETE]
func DeleteComment(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.DeleteCommentRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
err = mysql.DeleteComment(req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(moment.DeleteCommentResponse)
c.JSON(consts.StatusOK, resp)
}
// ListUserLikes .
// @router /v1/weMedia/moments/userlike/list/ [GET]
func ListUserLikes(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.ListUserLikesRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
data, total, err := mysql.GetLikesByUser(req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(moment.ListUserLikesResponse)
resp.Likes = data
resp.Total = int32(total)
c.JSON(consts.StatusOK, resp)
}
// CollectMoment .
// @router /v1/weMedia/moments/collect/ [POST]
func CollectMoment(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.CollectMomentRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
err = mysql.CollectMoment(req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(moment.CollectMomentResponse)
c.JSON(consts.StatusOK, resp)
}
// UnCollectMoment .
// @router /v1/weMedia/moments/unCollect/ [POST]
func UnCollectMoment(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.UnCollectMomentRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
err = mysql.UnCollectMoment(req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(moment.UnCollectMomentResponse)
c.JSON(consts.StatusOK, resp)
}
// ListUserCollects .
// @router /v1/weMedia/moments/userCollects/list/ [GET]
func ListUserCollects(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.ListUserCollectsRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
data, total, err := mysql.GetCollectsByUser(req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(moment.ListUserCollectsResponse)
resp.Likes = data
resp.Total = int32(total)
c.JSON(consts.StatusOK, resp)
}
// CreateTag .
// @router /v1/weMedia/moments/tag/ [POST]
func CreateTag(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.CreateTagRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
err = mysql.CreateTag(req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(moment.CreateTagResponse)
c.JSON(consts.StatusOK, resp)
}
// DeleteTag .
// @router /v1/weMedia/moments/tag/ [DELETE]
func DeleteTag(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.DeleteTagRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
err = mysql.DeleteTag(req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(moment.DeleteTagResponse)
c.JSON(consts.StatusOK, resp)
}
// ListTag .
// @router /v1/weMedia/moments/tag/ [GET]
func ListTag(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.ListTagRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
tag, total, err := mysql.ListTag(req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(moment.ListTagResponse)
resp.Tags = tag
resp.Total = int32(total)
c.JSON(consts.StatusOK, resp)
}
// FandTag .
// @router /v1/weMedia/moments/tag/find/ [GET]
func FandTag(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.FindTagRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
data, total, err := mysql.FindTag(&req.Keyword, req.Page, req.PageSize)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(moment.FindTagResponse)
resp.Tags = data
resp.Total = total
c.JSON(consts.StatusOK, resp)
}
// BindTag .
// @router /v1/weMedia/moments/tag/bind/ [POST]
func BindTag(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.BindTagRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
err = mysql.BindTag(req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(moment.BindTagResponse)
c.JSON(consts.StatusOK, resp)
}
// ListMomentsByTag .
// @router /v1/weMedia/moments/tag/list/ [GET]
func ListMomentsByTag(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.ListMomentsByTagRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
data, total, err := mysql.ListMomentsByTag(req)
if err != nil {
return
}
resp := new(moment.ListMomentsByTagResponse)
resp.Moments = data
resp.Total = total
c.JSON(consts.StatusOK, resp)
}
// ListCategory .
// @router /v1/weMedia/moments/category/ [GET]
func ListCategory(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.ListCategoryRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
category, err := mysql.ListCategory()
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(moment.ListCategoryResponse)
resp.Categorys = category
c.JSON(consts.StatusOK, resp)
}
// BindCategory .
// @router /v1/weMedia/moments/category/ [POST]
func BindCategory(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.BindCategoryRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
err = mysql.BindCategory(req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
resp := new(moment.BindCategoryResponse)
c.JSON(consts.StatusOK, resp)
}
// ListMomentsByCategory .
// @router /v1/weMedia/moments/category/list/ [GET]
func ListMomentsByCategory(ctx context.Context, c *app.RequestContext) {
var err error
var req moment.ListMomentsByCategoryRequest
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
category, tatol, err := mysql.ListMomentsByCategory(req)
if err != nil {
return
}
resp := new(moment.ListMomentsByCategoryResponse)
resp.Moments = category
resp.Total = tatol
c.JSON(consts.StatusOK, resp)
}