Pārlūkot izejas kodu

wip:调整配置

fuwencai 2 gadi atpakaļ
vecāks
revīzija
a73d542bf2
4 mainītis faili ar 35 papildinājumiem un 66 dzēšanām
  1. 5 6
      config/config.go
  2. 6 6
      etc/config.yaml
  3. 0 33
      logs/message.log
  4. 24 21
      task/ordermonitor.go

+ 5 - 6
config/config.go

@@ -5,7 +5,6 @@ import (
 	qrpc "app.yhyue.com/moapp/message/model"
 	"github.com/gogf/gf/v2/frame/g"
 	"github.com/gogf/gf/v2/os/gcfg"
-	"time"
 )
 
 type config struct {
@@ -70,11 +69,11 @@ type pushConfig struct {
 }
 
 type OrderMonitorConfig struct {
-	StartTime  time.Time // 活动开始时间
-	EndTime    time.Time //  活动结束时间
-	Date111    string    // 第111名活动日期
-	OpenCron   string    // 每天开启订单查询的任务
-	SelectCron string    // 每5分钟查询一次
+	DateSpecial       string // 特别奖品活动日期
+	OpenCron          string // 每天开启订单查询的任务
+	SelectCron        string // 每5分钟查询一次
+	WinNumberDaily    int    // 每天第xx个付款获得奖品
+	WinNumbersSpecial int    // 第xxx个付款获得特殊奖品
 }
 
 //var Config *config

+ 6 - 6
etc/config.yaml

@@ -74,8 +74,8 @@ jyactivity: # 临时活动
   code: membershipDay
   dateRange: #活动时间
     t1: 2022-05-25 00:00:00 #预热活动
-    t2: 2022-06-25 00:00:00 #活动开始
-    ed: 2022-08-07 00:00:00 #活动结束
+    t2: 2022-10-19 00:00:00 #活动开始
+    ed: 2022-11-12 00:00:00 #活动结束
   missions: #任务列表
     buysubvip: #购买超级订阅
       points: 800
@@ -108,8 +108,8 @@ productCode:
 
 # 订单监控
 orderMonitor :
-  startTime: 2022-10-18 00:00:00  # 活动开始时间
-  endTime: 2022-11-14 00:00:00    # 活动结束时间
-  date111: 2022-10-18             # 第111名活动日期
+  dateSpecial: 2022-10-19         # 特殊奖品活动日期 (第111名活动日期)
   openCron: "0 0 6 * * *"         # 每天6点开启
-  selectCron: "0 */5 6-22 * * *"    # 查询订单的表达式  6点到22点 每五分钟查询一次
+  selectCron: "0 */5 6-22 * * *"    # 查询订单的表达式  6点到22点 每五分钟查询一次
+  winNumberDaily: 11       # 每天第xx个付款获得奖品
+  winNumbersSpecial: 111   # 第xxx个付款获得特殊奖品

+ 0 - 33
logs/message.log

@@ -1,33 +0,0 @@
-2021/10/19 13:53:14 points.go:55: info  接收到消息 &{E_code:jywx_activity_message E_userId:6103bb722abfa5f4d81bb1d1 E_time:1634622794 E_app:jyapp_node1 E_body:map[]}
-2021/10/19 15:47:02 points.go:55: info  接收到消息 &{E_code:jywx_activity_message E_userId:6103bb722abfa5f4d81bb1d1 E_time:1634629622 E_app:jyapp_node1 E_body:map[]}
-2021/10/19 15:49:31 points.go:55: info  接收到消息 &{E_code:jywx_activity_message E_userId:6103bb722abfa5f4d81bb1d1 E_time:1634629766 E_app:jyapp_node1 E_body:map[]}
-2021/10/19 15:54:46 points.go:55: info  接收到消息 &{E_code:jywx_activity_message E_userId:6103bb722abfa5f4d81bb1d1 E_time:1634630078 E_app:jyapp_node1 E_body:map[]}
-2021/10/19 16:11:02 points.go:55: info  接收到消息 &{E_code:jyweb_article_open E_userId:5d6378301c298a5aac7b5402 E_time:1634631059 E_app:jywx_node E_body:map[]}
-2021/10/19 16:11:02 points.go:132: info  &{E_code:jyweb_article_open E_userId:5d6378301c298a5aac7b5402 E_time:1634631059 E_app:jywx_node E_body:map[]} 已成功增加 5 积分
-2021/10/19 16:15:41 points.go:55: info  接收到消息 &{E_code:jywx_activity_message E_userId:6103bb722abfa5f4d81bb1d1 E_time:1634631341 E_app:jyapp_node1 E_body:map[buy_time:2021-10-19 22:22:22 end_time:2021-11-19 23:59:59 order_code:1234567890 phone:18624906090 product_type:超级订阅一个月]}
-2021/10/19 16:18:14 points.go:55: info  接收到消息 &{E_code:jyweb_article_open E_userId:5d6378301c298a5aac7b5402 E_time:1634631492 E_app:jywx_node E_body:map[]}
-2021/10/19 16:18:15 points.go:132: info  &{E_code:jyweb_article_open E_userId:5d6378301c298a5aac7b5402 E_time:1634631492 E_app:jywx_node E_body:map[]} 已成功增加 5 积分
-2021/10/19 16:26:38 points.go:55: info  接收到消息 &{E_code:jyweb_article_open E_userId:5d6378301c298a5aac7b5402 E_time:1634631995 E_app:jywx_node E_body:map[]}
-2021/10/19 16:26:38 points.go:132: info  &{E_code:jyweb_article_open E_userId:5d6378301c298a5aac7b5402 E_time:1634631995 E_app:jywx_node E_body:map[]} 已成功增加 5 积分
-2021/10/19 16:34:22 points.go:55: info  接收到消息 &{E_code:jyweb_article_open E_userId:5d6378301c298a5aac7b5402 E_time:1634632460 E_app:jywx_node E_body:map[]}
-2021/10/19 16:34:22 points.go:111: info  &{E_code:jyweb_article_open E_userId:5d6378301c298a5aac7b5402 E_time:1634632460 E_app:jywx_node E_body:map[]} 超过一天最大次数 5 限制,不再增加积分
-2021/10/19 16:35:49 points.go:55: info  接收到消息 &{E_code:jywx_activity_message E_userId:6103bb722abfa5f4d81bb1d1 E_time:1634632549 E_app:jyapp_node1 E_body:map[buy_time:2021-10-19 22:22:22 end_time:2021-11-19 23:59:59 order_code:1234567890 phone:18624906090 product_type:超级订阅一个月]}
-2021/10/19 16:36:19 points.go:55: info  接收到消息 &{E_code:jywx_activity_message E_userId:6103bb722abfa5f4d81bb1d1 E_time:1634632579 E_app:jyapp_node1 E_body:map[buy_time:2021-10-19 22:22:22 end_time:2021-11-19 23:59:59 order_code:1234567890 phone:18624906090 product_type:超级订阅一个月]}
-2021/10/19 16:37:20 points.go:55: info  接收到消息 &{E_code:jyweb_article_open E_userId:5d6378301c298a5aac7b5402 E_time:1634632638 E_app:jywx_node E_body:map[]}
-2021/10/19 16:37:20 points.go:111: info  &{E_code:jyweb_article_open E_userId:5d6378301c298a5aac7b5402 E_time:1634632638 E_app:jywx_node E_body:map[]} 超过一天最大次数 5 限制,不再增加积分
-2021/10/19 16:38:39 points.go:55: info  接收到消息 &{E_code:jyweb_article_open E_userId:5d6378301c298a5aac7b5402 E_time:1634632716 E_app:jywx_node E_body:map[]}
-2021/10/19 16:38:39 points.go:111: info  &{E_code:jyweb_article_open E_userId:5d6378301c298a5aac7b5402 E_time:1634632716 E_app:jywx_node E_body:map[]} 超过一天最大次数 5 限制,不再增加积分
-2021/10/19 16:40:06 points.go:55: info  接收到消息 &{E_code:jyweb_article_open E_userId:5d6378301c298a5aac7b5402 E_time:1634632803 E_app:jywx_node E_body:map[]}
-2021/10/19 16:40:06 points.go:111: info  &{E_code:jyweb_article_open E_userId:5d6378301c298a5aac7b5402 E_time:1634632803 E_app:jywx_node E_body:map[]} 超过一天最大次数 5 限制,不再增加积分
-2021/10/19 16:42:28 points.go:55: info  接收到消息 &{E_code:jywx_activity_message E_userId:6103bb722abfa5f4d81bb1d1 E_time:1634632948 E_app:jyapp_node1 E_body:map[buy_time:2021-10-19 22:22:22 end_time:2021-11-19 23:59:59 order_code:1234567890 phone:18624906090 product_type:超级订阅一个月]}
-2021/10/19 16:42:33 points.go:55: info  接收到消息 &{E_code:jywx_activity_message E_userId:6103bb722abfa5f4d81bb1d1 E_time:1634632953 E_app:jyapp_node1 E_body:map[buy_time:2021-10-19 22:22:22 end_time:2021-11-19 23:59:59 order_code:1234567890 phone:18624906090 product_type:超级订阅一个月]}
-2021/10/19 16:42:34 points.go:55: info  接收到消息 &{E_code:jywx_activity_message E_userId:6103bb722abfa5f4d81bb1d1 E_time:1634632954 E_app:jyapp_node1 E_body:map[buy_time:2021-10-19 22:22:22 end_time:2021-11-19 23:59:59 order_code:1234567890 phone:18624906090 product_type:超级订阅一个月]}
-2021/10/19 16:42:35 points.go:55: info  接收到消息 &{E_code:jywx_activity_message E_userId:6103bb722abfa5f4d81bb1d1 E_time:1634632955 E_app:jyapp_node1 E_body:map[buy_time:2021-10-19 22:22:22 end_time:2021-11-19 23:59:59 order_code:1234567890 phone:18624906090 product_type:超级订阅一个月]}
-2021/10/19 16:42:37 points.go:55: info  接收到消息 &{E_code:jywx_activity_message E_userId:6103bb722abfa5f4d81bb1d1 E_time:1634632957 E_app:jyapp_node1 E_body:map[buy_time:2021-10-19 22:22:22 end_time:2021-11-19 23:59:59 order_code:1234567890 phone:18624906090 product_type:超级订阅一个月]}
-2021/10/19 16:42:39 points.go:55: info  接收到消息 &{E_code:jywx_activity_message E_userId:6103bb722abfa5f4d81bb1d1 E_time:1634632959 E_app:jyapp_node1 E_body:map[buy_time:2021-10-19 22:22:22 end_time:2021-11-19 23:59:59 order_code:1234567890 phone:18624906090 product_type:超级订阅一个月]}
-2021/10/19 16:53:32 points.go:55: info  接收到消息 &{E_code:jyweb_article_open E_userId:5d6378301c298a5aac7b5402 E_time:1634633609 E_app:jywx_node E_body:map[]}
-2021/10/19 16:53:32 points.go:111: info  &{E_code:jyweb_article_open E_userId:5d6378301c298a5aac7b5402 E_time:1634633609 E_app:jywx_node E_body:map[]} 超过一天最大次数 5 限制,不再增加积分
-2021/10/19 16:54:13 points.go:55: info  接收到消息 &{E_code:jyweb_article_open E_userId:5d6378301c298a5aac7b5402 E_time:1634633650 E_app:jywx_node E_body:map[]}
-2021/10/19 16:54:13 points.go:111: info  &{E_code:jyweb_article_open E_userId:5d6378301c298a5aac7b5402 E_time:1634633650 E_app:jywx_node E_body:map[]} 超过一天最大次数 5 限制,不再增加积分
-2021/10/19 17:02:05 points.go:55: info  接收到消息 &{E_code:jywx_activity_message E_userId:6103bb722abfa5f4d81bb1d1 E_time:1634634125 E_app:jyapp_node1 E_body:map[buy_time:2021-10-19 22:22:22 end_time:2021-11-19 23:59:59 order_code:1234567890 phone:18624906090 product_type:超级订阅一个月]}
-2021/10/19 17:02:05 points.go:55: info  接收到消息 &{E_code:jywx_activity_message E_userId:6103bb722abfa5f4d81bb1d1 E_time:1634634125 E_app:jyapp_node1 E_body:map[buy_time:2021-10-19 22:22:22 end_time:2021-11-19 23:59:59 order_code:1234567890 phone:18624906090 product_type:超级订阅一个月]}

+ 24 - 21
task/ordermonitor.go

@@ -5,7 +5,9 @@ import (
 	"app.yhyue.com/moapp/jybase/go-logger/logger"
 	"app.yhyue.com/moapp/message/config"
 	"app.yhyue.com/moapp/message/db"
+	"app.yhyue.com/moapp/message/handler/activity"
 	"context"
+	"fmt"
 	"github.com/gogf/gf/v2/os/gcfg"
 	"github.com/gogf/gf/v2/os/gcron"
 	"github.com/gogf/gf/v2/os/gctx"
@@ -29,18 +31,18 @@ var (
 func init() {
 	// 获取配置信息
 	monitorConfig = config.OrderMonitorConfig{
-		StartTime:  gtime.NewFromStrLayout(gcfg.Instance().MustGet(gctx.New(), "orderMonitor.startTime").String(), "2006-01-02T15:04:05Z").Time,
-		EndTime:    gtime.NewFromStrLayout(gcfg.Instance().MustGet(gctx.New(), "orderMonitor.endTime").String(), "2006-01-02T15:04:05Z").Time,
-		Date111:    date.FormatDate(&gtime.NewFromStrLayout(gcfg.Instance().MustGet(gctx.New(), "orderMonitor.date111").String(), "2006-01-02T15:04:05Z").Time, date.Date_Short_Layout),
-		OpenCron:   gcfg.Instance().MustGet(gctx.New(), "orderMonitor.openCron").String(),
-		SelectCron: gcfg.Instance().MustGet(gctx.New(), "orderMonitor.selectCron").String(),
+		DateSpecial:       date.FormatDate(&gtime.NewFromStrLayout(gcfg.Instance().MustGet(gctx.New(), "orderMonitor.dateSpecial").String(), "2006-01-02T15:04:05Z").Time, date.Date_Short_Layout),
+		OpenCron:          gcfg.Instance().MustGet(gctx.New(), "orderMonitor.openCron").String(),
+		SelectCron:        gcfg.Instance().MustGet(gctx.New(), "orderMonitor.selectCron").String(),
+		WinNumberDaily:    gcfg.Instance().MustGet(gctx.New(), "orderMonitor.winNumberDaily").Int(),
+		WinNumbersSpecial: gcfg.Instance().MustGet(gctx.New(), "orderMonitor.winNumbersSpecial").Int(),
 	}
 }
 
 // SelectOrderTask 订单监控
 func SelectOrderTask() {
 	// 活动已结束 不再启动定时任务
-	if time.Now().After(monitorConfig.EndTime) {
+	if time.Now().After(activity.MembershipDay.Ed) {
 		return
 	}
 	var (
@@ -53,28 +55,29 @@ func SelectOrderTask() {
 		logger.Error("定时任务selectJob添加失败", err)
 	}
 
-	if time.Now().Before(monitorConfig.StartTime) { // 活动未开始
+	if time.Now().Before(activity.MembershipDay.T2) { // 活动未开始
 		gcron.Stop("selectJob") // 停掉订单查询任务  等后边的定时任务开启
 		logger.Info("selectJob stop")
 	}
 	// 开启定时任务
 	_, err = gcron.Add(ctx, monitorConfig.OpenCron, func(ctx context.Context) {
 		now := time.Now()
-		if now.After(monitorConfig.EndTime) { // 活动已结束 移除掉任务
+		if now.After(activity.MembershipDay.Ed) { // 活动已结束 移除掉任务
 			logger.Info("活动结束,移除任务")
 			gcron.Remove("openCronJob")
 			gcron.Remove("selectJob")
 		}
 		// 活动时间范围内 开启订单查询的定时任务
-		if now.After(monitorConfig.StartTime) && now.Before(monitorConfig.EndTime) {
+		_, inTime, _ := activity.MembershipDay.InActivity()
+		if inTime {
 			flag11 = false // 重置
 			flag111 = false
 			gcron.Start("selectJob")
-			logger.Info("selectJob start")
+			logger.Info("开启 selectJob 任务")
 		}
 	}, "openCronJob")
 	if err != nil {
-		logger.Info("定时任务openCronJob失败", err)
+		logger.Error("定时任务openCronJob失败", err)
 	}
 	logger.Info("openCronJob 启动成功")
 }
@@ -82,14 +85,14 @@ func SelectOrderTask() {
 //  订单监控
 func monitor(ctx context.Context) {
 	logger.Info("开始本轮订单查询")
-	now := time.Now()
-	if now.After(monitorConfig.StartTime) && now.Before(monitorConfig.EndTime) {
+	_, inTime, _ := activity.MembershipDay.InActivity()
+	if inTime {
 		//  查订单表
 		// 查第11个
 		if !flag11 {
-			rs := selectOrder(11)
+			rs := selectOrder(monitorConfig.WinNumberDaily)
 			if rs != nil { // 查到了
-				logger.Info("查询到第11个人员")
+				logger.Info(fmt.Sprintf("查询到第%d个人员", monitorConfig.WinNumberDaily))
 				data := map[string]interface{}{
 					"phone":      rs["user_phone"],
 					"userid":     rs["user_id"],
@@ -105,12 +108,12 @@ func monitor(ctx context.Context) {
 				}
 			}
 		}
-		// 需要查第111个  日期范围内
-		if date.NowFormat(date.Date_Short_Layout) == monitorConfig.Date111 {
-			logger.Info("开始查询第111个人员")
-			rs111 := selectOrder(111)
+		// 需要查第111个  日期范围内  特殊日期
+		if date.NowFormat(date.Date_Short_Layout) == monitorConfig.DateSpecial {
+			logger.Info(fmt.Sprintf("开始查询第%v个人员", monitorConfig.WinNumbersSpecial))
+			rs111 := selectOrder(monitorConfig.WinNumbersSpecial)
 			if rs111 != nil {
-				logger.Info("查询到第111个人员")
+				logger.Info(fmt.Sprintf("查询到第%v个人员", monitorConfig.WinNumbersSpecial))
 				saveData := map[string]interface{}{
 					"phone":      rs111["user_phone"],
 					"userid":     rs111["user_id"],
@@ -125,7 +128,7 @@ func monitor(ctx context.Context) {
 				}
 			}
 		} else {
-			logger.Info("未到11日,不需要查第111名")
+			logger.Info(fmt.Sprintf("未到%s日,不需要查第%v名", monitorConfig.DateSpecial, monitorConfig.WinNumbersSpecial))
 			flag111 = true
 		}
 		if flag111 && flag11 {