package stocks import ( "context" "joybuywork/internal/consts" "joybuywork/internal/consts/ckey" "joybuywork/internal/service/provider/cachecurd" ) // CampaignRewardSelect 活动奖品库存 type CampaignRewardSelect struct { stocks } func NewCampaignRewardSelect(ctx context.Context, rewardIds ...int64) (stock *CampaignRewardSelect, err error) { stock = &CampaignRewardSelect{} err = stock.Init(ctx, stock, rewardIds) if err != nil { return } return } func (s *CampaignRewardSelect) Key(rewardId int64) string { return ckey.FissionCampaignRewardSelectStock(rewardId) } func (s *CampaignRewardSelect) BuildStock(rewardId int64) (*cachecurd.HMap, error) { return cachecurd.NewHMap(s.Ctx, s.Key(rewardId), cachecurd.SetRewardSelectStock(rewardId), cachecurd.SetHMapExp(consts.TimeDay)) } func (s *CampaignRewardSelect) Clear() { NewCleaner(s.Ctx, s.ids...).ClearAllReward() }