|
@@ -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
|
|
|
+}
|