Explorar o código

2.5 loadData修改

Jianghan %!s(int64=5) %!d(string=hai) anos
pai
achega
ce2c782710
Modificáronse 1 ficheiros con 22 adicións e 9 borrados
  1. 22 9
      fullproject/src_v1/load_data.go

+ 22 - 9
fullproject/src_v1/load_data.go

@@ -3,6 +3,7 @@ package main
 import (
 	"encoding/json"
 	"log"
+	"qfw/util"
 	"time"
 )
 
@@ -84,15 +85,7 @@ func (p *ProjectTask) loadData(starttime int64) {
 				bys, _ := json.Marshal(result)
 				var tmp *ProjectInfo
 				_ = json.Unmarshal(bys, &tmp)
-				tmpMap := make(map[string]InfoField)
-				infoMap := result["infofield"].(map[string]interface{})
-				for _, v := range infoMap{
-					var field InfoField
-					b, _ := json.Marshal(v)
-					_ = json.Unmarshal(b, &field)
-					tmpMap[tmp.Id.Hex()] = field
-				}
-				tmp.InfoFiled = tmpMap
+				saveData(p, result, tmp)
 				pool <- tmp
 			}(result)
 		} else {
@@ -148,3 +141,23 @@ func (p *ProjectTask) loadSite() {
 	log.Println("load site over..", n)
 
 }
+
+func saveData(p *ProjectTask, res map[string]interface{}, tmp *ProjectInfo) {
+	if jsonData, ok := res["jsondata"].(map[string]interface{}); ok {
+		proHref := util.ObjToString(jsonData["projecthref"])
+		if jsonData != nil && proHref != "" {
+			p.mapHrefLock.Lock()
+			p.mapHref[proHref] = tmp.Id.Hex()
+			p.mapHrefLock.Unlock()
+		}
+	}
+	tmpMap := make(map[string]InfoField)
+	infoMap := res["infofield"].(map[string]interface{})
+	for _, v := range infoMap{
+		var field InfoField
+		b, _ := json.Marshal(v)
+		_ = json.Unmarshal(b, &field)
+		tmpMap[tmp.Id.Hex()] = field
+	}
+	tmp.InfoFiled = tmpMap
+}