preciousv4.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package model
  2. import (
  3. "active/constant"
  4. "encoding/json"
  5. "fmt"
  6. "git.jiaxianghudong.com/webs/pkg/rds"
  7. "github.com/go-redis/redis"
  8. )
  9. //Precious 神秘宝藏
  10. type PreciousV4 struct {
  11. UserID int `json:"userid"` //用户ID
  12. Goodstag string `json:"goodstag"` //商品标识符 计费点
  13. Multiple int `json:"multiple"` //倍数 10:1(20 则为2倍)
  14. Count int `json:"count"` //抽奖次数
  15. Locked int `json:"locked"` //锁定 1 锁定倍数 2 锁定计费点
  16. ExpireTime int64 `json:"expire_time"` // 过期时间
  17. }
  18. // GetPrecious 获取全部活动数据
  19. func (m *PreciousV4) GetPrecious() (has bool, err error) {
  20. data, err := rds.Redis8.Get(fmt.Sprintf(constant.PreciousV4Key, m.UserID)).Bytes()
  21. if err != nil {
  22. if err == redis.Nil {
  23. err = nil
  24. return
  25. }
  26. return
  27. }
  28. if err = json.Unmarshal(data, m); err != nil {
  29. return
  30. }
  31. has = true
  32. return
  33. }
  34. // Update 更新
  35. func (m *PreciousV4) Update() error {
  36. data, err := json.Marshal(m)
  37. if err != nil {
  38. return err
  39. }
  40. return rds.Redis8.Set(fmt.Sprintf(constant.PreciousV4Key, m.UserID), string(data), 0).Err()
  41. }