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
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
|
|
}
|