|
|
package DictDao
|
|
|
|
|
|
import (
|
|
|
"dsBigData/Business/Dict/DictModel"
|
|
|
"dsBigData/Utils/CommonUtil"
|
|
|
"dsBigData/Utils/EsUtil"
|
|
|
"encoding/json"
|
|
|
"github.com/olivere/elastic/v7"
|
|
|
"github.com/tidwall/gjson"
|
|
|
)
|
|
|
|
|
|
var esClient = EsUtil.EsClient
|
|
|
var CTX = EsUtil.CTX
|
|
|
|
|
|
/**
|
|
|
功能:获取办学类型
|
|
|
作者:吴缤
|
|
|
日期:2020-07-01
|
|
|
*/
|
|
|
func GetSchoolTypeInfo(dictKind string) ([]DictModel.Dict, error) {
|
|
|
enableFlagTerm := elastic.NewTermQuery("enable_flag", 1)
|
|
|
delFlagTerm := elastic.NewTermQuery("del_flag", 0)
|
|
|
dictKindTerm := elastic.NewTermQuery("data_content.dict_kind", dictKind)
|
|
|
bUseTerm := elastic.NewTermQuery("data_content.b_use", "1")
|
|
|
|
|
|
boolQuery := elastic.NewBoolQuery().Must(enableFlagTerm, delFlagTerm, dictKindTerm, bUseTerm)
|
|
|
|
|
|
result, err := esClient.Search().
|
|
|
Index("sys_dic").
|
|
|
Query(boolQuery).
|
|
|
Size(100).
|
|
|
Do(CTX)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
resByte, err := json.Marshal(result.Hits)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
var dictArr []DictModel.Dict
|
|
|
resStr := string(resByte)
|
|
|
resCount := gjson.Get(resStr, "total.value")
|
|
|
for i := 0; i < int(resCount.Num); i++ {
|
|
|
var dict DictModel.Dict
|
|
|
dict.DictCode = gjson.Get(resStr, "hits."+CommonUtil.ConvertIntToString(i)+"._source.data_content.dict_code").Str
|
|
|
dict.DictValue = gjson.Get(resStr, "hits."+CommonUtil.ConvertIntToString(i)+"._source.data_content.dict_value").Str
|
|
|
dictArr = append(dictArr, dict)
|
|
|
}
|
|
|
return dictArr, nil
|
|
|
}
|