501 lines
12 KiB
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)
|
|
}
|