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