1st
This commit is contained in:
165
daemon/pages.go
Normal file
165
daemon/pages.go
Normal file
@@ -0,0 +1,165 @@
|
||||
package daemon
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"gordenko.dev/dima/flashscore"
|
||||
"gordenko.dev/dima/timeutil"
|
||||
"gordenko.dev/dima/tipper/model"
|
||||
"gordenko.dev/dima/web"
|
||||
)
|
||||
|
||||
func (s *Daemon) PageMatches(state *web.State, reply *web.Reply) (err error) {
|
||||
buf, _ := json.MarshalIndent(s.teamMatches, "", " ")
|
||||
//reply.Render("matches", buf)
|
||||
reply.Write(buf)
|
||||
return
|
||||
}
|
||||
|
||||
type TipView struct {
|
||||
Time string
|
||||
Name string
|
||||
Champ string
|
||||
Link string
|
||||
Result string
|
||||
Status model.TipStatus
|
||||
Strategy string
|
||||
}
|
||||
|
||||
type DayTips struct {
|
||||
Date string
|
||||
Tips []TipView
|
||||
}
|
||||
|
||||
type PageTipsData struct {
|
||||
Days []DayTips
|
||||
}
|
||||
|
||||
func (s *Daemon) PageHandballByDays(state *web.State, reply *web.Reply) (err error) {
|
||||
data, err := s.getPageTipsData(flashscore.Handball)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
reply.Render("temp_tips", data)
|
||||
return
|
||||
}
|
||||
|
||||
func (s *Daemon) PageFootballByDays(state *web.State, reply *web.Reply) (err error) {
|
||||
data, err := s.getPageTipsData(flashscore.Football)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
reply.Render("temp_tips", data)
|
||||
return
|
||||
}
|
||||
|
||||
func (s *Daemon) PageTennisByDays(state *web.State, reply *web.Reply) (err error) {
|
||||
data, err := s.getPageTipsData(flashscore.Tennis)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
reply.Render("temp_tips", data)
|
||||
return
|
||||
}
|
||||
|
||||
func (s *Daemon) getPageTipsData(sportID int) (_ PageTipsData, err error) {
|
||||
tips, err := s.ListSportTips(sportID)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
var days []DayTips
|
||||
|
||||
var currentDay int64
|
||||
var dayTips DayTips
|
||||
|
||||
for _, tip := range tips {
|
||||
if tip.Status != model.Won && tip.Status != model.Lost {
|
||||
continue
|
||||
}
|
||||
|
||||
tm := time.Unix(tip.TipTime, 0)
|
||||
|
||||
tm = timeutil.FirstSecondInPeriod(tm, "d")
|
||||
//if err != nil {
|
||||
// return
|
||||
//}
|
||||
|
||||
day := tm.Unix()
|
||||
|
||||
if day != currentDay {
|
||||
if currentDay != 0 {
|
||||
days = append(days, dayTips)
|
||||
}
|
||||
|
||||
dayTips = DayTips{
|
||||
Date: tm.Format("Monday Jan 2, 2006"),
|
||||
}
|
||||
|
||||
currentDay = day
|
||||
}
|
||||
|
||||
dayTips.Tips = append(dayTips.Tips, TipView{
|
||||
Time: tm.Format("15:04"),
|
||||
Name: tip.MatchName,
|
||||
Champ: tip.ChampName,
|
||||
Link: fmt.Sprintf("https://www.flashscore.com/match/%s/#h2h;overall", tip.MatchID),
|
||||
Result: tip.Result,
|
||||
Status: tip.Status,
|
||||
Strategy: tip.Strategy,
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
if currentDay != 0 {
|
||||
days = append(days, dayTips)
|
||||
}
|
||||
|
||||
return PageTipsData{
|
||||
Days: days,
|
||||
}, nil
|
||||
}
|
||||
|
||||
/*
|
||||
func (s *Tipper) pageLinked(state *web.State, reply *web.Reply) (err error) {
|
||||
//reply.Render("aliases", nil)
|
||||
var list []*interestingFootballMatch
|
||||
|
||||
for _, x := range s.onexbetMatchToInterestingFootballMatch {
|
||||
list = append(list, x)
|
||||
}
|
||||
|
||||
buf, _ := json.MarshalIndent(list, "", " ")
|
||||
|
||||
reply.WriteString(string(buf))
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
func (s *Tipper) pageWatch(state *web.State, reply *web.Reply) (err error) {
|
||||
//reply.Render("aliases", nil)
|
||||
var matchID string
|
||||
state.Val("id", &matchID)
|
||||
|
||||
s.onexbetAPIClient.Call("watch", matchID)
|
||||
|
||||
reply.WriteString(matchID)
|
||||
return
|
||||
}
|
||||
|
||||
func (s *Tipper) pageUnwatch(state *web.State, reply *web.Reply) (err error) {
|
||||
//reply.Render("aliases", nil)
|
||||
var matchID string
|
||||
state.Val("id", &matchID)
|
||||
|
||||
s.onexbetAPIClient.Call("unwatch", matchID)
|
||||
|
||||
reply.WriteString(matchID)
|
||||
return
|
||||
}
|
||||
*/
|
||||
Reference in New Issue
Block a user