Ver Fonte

合段优化

xuzhiheng há 10 meses atrás
pai
commit
ecb9486f07
1 ficheiros alterados com 18 adições e 3 exclusões
  1. 18 3
      field_sync/task.go

+ 18 - 3
field_sync/task.go

@@ -92,7 +92,14 @@ func biddingTask(data []byte, mapInfo map[string]interface{}) {
 		NextNodeHn(mapInfo)
 	}
 	if stype == "bidding" {
-		uq := bson.M{"gtid": util.ObjToString(mapInfo["gtid"]), "lteid": util.ObjToString(mapInfo["lteid"])}
+		uq := map[string]interface{}{
+			"gtid": map[string]interface{}{
+				"$gte": util.ObjToString(mapInfo["gtid"]),
+			},
+			"lteid": map[string]interface{}{
+				"$lte": util.ObjToString(mapInfo["lteid"]),
+			},
+		}
 		MgoB.Update("bidding_processing_ids", uq, bson.M{"$set": bson.M{"dataprocess": 7, "updatetime": time.Now().Unix()}}, false, true)
 	}
 	//领域标签处理的数据 id段
@@ -283,14 +290,22 @@ func doIndex(infos []map[string]interface{}, eMap map[string]map[string]interfac
 			}
 			syncNo++
 			log.Println("抽取区域 省", compare["area"], " 市 ", compare["city"], " 区 ", compare["district"], " id ", tid)
+			modifyinfo := make(map[string]bool)
+			if tmp["modifyinfo"] != nil {
+				if tmpmodifyinfo, ok := tmp["modifyinfo"].(map[string]interface{}); ok {
+					for k := range tmpmodifyinfo {
+						modifyinfo[k] = true
+					}
+				}
+			}
 			for _, k := range config.Conf.Serve.FieldS {
 				v1 := compare[k] //extract
 				v2 := tmp[k]     //bidding
 				if v2 == nil && v1 != nil {
 					update[k] = v1
-				} else if v2 != nil && v1 != nil {
+				} else if v2 != nil && v1 != nil && !modifyinfo[k] {
 					update[k] = v1
-				} else if v2 != nil && v1 == nil {
+				} else if v2 != nil && v1 == nil && !modifyinfo[k] {
 					if k == "s_subscopeclass" && del["subscopeclass"] == nil {
 						continue
 					} else if k == "s_topscopeclass" && del["topscopeclass"] == nil {