fruit.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package orchard
  2. import (
  3. "active/constant"
  4. "encoding/json"
  5. "fmt"
  6. "git.jiaxianghudong.com/go/logs"
  7. "git.jiaxianghudong.com/webs/pkg/rds"
  8. "log"
  9. "time"
  10. )
  11. var OrchardRecordTime = ""
  12. func (this *OrchardUserDay) GetData(tm string, userID string) {
  13. data := rds.Redis.HGet(fmt.Sprintf(constant.ORCHARDAY, tm), userID).Val()
  14. if data != "" {
  15. err := json.Unmarshal([]byte(data), this)
  16. if err != nil {
  17. logs.Errorf("redpacket[%s] GetInviteBeanData json err:%v", userID, err)
  18. return
  19. }
  20. timeNow := time.Now().Unix()
  21. for i := range this.DurationTimeStamp {
  22. if this.DurationTimeStamp[i] > timeNow {
  23. this.Countdowns[i] = this.DurationTimeStamp[i] - timeNow
  24. } else {
  25. this.Countdowns[i] = 0
  26. }
  27. }
  28. } else {
  29. this.DurationTimeStamp = make([]int64, len(OrchardConf.WashList))
  30. this.Countdowns = make([]int64, len(OrchardConf.WashList))
  31. this.WaterRemainTimes = make([]int64, len(OrchardConf.WashList))
  32. timeNow := time.Now().Unix()
  33. for i := range this.DurationTimeStamp {
  34. this.DurationTimeStamp[i] = timeNow
  35. this.Countdowns[i] = 0
  36. }
  37. this.StealNumber = OrchardConf.StealFruit
  38. for i := range this.WaterRemainTimes {
  39. this.WaterRemainTimes[i] = OrchardConf.WashList[i].RemainTimes
  40. }
  41. this.Login = true
  42. this.SetData(tm, userID)
  43. }
  44. return
  45. }
  46. func (this *OrchardUserDay) SetData(tm string, userID string) bool {
  47. data, _ := json.Marshal(this)
  48. rds.Redis.HSet(fmt.Sprintf(constant.ORCHARDAY, tm), userID, string(data)).Err()
  49. end, _ := time.Parse("2006-01-02", tm)
  50. expireAt := end.Add(constant.ADVERTISETIMEOUT)
  51. log.Printf("---更新施肥数据过期时间: expireAt:%v \n", expireAt)
  52. rds.Redis.ExpireAt(fmt.Sprintf(constant.ORCHARDAY, tm), expireAt)
  53. OrchardRecordTime = tm
  54. return true
  55. }