123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- package timetask
- import (
- "app.yhyue.com/moapp/jybase/date"
- "github.com/robfig/cron/v3"
- "log"
- "telemarketingEtl/entity"
- "time"
- _ "github.com/gogf/gf/contrib/drivers/mysql/v2"
- "github.com/gogf/gf/v2/os/gcfg"
- "github.com/gogf/gf/v2/os/gctx"
- )
- /*
- #查看
- eventInfoTime: 5
- #搜索
- searchInfoTime: 5
- #每日
- visitInfoTime: 5
- #定时
- openSeaTime: 5
- #退出
- deleteOpenSeaTime: 5
- #自动退出
- returnOpenSeaTime: 5
- */
- func today() int64 {
- now := time.Now()
- today := time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, now.Location())
- return today.Unix()
- }
- func GetStartEnd() (start, end int64) {
- now := time.Now()
- today := time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, now.Location())
- start = today.AddDate(0, 0, -1).Unix()
- end = today.Unix()
- return
- }
- type TaskEventInfo struct{}
- func (t *TaskEventInfo) Run() {
- log.Println("开始TaskEventInfo")
- now := time.Now()
- end := now.Unix()
- min := gcfg.Instance().MustGet(gctx.New(), "eventInfoTime", "").Int()
- start := now.Add(-time.Minute * time.Duration(min)).Unix()
- //查看事件
- entity.EventInfoAdd(start, end)
- log.Println("结束TaskEventInfo")
- }
- type TaskSearchInfo struct{}
- func (t *TaskSearchInfo) Run() {
- log.Println("开始TaskSearchInfo")
- now := time.Now()
- end := now.Unix()
- min := gcfg.Instance().MustGet(gctx.New(), "searchInfoTime", "").Int()
- start := now.Add(-time.Minute * time.Duration(min)).Unix()
- //搜索事件
- entity.SearchInfoAdd(start, end)
- log.Println("结束TaskSearchInfo")
- }
- type TaskVisitInfo struct{}
- func (t *TaskVisitInfo) Run() {
- log.Println("开始TaskVisitInfo")
- now := time.Now()
- end := now.Unix()
- min := gcfg.Instance().MustGet(gctx.New(), "visitInfoTime", "").Int()
- start := now.Add(-time.Minute * time.Duration(min)).Unix()
- entity.VisitInfoAdd(start, end)
- //entity.VisitInfoAdd(1721404800, 1724947200)
- log.Println("结束TaskVisitInfo")
- }
- type TaskOpenSea struct{}
- func (t *TaskOpenSea) Run() {
- log.Println("开始TaskOpenSea")
- entity.GetOpenSea()
- log.Println("结束TaskOpenSea")
- }
- type TaskCountMaxVisit struct{}
- func (t *TaskCountMaxVisit) Run() {
- log.Println("开始TaskCountMaxVisit")
- entity.CountMaxVisit()
- log.Println("结束TaskCountMaxVisit")
- }
- type TaskCountCalled struct{}
- func (t *TaskCountCalled) Run() {
- log.Println("开始TaskCountCalled")
- entity.CountCalled()
- log.Println("结束TaskCountCalled")
- }
- type TaskMissedCalls struct{}
- func (t *TaskMissedCalls) Run() {
- log.Println("开始TaskMissedCalls")
- entity.MissedCalls()
- log.Println("结束TaskMissedCalls")
- }
- type TaskJyList struct{}
- func (t *TaskJyList) Run() {
- log.Println("开始TaskJyList")
- entity.Count30DaysSearch()
- log.Println("结束TaskJyList")
- }
- type TaskJyDetail struct{}
- func (t *TaskJyDetail) Run() {
- log.Println("开始TaskJyDetail")
- entity.Count30DaysDetail()
- log.Println("结束TaskJyDetail")
- }
- type TaskVipExpire struct{}
- func (t *TaskVipExpire) Run() {
- log.Println("开始TaskVipExpire")
- entity.VipExpire()
- log.Println("结束TaskVipExpire")
- }
- // 定时任务
- func Run() {
- timetaskBl := gcfg.Instance().MustGet(gctx.New(), "timetaskBl", "").Bool()
- if timetaskBl {
- var (
- c = cron.New()
- )
- eventInfoTask := gcfg.Instance().MustGet(gctx.New(), "eventInfoTask", "").String()
- searchInfoTask := gcfg.Instance().MustGet(gctx.New(), "searchInfoTask", "").String()
- visitInfoTask := gcfg.Instance().MustGet(gctx.New(), "visitInfoTask", "").String()
- openSeaTask := gcfg.Instance().MustGet(gctx.New(), "openSeaTask", "").String()
- countMaxVisitTask := gcfg.Instance().MustGet(gctx.New(), "countMaxVisitTask", "").String()
- countCalledVoice := gcfg.Instance().MustGet(gctx.New(), "countCallsTask", "").String()
- missedCallsTask := gcfg.Instance().MustGet(gctx.New(), "missedCallsTask", "").String()
- jyListAndDetailTask := gcfg.Instance().MustGet(gctx.New(), "jyListAndDetailTask", "").String()
- vipExpireTask := gcfg.Instance().MustGet(gctx.New(), "vipExpireTask", "").String()
- c.AddJob(eventInfoTask, cron.NewChain(cron.DelayIfStillRunning(cron.DefaultLogger)).Then(&TaskEventInfo{}))
- c.AddJob(searchInfoTask, cron.NewChain(cron.DelayIfStillRunning(cron.DefaultLogger)).Then(&TaskSearchInfo{}))
- c.AddJob(visitInfoTask, cron.NewChain(cron.DelayIfStillRunning(cron.DefaultLogger)).Then(&TaskVisitInfo{}))
- c.AddJob(openSeaTask, cron.NewChain(cron.DelayIfStillRunning(cron.DefaultLogger)).Then(&TaskOpenSea{}))
- entity.CurrentDate = date.NowFormat(date.Date_Short_Layout)
- //近30天连续访问天数
- c.AddJob(countMaxVisitTask, cron.NewChain(cron.DelayIfStillRunning(cron.DefaultLogger)).Then(&TaskCountMaxVisit{}))
- //最近7天外呼次数
- c.AddJob(countCalledVoice, cron.NewChain(cron.DelayIfStillRunning(cron.DefaultLogger)).Then(&TaskCountCalled{}))
- //最近连续未接听次数
- c.AddJob(missedCallsTask, cron.NewChain(cron.DelayIfStillRunning(cron.DefaultLogger)).Then(&TaskMissedCalls{}))
- //近3天招标采购搜索次数
- c.AddJob(jyListAndDetailTask, cron.NewChain(cron.DelayIfStillRunning(cron.DefaultLogger)).Then(&TaskJyList{}))
- //近3天点击标讯三级页次数
- c.AddJob(jyListAndDetailTask, cron.NewChain(cron.DelayIfStillRunning(cron.DefaultLogger)).Then(&TaskJyDetail{}))
- //会员是否到期
- c.AddJob(vipExpireTask, cron.NewChain(cron.DelayIfStillRunning(cron.DefaultLogger)).Then(&TaskVipExpire{}))
- c.Start()
- }
- }
|