package services import ( "context" "fmt" "github.com/beego/beego/v2/task" "hongze/hongze_task/services/company_contract" "hongze/hongze_task/services/data" "hongze/hongze_task/utils" ) func Task() { fmt.Println("task start") //如果是生产环境,才需要走这些任务 if utils.RunMode == "release" { releaseTask() } //每日定时合同处理 handleCompanyContract := task.NewTask("handleCompanyContract", "0 1 0 * * *", company_contract.HandleCompanyContract) task.AddTask("每日定时合同处理", handleCompanyContract) //正式->试用 companyTryOut := task.NewTask("companyTryOut", "0 5 0 * * *", CompanyTryOut) task.AddTask("正式->试用", companyTryOut) //试用->冻结 companyFreeze := task.NewTask("companyFreeze", "0 10 0 * * *", CompanyFreeze) task.AddTask("试用->冻结", companyFreeze) //冻结->流失 companyLoss := task.NewTask("companyLoss", "0 20 0 * * *", CompanyLoss) task.AddTask("冻结->流失", companyLoss) //用户产品权限试用-->关闭 companyReportPermissionClose := task.NewTask("companyReportPermissionClose", "0 30 0 * * *", CompanyReportPermissionClose) task.AddTask("用户产品权限试用-->关闭", companyReportPermissionClose) //删除日志记录 //deleteReportSaveLog := task.NewTask("deleteReportSaveLog", "0 30 08 * * *", DeleteReportSaveLog) //task.AddTask("deleteReportSaveLog", deleteReportSaveLog) // 存量客户数据统计 stackCompanyStatistic := task.NewTask("stackCompanyStatistic", "0 35 0 * * *", StackCompanyStatistic) task.AddTask("存量客户数据统计", stackCompanyStatistic) task.StartTask() //GetHistoryLzProductDetail() //GetLzPrice() //GetLzProductDetail() //LzExportExcel() //GetLzProductList()GetLzProductDetail fmt.Println("task end") } //生产环境需要走的任务 func releaseTask() { //隆众指标获取 getLzProductList := task.NewTask("getLzProductList", "0 0 11-19/1 * * * ", GetLzProductList) task.AddTask("getLzProductList", getLzProductList) //隆众指标数据获取 getLzProductDetail := task.NewTask("getLzProductDetail", "0 5 11-19/1 * * * ", GetLzProductDetail) task.AddTask("getLzProductDetail", getLzProductDetail) //隆众价格指标获取 getLzProductPriceProduct := task.NewTask("getLzProductPriceProduct", "0 5 11-19/1 * * * ", GetLzProductPriceProduct) task.AddTask("getLzProductPriceProduct", getLzProductPriceProduct) //隆众价格指标数据获取 getLzProductPriceData := task.NewTask("getLzProductPriceData", "0 10 11-19/1 * * * ", GetLzProductPriceData) task.AddTask("getLzProductPriceData", getLzProductPriceData) //发送邮件 sendEmail := task.NewTask("sendEmail", "0 0 12 * * 0 ", SendEmail) task.AddTask("sendEmail", sendEmail) oneMinute := task.NewTask("oneMinute", "0 */1 7-23 * * * ", OneMinute) task.AddTask("oneMinute", oneMinute) // 正式/试用 用户到期提醒 companyRemind := task.NewTask("companyRemind", "0 30 08 * * *", CompanyRemind) task.AddTask("companyRemind", companyRemind) //潜在客户 freeViewerDetail := task.NewTask("freeViewerDetail", "0 0 9 * * 1 ", FreeViewerDetail) task.AddTask("潜在客户", freeViewerDetail) //刷新指标数据 refreshData := task.NewTask("refreshData", "0 1 0,19 * * *", RefreshData) task.AddTask("refreshData", refreshData) //刷新计算指标数据 refreshCalculateData := task.NewTask("refreshCalculateData", "0 15 0,19 * * *", RefreshCalculateData) task.AddTask("refreshCalculateData", refreshCalculateData) checkDataInterface := task.NewTask("checkDataInterface", "0 */2 * * * * ", data.CheckDataInterface) task.AddTask("checkDataInterface", checkDataInterface) checkPbDataInterface := task.NewTask("checkPbDataInterface", "0 */5 * * * * ", data.CheckPbDataInterface) task.AddTask("checkPbDataInterface", checkPbDataInterface) } func TaskTest() { fmt.Println("The task is start") //companyReportPermissionClose := task.NewTask("companyTryOut", "0 5 0 * * *", CompanyReportPermissionClose) companyReportPermissionClose := task.NewTask("companyReportPermissionClose", "0/30 * * * * *", CompanyReportPermissionClose) task.AddTask("用户产品权限试用-->关闭", companyReportPermissionClose) task.StartTask() fmt.Println("The task is end") } func SendEmail(cont context.Context) (err error) { //报告历史访问次数 go ReportViewTimes() //报告访问详情 go ReportViewDetail() //用户权限统计 go HongzeUsers() return } func OneMinute(cont context.Context) (err error) { //日度 //FrequencyByDay() //周度 FrequencyByWeek() //月度 FrequencyByMonth() return } func RefreshData(cont context.Context) (err error) { //wind go data.RefreshDataFromWind() //同花顺 go data.RefreshDataFromThs() //彭博 go data.RefreshDataFromPb() return } func RefreshCalculateData(cont context.Context) (err error) { //计算指标 go data.RefreshDataFromCalculateAll() //刷新公历转农历数据 //go data.RefreshDataFromQuarterAll() return }