Procházet zdrojové kódy

项目索引折扣率新增逻辑

maxiaoshan před 4 roky
rodič
revize
5e68085aa2
1 změnil soubory, kde provedl 23 přidání a 5 odebrání
  1. 23 5
      udpcreateindex/src/projectindex.go

+ 23 - 5
udpcreateindex/src/projectindex.go

@@ -98,10 +98,29 @@ 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 {
-			rate := float64(1) - float64(bidamount)/float64(budget)
-			f, _ := strconv.ParseFloat(strconv.FormatFloat(rate, 'f', 2, 64), 64)
-			if f > 0 {
-				tmp["project_rate"] = f
+			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', 2, 64), 64)
+				if f > 0 {
+					tmp["project_rate"] = f
+				}
 			}
 		}
 		if topscopeclass, ok := tmp["topscopeclass"].([]interface{}); ok {
@@ -119,7 +138,6 @@ func projectTask(data []byte, project, mapInfo map[string]interface{}) {
 		}
 		//不生索引字段
 		delete(tmp, "package")
-		//delete(tmp, "winnerorder")
 		delete(tmp, "infofield")
 		list := tmp["list"].([]interface{})
 		for _, m := range list {