|
@@ -93,9 +93,9 @@ func processUdpMsg(act byte, data []byte, ra *net.UDPAddr) {
|
|
|
log.Println("处理查询数据...")
|
|
|
for iter.Next(&result){
|
|
|
//for _, v := range *result {
|
|
|
- qmap := *qu.ObjToMap(result)
|
|
|
- mid := qmap["_id"]
|
|
|
- if v, ok := qmap[MgoFileFiled].(map[string]interface{}); !ok {
|
|
|
+ qmap := qu.ObjToMap(result)
|
|
|
+ mid := (*qmap)["_id"]
|
|
|
+ if v, ok := (*qmap)[MgoFileFiled].(map[string]interface{}); !ok {
|
|
|
mongodbutil.Mgo.UpdateById(MgoC, mid, bson.M{
|
|
|
"$set": bson.M{
|
|
|
"updatefileErr": 1,
|
|
@@ -106,7 +106,7 @@ func processUdpMsg(act byte, data []byte, ra *net.UDPAddr) {
|
|
|
switch v["attachments"].(type) {
|
|
|
case map[string]interface{}:
|
|
|
att := v["attachments"].(map[string]interface{})
|
|
|
- for _, vaatt := range att {
|
|
|
+ for attk, vaatt := range att {
|
|
|
if fileinfo, ok := vaatt.(map[string]interface{}); !ok {
|
|
|
mongodbutil.Mgo.UpdateById(MgoC, mid, bson.M{
|
|
|
"$set": bson.M{
|
|
@@ -116,8 +116,8 @@ func processUdpMsg(act byte, data []byte, ra *net.UDPAddr) {
|
|
|
continue
|
|
|
} else {
|
|
|
ChanB <- true
|
|
|
- go save(mid, qmap, fileinfo)
|
|
|
-
|
|
|
+ save(mid,attk, qmap, &fileinfo)
|
|
|
+ <-ChanB
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -169,11 +169,8 @@ func processUdpMsg(act byte, data []byte, ra *net.UDPAddr) {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
-func save(mid interface{}, qmap, fileinfo map[string]interface{}) {
|
|
|
+func save(mid interface{},attk string, qmap, fileinfo *map[string]interface{}) {
|
|
|
defer qu.Catch()
|
|
|
- defer func() {
|
|
|
- <-ChanB
|
|
|
- }()
|
|
|
type FileData struct {
|
|
|
OrgUrl string //源下载地址
|
|
|
Fid string
|
|
@@ -194,16 +191,16 @@ func save(mid interface{}, qmap, fileinfo map[string]interface{}) {
|
|
|
var reply []byte
|
|
|
//bs, _ := ioutil.ReadFile("1.docx")
|
|
|
var fffpath string
|
|
|
- fffpath = path.Ext(qu.ObjToString(fileinfo["filename"]))
|
|
|
+ fffpath = path.Ext(qu.ObjToString((*fileinfo)["filename"]))
|
|
|
if strings.TrimSpace(fffpath) == ""{
|
|
|
- fffpath = qu.ObjToString(fileinfo["ftype"])
|
|
|
+ fffpath = qu.ObjToString((*fileinfo)["ftype"])
|
|
|
}else {
|
|
|
fffpath = fffpath[1:]
|
|
|
}
|
|
|
fileData := &FileData{
|
|
|
- OrgUrl: qu.ObjToString(fileinfo["org_url"]),
|
|
|
- Name: qu.ObjToString(fileinfo["filename"]),
|
|
|
- Fid: qu.ObjToString(fileinfo["fid"]), //附件id
|
|
|
+ OrgUrl: qu.ObjToString((*fileinfo)["org_url"]),
|
|
|
+ Name: qu.ObjToString((*fileinfo)["filename"]),
|
|
|
+ Fid: qu.ObjToString((*fileinfo)["fid"]), //附件id
|
|
|
Type: fffpath,
|
|
|
}
|
|
|
//log.Println(mid, fileData)
|
|
@@ -234,7 +231,7 @@ func save(mid interface{}, qmap, fileinfo map[string]interface{}) {
|
|
|
log.Println(mid, "rpc返回数据为空:", string(reply))
|
|
|
return
|
|
|
}
|
|
|
- //log.Println(mid, string(reply))
|
|
|
+ log.Println(mid, string(reply)[:23])
|
|
|
rdata := make(map[string]interface{})
|
|
|
if err := json.Unmarshal(reply, &rdata); err != nil {
|
|
|
mongodbutil.Mgo.UpdateById(MgoC, mid, bson.M{
|
|
@@ -245,27 +242,40 @@ func save(mid interface{}, qmap, fileinfo map[string]interface{}) {
|
|
|
return
|
|
|
}
|
|
|
if rdata["err"] == nil || rdata["err"] == "null" || rdata["err"] == "" {
|
|
|
- if qu.ObjToString(fileinfo["ftype"]) == "rar" || qu.ObjToString(fileinfo["ftype"]) == "zip" {
|
|
|
- fileinfo["content"] = rdata["contextc"]
|
|
|
+ if qu.ObjToString((*fileinfo)["ftype"]) == "rar" || qu.ObjToString((*fileinfo)["ftype"]) == "zip" {
|
|
|
+ (*fileinfo)["content"] = rdata["contextc"]
|
|
|
} else {
|
|
|
- fileinfo["content"] = rdata["context"]
|
|
|
+ (*fileinfo)["content"] = rdata["context"]
|
|
|
}
|
|
|
- if !mongodbutil.Mgo.UpdateById(MgoC, mid, bson.M{
|
|
|
+ //log.Println((*fileinfo))
|
|
|
+
|
|
|
+ asdf := (*qmap)[MgoFileFiled].(map[string]interface{})
|
|
|
+ qwer := asdf["attachments"].(map[string]interface{})
|
|
|
+ qwer[attk] =*fileinfo
|
|
|
+ //log.Println((*qmap)[MgoFileFiled])
|
|
|
+
|
|
|
+ updateBool := mongodbutil.Mgo.UpdateById(MgoC, mid, bson.M{
|
|
|
"$set": bson.M{
|
|
|
- MgoFileFiled: qmap[MgoFileFiled],
|
|
|
+ MgoFileFiled: (*qmap)[MgoFileFiled],
|
|
|
+ //MgoFileFiled: bson.M{
|
|
|
+ // "attachments":bson.M{
|
|
|
+ // attk:(*fileinfo),
|
|
|
+ // },
|
|
|
+ //},
|
|
|
},
|
|
|
- }) {
|
|
|
+ })
|
|
|
+ if updateBool{
|
|
|
mongodbutil.Mgo.UpdateById(MgoC, mid, bson.M{
|
|
|
"$set": bson.M{
|
|
|
- "updatefileErr": 1,
|
|
|
+ "updatefileErr": 0,
|
|
|
},})
|
|
|
- log.Println(mid, "mongo更新数据失败")
|
|
|
- } else {
|
|
|
+ log.Println(mid, "mongo更新数据成功")
|
|
|
+ }else {
|
|
|
mongodbutil.Mgo.UpdateById(MgoC, mid, bson.M{
|
|
|
"$set": bson.M{
|
|
|
- "updatefileErr": 0,
|
|
|
+ "updatefileErr": 1,
|
|
|
},})
|
|
|
- log.Println(mid, "mongo更新数据成功")
|
|
|
+ log.Println(mid, "mongo更新数据失败")
|
|
|
}
|
|
|
} else {
|
|
|
mongodbutil.Mgo.UpdateById(MgoC, mid, bson.M{
|