codeword/internal/models/bonus.go

29 lines
1.8 KiB
Go
Raw Normal View History

2024-01-11 16:29:53 +00:00
package models
import "time"
type PromoCode struct {
ID string `json:"id"`
Codeword string `json:"codeword"` // то, что будет вводить пользователь, чтобы получить плюшки
Description string `json:"description"` // описание, необходимое менеджеру в админке
Greetings string `json:"greetings"` // текст, выдаваемый пользователю в ответ на активацию промокода
DueTo int64 `json:"dueTo"` // таймштамп времени окончания работы активации промокода
ActivationCount int64 `json:"activationCount"` // предел количества активаций промокода
Bonus struct {
Privilege struct {
PrivilegeID string `json:"privilegeID"` // айдишник привилегии, которая будет выдаваться
Amount uint64 `json:"amount"` // количество
} `json:"privilege"`
Discount struct {
Layer int `json:"layer"` // 1|2
Factor float64 `json:"factor"` // процент скидки, вернее множитель, при котором достигается этот процент скидки
Target string `json:"target"` // PrivilegeID или ServiceKey в зависимости от слоя
Threshold int64 `json:"threshold"` // граничное значение, при пересечении которого применяется эта скидка
} `json:"discount"`
} `json:"bonus"`
Outdated bool `json:"outdated"`
OffLimit bool `json:"offLimit"`
Delete bool `json:"delete"`
CreatedAt time.Time `json:"createdAt"`
}