Commit 1f4a82ea authored by hujiebin's avatar hujiebin

ksa的同步

parent a1f37709
...@@ -12,6 +12,13 @@ type FruitDayRank struct { ...@@ -12,6 +12,13 @@ type FruitDayRank struct {
Award int64 Award int64
} }
type FruitDayRankKsa struct {
Period string
UserId uint64
Stake int64
Award int64
}
type FruitMachineStake struct { type FruitMachineStake struct {
Date string Date string
UserId uint64 UserId uint64
...@@ -24,17 +31,19 @@ type FruitMachineAward struct { ...@@ -24,17 +31,19 @@ type FruitMachineAward struct {
Award int64 Award int64
} }
var Cstzone = time.FixedZone("CST", 3*3600) // 东三
func main() { func main() {
start := time.Date(2023, time.January, 1, 0, 0, 0, 0, time.Local) start := time.Date(2023, time.January, 2, 0, 0, 0, 0, Cstzone)
for start.Before(time.Now()) { for start.Before(time.Now()) {
var rows []FruitMachineStake var rows []FruitMachineStake
if err := mysql.ProdReadOnlyDB.Table("fruit_machine_stake").Where("`date` = ?", start.Format("2006-01-02")). if err := mysql.ProdReadOnlyDB.Table("fruit_machine_stake FORCE INDEX(created_time)").Where("DATE(`created_time`) = ?", start.Format("2006-01-02")).
Select("`date`,user_id,SUM(stake) stake").Group("`date`,user_id").Find(&rows).Error; err != nil { Select("`date`,user_id,SUM(stake) stake").Group("DATE(`created_time`),user_id").Find(&rows).Error; err != nil {
panic(err) panic(err)
} }
for _, row := range rows { for _, row := range rows {
if err := mysql.ProdWriteDB.Create(FruitDayRank{ if err := mysql.ProdWriteDB.Create(FruitDayRankKsa{
Period: row.Date, Period: start.Format("2006-01-02"),
UserId: row.UserId, UserId: row.UserId,
Stake: row.Stake, Stake: row.Stake,
Award: 0, Award: 0,
...@@ -43,16 +52,17 @@ func main() { ...@@ -43,16 +52,17 @@ func main() {
} }
} }
var rows2 []FruitMachineAward var rows2 []FruitMachineAward
if err := mysql.ProdReadOnlyDB.Table("fruit_machine_player").Where("`date` = ?", start.Format("2006-01-02")). if err := mysql.ProdReadOnlyDB.Table("fruit_machine_player FORCE INDEX(created_time)").Where("DATE(`created_time`) = ?", start.Format("2006-01-02")).
Select("`date`,user_id,SUM(award) award").Group("`date`,user_id").Find(&rows2).Error; err != nil { Select("`date`,user_id,SUM(award) award").Group("DATE(`created_time`),user_id").Find(&rows2).Error; err != nil {
panic(err) panic(err)
} }
for _, row := range rows2 { for _, row := range rows2 {
if err := mysql.ProdWriteDB.Table("fruit_day_rank").Where("period = ? AND user_id = ?", start.Format("2006-01-02"), row.UserId). if err := mysql.ProdWriteDB.Table("fruit_day_rank_ksa").Where("period = ? AND user_id = ?", start.Format("2006-01-02"), row.UserId).
Update("award", row.Award).Error; err != nil { Update("award", row.Award).Error; err != nil {
panic(err) panic(err)
} }
} }
start = start.AddDate(0, 0, 1) start = start.AddDate(0, 0, 1)
//break
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment