fengweiqiang 5 years ago
parent
commit
3c8f24569d
1 changed files with 19 additions and 12 deletions
  1. 19 12
      udp_city/src/main.go

+ 19 - 12
udp_city/src/main.go

@@ -50,7 +50,7 @@ func processUdpMsg(act byte, data []byte, ra *net.UDPAddr) {
 				go Udpclient.WriteUdp(data, mu.OP_NOOP, ra)
 				log.Println("udp通知抽取id段", sid, " ", eid)
 
-				getCity(sid, eid)
+				getCity(sid, eid, qu.ObjToString(rep["stype"]))
 				log.Println("udp通知抽取完成,eid", eid)
 				for _, m := range nextNodes {
 					by, _ := json.Marshal(map[string]interface{}{
@@ -73,27 +73,34 @@ func processUdpMsg(act byte, data []byte, ra *net.UDPAddr) {
 	}
 }
 
-func getCity(sid, eid string) {
+func getCity(sid, eid, rep string) {
 	index := 0
 	query := bson.M{"_id": bson.M{"$gte": bson.ObjectIdHex(sid), "$lte": bson.ObjectIdHex(eid)}}
 	count := mgo.Mgo_Bidding.Count("bidding", query)
-	count_bak := mgo.Mgo_Bidding.Count("bidding_bak", query)
-	count += count_bak
+	if rep != "" {
+		count_bak := mgo.Mgo_Bidding.Count("bidding_bak", query)
+		count += count_bak
+	}
 	log.Println("查询条件为:", query, "查询条数:", count)
 	pageNum := (count + PageSize - 1) / PageSize
 	limit := PageSize
 	if count < PageSize {
 		limit = count
 	}
-	table := "bidding_bak"
+	table := "bidding"
+	if rep != "" {
+		table = "bidding_bak"
+	}
 	for i := 0; i < pageNum; i++ {
-		query = bson.M{"_id": bson.M{"$gte": bson.ObjectIdHex(sid),"$lte":bson.ObjectIdHex(eid)}}
-		if mgo.Mgo_Bidding.Count(table, query) < 1 {
-			table = "bidding"
-		} else if table == "bidding_bak" && mgo.Mgo_Bidding.Count("bidding", query) > 0 {
-			log.Printf("page=%d,query=%v,db=%v\n", i+1, query, "bidding")
-			list2, _ := mgo.Mgo_Bidding.Find("bidding", query, nil, biddingFields, false, 0, limit)
-			processingCity(sid, eid, list2, index, "bidding", i)
+		query = bson.M{"_id": bson.M{"$gte": bson.ObjectIdHex(sid), "$lte": bson.ObjectIdHex(eid)}}
+		if rep != "" {
+			if mgo.Mgo_Bidding.Count(table, query) < 1 {
+				table = "bidding"
+			} else if table == "bidding_bak" && mgo.Mgo_Bidding.Count("bidding", query) > 0 {
+				log.Printf("page=%d,query=%v,db=%v\n", i+1, query, "bidding")
+				list2, _ := mgo.Mgo_Bidding.Find("bidding", query, nil, biddingFields, false, 0, limit)
+				processingCity(sid, eid, list2, index, "bidding", i)
+			}
 		}
 		log.Printf("page=%d,query=%v,db=%v\n", i+1, query, table)
 		list, _ := mgo.Mgo_Bidding.Find(table, query, nil, biddingFields, false, 0, limit)