|
@@ -105,12 +105,12 @@ const (
|
|
|
)
|
|
|
|
|
|
var topType = map[string]string{
|
|
|
- "招标预告": "预告",
|
|
|
- "招标公告": "招标",
|
|
|
- "招标结果": "结果",
|
|
|
+ "招标预告": "预告",
|
|
|
+ "招标公告": "招标",
|
|
|
+ "招标结果": "结果",
|
|
|
"招标信用信息": "其它",
|
|
|
- "拟建项目": "拟建",
|
|
|
- "采购意向": "采购意向",
|
|
|
+ "拟建项目": "拟建",
|
|
|
+ "采购意向": "采购意向",
|
|
|
}
|
|
|
|
|
|
// 包含正文或 附件 不包含标题
|
|
@@ -1102,8 +1102,8 @@ func FormatExportData(entmg mg.MongodbSim, data *[]map[string]interface{}, webdo
|
|
|
qyxyEsMap := make(map[string]*map[string]interface{})
|
|
|
projectsetMap := make(map[string]bool)
|
|
|
projectsetEsMap := make(map[string]*map[string]interface{})
|
|
|
- for _, m := range *data {
|
|
|
- if dataType == "2" {
|
|
|
+ if dataType == "2" {
|
|
|
+ for _, m := range *data {
|
|
|
entidlist, ok := m["entidlist"].([]interface{})
|
|
|
if ok && len(entidlist) > 0 {
|
|
|
//var winnerMaps []map[string]interface{}
|
|
@@ -1115,58 +1115,59 @@ func FormatExportData(entmg mg.MongodbSim, data *[]map[string]interface{}, webdo
|
|
|
qyxyMap[entId] = true
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- if m["toptype"] == "结果" && dataType == "2" && !(m["agency"] != nil && m["budget"] != nil && m["buyerperson"] != nil && m["buyertel"] != nil) {
|
|
|
- projectsetMap[qutil.InterfaceToStr(m["_id"])] = true
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- if len(qyxyMap) > 0 { //查询企业
|
|
|
- var (
|
|
|
- qyxyArr []string
|
|
|
- qCount int
|
|
|
- )
|
|
|
- for s := range qyxyMap {
|
|
|
- qCount++
|
|
|
- qyxyArr = append(qyxyArr, fmt.Sprintf(`%s`, s))
|
|
|
- if len(qyxyArr) == 100 || (qCount == len(qyxyMap) && len(qyxyArr) > 0) {
|
|
|
- qyxyEsData := elastic.Get("qyxy", "qyxy", fmt.Sprintf(`{"query":{"bool":{"should":[{"terms":{"id":["%s"]}}]}},"size":%d,"_source":["company_name","company_email","company_phone","legal_person","id"]}`, strings.Join(qyxyArr, `","`), len(qyxyArr)))
|
|
|
- if qyxyEsData != nil && len(*qyxyEsData) > 0 {
|
|
|
- for _, m := range *qyxyEsData {
|
|
|
- qyxyEsMap[qutil.InterfaceToStr(m["id"])] = &m
|
|
|
+ if m["toptype"] == "结果" && !(m["agency"] != nil && m["budget"] != nil && m["buyerperson"] != nil && m["buyertel"] != nil) {
|
|
|
+ projectsetMap[qutil.InterfaceToStr(m["_id"])] = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(qyxyMap) > 0 { //查询企业
|
|
|
+ var (
|
|
|
+ qyxyArr []string
|
|
|
+ qCount int
|
|
|
+ )
|
|
|
+ for s := range qyxyMap {
|
|
|
+ qCount++
|
|
|
+ qyxyArr = append(qyxyArr, fmt.Sprintf(`%s`, s))
|
|
|
+ if len(qyxyArr) == 100 || (qCount == len(qyxyMap) && len(qyxyArr) > 0) {
|
|
|
+ qyxyEsData := elastic.Get("qyxy", "qyxy", fmt.Sprintf(`{"query":{"bool":{"should":[{"terms":{"id":["%s"]}}]}},"size":%d,"_source":["company_name","company_email","company_phone","legal_person","id"]}`, strings.Join(qyxyArr, `","`), len(qyxyArr)))
|
|
|
+ if qyxyEsData != nil && len(*qyxyEsData) > 0 {
|
|
|
+ for _, m := range *qyxyEsData {
|
|
|
+ qyxyEsMap[qutil.InterfaceToStr(m["id"])] = &m
|
|
|
+ }
|
|
|
}
|
|
|
+ qyxyArr = []string{}
|
|
|
}
|
|
|
- qyxyArr = []string{}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- if len(projectsetMap) > 0 { //查询项目
|
|
|
- var (
|
|
|
- projectsetArr []string
|
|
|
- pCount int
|
|
|
- )
|
|
|
- for s := range projectsetMap {
|
|
|
- pCount++
|
|
|
- projectsetArr = append(projectsetArr, fmt.Sprintf(`%s`, s))
|
|
|
- if len(projectsetArr) == 100 || (pCount == len(projectsetMap) && len(projectsetArr) > 0) {
|
|
|
- projectsetEsData := elastic.Get("projectset", "projectset", fmt.Sprintf(`{"query": {"bool": {"should": [{"terms": {"list.infoid": ["%s"]}}]}},"_source": ["list"],"size": %d}`, strings.Join(projectsetArr, `","`), len(projectsetArr)*3)) //查询双倍数量 避免缺失数据
|
|
|
- if projectsetEsData != nil && len(*projectsetEsData) > 0 {
|
|
|
- for _, m := range *projectsetEsData {
|
|
|
- MsgList := m["list"]
|
|
|
- if MsgList != nil {
|
|
|
- list := qutil.ObjArrToMapArr(MsgList.([]interface{}))
|
|
|
- for _, m2 := range list {
|
|
|
- if projectsetMap[qutil.InterfaceToStr(m2["infoid"])] {
|
|
|
- projectsetEsMap[qutil.InterfaceToStr(m2["infoid"])] = &m
|
|
|
+ if len(projectsetMap) > 0 { //查询项目
|
|
|
+ var (
|
|
|
+ projectsetArr []string
|
|
|
+ pCount int
|
|
|
+ )
|
|
|
+ for s := range projectsetMap {
|
|
|
+ pCount++
|
|
|
+ projectsetArr = append(projectsetArr, fmt.Sprintf(`%s`, s))
|
|
|
+ if len(projectsetArr) == 100 || (pCount == len(projectsetMap) && len(projectsetArr) > 0) {
|
|
|
+ projectsetEsData := elastic.Get("projectset", "projectset", fmt.Sprintf(`{"query": {"bool": {"should": [{"terms": {"list.infoid": ["%s"]}}]}},"_source": ["list"],"size": %d}`, strings.Join(projectsetArr, `","`), len(projectsetArr)*3)) //查询双倍数量 避免缺失数据
|
|
|
+ if projectsetEsData != nil && len(*projectsetEsData) > 0 {
|
|
|
+ for _, m := range *projectsetEsData {
|
|
|
+ MsgList := m["list"]
|
|
|
+ if MsgList != nil {
|
|
|
+ list := qutil.ObjArrToMapArr(MsgList.([]interface{}))
|
|
|
+ for _, m2 := range list {
|
|
|
+ if projectsetMap[qutil.InterfaceToStr(m2["infoid"])] {
|
|
|
+ projectsetEsMap[qutil.InterfaceToStr(m2["infoid"])] = &m
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ projectsetArr = []string{}
|
|
|
}
|
|
|
- projectsetArr = []string{}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
var entCacheMap = map[string]map[string]interface{}{}
|
|
|
pool := make(chan bool, 5)
|
|
|
wait := &sync.WaitGroup{}
|