package ledger // HostSalarySettlementBatchCommand 是 cron 或测试触发结算批处理的最小输入。 type HostSalarySettlementBatchCommand struct { AppCode string RunID string WorkerID string BatchSize int SettlementType string // TriggerMode 只决定本次入账动作读取 automatic 还是 manual 政策;待结算账单展示可以同时读取两类政策。 TriggerMode string // SettlementRole 为空或 all 时完整结算主播和代理权益;后台人工入口传 host/agency 时只推进对应身份钱包。 SettlementRole string CycleKey string // UserIDs 为空时扫描全量候选;后台人工批量结算会传入勾选主播,防止跨区域或跨周期误结算。 UserIDs []int64 NowMs int64 } // HostSalarySettlementBatchResult 汇总一个结算批次的扫描和入账结果。 type HostSalarySettlementBatchResult struct { ClaimedCount int ProcessedCount int SuccessCount int FailureCount int HasMore bool } // HostSalaryPolicy 是 wallet-service 结算读取的后台政策运行快照。 type HostSalaryPolicy struct { PolicyID uint64 Name string RegionID int64 Status string SettlementMode string SettlementTriggerMode string GiftCoinToDiamondRatio string ResidualDiamondToUSDRate string EffectiveFromMs int64 EffectiveToMs int64 Levels []HostSalaryPolicyLevel } // HostSalaryPolicyLevel 使用累计值表达工资和奖励,结算时只发放“当前累计 - 已发累计”的差额。 type HostSalaryPolicyLevel struct { LevelNo int RequiredDiamonds int64 HostSalaryUSDMinor int64 HostCoinReward int64 AgencySalaryUSDMinor int64 Status string SortOrder int } // HostSalaryProgress 是主播当前工资周期的钻石累计投影,用于 H5 按工资政策计算距离下一等级的差值。 type HostSalaryProgress struct { HostUserID int64 CycleKey string RegionID int64 AgencyOwnerUserID int64 TotalDiamonds int64 GiftDiamondTotal int64 UpdatedAtMS int64 }