Commit 1f4a82ea authored by hujiebin's avatar hujiebin

ksa的同步

parent a1f37709
......@@ -12,6 +12,13 @@ type FruitDayRank struct {
Award int64
}
type FruitDayRankKsa struct {
Period string
UserId uint64
Stake int64
Award int64
}
type FruitMachineStake struct {
Date string
UserId uint64
......@@ -24,17 +31,19 @@ type FruitMachineAward struct {
Award int64
}
var Cstzone = time.FixedZone("CST", 3*3600) // 东三
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()) {
var rows []FruitMachineStake
if err := mysql.ProdReadOnlyDB.Table("fruit_machine_stake").Where("`date` = ?", start.Format("2006-01-02")).
Select("`date`,user_id,SUM(stake) stake").Group("`date`,user_id").Find(&rows).Error; err != nil {
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(`created_time`),user_id").Find(&rows).Error; err != nil {
panic(err)
}
for _, row := range rows {
if err := mysql.ProdWriteDB.Create(FruitDayRank{
Period: row.Date,
if err := mysql.ProdWriteDB.Create(FruitDayRankKsa{
Period: start.Format("2006-01-02"),
UserId: row.UserId,
Stake: row.Stake,
Award: 0,
......@@ -43,16 +52,17 @@ func main() {
}
}
var rows2 []FruitMachineAward
if err := mysql.ProdReadOnlyDB.Table("fruit_machine_player").Where("`date` = ?", start.Format("2006-01-02")).
Select("`date`,user_id,SUM(award) award").Group("`date`,user_id").Find(&rows2).Error; err != nil {
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(`created_time`),user_id").Find(&rows2).Error; err != nil {
panic(err)
}
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 {
panic(err)
}
}
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