catface_backend_go/app/http/controller/web/search_controller.go

41 lines
923 B
Go
Raw Normal View History

2024-11-12 16:39:06 +08:00
package web
import (
"catface/app/global/consts"
"catface/app/model"
"catface/app/model_es"
"catface/app/utils/response"
"github.com/gin-gonic/gin"
)
type Search struct {
}
/**
* @description: 全局搜索AnmName + Encounter
* @param {*gin.Context} context
* @return {*}
*/
func (s *Search) SearchAll(context *gin.Context) {
query := context.GetString(consts.ValidatorPrefix + "query")
var animals []model.Animal
var encounters []model.Encounter
// 1. Animal Name // TODO 增加字段的过滤,看前端了。
animals = model.CreateAnimalFactory("").ShowByName(query)
// 2. Encounter
encounterIds, _ := model_es.CreateEncounterESFactory(nil).QueryDocumentsMatchAll(query)
if len(encounterIds) > 0 {
encounters = model.CreateEncounterFactory("").ShowByIDs(encounterIds)
}
response.Success(context, consts.CurdStatusOkMsg, gin.H{
"animals": animals,
"encounters": encounters,
})
}