package do import ( "analyze/internal/model" "analyze/utility" "app.yhyue.com/moapp/jybase/mail" "github.com/gogf/gf/v2/encoding/gjson" "github.com/gogf/gf/v2/frame/g" ) type taskInfo struct { FirstRun bool TaskRun bool Ticker int } type taskConfig struct { Name string MainSwitch bool MarketAnalysis taskInfo Message struct { Addr string `json:"addr"` Action string `json:"action"` CallPlatform string `json:"callPlatform"` } `json:"message"` // 消息api MessageInfo struct { Title string `json:"title"` MsgType int `json:"msgType"` Content string `json:"content"` Link struct { PcUrl string `json:"pcUrl"` AndroidUrl string `json:"androidUrl"` IosUrl string `json:"iosUrl"` WeChatUrl string `json:"weChatUrl"` } `json:"link"` } `json:"messageInfo"` // 市场分析报告消息配置 Mail []struct { Addr string Port int Pwd string User string } `json:"mail"` MailAlarm struct { To []string `json:"to"` // 告警邮件接收人 Title string `json:"title"` // 邮件标题 ReTry int `json:"reTry"` // 重试次数 } `json:"mailAlarm"` } var ( TaskConfig taskConfig GmailAuth []*mail.GmailAuth SendMsg *utility.StationMessage ) func init() { g.Log().Info(model.Ctx, "--定时任务配置初始化--开始--") var ( task map[string]interface{} err error b []byte msg = "--定时任务配置初始化--异常--" ) task, err = g.Cfg("task.yaml").Data(model.Ctx) if err == nil { b, err = gjson.Marshal(task) if err == nil { if err = gjson.Unmarshal(b, &TaskConfig); err == nil { msg = "" } } } if msg != "" { g.Log().Error(model.Ctx, msg) } // 处理邮件信息 for _, v := range TaskConfig.Mail { m := &mail.GmailAuth{ SmtpHost: v.Addr, SmtpPort: v.Port, User: v.User, Pwd: v.Pwd, } GmailAuth = append(GmailAuth, m) } SendMsg = utility.NewStationMessage(TaskConfig.Message.Addr, TaskConfig.Message.Action, TaskConfig.Message.CallPlatform) g.Log().Info(model.Ctx, "--定时任务配置初始化--结束--") }