2026-05-20 10:22:35 +08:00

114 lines
2.6 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package sevendaycheckin
const (
DayCount = 7
StatusPending = "pending"
StatusGranted = "granted"
StatusFailed = "failed"
RewardStatusGranted = "granted"
RewardStatusAvailable = "available"
RewardStatusLocked = "locked"
RewardStatusPending = "pending"
RewardStatusFailed = "failed"
ReasonEligible = "eligible"
ReasonDisabled = "disabled"
ReasonNotConfigured = "not_configured"
ReasonAlreadySigned = "already_signed"
ReasonPendingReward = "pending_reward"
ReasonInvalidConfig = "invalid_config"
)
// Reward 是配置中的某一天资源组奖励;资源组内容仍由 wallet-service 拥有。
type Reward struct {
DayIndex int32
ResourceGroupID int64
}
// Config 是 activity-service 持有的七日签到当前配置。
type Config struct {
AppCode string
Enabled bool
ConfigVersion int64
Rewards []Reward
UpdatedByAdminID int64
CreatedAtMS int64
UpdatedAtMS int64
}
// Account 是用户连续签到 read model只在奖励发放成功后推进。
type Account struct {
AppCode string
UserID int64
CycleNo int64
CycleStartDay string
LastCheckinDay string
LastDayIndex int32
ConfigVersion int64
UpdatedAtMS int64
}
// Claim 是用户一次签到和资源组发放事实。
type Claim struct {
ClaimID string
CommandID string
UserID int64
CycleNo int64
CheckinDay string
DayIndex int32
ConfigVersion int64
ResourceGroupID int64
WalletCommandID string
WalletGrantID string
Status string
FailureReason string
SignedAtMS int64
GrantedAtMS int64
CreatedAtMS int64
UpdatedAtMS int64
}
// RewardStatus 是 App 面板中一天奖励的用户侧状态。
type RewardStatus struct {
Reward
Status string
ClaimID string
WalletGrantID string
GrantedAtMS int64
}
// StatusResult 是 App 查询七日签到面板的领域结果。
type StatusResult struct {
Enabled bool
CanSign bool
Reason string
CycleNo int64
CurrentDayIndex int32
NextDayIndex int32
CheckinDay string
LastCheckinDay string
ConfigVersion int64
Rewards []RewardStatus
ServerTimeMS int64
NextRefreshMS int64
}
// PrepareResult 表达签到 claim 是否需要继续调用 wallet-service 发放资源组。
type PrepareResult struct {
Claim Claim
Prepared bool
Reason string
}
// ConfigQuery 是后台领取记录分页筛选条件。
type ClaimQuery struct {
Status string
UserID int64
CheckinDay string
DayIndex int32
Page int32
PageSize int32
}