| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package admin
- import (
- "strconv"
- "think-go/controllers/services"
- "think-go/utils"
- beego "github.com/beego/beego/v2/server/web"
- )
- type CoinController struct {
- beego.Controller
- }
- // KlineView page
- func (c *CoinController) KlineView() {
- c.TplName = "admin/kline.tpl"
- }
- // GET /admin/coin/kline?symbol=BTCUSDT&interval=hour&limit=200
- func (c *CoinController) Kline() {
- symbol := c.GetString("symbol")
- if symbol == "" {
- symbol = "BTCUSDT"
- }
- interval := c.GetString("interval")
- if interval == "" {
- interval = "hour"
- }
- limit, _ := strconv.Atoi(c.GetString("limit"))
- startTime, _ := strconv.ParseInt(c.GetString("start_time"), 10, 64)
- endTime, _ := strconv.ParseInt(c.GetString("end_time"), 10, 64)
- svc := &services.KlineService{}
- data, err := svc.FetchKlines(symbol, interval, limit, startTime, endTime)
- if err != nil {
- utils.JSON(&c.Controller, 201, "error", err.Error())
- }
- utils.JSON(&c.Controller, 200, "success", map[string]interface{}{
- "symbol": symbol,
- "interval": interval,
- "count": len(data),
- "items": data,
- })
- }
|