48 lines
1.3 KiB
Go
48 lines
1.3 KiB
Go
package data
|
|
|
|
import (
|
|
"feishu/util"
|
|
"log"
|
|
"time"
|
|
)
|
|
|
|
type Operation struct {
|
|
Date time.Time `db:"Date"`
|
|
Register int `db:"Register"`
|
|
SecondRemain int `db:"SecondRemain"`
|
|
ThirdRemain int `db:"ThirdRemain"`
|
|
SeventhRemain int `db:"SeventhRemain"`
|
|
ThirtiethRemain int `db:"ThirtiethRemain"`
|
|
Recharge float64 `db:"Recharge"`
|
|
Login int `db:"Login"`
|
|
}
|
|
|
|
type User struct {
|
|
Uid int `db:"Uid"`
|
|
Level int `db:"Level"`
|
|
Exp int `db:"Exp"`
|
|
Diamond int `db:"Diamond"`
|
|
Star int `db:"Star"`
|
|
Energy int `db:"Energy"`
|
|
}
|
|
|
|
func GetOperation() ([]*Operation, error) {
|
|
Db, err := util.MySQL()
|
|
if err != nil {
|
|
log.Printf("GetOperation MySQL error: %v", err)
|
|
return nil, err
|
|
}
|
|
defer Db.Close()
|
|
Result := []*Operation{}
|
|
ZeroTimestamp := util.ZeroTimestampByTz("Europe/London") - 86400
|
|
ZeroTime := time.Unix(ZeroTimestamp, 0).In(time.UTC)
|
|
StartDate := ZeroTime.AddDate(0, 0, -7).Format("2006-01-02")
|
|
EndDate := ZeroTime.Format("2006-01-02")
|
|
err = Db.Select(&Result, "SELECT `Date`, `Register`, `SecondRemain`, `ThirdRemain`, `SeventhRemain`, `ThirtiethRemain`, `Recharge`, `Login` FROM remain where `Date` >= ? and `Date` <= ? order by `Date` desc", StartDate, EndDate)
|
|
if err != nil {
|
|
log.Printf("GetOperation Select error: %v", err)
|
|
return nil, err
|
|
}
|
|
return Result, nil
|
|
}
|