wcc 1 год назад
Родитель
Сommit
a83906e392
3 измененных файлов с 38 добавлено и 13 удалено
  1. 1 1
      website_columns/config.toml
  2. 9 11
      website_columns/main.go
  3. 28 1
      website_columns/utils.go

+ 1 - 1
website_columns/config.toml

@@ -32,7 +32,7 @@
 [cron] ## 定时任务
 #    spec = "0 */1 * * * *"    ## 5分钟执行一次
     spec = "0 00 01 * * *"     ## 每天01点执行
-#    start = 1536831167         ## 表示 comeintime 大于这个值
+    start = 1680749350         ## 表示 comeintime 大于这个值
 #    end = 0                    ## 表示comeintime 小于这个值
 #    delete = -30              ## 删除30天之前的数据
     columns = ["招标公告","招标预告","招标结果","招标信用","采购意向","项目分包","企业直采",

+ 9 - 11
website_columns/main.go

@@ -300,8 +300,7 @@ func dealProject() {
 	}
 
 	log.Info("dealProject", zap.Any("q", q))
-	query := sess.DB(GF.MongoP.DB).C(GF.MongoP.Coll).Find(q).Select(map[string]interface{}{
-		"ids": 0, "list": 0}).Iter()
+	query := sess.DB(GF.MongoP.DB).C(GF.MongoP.Coll).Find(q).Select(nil).Iter()
 	count := 0
 
 	ch := make(chan bool, 15)
@@ -320,16 +319,15 @@ func dealProject() {
 				wg.Done()
 			}()
 			rea := TagProject(tmp)
-			if len(rea) > 0 {
-				reb := calculateFlag(rea, columns) //拿到十进制数字,标签栏目结果
-				update := map[string]interface{}{
-					"nav_column": reb,
-				}
-				where := map[string]interface{}{
-					"_id": tmp["_id"],
-				}
-				MgoP.Update(GF.MongoP.Coll, where, map[string]interface{}{"$set": update}, true, false)
+			reb := calculateFlag(rea, columns) //拿到十进制数字,标签栏目结果
+			update := map[string]interface{}{
+				"nav_column": reb,
 			}
+			where := map[string]interface{}{
+				"_id": tmp["_id"],
+			}
+			MgoP.Update(GF.MongoP.Coll, where, map[string]interface{}{"$set": update}, true, false)
+
 		}(tmp)
 		tmp = map[string]interface{}{}
 	}

+ 28 - 1
website_columns/utils.go

@@ -11,6 +11,7 @@ import (
 	"sort"
 	"strconv"
 	"strings"
+	"unicode/utf8"
 )
 
 // SendMail 发送邮件
@@ -220,6 +221,15 @@ func TagProject(tmp map[string]interface{}) (res map[string]interface{}) {
 	res = make(map[string]interface{}, 0)
 	id := mongodb.BsonIdToSId(tmp["_id"])
 
+	projectName := util.ObjToString(tmp["projectname"])
+	if strings.Contains(projectName, "私人") || strings.Contains(projectName, "住宅") {
+		return
+	}
+
+	if utf8.RuneCountInString(projectName) < 9 {
+		return
+	}
+
 	comb, _ := MgoP.FindById("projectset_comb", id, nil)
 	if len(*comb) > 0 {
 		res["拟在建项目"] = 1
@@ -231,7 +241,24 @@ func TagProject(tmp map[string]interface{}) (res map[string]interface{}) {
 		res["审批项目"] = 1
 	}
 
-	if stage_code > 6 {
+	//if stage_code > 6 {
+	//	res["推荐项目"] = 1
+	//}
+
+	// 推荐项目,逻辑调整
+	var codeMap = make(map[string]bool)
+	if list, ok := tmp["list"].([]interface{}); ok {
+		if len(list) > 1 {
+			for _, v := range list {
+				if data, ok := v.(map[string]interface{}); ok {
+					projectStageCode := util.ObjToString(data["project_stage_code"])
+					codeMap[projectStageCode] = true
+				}
+			}
+		}
+	}
+
+	if len(codeMap) > 1 {
 		res["推荐项目"] = 1
 	}