diff --git a/data/invite_achievement.go b/data/invite_achievement.go new file mode 100644 index 0000000..1e15346 --- /dev/null +++ b/data/invite_achievement.go @@ -0,0 +1,15 @@ +package data + +import "time" + +type InviteAchievement struct { + Id int64 `json:"id" gorm:"primary_key;column:id"` + UserId int64 `json:"user_id" gorm:"column:user_id"` + SourceUserId int64 `json:"source_user_id" gorm:"column:source_user_id"` + TargetUserId int64 `json:"target_user_id" gorm:"column:target_user_id"` + Count int `json:"count" gorm:"column:count"` + State int `json:"state" gorm:"column:state"` + CreateTime *time.Time `json:"create_time" gorm:"column:create_time"` + UpdateTime *time.Time `json:"update_time" gorm:"column:update_time"` + GiveAwardCount int `json:"give_award_count" gorm:"column:give_award_count"` +} diff --git a/db/copy_data.go b/db/copy_data.go index 46eeaef..db6a316 100644 --- a/db/copy_data.go +++ b/db/copy_data.go @@ -11,15 +11,18 @@ import ( func copyOrders(db *gorm.DB, timeNow time.Time) { order := &data.Orders{} start := timeNow.Format("2006-01-02 15:04:05") - db.Debug().Where("create_time < ?", timeNow.Format("2006-01-02 15:04:05")).Order("create_time asc").First(order) + first := db.Debug().Where("create_time < ?", timeNow.Format("2006-01-02 15:04:05")).Order("create_time asc").First(order) - parse, err := time.Parse("2006-01-02T15:04:05Z07:00", order.CreateTime) - if err != nil { - fmt.Println("parse order create_time error:", err) + deleteTime := timeNow.Add(-1 * 24 * time.Hour).Format("2006-01-02 15:04:05") + if first.RowsAffected > 0 { + parse, err := time.Parse("2006-01-02T15:04:05Z07:00", order.CreateTime) + if err != nil { + fmt.Println("parse order create_time error:", err) + } + deleteTime = parse.Format("2006-01-02 15:04:05") + fmt.Println("copy orders from:", deleteTime) } - format := parse.Format("2006-01-02 15:04:05") - fmt.Println("copy orders from:", format) - db.Debug().Where("create_time >= ?", start).Delete(&data.OrdersCopy1{}) + db.Debug().Where("create_time >= ?", deleteTime).Delete(&data.OrdersCopy1{}) _execOrders(db, timeNow.Format("2006-01-02 15:04:05"), 0) @@ -51,15 +54,19 @@ func _execOrders(db *gorm.DB, timeNow string, index int) { func copyPayDetails(db *gorm.DB, timeNow time.Time) { detail := &data.PayDetails{} start := timeNow.Format("2006-01-02 15:04:05") - db.Model(detail).Where("create_time < ?", timeNow.Format("2006-01-02 15:04:05")).Order("create_time asc").First(detail) + first := db.Model(detail).Where("create_time < ?", timeNow.Format("2006-01-02 15:04:05")).Order("create_time asc").First(detail) - parse, err := time.Parse("2006-01-02T15:04:05Z07:00", detail.CreateTime) - if err != nil { - fmt.Println("parse pay_details create_time error:", err) + deleteTime := timeNow.Add(-1 * 24 * time.Hour).Format("2006-01-02 15:04:05") + if first.RowsAffected > 0 { + parse, err := time.Parse("2006-01-02T15:04:05Z07:00", detail.CreateTime) + if err != nil { + fmt.Println("parse pay_details create_time error:", err) + } + deleteTime = parse.Format("2006-01-02 15:04:05") + fmt.Println("copy pay_details from:", deleteTime) } - format := parse.Format("2006-01-02 15:04:05") - fmt.Println("copy pay_details from:", format) - db.Debug().Where("create_time >= ?", start).Delete(&data.PayDetailsCopy1{}) + + db.Debug().Where("create_time >= ?", deleteTime).Delete(&data.PayDetailsCopy1{}) _execPayDetails(db, timeNow.Format("2006-01-02 15:04:05"), 0) @@ -91,15 +98,19 @@ func _execPayDetails(db *gorm.DB, timeNow string, index int) { func copyUserMoneyDetails(db *gorm.DB, timeNow time.Time) { detail := &data.UserMoneyDetails{} start := timeNow.Format("2006-01-02 15:04:05") - db.Model(detail).Where("create_time < ?", timeNow.Format("2006-01-02 15:04:05")).Order("create_time asc").First(detail) + first := db.Model(detail).Where("create_time < ?", timeNow.Format("2006-01-02 15:04:05")).Order("create_time asc").First(detail) - parse, err := time.Parse("2006-01-02T15:04:05Z07:00", detail.CreateTime) - if err != nil { - fmt.Println("parse pay_details create_time error:", err) + deleteTime := timeNow.Add(-1 * 24 * time.Hour).Format("2006-01-02 15:04:05") + if first.RowsAffected > 0 { + parse, err := time.Parse("2006-01-02T15:04:05Z07:00", detail.CreateTime) + if err != nil { + fmt.Println("parse pay_details create_time error:", err) + } + deleteTime = parse.Format("2006-01-02 15:04:05") + fmt.Println("copy pay_details from:", deleteTime) } - format := parse.Format("2006-01-02 15:04:05") - fmt.Println("copy pay_details from:", format) - db.Debug().Where("create_time >= ?", start).Delete(&data.UserMoneyDetailsCopy1{}) + + db.Debug().Where("create_time >= ?", deleteTime).Delete(&data.UserMoneyDetailsCopy1{}) _execUserMoneyDetails(db, timeNow.Format("2006-01-02 15:04:05"), 0) diff --git a/main.go b/main.go index b19488c..80ba195 100644 --- a/main.go +++ b/main.go @@ -1,26 +1,28 @@ package main import ( + "fmt" + "github.com/robfig/cron/v3" "time" "video_data_copy/db" ) func main() { - _startCopyData() - //c := cron.New() - //_, err := c.AddFunc("0 4 * * *", func() { - // fmt.Println("定时任务开始执行") - // _startCopyData() - //}) - //if err != nil { - // fmt.Printf("添加定时任务出错: %v\n", err) - // return - //} - // - //fmt.Println("定时任务启动成功") - //c.Start() - // - //select {} + //_startCopyData() + c := cron.New() + _, err := c.AddFunc("0 4 * * *", func() { + fmt.Println("定时任务开始执行") + _startCopyData() + }) + if err != nil { + fmt.Printf("添加定时任务出错: %v\n", err) + return + } + + fmt.Println("定时任务启动成功") + c.Start() + + select {} } func _startCopyData() { diff --git a/video_data_copy_linux_amd64 b/video_data_copy_linux_amd64 index 4ad2a6f..c6248bd 100755 Binary files a/video_data_copy_linux_amd64 and b/video_data_copy_linux_amd64 differ