package api import ( "WechatGateWay/global" "github.com/jinzhu/gorm" "log" ) /* * @author: sre @date: 2022/9/12 0012 @desc: todo * */ type BinancePrice struct { gorm.Model Symbol string Price float64 } func GetBinanceLatestPrice(symbol string) float64 { var binancePrice BinancePrice global.DB.Where("symbol = ?", symbol).Last(&binancePrice) return binancePrice.Price } func GetBinanceLatestPrices(symbol string) []BinancePrice { var binancePrices []BinancePrice //global.DB.Where("symbol = ? ", symbol).Find(&binancePrices) global.DB.Where("symbol = ? ", symbol).Order("id desc").Limit(1000).Find(&binancePrices) //global.DB.Where("symbol = ? order by id desc", symbol).Limit(30).Find(&binancePrices) reverseSlice := func(in []BinancePrice) []BinancePrice { out := make([]BinancePrice, len(in)) for i := range in { out[i] = in[len(in)-1-i] } return out } return reverseSlice(binancePrices) } func GetSerivers(symbol string) (timeUpdate []string, symbolPrice []float64) { binancePrices := GetBinanceLatestPrices(symbol) log.Println("binancePrices: ", len(binancePrices)) for _, binancePrice := range binancePrices { timeUpdate = append(timeUpdate, binancePrice.UpdatedAt.Format("2006-01-02 15:04:05")) symbolPrice = append(symbolPrice, binancePrice.Price) } return }