1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package wxbroadcastv2
- import (
- "encoding/json"
- "fmt"
- "git.jiaxianghudong.com/webs/pkg/rds"
- "time"
- )
- type UpListConf struct {
- UpawardList []UpAward `json:"upaward_list" yaml:"upaward_list"`
- }
- type UpAward struct {
- Index int64 `json:"index" yaml:"index"`
- Number int64 `json:"number" yaml:"number"`
- Bean int64 `json:"bean" yaml:"bean"`
- IsTreasure int `json:"is_treasure" yaml:"is_treasure"`
- Rate []int `json:"-" yaml:"rate"`
- BeanList [][]int `json:"-" yaml:"bean_list"`
- Status int `json:"status" yaml:"status"`
- }
- type UpListAward struct {
- UserId int64 `json:"-"`
- Tm time.Time `json:"-"`
- Up map[int]bool `json:"up"`
- Receive map[int]bool `json:"receive"`
- }
- func (this *UpListAward) Store() error {
- marshal, _ := json.Marshal(this)
- err := rds.Redis.HSet(fmt.Sprintf(WXBROADCASTUP, this.Tm.Format("2006-01-02")), fmt.Sprintf("%v", this.UserId), string(marshal)).Err()
- rds.Redis.Expire(fmt.Sprintf(WXBROADCASTUP, this.Tm.Format("2006-01-02")), 25*time.Hour)
- return err
- }
- func (this *UpListAward) Load() error {
- val := rds.Redis.HGet(fmt.Sprintf(WXBROADCASTUP, this.Tm.Format("2006-01-02")), fmt.Sprintf("%v", this.UserId)).Val()
- if val != "" {
- json.Unmarshal([]byte(val), this)
- }
- if this.Up == nil {
- this.Up = make(map[int]bool)
- }
- if this.Receive == nil {
- this.Receive = make(map[int]bool)
- }
- return nil
- }
|