Преглед изворни кода

项目索引修改折扣率

maxiaoshan пре 4 година
родитељ
комит
20a6fc7809
2 измењених фајлова са 15 додато и 29 уклоњено
  1. 6 6
      udpcreateindex/src/config.json
  2. 9 23
      udpcreateindex/src/projectindex.go

+ 6 - 6
udpcreateindex/src/config.json

@@ -4,12 +4,12 @@
     "mongodb": {
         "addr": "192.168.3.207:27092",
         "pool": 10,
-        "db": "qfw_data"
+        "db": "mxs"
     },
 	"savedb": {
         "addr": "192.168.3.207:27092",
         "size": 10,
-        "db": "qfw_data"
+        "db": "mxs"
     },
     "jkmail": {
         "to":"zhangjinkun@topnet.net.cn",
@@ -56,9 +56,9 @@
     "filelength": 50000,
     "detaillength": 50000,
     "project": {
-        "db": "qfw_data",
-        "collect": "projectset",
-        "index": "projectset_v5",
+        "db": "mxs",
+        "collect": "test",
+        "index": "projectset",
         "type": "projectset"
     },
     "project2": {
@@ -99,7 +99,7 @@
 		}
     },
     "elastic": {
-        "addr": "http://192.168.3.128:9800",
+        "addr": "http://127.0.0.1:9800",
         "pool": 12
     }
 }

+ 9 - 23
udpcreateindex/src/projectindex.go

@@ -98,29 +98,14 @@ func projectTask(data []byte, project, mapInfo map[string]interface{}) {
 		budget := util.Float64All(tmp["budget"])
 		bidamount := util.Float64All(tmp["bidamount"])
 		if float64(budget) > 0 && float64(bidamount) > 0 {
-			isOk := true
-			if float64(bidamount)/float64(budget) < 0.05 {
-				if bidamount >= 10000 {
-					delete(tmp, "budget")
-				} else {
-					delete(tmp, "bidamount")
-				}
-				isOk = false
-			}
-			if float64(bidamount)/float64(budget) > 10 {
-				if budget >= 10000 {
-					delete(tmp, "bidamount")
-				} else {
-					delete(tmp, "budget")
-				}
-				isOk = false
-			}
-			if isOk {
-				rate := float64(1) - float64(bidamount)/float64(budget)
-				f, _ := strconv.ParseFloat(strconv.FormatFloat(rate, 'f', 4, 64), 64)
-				if f > 0 {
-					tmp["project_rate"] = f
-				}
+			rate := float64(1) - float64(bidamount)/float64(budget)
+			f, _ := strconv.ParseFloat(strconv.FormatFloat(rate, 'f', 4, 64), 64)
+			//不在0~0.6之间,不生成费率;只生成预算,中标金额舍弃,索引增加折扣率异常标识
+			if f < 0 || f > 0.6 {
+				delete(tmp, "bidamount")
+				tmp["prate_flag"] = 1
+			} else {
+				tmp["project_rate"] = f
 			}
 		}
 		if topscopeclass, ok := tmp["topscopeclass"].([]interface{}); ok {
@@ -188,6 +173,7 @@ func projectTask(data []byte, project, mapInfo map[string]interface{}) {
 	}
 
 	if i > 0 {
+		util.Debug(arr)
 		elastic.BulkSave(index, itype, &arr, true)
 	}
 	log.Println(mapInfo, "create project index...over", n)