From b1f8b75407275265b0a31b0d040fbc730f27b02a Mon Sep 17 00:00:00 2001 From: zhangxin Date: Wed, 23 Jun 2021 09:44:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B8=85=E7=90=86portal?= =?UTF-8?q?=E8=80=81=E6=95=B0=E6=8D=AE=E7=9A=84=E5=8A=9F=E8=83=BD=E7=A8=8B?= =?UTF-8?q?=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ClearOldData.go | 88 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 78 insertions(+), 10 deletions(-) diff --git a/ClearOldData.go b/ClearOldData.go index 655fbba..6b77267 100644 --- a/ClearOldData.go +++ b/ClearOldData.go @@ -1,10 +1,78 @@ -/****************************************************************************** - * @Function Name : - *----------------------------------------------------------------------------- - * @Description : - * @Function Parameters: - * @Return Value : - * @Author : Zhang Xin - * @Date : 2021/3/3 11:02 - ******************************************************************************/ - package main \ No newline at end of file +package main + +import ( + "LAPP_GAAS_GFrame_BACKEND/conf" + dal "LAPP_GAAS_GFrame_BACKEND/dao/log" + omDal "LAPP_GAAS_GFrame_BACKEND/dao/om" + "LAPP_GAAS_GFrame_BACKEND/db" + "LAPP_GAAS_GFrame_BACKEND/grmi" + "LAPP_GAAS_GFrame_BACKEND/utils" + "fmt" + "github.com/robfig/cron" + "log" + "time" +) + +func main() { + //加载配置 + path := utils.EnsureDir("conf/config.yaml") + err := conf.ReadYamlConfig(path) + if err != nil { + log.Fatal("init config failed, error:", err) + } + err = Start() + if err != nil { + fmt.Println("start failed, error:", err) + } +} + + +func Start() error { + c := cron.New() + var err error + err = c.AddFunc("0 0 1 * * ?", ClearOldData) + if err != nil { + return err + } + + c.Start() + select {} +} + +func ClearOldData() { + + err := db.InitDb() + if err != nil { + fmt.Println("init db failed, error:", err) + return + } + engine := db.Eloquent.Master() + session := engine.NewSession() + if err = session.Begin(); err != nil { + fmt.Println("开始事务失败") + return + } + headDao := dal.NewArtDemandHeadDAO(session, 100, "cron") + lstDao := dal.NewArtDemandLstDAO(session, 100, "cron") + workOrderDao := omDal.NewWorkOrderDAO(session, 100, "cron") + endTime := time.Now().AddDate(0, 0, -30).Format(grmi.DatetimeOutFormat) + err = headDao.ClearOldData(endTime) + if err != nil { + fmt.Println("clear head data failed:", err) + _ = session.Rollback() + return + } + err = lstDao.ClearOldData(endTime) + if err != nil { + fmt.Println("clear list data failed:", err) + _ = session.Rollback() + return + } + err = workOrderDao.ClearOldData(endTime) + if err != nil { + fmt.Println("clear work order data failed:", err) + _ = session.Rollback() + return + } + fmt.Println("clear date success, endTime:", endTime) +} \ No newline at end of file