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) { func copyOrders(db *gorm.DB, timeNow time.Time) {
order := &data.Orders{} order := &data.Orders{}
start := timeNow.Format("2006-01-02 15:04:05") 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)
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) parse, err := time.Parse("2006-01-02T15:04:05Z07:00", order.CreateTime)
if err != nil { if err != nil {
fmt.Println("parse order create_time error:", err) fmt.Println("parse order create_time error:", err)
} }
format := parse.Format("2006-01-02 15:04:05") deleteTime = parse.Format("2006-01-02 15:04:05")
fmt.Println("copy orders from:", format) fmt.Println("copy orders from:", deleteTime)
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) _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) { func copyPayDetails(db *gorm.DB, timeNow time.Time) {
detail := &data.PayDetails{} detail := &data.PayDetails{}
start := timeNow.Format("2006-01-02 15:04:05") 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)
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) parse, err := time.Parse("2006-01-02T15:04:05Z07:00", detail.CreateTime)
if err != nil { if err != nil {
fmt.Println("parse pay_details create_time error:", err) fmt.Println("parse pay_details create_time error:", err)
} }
format := parse.Format("2006-01-02 15:04:05") deleteTime = parse.Format("2006-01-02 15:04:05")
fmt.Println("copy pay_details from:", format) fmt.Println("copy pay_details from:", deleteTime)
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) _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) { func copyUserMoneyDetails(db *gorm.DB, timeNow time.Time) {
detail := &data.UserMoneyDetails{} detail := &data.UserMoneyDetails{}
start := timeNow.Format("2006-01-02 15:04:05") 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)
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) parse, err := time.Parse("2006-01-02T15:04:05Z07:00", detail.CreateTime)
if err != nil { if err != nil {
fmt.Println("parse pay_details create_time error:", err) fmt.Println("parse pay_details create_time error:", err)
} }
format := parse.Format("2006-01-02 15:04:05") deleteTime = parse.Format("2006-01-02 15:04:05")
fmt.Println("copy pay_details from:", format) fmt.Println("copy pay_details from:", deleteTime)
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) _execUserMoneyDetails(db, timeNow.Format("2006-01-02 15:04:05"), 0)

30
main.go
View File

@ -1,26 +1,28 @@
package main package main
import ( import (
"fmt"
"github.com/robfig/cron/v3"
"time" "time"
"video_data_copy/db" "video_data_copy/db"
) )
func main() { func main() {
_startCopyData()
//c := cron.New()
//_, err := c.AddFunc("0 4 * * *", func() {
// fmt.Println("定时任务开始执行")
//_startCopyData() //_startCopyData()
//}) c := cron.New()
//if err != nil { _, err := c.AddFunc("0 4 * * *", func() {
// fmt.Printf("添加定时任务出错: %v\n", err) fmt.Println("定时任务开始执行")
// return _startCopyData()
//} })
// if err != nil {
//fmt.Println("定时任务启动成功") fmt.Printf("添加定时任务出错: %v\n", err)
//c.Start() return
// }
//select {}
fmt.Println("定时任务启动成功")
c.Start()
select {}
} }
func _startCopyData() { func _startCopyData() {

Binary file not shown.