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