127 lines
3.0 KiB
Go
127 lines
3.0 KiB
Go
package weeklystar
|
|
|
|
const (
|
|
// ActivityCode 是通用指定礼物积分活动框架中用于承载周星的活动编码。
|
|
ActivityCode = "weekly_star"
|
|
|
|
StatusDraft = "draft"
|
|
StatusActive = "active"
|
|
StatusDisabled = "disabled"
|
|
StatusSettling = "settling"
|
|
StatusSettled = "settled"
|
|
|
|
EventStatusConsumed = "consumed"
|
|
EventStatusSkipped = "skipped"
|
|
EventStatusDuplicate = "duplicate"
|
|
|
|
SettlementStatusPending = "pending"
|
|
SettlementStatusRunning = "running"
|
|
SettlementStatusGranted = "granted"
|
|
SettlementStatusFailed = "failed"
|
|
|
|
GrantSourceWeeklyStar = "weekly_star"
|
|
)
|
|
|
|
// Gift describes one gift that can add score inside a weekly star cycle.
|
|
type Gift struct {
|
|
AppCode string
|
|
CycleID string
|
|
GiftID string
|
|
SortOrder int32
|
|
}
|
|
|
|
// Reward maps one weekly star rank to the resource group granted at settlement time.
|
|
type Reward struct {
|
|
AppCode string
|
|
CycleID string
|
|
RankNo int32
|
|
ResourceGroupID int64
|
|
}
|
|
|
|
// Cycle is the region-scoped UTC time window that controls weekly star scoring and rewards.
|
|
type Cycle struct {
|
|
AppCode string
|
|
CycleID string
|
|
ActivityCode string
|
|
RegionID int64
|
|
Title string
|
|
Status string
|
|
StartMS int64
|
|
EndMS int64
|
|
CreatedByAdminID int64
|
|
UpdatedByAdminID int64
|
|
SettledAtMS int64
|
|
CreatedAtMS int64
|
|
UpdatedAtMS int64
|
|
Gifts []Gift
|
|
Rewards []Reward
|
|
}
|
|
|
|
// CycleCommand is the admin mutation input after transport normalization.
|
|
type CycleCommand struct {
|
|
Cycle Cycle
|
|
OperatorAdminID int64
|
|
RequireNewRecord bool
|
|
}
|
|
|
|
// ListQuery filters admin cycle list reads. Region 0 is a real filter for default cycles.
|
|
type ListQuery struct {
|
|
RegionID *int64
|
|
Status string
|
|
StartMS int64
|
|
EndMS int64
|
|
Page int32
|
|
PageSize int32
|
|
}
|
|
|
|
// GiftEvent is the committed room-service gift fact consumed by weekly star.
|
|
type GiftEvent struct {
|
|
EventID string
|
|
UserID int64
|
|
GiftID string
|
|
ScoreDelta int64
|
|
RegionID int64
|
|
OccurredAtMS int64
|
|
}
|
|
|
|
// EventResult describes idempotent score consumption for one source event.
|
|
type EventResult struct {
|
|
EventID string
|
|
Status string
|
|
CycleID string
|
|
ScoreDelta int64
|
|
}
|
|
|
|
// LeaderboardEntry is the score row plus deterministic rank within a cycle.
|
|
type LeaderboardEntry struct {
|
|
RankNo int32
|
|
UserID int64
|
|
Score int64
|
|
FirstScoredAtMS int64
|
|
LastScoredAtMS int64
|
|
}
|
|
|
|
// Settlement is one resource-group grant job for a settled Top rank.
|
|
type Settlement struct {
|
|
AppCode string
|
|
SettlementID string
|
|
CycleID string
|
|
RankNo int32
|
|
UserID int64
|
|
Score int64
|
|
ResourceGroupID int64
|
|
WalletCommandID string
|
|
WalletGrantID string
|
|
Status string
|
|
FailureReason string
|
|
AttemptCount int32
|
|
CreatedAtMS int64
|
|
UpdatedAtMS int64
|
|
}
|
|
|
|
// HistoryCycle groups a completed cycle with its Top entries for H5 history reads.
|
|
type HistoryCycle struct {
|
|
Cycle Cycle
|
|
TopEntries []LeaderboardEntry
|
|
}
|