hunttreasure.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package model
  2. import (
  3. "leafstalk/otherutils/deepcopy"
  4. "strconv"
  5. "xorm.io/xorm"
  6. )
  7. // 补给特权 2项
  8. type SupplyPrivilege2 struct {
  9. FreeDay int64 `json:"freeDay"` // 免费已签到天数
  10. SeniorDay int64 `json:"seniorDay"` // 高级已签到天数
  11. IsSenior int64 `json:"isSenior"` // 是否购买高级基金 0:未购买,1:已购买
  12. }
  13. type Gift struct {
  14. BuyNum map[int64]int64 `json:"buynum"`
  15. LastBuyTs int64 `json:"lastbuytime"`
  16. }
  17. // 玩家寻宝数据
  18. type HuntTreasurePlayer struct {
  19. Id int64 // id
  20. PlayerId int64 `xorm:"BIGINT index 'playerid'"` // 玩家ID
  21. HuntCount int64 `xorm:"int 'huntcount'"` // 寻宝次数
  22. ProcessReward int64 `xorm:"int 'processreward'"` // 已领取进度奖励
  23. LuckNum int64 `xorm:"int 'lucknum'"` // 幸运值
  24. LastFreeTs int64 `xorm:"BIGINT 'lastfreetime'"` // 最后一次免费寻宝时间
  25. Supply *SupplyPrivilege2 `xorm:"TEXT json 'supply'"` // 补给
  26. Exchanges map[int64]int64 `xorm:"TEXT json 'exchanges'"` // 兑换记录
  27. Gift *Gift `xorm:"TEXT json 'gift'"` // 礼包
  28. SysLottery *LotteryList `xorm:"-"` // 活动信息
  29. }
  30. // TableName 表名
  31. func (m *HuntTreasurePlayer) TableName() string {
  32. return "player_hunttreasure"
  33. }
  34. func (m *HuntTreasurePlayer) QueryExist(eng *xorm.Engine) (bool, error) {
  35. player := new(HuntTreasurePlayer)
  36. player.PlayerId = m.PlayerId
  37. return eng.Exist(player)
  38. }
  39. func (m *HuntTreasurePlayer) UpdateDB(eng *xorm.Engine) (int64, error) {
  40. return eng.Where("playerid=?", m.PlayerId).AllCols().Update(m)
  41. }
  42. func (m *HuntTreasurePlayer) GetUniqueKey() string {
  43. return strconv.FormatInt(m.PlayerId, 10)
  44. }
  45. func CopyHuntTreasurePlayer(old *HuntTreasurePlayer) *HuntTreasurePlayer {
  46. nu := deepcopy.MustCopy(old).(*HuntTreasurePlayer)
  47. return nu
  48. }