|
@ -1,10 +1,78 @@ |
|
|
/****************************************************************************** |
|
|
|
|
|
* @Function Name : |
|
|
|
|
|
*----------------------------------------------------------------------------- |
|
|
|
|
|
* @Description : |
|
|
|
|
|
* @Function Parameters: |
|
|
|
|
|
* @Return Value : |
|
|
|
|
|
* @Author : Zhang Xin |
|
|
|
|
|
* @Date : 2021/3/3 11:02 |
|
|
|
|
|
******************************************************************************/ |
|
|
|
|
|
package main |
|
|
|
|
|
|
|
|
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) |
|
|
|
|
|
} |