Browse Source

Merge branch 'feature/v2.3.32' into master

yuelujie 7 months ago
parent
commit
22dd5e3270
4 changed files with 28 additions and 17 deletions
  1. 5 2
      pushUnbinding/config.json
  2. 6 3
      pushUnbinding/config/config.go
  3. 1 1
      pushUnbinding/main.go
  4. 16 11
      pushUnbinding/task/task.go

+ 5 - 2
pushUnbinding/config.json

@@ -1,6 +1,9 @@
 {
-  "user": ["oM4_56t7_glz1Y1Ut6SMlcg3kmnc", "oM4_56oXizm2QwxhUH1l7Qzr3uHs"],
-  "taskTime": "0 10,12,15,17 * * *",
+  "user": [],
+  "taskUserId": "",
+  "registerDate": 1731945600,
+  "taskCronStr": "0 10,12,15,17 * * *",
+  "thead": 10,
   "mongodb": {
     "jianyu": {
       "address": "192.168.3.206:27080",

+ 6 - 3
pushUnbinding/config/config.go

@@ -8,9 +8,12 @@ import (
 )
 
 type config struct {
-	User     []string `json:"user"`
-	TaskTime string   `json:"taskTime"`
-	MongoDb  struct {
+	User         []string `json:"user"`
+	TaskUserId   string   `json:"taskUserId"`
+	TaskCronStr  string   `json:"taskCronStr"`
+	RegisterDate int64    `json:"registerDate"`
+	Thead        int      `json:"thead"`
+	MongoDb      struct {
 		JianYu *MgoConf `json:"jianyu"`
 		JyLog  *MgoConf `json:"jylog"`
 	} `json:"mongodb"`

+ 1 - 1
pushUnbinding/main.go

@@ -19,7 +19,7 @@ func main() {
 	}
 
 	c := cron.New()
-	_, _ = c.AddJob(config.Config.TaskTime, cron.NewChain(cron.DelayIfStillRunning(cron.DefaultLogger)).Then(&task.TaskInfo{}))
+	_, _ = c.AddJob(config.Config.TaskCronStr, cron.NewChain(cron.DelayIfStillRunning(cron.DefaultLogger)).Then(&task.TaskInfo{}))
 	c.Start()
 	<-chan bool(nil)
 }

+ 16 - 11
pushUnbinding/task/task.go

@@ -36,7 +36,7 @@ func (t *TaskInfo) Run() {
 
 func getBidInfo() {
 	query := `{"query": {"bool": {"must": [{"range": {"pici": {"gte": ` + fmt.Sprint(config.TaskConfig.Pici) + `,"lt": ` + fmt.Sprint(time.Now().Unix()) + `}}},{"bool": {"should": [{"terms": {"toptype": ["预告","招标","结果","其它"]}}],"minimum_should_match": 1}}]}},"_source": ["id","title","projectname","publishtime","buyer","area","pici"],"sort": [{"publishtime": "desc"}],"size": 1}`
-	countQ := `{"query": {"bool": {"must": [{"range": {"pici": {"gte": ` + util.ObjToString(config.TaskConfig.Pici) + `,"lt": ` + util.ObjToString(time.Now().Unix()) + `}}},{"bool": {"should": [{"terms": {"toptype": ["预告","招标","结果","其它"]}}],"minimum_should_match": 1}}]}}}`
+	countQ := `{"query": {"bool": {"must": [{"range": {"pici": {"gte": ` + fmt.Sprint(config.TaskConfig.Pici) + `,"lt": ` + fmt.Sprint(time.Now().Unix()) + `}}},{"bool": {"should": [{"terms": {"toptype": ["预告","招标","结果","其它"]}}],"minimum_should_match": 1}}]}}}`
 	logger.Info("countQ: ", countQ)
 	c, info := elastic.GetWithCount("bidding", "", countQ, query)
 	if c > 0 {
@@ -46,15 +46,19 @@ func getBidInfo() {
 }
 
 func taskInfo() {
-	ch := make(chan bool, 3)
+	ch := make(chan bool, config.Config.Thead)
 	wg := &sync.WaitGroup{}
 
 	q := map[string]interface{}{
-		"i_appid":    2,
-		"s_m_openid": map[string]int{"$exists": 1},
-		"i_ispush":   map[string]int{"$ne": 0},
-		"s_phone":    map[string]int{"$exists": 0},
-		"s_m_phone":  map[string]int{"$exists": 0}}
+		"i_appid":       2,
+		"s_m_openid":    map[string]int{"$exists": 1},
+		"i_ispush":      map[string]int{"$ne": 0},
+		"s_phone":       map[string]int{"$exists": 0},
+		"s_m_phone":     map[string]int{"$exists": 0},
+		"l_registedate": map[string]int64{"$gte": config.Config.RegisterDate}}
+	if config.Config.TaskUserId != "" {
+		q["_id"] = map[string]interface{}{"$gte": mongodb.StringTOBsonId(config.Config.TaskUserId)}
+	}
 	f := map[string]interface{}{"s_m_openid": 1}
 	it := config.MgoJy.GetMgoConn().DB(config.Config.MongoDb.JianYu.DbName).C("user").Find(q).Select(f).Iter()
 	logger.Info("查询数据量:", config.MgoJy.Count("user", q))
@@ -76,8 +80,10 @@ func taskInfo() {
 	}
 	wg.Wait()
 	Count = 0
-	Info = make(map[string]interface{})
 	logger.Info("轮次结束 ---", count)
+	config.TaskConfig.Pici = util.Int64All(Info["pici"])
+	util.WriteSysConfig("./task.json", &config.TaskConfig)
+	Info = make(map[string]interface{})
 }
 
 func TestTask() {
@@ -90,8 +96,6 @@ func TestTask() {
 
 // 微信远程调用,实现模板发送消息
 func sendWeixin(user map[string]interface{}) {
-	config.TaskConfig.Pici = util.Int64All(Info["pici"])
-	util.WriteSysConfig("./task.json", &config.TaskConfig)
 	pb := util.Int64All(Info["publishtime"])
 	pname := util.ObjToString(Info["projectname"])
 	buyer := util.ObjToString(util.If(util.ObjToString(Info["buyer"]) == "", "--", util.ObjToString(Info["buyer"])))
@@ -126,8 +130,9 @@ func sendWeixin(user map[string]interface{}) {
 	if err != nil {
 		logger.Info("wx模版消息发送失败", err)
 	} else {
-		config.MgoJy.Save("push_unbind_log", map[string]interface{}{
+		config.JyLog.Save("push_unbind_log", map[string]interface{}{
 			"userid":     mongodb.BsonIdToSId(user["_id"]),
+			"s_m_openid": util.ObjToString(user["s_m_openid"]),
 			"infoid":     util.ObjToString(Info["id"]),
 			"createtime": now,
 		})