wangchuanjin 5 miesięcy temu
rodzic
commit
09fc97b638
4 zmienionych plików z 50 dodań i 19 usunięć
  1. 1 1
      pushsubscribe/go.mod
  2. 2 2
      pushsubscribe/go.sum
  3. 1 0
      wxTmplSendTj/config.json
  4. 46 16
      wxTmplSendTj/main.go

+ 1 - 1
pushsubscribe/go.mod

@@ -4,7 +4,7 @@ go 1.18
 
 require (
 	app.yhyue.com/moapp/jybase v0.0.0-20240912091212-401647f2624b
-	bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20250220014008-796175a888fc
+	bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20250220075703-fa5528daba35
 	github.com/ClickHouse/clickhouse-go/v2 v2.2.0
 )
 

+ 2 - 2
pushsubscribe/go.sum

@@ -2,8 +2,8 @@ app.yhyue.com/moapp/esv1 v0.0.0-20220414031211-3da4123e648d h1:WPsYuuptAd3UEgN+j
 app.yhyue.com/moapp/esv1 v0.0.0-20220414031211-3da4123e648d/go.mod h1:91/lSD/hS+ckMVP3WdidRzDhC60lLMdyce9QHy0cSMA=
 app.yhyue.com/moapp/jybase v0.0.0-20240912091212-401647f2624b h1:IjAmZuaG4voMYPuIh+phJYI4fwMM/cLfZ5LEz7wrEos=
 app.yhyue.com/moapp/jybase v0.0.0-20240912091212-401647f2624b/go.mod h1:XHNATN6tsJKHdCB0DbUtFdPPHXexTUFyB3RlO+lUUoM=
-bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20250220014008-796175a888fc h1:vXhI1jeEAU9zZeruwUY+TLRiOdxF8y9wyntrxfAUBTg=
-bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20250220014008-796175a888fc/go.mod h1:Q+r+DRzSIHAsYBA7i39O2UrZB6ZhRtfCjVpN7n1p+Fg=
+bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20250220075703-fa5528daba35 h1:WPdVhvo+jCdfFadtvzSKZG7EXcq/g0IaLUGaWtEhIDg=
+bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20250220075703-fa5528daba35/go.mod h1:Q+r+DRzSIHAsYBA7i39O2UrZB6ZhRtfCjVpN7n1p+Fg=
 bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.1.0 h1:60fFbyRAnn5vrnsPk99pVB2aJVin6nDIkNnmekdpFso=
 bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.1.0/go.mod h1:rRiGzKG4F/fmkNxXQCxrkxNWc8yf1SmW8qWCKfGIQSM=
 bp.jydev.jianyu360.cn/BaseService/userCenter v1.2.17 h1:QHjAuAYPJjml8e19ytWxgKAboo9+f6aQUH/s1UUEfrA=

+ 1 - 0
wxTmplSendTj/config.json

@@ -7,6 +7,7 @@
       	"password": "123456"
 	},
 	"cmdText":"cat /mnt/weixin_new/jylog/*.log | grep %s | grep 'SendTmplMsg success' | wc -l",
+	"noMsgCmdText":"grep '无消息提醒任务' /mnt/pushsubscribe/push/logs/push_%s.log | grep '微信推送结束 true' | wc -l",
 	"timeTask":"01:00",
 	"node":"node1",
 	"mailWarn":"http://172.17.4.195:19281/_send/_mail?program=wxTmplSendTj&to=wangchuanjin@topnet.net.cn&title=每日统计微信模板消息发送量&body=node1未统计到"

+ 46 - 16
wxTmplSendTj/main.go

@@ -23,10 +23,11 @@ type config struct {
 		UserName string
 		Password string
 	}
-	CmdText  string
-	TimeTask string
-	Node     string
-	MailWarn string
+	CmdText      string
+	NoMsgCmdText string
+	TimeTask     string
+	Node         string
+	MailWarn     string
 }
 
 var Config *config
@@ -42,31 +43,60 @@ func main() {
 		Password:    Config.Mongodb.Password,
 	}
 	Mgo.InitPool()
-	model := flag.Int("m", 0, "模式")
+	t := flag.Int("t", 0, "任务类型;1:全部 2:免费用户无消息")
+	m := flag.Int("m", 0, "模式")
+	y := flag.String("y", "", "年月日,例如:20250220")
 	flag.Parse()
-	if *model == 1 {
-		run()
+	if *m == 1 {
+		run(*t, *y)
 	} else {
-		SimpleCrontab(false, Config.TimeTask, run)
+		SimpleCrontab(false, Config.TimeTask, func() {
+			run(*t, *y)
+		})
 		select {}
 	}
 }
-func run() {
-	now := time.Now().AddDate(0, 0, -1)
+func run(t int, y string) {
+	var now time.Time
+	if y != "" {
+		var err error
+		now, err = time.ParseInLocation(Date_yyyyMMdd, y, time.Local)
+		if err != nil {
+			log.Fatalln(err)
+		}
+	} else {
+		now = time.Now().AddDate(0, 0, -1)
+	}
+	var cmdText string
 	ymd := FormatDate(&now, Date_Short_Layout)
-	count := getCmdResult(fmt.Sprintf(Config.CmdText, ymd))
+	if t == 1 {
+		cmdText = fmt.Sprintf(Config.CmdText, ymd)
+	} else if t == 2 {
+		cmdText = fmt.Sprintf(Config.NoMsgCmdText, FormatDate(&now, Date_yyyyMMdd))
+	} else {
+		log.Fatalln("无效的-t参数")
+	}
+	count := getCmdResult(cmdText)
 	log.Println(Config.Node, "模板消息推送量", count)
 	if count == 0 {
 		go http.Get(Config.MailWarn)
 	}
+	var tp string
+	if t == 1 {
+		tp = "all"
+	} else if t == 2 {
+		tp = "free_nomsg"
+	}
 	Mgo.Update("wxtmplsend_tj", map[string]interface{}{
-		"ymd":       ymd,
-		"node_type": Config.Node,
+		"ymd":  ymd,
+		"type": tp,
+		"node": Config.Node,
 	}, map[string]interface{}{
 		"$set": map[string]interface{}{
-			"count":     count,
-			"node_type": Config.Node,
-			"ymd":       ymd,
+			"count": count,
+			"node":  Config.Node,
+			"ymd":   ymd,
+			"type":  tp,
 		},
 	}, true, false)
 }