You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.2 KiB
Go

package model
import (
"joybuywork/internal/plugins/jsonm"
"joybuywork/internal/repository/mtype"
"joybuywork/internal/utils/verify"
"strconv"
"time"
)
func (s *FissionCampaignReward) SetKvData(val []*mtype.KV) {
s.KvData, _ = jsonm.MarshalToString(val)
}
func (s *FissionCampaignReward) GetKvData() (val []*mtype.KV) {
_ = jsonm.StrUnmarshal(s.KvData, &val)
return
}
func (s *FissionCampaignReward) GetWin() bool {
// 不是谢谢参与,或者不是固定的配置奖品,都是赢了奖品
return s.IsThank == mtype.No || !verify.InArray(s.RewardID, -1, -2)
}
func (s *FissionCampaignReward) SetCollectRule(val mtype.CollectRule) {
s.CollectRule, _ = jsonm.MarshalToString(val)
}
func (s *FissionCampaignReward) GetCollectRule() (val mtype.CollectRule) {
_ = jsonm.StrUnmarshal(s.CollectRule, &val)
return
}
func (s *FissionCampaignReward) ExpiredAt() int64 {
if s.ExpiredDay == "0" || s.ExpiredDay == "" {
return time.Now().AddDate(20, 0, 0).Unix()
}
day, _ := strconv.Atoi(s.ExpiredDay)
return time.Now().AddDate(0, 0, day).Unix()
}
func (s *FissionCampaignReward) IsExpired() int8 {
if s.ExpiredDay == "0" || s.ExpiredDay == "" {
return mtype.No
}
return mtype.Yes
}