|
@@ -250,40 +250,16 @@ func (s *SecondPush) SecondPushTask() {
|
|
|
// 根据id进行去重
|
|
|
if _, ok := idMap[l["_id"].(bson.ObjectId)]; !ok {
|
|
|
idMap[l["_id"].(bson.ObjectId)] = true
|
|
|
- // 项目匹配为"1" 以及项目id为空时进行项目id匹配 同时更新数据库项目id
|
|
|
+ // 项目匹配为"1" 以及项目id为空时进行项目id匹配 同时更新数据库
|
|
|
if projectIdSearch == "1" && (l["projectId"] == "" || l["projectId"] == nil) {
|
|
|
- _projectid := ""
|
|
|
- projectId := GetProjectId(qu.ObjToString(l["id"]))
|
|
|
- if projectId != "" {
|
|
|
- l["projectId"] = SE.EncodeString(projectId)
|
|
|
- _projectid = SE.EncodeString(projectId)
|
|
|
- } else {
|
|
|
- l["projectId"] = ""
|
|
|
- _projectid = ""
|
|
|
- }
|
|
|
- updateMap = append(updateMap, []map[string]interface{}{
|
|
|
- map[string]interface{}{
|
|
|
- "_id": l["_id"],
|
|
|
- },
|
|
|
- map[string]interface{}{
|
|
|
- "$set": map[string]interface{}{
|
|
|
- "projectId": _projectid,
|
|
|
- },
|
|
|
- },
|
|
|
- })
|
|
|
- if len(updateMap) > 500 {
|
|
|
- b := MgoCus.UpdateBulk("usermail", updateMap...)
|
|
|
- log.Println("更新是否成功", b)
|
|
|
- updateMap = [][]map[string]interface{}{}
|
|
|
- }
|
|
|
-
|
|
|
+ updateMap = searchProjectId(l, updateMap)
|
|
|
}
|
|
|
xlsxArr = append(xlsxArr, l)
|
|
|
}
|
|
|
}
|
|
|
if len(updateMap) > 0 {
|
|
|
b := MgoCus.UpdateBulk("usermail", updateMap...)
|
|
|
- log.Println("更新是否成功", b)
|
|
|
+ log.Println("项目id更新是否成功", b)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -300,36 +276,13 @@ func (s *SecondPush) SecondPushTask() {
|
|
|
for _, l := range *d {
|
|
|
// 项目匹配为"1" 以及项目id为空时进行项目id匹配 同时更新数据库
|
|
|
if projectIdSearch == "1" && (l["projectId"] == "" || l["projectId"] == nil) {
|
|
|
- _projectid := ""
|
|
|
- projectId := GetProjectId(qu.ObjToString(l["id"]))
|
|
|
- if projectId != "" {
|
|
|
- l["projectId"] = SE.EncodeString(projectId)
|
|
|
- _projectid = SE.EncodeString(projectId)
|
|
|
- } else {
|
|
|
- l["projectId"] = ""
|
|
|
- _projectid = ""
|
|
|
- }
|
|
|
- updateMap = append(updateMap, []map[string]interface{}{
|
|
|
- map[string]interface{}{
|
|
|
- "_id": l["_id"],
|
|
|
- },
|
|
|
- map[string]interface{}{
|
|
|
- "$set": map[string]interface{}{
|
|
|
- "projectId": _projectid,
|
|
|
- },
|
|
|
- },
|
|
|
- })
|
|
|
- if len(updateMap) > 500 {
|
|
|
- b := MgoCus.UpdateBulk("usermail", updateMap...)
|
|
|
- log.Println("更新是否成功", b)
|
|
|
- updateMap = [][]map[string]interface{}{}
|
|
|
- }
|
|
|
+ updateMap = searchProjectId(l, updateMap)
|
|
|
}
|
|
|
xlsxArr = append(xlsxArr, l)
|
|
|
}
|
|
|
if len(updateMap) > 0 {
|
|
|
b := MgoCus.UpdateBulk("usermail", updateMap...)
|
|
|
- log.Println("更新是否成功", b)
|
|
|
+ log.Println("项目id更新是否成功", b)
|
|
|
}
|
|
|
}
|
|
|
if len(xlsxArr) == 0 {
|
|
@@ -351,6 +304,34 @@ func (s *SecondPush) SecondPushTask() {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+func searchProjectId(l map[string]interface{}, updateMap [][]map[string]interface{}) [][]map[string]interface{} {
|
|
|
+ _projectid := ""
|
|
|
+ projectId := GetProjectId(qu.ObjToString(l["id"]))
|
|
|
+ if projectId != "" {
|
|
|
+ l["projectId"] = projectId
|
|
|
+ _projectid = projectId
|
|
|
+ } else {
|
|
|
+ l["projectId"] = ""
|
|
|
+ _projectid = ""
|
|
|
+ log.Println(l["id"], "未匹配到项目id")
|
|
|
+ }
|
|
|
+ updateMap = append(updateMap, []map[string]interface{}{
|
|
|
+ map[string]interface{}{
|
|
|
+ "_id": l["_id"],
|
|
|
+ },
|
|
|
+ map[string]interface{}{
|
|
|
+ "$set": map[string]interface{}{
|
|
|
+ "projectId": _projectid,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ })
|
|
|
+ if len(updateMap) > 500 {
|
|
|
+ b := MgoCus.UpdateBulk("usermail", updateMap...)
|
|
|
+ log.Println("项目id更新是否成功", b)
|
|
|
+ updateMap = [][]map[string]interface{}{}
|
|
|
+ }
|
|
|
+ return updateMap
|
|
|
+}
|
|
|
func GetProjectId(id string) string {
|
|
|
query := `{"query": {"bool": {"must": [{"term": {"projectset.ids": "%s"}}],"must_not": [],"should": []}}}`
|
|
|
querys := fmt.Sprintf(query, id)
|
|
@@ -360,10 +341,9 @@ func GetProjectId(id string) string {
|
|
|
if data != nil && *data != nil && len(*data) > 0 {
|
|
|
for _, v := range *data {
|
|
|
projectIdArr = append(projectIdArr, qu.ObjToString(v["_id"]))
|
|
|
-
|
|
|
}
|
|
|
projectId = strings.Join(projectIdArr, ",")
|
|
|
- log.Println("projectId", projectId)
|
|
|
+ log.Println("id", id, "projectId", projectId)
|
|
|
}
|
|
|
return projectId
|
|
|
}
|