This commit is contained in:
awei
2025-03-03 17:43:50 +08:00
commit 113756eaae
1497 changed files with 127997 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
package api
import (
"bbs-go/internal/controllers/render"
"bbs-go/internal/models"
"bbs-go/internal/models/constants"
"bbs-go/internal/pkg/search"
"bbs-go/internal/services"
"github.com/kataras/iris/v12"
"github.com/mlogclub/simple/web"
"github.com/mlogclub/simple/web/params"
"github.com/spf13/cast"
)
type SearchController struct {
Ctx iris.Context
}
func (c *SearchController) AnyReindex() *web.JsonResult {
go services.TopicService.ScanDesc(func(topics []models.Topic) {
for _, topic := range topics {
if topic.Status != constants.StatusDeleted {
search.UpdateTopicIndex(&topic)
}
}
})
return web.JsonSuccess()
}
func (c *SearchController) GetTopic() *web.JsonResult {
var (
cursor = params.FormValueIntDefault(c.Ctx, "cursor", 1)
keyword = params.FormValue(c.Ctx, "keyword")
nodeId = params.FormValueInt64Default(c.Ctx, "nodeId", 0)
timeRange = params.FormValueIntDefault(c.Ctx, "timeRange", 0)
limit = 20
)
list, _, err := search.SearchTopic(keyword, nodeId, timeRange, cursor, limit)
if err != nil {
return web.JsonError(err)
}
return web.JsonCursorData(render.BuildSearchTopics(list), cast.ToString(cursor+1), len(list) >= limit)
}