|
@@ -1,14 +1,17 @@
|
|
package main
|
|
package main
|
|
|
|
|
|
import (
|
|
import (
|
|
- "github.com/donnie4w/go-logger/logger"
|
|
|
|
- "go.mongodb.org/mongo-driver/bson/primitive"
|
|
|
|
- "gopkg.in/mgo.v2/bson"
|
|
|
|
|
|
+ "fmt"
|
|
"log"
|
|
"log"
|
|
qu "qfw/util"
|
|
qu "qfw/util"
|
|
"regexp"
|
|
"regexp"
|
|
"strings"
|
|
"strings"
|
|
|
|
+ "sync"
|
|
"time"
|
|
"time"
|
|
|
|
+
|
|
|
|
+ "github.com/donnie4w/go-logger/logger"
|
|
|
|
+ "go.mongodb.org/mongo-driver/bson/primitive"
|
|
|
|
+ "gopkg.in/mgo.v2/bson"
|
|
)
|
|
)
|
|
|
|
|
|
var LetterCase = regexp.MustCompile("[A-Za-z]")
|
|
var LetterCase = regexp.MustCompile("[A-Za-z]")
|
|
@@ -438,7 +441,7 @@ func MergeField(str1, str2 string) string {
|
|
}
|
|
}
|
|
|
|
|
|
//补充信息并保存
|
|
//补充信息并保存
|
|
-func AssembelSave(tmp map[string]interface{}, IsSearchHosp, IsSearchEnps bool) {
|
|
|
|
|
|
+func AssembelSave(tmp map[string]interface{}, IsSearchHosp, IsSearchEnps bool, appid string) bool {
|
|
if IsSearchHosp { //医院信息
|
|
if IsSearchHosp { //医院信息
|
|
SearchHospInfo(tmp)
|
|
SearchHospInfo(tmp)
|
|
}
|
|
}
|
|
@@ -454,7 +457,21 @@ func AssembelSave(tmp map[string]interface{}, IsSearchHosp, IsSearchEnps bool) {
|
|
if bidopentime, ok := tmp["bidopentime"].(float64); ok && bidopentime > 0 {
|
|
if bidopentime, ok := tmp["bidopentime"].(float64); ok && bidopentime > 0 {
|
|
tmp["bidopentime"] = qu.Int64All(bidopentime)
|
|
tmp["bidopentime"] = qu.Int64All(bidopentime)
|
|
}
|
|
}
|
|
|
|
+ //
|
|
|
|
+ if appid == "jyOh1XQgUJBQ5bTUlKCyZ1" {
|
|
|
|
+ projectId := GetProjectId(id)
|
|
|
|
+ if projectId != "" {
|
|
|
|
+ tmp["projectId"] = projectId
|
|
|
|
+ if _, ok := projectIdMap.Load(projectId); ok {
|
|
|
|
+ MgoSave.Save(SaveCollProject, tmp)
|
|
|
|
+ return false
|
|
|
|
+ }
|
|
|
|
+ projectIdMap.Store(projectId, true)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //
|
|
MgoSaveCache <- tmp
|
|
MgoSaveCache <- tmp
|
|
|
|
+ return true
|
|
}
|
|
}
|
|
|
|
|
|
//查询第三方医院等级信息和招标客户的社会征信代码
|
|
//查询第三方医院等级信息和招标客户的社会征信代码
|
|
@@ -753,8 +770,42 @@ func RegMatchTest(fieldText map[string]interface{}, matchType []string, matchReg
|
|
//发布时间不在范围内(7天)不要这条数据
|
|
//发布时间不在范围内(7天)不要这条数据
|
|
func SkipData(tmp map[string]interface{}) bool {
|
|
func SkipData(tmp map[string]interface{}) bool {
|
|
comeIn := qu.Int64All(tmp["comeintime"])
|
|
comeIn := qu.Int64All(tmp["comeintime"])
|
|
- if qu.Int64All(tmp["publishtime"]) > (comeIn - 7*24*60*60 ) {
|
|
|
|
|
|
+ if qu.Int64All(tmp["publishtime"]) > (comeIn - 7*24*60*60) {
|
|
return true
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
return false
|
|
-}
|
|
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func GetProjectId(id string) string {
|
|
|
|
+ query := `{"query": {"bool": {"must": [{"term": {"projectset.ids": "%s"}}],"must_not": [],"should": []}},"size": 1}`
|
|
|
|
+ querys := fmt.Sprintf(query, id)
|
|
|
|
+ projectId := ""
|
|
|
|
+ data := Es.Get("projectset", "projectset", querys)
|
|
|
|
+ if data != nil && *data != nil {
|
|
|
|
+ projectId = qu.ObjToString((*data)[0]["id"])
|
|
|
|
+ }
|
|
|
|
+ return projectId
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func InitProjectId() {
|
|
|
|
+ session := MgoSave.GetMgoConn()
|
|
|
|
+ count := 0
|
|
|
|
+ defer func() {
|
|
|
|
+ MgoSave.DestoryMongoConn(session)
|
|
|
|
+ log.Printf("本次共取到%d个projectId\n", count)
|
|
|
|
+ }()
|
|
|
|
+ save := Sysconfig["save"].(map[string]interface{})
|
|
|
|
+ query := map[string]interface{}{"appid": "jyOh1XQgUJBQ5bTUlKCyZ1"}
|
|
|
|
+ field := map[string]interface{}{"projectId": 1}
|
|
|
|
+ iter := session.DB(qu.ObjToString(save["db"])).C(SaveColl).Find(query).Select(field).Sort("_id").Iter()
|
|
|
|
+ thisData := map[string]interface{}{}
|
|
|
|
+ for {
|
|
|
|
+ if !iter.Next(&thisData) {
|
|
|
|
+ break
|
|
|
|
+ }
|
|
|
|
+ projectId := qu.ObjToString(thisData["projectId"])
|
|
|
|
+ projectIdMap.Store(projectId, true)
|
|
|
|
+ count++
|
|
|
|
+ thisData = map[string]interface{}{}
|
|
|
|
+ }
|
|
|
|
+}
|