浏览代码

Merge branch 'dev3.1.2' of http://192.168.3.207:10080/qmx/jy-data-extract into dev3.1.2

zhangjinkun 6 年之前
父节点
当前提交
7ae5ee7c8c
共有 1 个文件被更改,包括 16 次插入46 次删除
  1. 16 46
      src/udpfileserver/main.go

+ 16 - 46
src/udpfileserver/main.go

@@ -61,7 +61,7 @@ func processUdpMsg(act byte, data []byte, ra *net.UDPAddr) {
 		lid := strings.TrimSpace(mapInfo["lteid"].(string))
 		if bson.IsObjectIdHex(gid) && bson.IsObjectIdHex(lid) {
 			var jsq int64
-			query := bson.M{"_id": bson.M{"$gte": bson.ObjectIdHex(gid),"$lte": bson.ObjectIdHex(lid),},MgoFileFiled: bson.M{"$ne": nil,},}
+			query := bson.M{"_id": bson.M{"$gte": bson.ObjectIdHex(gid),"$lte": bson.ObjectIdHex(lid),}}
 			log.Println("query---:", query)
 			sum :=mongodbutil.Mgo.Count(MgoC,query)
 			log.Println("sum:", sum)
@@ -80,14 +80,11 @@ func processUdpMsg(act byte, data []byte, ra *net.UDPAddr) {
 				}
 
 				for _,v:=range *list {
+					updateNum :=0
 					qmap := qu.ObjToMap(v)
 					mid := (*qmap)["_id"]
 					if v, ok := (*qmap)[MgoFileFiled].(map[string]interface{}); !ok {
-						mongodbutil.Mgo.UpdateById(MgoC, mid, bson.M{
-							"$set": bson.M{
-								"updatefileErr": 1,
-							},})
-						//log.Println(mid, "mgo 转换异常", MgoFileFiled)
+						//log.Println(mid, "mgo 没有字段", MgoFileFiled)
 						continue
 					} else {
 						switch v["attachments"].(type) {
@@ -95,15 +92,16 @@ func processUdpMsg(act byte, data []byte, ra *net.UDPAddr) {
 							att := v["attachments"].(map[string]interface{})
 							for attk, vaatt := range att {
 								if fileinfo, ok := vaatt.(map[string]interface{}); !ok {
-									mongodbutil.Mgo.UpdateById(MgoC, mid, bson.M{
-										"$set": bson.M{
-											"updatefileErr": 1,
-										},})
 									//log.Println(mid, "mgo 结构体转换失败", vaatt)
 									continue
 								} else {
 									ChanB <- true
-									save(mid,attk, qmap, &fileinfo)
+									if qu.ObjToString(fileinfo["fid"]) ==""{
+										<-ChanB
+										log.Println(mid, "mgo ", MgoFileFiled,"没有fid ",fileinfo)
+										continue
+									}
+									save(mid,attk, qmap, &fileinfo,&updateNum)
 									<-ChanB
 								}
 							}
@@ -124,7 +122,7 @@ func processUdpMsg(act byte, data []byte, ra *net.UDPAddr) {
 	}
 
 }
-func save(mid interface{},attk string, qmap, fileinfo *map[string]interface{}) {
+func save(mid interface{},attk string, qmap, fileinfo *map[string]interface{},updatenum *int) {
 	defer qu.Catch()
 	type FileData struct {
 		OrgUrl  string //源下载地址
@@ -135,10 +133,6 @@ func save(mid interface{},attk string, qmap, fileinfo *map[string]interface{}) {
 	}
 	client, err := rpc.DialHTTP("tcp", qu.ObjToString(Sysconfig["file2text"]))
 	if err != nil {
-		mongodbutil.Mgo.UpdateById(MgoC, mid, bson.M{
-			"$set": bson.M{
-				"updatefileErr": 1,
-			},})
 		log.Println(mid, "rpc err :", err)
 		return
 	}
@@ -161,10 +155,6 @@ func save(mid interface{},attk string, qmap, fileinfo *map[string]interface{}) {
 	//log.Println(mid, fileData)
 	err = client.Call("FileToText.FileToContext", fileData, &reply)
 	if err != nil {
-		mongodbutil.Mgo.UpdateById(MgoC, mid, bson.M{
-			"$set": bson.M{
-				"updatefileErr": 1,
-			},})
 		log.Println(mid, "call ocr error:", err)
 		return
 	}
@@ -179,21 +169,13 @@ func save(mid interface{},attk string, qmap, fileinfo *map[string]interface{}) {
 	//}
 	//reply, _ = json.Marshal(testfiles)
 	if len(reply) == 0{
-		mongodbutil.Mgo.UpdateById(MgoC, mid, bson.M{
-			"$set": bson.M{
-				"updatefileErr": 1,
-			},})
-		log.Println(mid, "rpc返回数据为空:", string(reply))
+		log.Println(mid, "rpc返回数据为空:",qu.ObjToString((*fileinfo)["fid"]), string(reply))
 		return
 	}
 	//log.Println(mid, string(reply))
 	rdata := make(map[string]interface{})
 	if err := json.Unmarshal(reply, &rdata); err != nil {
-		mongodbutil.Mgo.UpdateById(MgoC, mid, bson.M{
-			"$set": bson.M{
-				"updatefileErr": 1,
-			},})
-		log.Println(mid, "rpc返回数据解析失败:", err)
+		log.Println(mid, "rpc返回数据解析失败:",qu.ObjToString((*fileinfo)["fid"]), err)
 		return
 	}
 	if rdata["err"] == nil || rdata["err"] == "null" || rdata["err"] == "" {
@@ -213,32 +195,20 @@ func save(mid interface{},attk string, qmap, fileinfo *map[string]interface{}) {
 		updateBool := mongodbutil.Mgo.UpdateById(MgoC, mid, bson.M{
 			"$set": bson.M{
 				MgoFileFiled: (*qmap)[MgoFileFiled],
-				//MgoFileFiled: bson.M{
-				//	"attachments":bson.M{
-				//		attk:(*fileinfo),
-				//	},
-				//},
 			},
 		})
 		if updateBool{
+			*updatenum++
 			mongodbutil.Mgo.UpdateById(MgoC, mid, bson.M{
 				"$set": bson.M{
-					"updatefileErr": 0,
+					"updatefileNum": &updatenum,
 				},})
 			log.Println(mid, "mongo更新数据成功")
 		}else {
-			mongodbutil.Mgo.UpdateById(MgoC, mid, bson.M{
-				"$set": bson.M{
-					"updatefileErr": 1,
-				},})
-			log.Println(mid, "mongo更新数据失败")
+			log.Println(mid, "mongo更新数据失败",qu.ObjToString((*fileinfo)["fid"]))
 		}
 	} else {
-		mongodbutil.Mgo.UpdateById(MgoC, mid, bson.M{
-			"$set": bson.M{
-				"updatefileErr": 1,
-			},})
-		log.Println(mid, "调用rpc服务解析异常:", rdata["err"])
+		log.Println(mid, "调用rpc服务解析异常:",qu.ObjToString((*fileinfo)["fid"]), rdata["err"])
 	}
 
 }