20251209
This commit is contained in:
@@ -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)
|
||||
}
|
||||
Reference in New Issue
Block a user