You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
2.3 KiB

package DatastatisticService
import (
"dsSupport/MyModel/AccessSystem/AccessSystemDao"
"dsSupport/MyModel/DataSource/DatasourceService"
"dsSupport/MyModel/MySwagger"
"dsSupport/Utils/CommonUtil"
"dsSupport/Utils/ES7Util"
"fmt"
)
// ESDataContent DataContent,定义了DataContent结构信息
type ESDataContent struct {
Address string `json:"address"` // 地址
AreaCode string `json:"area_code"` // 区域码
OrgName string `json:"org_name"` // 机构名称
}
/**
* @title GetESDocCount
* @Description 获取ES文档数量
* @Author wangshuai
* @Date 2020-09-17
* @Return bool 执行结果
* @Return string 提示信息
* @Return int ES文档数量
* @Return []map[string]interface{} ES文档集合
*/
func GetESDocCount() (bool, string, int, []map[string]interface{}) {
var datas []map[string]interface{}
var data map[string]interface{}
var count int
// 获取接入系统集合
linksystems, c, _ := AccessSystemDao.ListApp("", 1, 1000)
if c > 0 {
for _, v := range linksystems {
var num int = 0
var sw MySwagger.DatasourceSwag
sw.SystemId = v["app_code"].(string)
// 获取接入系统关联数据源
rr, _, _, datasources, _ := DatasourceService.GetDatasourceResults(sw)
if rr == true {
for _, vv := range datasources {
fmt.Println(vv["datasource_code"])
// 获取ES文档数量
result, _ := ES7Util.GetDocCount(vv["datasource_code"].(string), "", nil)
num += result
// 获取ES最新文档
_, _, esdata := ES7Util.GetLatestDoc(vv["datasource_code"].(string))
data = make(map[string]interface{})
data["uuid"] = CommonUtil.GetUUID()
data["system_name"] = v["app_name"]
data["system_id"] = v["app_id"]
data["datasource_code"] = vv["datasource_code"]
data["datasource_name"] = vv["datasource_name"]
//data["datasource_id"] = vv["id"]
data["storage_time"] = esdata.BeginTime
data["num"] = result
datas = append(datas, data)
}
}
//data = make(map[string]interface{})
//data["system_name"] = v["app_name"]
//data["system_id"] = v["app_id"]
//data["num"] = num
//datas = append(datas, data)
//fmt.Println("len(datas):", len(datas))
}
count = len(datas)
} else {
return false, "数据获取失败, 找不到系统", count, datas
}
return true, "数据获取成功", count, datas
}