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 }