This commit is contained in:
12600k-rog-d4
2025-12-09 20:33:57 +08:00
parent 144ed3cbdf
commit 8f4d399cfd
1498 changed files with 3778 additions and 3654 deletions

View File

@@ -0,0 +1,89 @@
package api
import (
"bbs-go/internal/models/constants"
"bbs-go/internal/pkg/errs"
"bbs-go/internal/services"
"github.com/kataras/iris/v12"
"github.com/mlogclub/simple/common/strs"
"github.com/mlogclub/simple/web"
"github.com/mlogclub/simple/web/params"
)
type LikeController struct {
Ctx iris.Context
}
func (c *LikeController) PostLike() *web.JsonResult {
var (
entityType = params.FormValue(c.Ctx, "entityType")
entityId = params.FormValueInt64Default(c.Ctx, "entityId", 0)
user = services.UserTokenService.GetCurrent(c.Ctx)
err error
)
if user == nil {
return web.JsonError(errs.NotLogin)
}
if entityType == constants.EntityTopic {
err = services.UserLikeService.TopicLike(user.Id, entityId)
} else if entityType == constants.EntityArticle {
err = services.UserLikeService.ArticleLike(user.Id, entityId)
} else if entityType == constants.EntityComment {
err = services.UserLikeService.CommentLike(user.Id, entityId)
}
if err != nil {
return web.JsonError(err)
}
return web.JsonSuccess()
}
func (c *LikeController) PostUnlike() *web.JsonResult {
var (
entityType = params.FormValue(c.Ctx, "entityType")
entityId = params.FormValueInt64Default(c.Ctx, "entityId", 0)
user = services.UserTokenService.GetCurrent(c.Ctx)
err error
)
if user == nil {
return web.JsonError(errs.NotLogin)
}
if entityType == constants.EntityTopic {
err = services.UserLikeService.TopicUnLike(user.Id, entityId)
} else if entityType == constants.EntityArticle {
err = services.UserLikeService.ArticleUnLike(user.Id, entityId)
} else if entityType == constants.EntityComment {
err = services.UserLikeService.CommentUnLike(user.Id, entityId)
}
if err != nil {
return web.JsonError(err)
}
return web.JsonSuccess()
}
func (c *LikeController) GetLiked_ids() *web.JsonResult {
var (
user = services.UserTokenService.GetCurrent(c.Ctx)
entityType = params.FormValue(c.Ctx, "entityType")
entityIds = params.FormValueInt64Array(c.Ctx, "entityIds")
likedEntityIds []int64
)
if user != nil {
likedEntityIds = services.UserLikeService.IsLiked(user.Id, entityType, entityIds)
}
return web.JsonData(likedEntityIds)
}
func (c *LikeController) GetLiked() *web.JsonResult {
var (
user = services.UserTokenService.GetCurrent(c.Ctx)
entityType = params.FormValue(c.Ctx, "entityType")
entityId = params.FormValueInt64Default(c.Ctx, "entityId", 0)
)
if user == nil || strs.IsBlank(entityType) || entityId <= 0 {
return web.JsonData(false)
} else {
liked := services.UserLikeService.Exists(user.Id, entityType, entityId)
return web.JsonData(liked)
}
}