226 lines
5.0 KiB
Go
226 lines
5.0 KiB
Go
package activitytemplate
|
||
|
||
const (
|
||
TaskStatusInProgress = "in_progress"
|
||
TaskStatusCompleted = "completed"
|
||
TaskStatusClaimed = "claimed"
|
||
|
||
ClaimStatusPending = "pending"
|
||
ClaimStatusRunning = "running"
|
||
ClaimStatusGranted = "granted"
|
||
ClaimStatusFailed = "failed"
|
||
ClaimStatusDead = "dead"
|
||
|
||
PeriodStatusPending = "pending"
|
||
PeriodStatusSettling = "settling"
|
||
PeriodStatusRewarding = "rewarding"
|
||
PeriodStatusSettled = "settled"
|
||
PeriodStatusCancelled = "cancelled"
|
||
|
||
EventStatusConsumed = "consumed"
|
||
EventStatusSkipped = "skipped"
|
||
)
|
||
|
||
// Runtime 是一次发布形成的不可变运行版本及其真实启停窗口。
|
||
// Template 来自 activity_template_versions.snapshot_json,不读取后台当前编辑态。
|
||
type Runtime struct {
|
||
Template Template
|
||
VersionNo int64
|
||
RuntimeFromMS int64
|
||
RuntimeToMS int64
|
||
}
|
||
|
||
// GiftEvent 是 room-service 已提交并完成钱包扣费的送礼事实。
|
||
type GiftEvent struct {
|
||
EventID string
|
||
UserID int64
|
||
GiftID string
|
||
GiftCount int64
|
||
CoinAmount int64
|
||
RegionID int64
|
||
OccurredAtMS int64
|
||
}
|
||
|
||
type EventResult struct {
|
||
EventID string
|
||
Status string
|
||
SkipReason string
|
||
TemplateID string
|
||
TemplateCode string
|
||
VersionNo int64
|
||
TaskDay string
|
||
}
|
||
|
||
// TaskProgress 固化任务目标和奖励资源组,后台后续发布新版本不会改变已产生的进度与领奖内容。
|
||
type TaskProgress struct {
|
||
AppCode string
|
||
TemplateID string
|
||
TemplateCode string
|
||
VersionNo int64
|
||
TaskDay string
|
||
UserID int64
|
||
TaskKey string
|
||
TaskType string
|
||
TargetValue int64
|
||
ProgressValue int64
|
||
RewardResourceGroupID int64
|
||
RewardSnapshot RewardSnapshot
|
||
SortOrder int32
|
||
Status string
|
||
CompletedAtMS int64
|
||
ClaimedAtMS int64
|
||
UpdatedAtMS int64
|
||
FirstRegionID int64
|
||
EarningRegionID int64
|
||
AttributionAtMS int64
|
||
}
|
||
|
||
type VisitCommand struct {
|
||
UserID int64
|
||
RegionID int64
|
||
TemplateCode string
|
||
CommandID string
|
||
VersionNo int64
|
||
}
|
||
|
||
type VisitResult struct {
|
||
Runtime Runtime
|
||
Tasks []TaskProgress
|
||
FirstVisit bool
|
||
}
|
||
|
||
type ClaimCommand struct {
|
||
UserID int64
|
||
RegionID int64
|
||
TemplateCode string
|
||
VersionNo int64
|
||
TaskDay string
|
||
TaskKey string
|
||
CommandID string
|
||
}
|
||
|
||
type TaskClaim struct {
|
||
AppCode string
|
||
ClaimID string
|
||
CommandID string
|
||
TemplateID string
|
||
TemplateCode string
|
||
VersionNo int64
|
||
TaskDay string
|
||
TaskKey string
|
||
UserID int64
|
||
RewardResourceGroupID int64
|
||
RewardSnapshot RewardSnapshot
|
||
WalletCommandID string
|
||
WalletGrantID string
|
||
Status string
|
||
FailureReason string
|
||
AttemptCount int32
|
||
CreatedAtMS int64
|
||
UpdatedAtMS int64
|
||
GrantedAtMS int64
|
||
EarningRegionID int64
|
||
AttributionAtMS int64
|
||
}
|
||
|
||
type TaskClaimQuery struct {
|
||
TemplateID string
|
||
VersionNo int64
|
||
TaskDay string
|
||
TaskKey string
|
||
UserID int64
|
||
Status string
|
||
Page int32
|
||
PageSize int32
|
||
}
|
||
|
||
type LeaderboardEntry struct {
|
||
RankNo int32
|
||
UserID int64
|
||
Score int64
|
||
GiftCount int64
|
||
CoinAmount int64
|
||
FirstScoredAtMS int64
|
||
Snapshot bool
|
||
}
|
||
|
||
type RankPeriod struct {
|
||
AppCode string
|
||
TemplateID string
|
||
TemplateCode string
|
||
VersionNo int64
|
||
BoardType string
|
||
PeriodKey string
|
||
StartMS int64
|
||
EndMS int64
|
||
SettleAfterMS int64
|
||
LeaderboardSize int32
|
||
Status string
|
||
SettledAtMS int64
|
||
}
|
||
|
||
type LeaderboardQuery struct {
|
||
TemplateID string
|
||
TemplateCode string
|
||
VersionNo int64
|
||
RegionID int64
|
||
UserID int64
|
||
BoardType string
|
||
PeriodKey string
|
||
Page int32
|
||
PageSize int32
|
||
NowMS int64
|
||
}
|
||
|
||
type LeaderboardResult struct {
|
||
Runtime Runtime
|
||
Period RankPeriod
|
||
Entries []LeaderboardEntry
|
||
MyEntry LeaderboardEntry
|
||
MyFound bool
|
||
Total int64
|
||
}
|
||
|
||
type RewardJob struct {
|
||
AppCode string
|
||
RewardJobID string
|
||
TemplateID string
|
||
TemplateCode string
|
||
VersionNo int64
|
||
BoardType string
|
||
PeriodKey string
|
||
RankNo int32
|
||
UserID int64
|
||
Score int64
|
||
ResourceGroupID int64
|
||
RewardSnapshot RewardSnapshot
|
||
WalletCommandID string
|
||
WalletGrantID string
|
||
Status string
|
||
FailureReason string
|
||
AttemptCount int32
|
||
MaxAttempts int32
|
||
NextRetryAtMS int64
|
||
CreatedAtMS int64
|
||
UpdatedAtMS int64
|
||
GrantedAtMS int64
|
||
}
|
||
|
||
type RewardJobQuery struct {
|
||
TemplateID string
|
||
VersionNo int64
|
||
BoardType string
|
||
PeriodKey string
|
||
Status string
|
||
Page int32
|
||
PageSize int32
|
||
}
|
||
|
||
// StatsOutboxRecord 是投递到 statistics-service 的 owner 事实;业务事务只写本地 outbox,MQ 失败不回滚计分。
|
||
type StatsOutboxRecord struct {
|
||
OutboxID string
|
||
EventType string
|
||
Payload []byte
|
||
RetryCount int32
|
||
}
|