12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- package model
- import (
- "active/constant"
- "active/tools"
- "encoding/json"
- "fmt"
- "git.jiaxianghudong.com/go/logs"
- "git.jiaxianghudong.com/webs/pkg/rds"
- "log"
- "time"
- )
- var AdvertiseBeanConf = &AdvertiseBeanConfig{}
- var AdvertiseBeanRecordTime = ""
- type AdvertiseBeanConfig struct {
- Times int64 `json:"times" yaml:"times"`
- Total int64 `json:"total" yaml:"total"`
- Second int64 `json:"second" yaml:"second"`
- List []struct {
- Ball int64 `json:"ball" yaml:"ball"`
- Rate int64 `json:"rate" yaml:"rate"`
- } `json:"list" yaml:"list"`
- }
- func AdvertisePretreatment() {
- tools.ReloadYaml("advertisebean.yaml", AdvertiseBeanConf)
- var rate int64
- for i := range AdvertiseBeanConf.List {
- rate += AdvertiseBeanConf.List[i].Rate
- AdvertiseBeanConf.List[i].Rate = rate
- }
- fmt.Printf("处理后数据 %+v \n", AdvertiseBeanConf)
- }
- type AdvertiseBeanUserInfo struct {
- OpenTime int64 `json:"open_time"` //开启时间
- Times int64 `json:"times"` //剩余次数
- BeanNumber int64 `json:"bean_number"` //领取豆豆数
- }
- func (this *AdvertiseBeanUserInfo) GetData(UserID string, tm string) {
- data := rds.Redis.HGet(fmt.Sprintf(constant.ADVERTISEBEAN, tm), UserID).Val()
- if data != "" {
- err := json.Unmarshal([]byte(data), this)
- if err != nil {
- logs.Errorf("AdvertiseBeanUserInfo[%s] json err:%v", UserID, err)
- }
- } else {
- this.Times = AdvertiseBeanConf.Times
- //this.OpenTime = time.Now().Unix()
- }
- }
- func (this AdvertiseBeanUserInfo) SetData(UserID string, tm string) bool {
- data, _ := json.Marshal(this)
- rds.Redis.HSet(fmt.Sprintf(constant.ADVERTISEBEAN, tm), UserID, string(data))
- if AdvertiseBeanRecordTime == "" || AdvertiseBeanRecordTime != tm {
- end, _ := time.Parse("2006-01-02", tm)
- expireAt := end.Add(constant.ADVERTISETIMEOUT)
- log.Printf("---更新看广告领取豆数据过期时间: expireAt:%v \n", expireAt)
- rds.Redis.ExpireAt(fmt.Sprintf(constant.ADVERTISEBEAN, tm), expireAt)
- AdvertiseBeanRecordTime = tm
- }
- return true
- }
|