copy 完删除数据

This commit is contained in:
GYJ 2025-03-20 16:07:49 +08:00
parent 07624c818d
commit 389914220f
4 changed files with 64 additions and 36 deletions

View File

@ -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"`
}

View File

@ -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)

32
main.go
View File

@ -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() {

Binary file not shown.