retreive votes of the same day
This commit is contained in:
parent
9e3a10941a
commit
68eb55d8a7
|
@ -7,5 +7,4 @@ TODO :
|
||||||
Refactor en utilisant "github.com/go-chi/chi" et "github.com/go-chi/chi/middleware"
|
Refactor en utilisant "github.com/go-chi/chi" et "github.com/go-chi/chi/middleware"
|
||||||
Gérer la configuration avec "gopkg.in/ini.v1"
|
Gérer la configuration avec "gopkg.in/ini.v1"
|
||||||
Afficher une liste de restaurants locaux répondant au vote du jour
|
Afficher une liste de restaurants locaux répondant au vote du jour
|
||||||
Afficher le résultat du vote
|
Afficher le résultat du vote
|
||||||
Récupérer les vote du jour j
|
|
31
bdd/bdd.go
31
bdd/bdd.go
|
@ -78,19 +78,22 @@ func GetAllVotes(db *bolt.DB) ([]string, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetVotesOfTheDay liste tous les votes du jour
|
// GetVotesOfTheDay liste tous les votes du jour
|
||||||
func GetVotesOfTheDay(db *bolt.DB, date time.Time) ([]string, error) {
|
func GetVotesOfTheDay(db *bolt.DB) ([]string, error) {
|
||||||
res := []string{}
|
res := []string{}
|
||||||
|
|
||||||
err := db.View(func(tx *bolt.Tx) error {
|
err := db.View(func(tx *bolt.Tx) error {
|
||||||
c := tx.Bucket([]byte("DB")).Bucket([]byte("VOTES")).Cursor()
|
b := tx.Bucket([]byte("DB")).Bucket([]byte("VOTES"))
|
||||||
min := []byte(time.Now().AddDate(0, 0, -1).Format(time.RFC3339))
|
b.ForEach(func(k, v []byte) error {
|
||||||
max := []byte(date.Format(time.RFC3339))
|
hop, _ := time.Parse(time.RFC3339, string(k))
|
||||||
for k, v := c.Seek(min); k != nil && bytes.Compare(k, max) <= 0; k, v = c.Next() {
|
if DateEqual(hop, time.Now()) {
|
||||||
res = append(res, string(v))
|
res = append(res, string(v))
|
||||||
fmt.Println(string(k))
|
return nil
|
||||||
fmt.Println(string(v))
|
}
|
||||||
}
|
return nil
|
||||||
|
})
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
|
fmt.Print(res)
|
||||||
return res, err
|
return res, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -103,10 +106,16 @@ func GetVotesOfTheRange(db *bolt.DB, min time.Time, max time.Time) ([]string, er
|
||||||
maxo := []byte(max.Format(time.RFC3339))
|
maxo := []byte(max.Format(time.RFC3339))
|
||||||
for k, v := c.Seek(mino); k != nil && bytes.Compare(k, maxo) <= 0; k, v = c.Next() {
|
for k, v := c.Seek(mino); k != nil && bytes.Compare(k, maxo) <= 0; k, v = c.Next() {
|
||||||
res = append(res, string(v))
|
res = append(res, string(v))
|
||||||
fmt.Println(string(k))
|
|
||||||
fmt.Println(string(v))
|
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
return res, err
|
return res, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DateEqual check if dates are equal
|
||||||
|
func DateEqual(date1, date2 time.Time) bool {
|
||||||
|
y1, m1, d1 := date1.Date()
|
||||||
|
y2, m2, d2 := date2.Date()
|
||||||
|
|
||||||
|
return y1 == y2 && m1 == m2 && d1 == d2
|
||||||
|
}
|
||||||
|
|
|
@ -57,7 +57,7 @@ func FoodVotesList() []Vote {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
lvotes, _ := bdd.GetVotesOfTheRange(db, time.Now().AddDate(0, 0, -1), time.Now().AddDate(0, 0, 0))
|
lvotes, _ := bdd.GetVotesOfTheDay(db)
|
||||||
|
|
||||||
for _, fo := range lvotes {
|
for _, fo := range lvotes {
|
||||||
vf := Vote{fo, 1}
|
vf := Vote{fo, 1}
|
||||||
|
|
Loading…
Reference in New Issue