41 lines
923 B
Go
41 lines
923 B
Go
|
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,
|
|||
|
})
|
|||
|
}
|