service/apollostruct/acct_punishment_real_endtim...

27 lines
1.7 KiB
Go
Raw Normal View History

2024-11-07 17:05:13 +08:00
package apollostruct
// 账号处罚结束实际生效时间配置,用于通知推送服务
/* 在账号处罚创建时除了立即给用户推送一条封禁通知还会写一条解禁通知推送时间为处罚的结束时间
正常来说账号处罚结束时间 = 账号处罚创建时间 + 触发时长
但由于具体场景存在的时延在上述计算得到的账号处罚的结束时间处罚可能还未结束
如主播推荐列表每1个小时推送一次故它实际生效时间应该是结束时间顺延的下一个小时整点
动态推荐列表每5分钟推送一次故它实际生效时间应该是结束时间顺延的下一个5分整点*/
/* 我们认为用户实际感知到的处罚结束应该在他收到通知的时候所以解禁的通知时间需要根据具体场景延后一些
interval_map表示具体场景的定时任务每隔多少时间执行一次单位为秒
比如对于主播推荐列表时间间隔就是3600秒解禁通知的时间戳需要补足至3600秒的倍数
*/
/*
default_interval表示推送定时通知的定时任务的时间间隔
如果这条封禁的场景没有定时推送的需求则解禁通知的时间戳补足至default_interval的倍数即可
用以满足用户实际感知到的处罚结束应该在他收到通知的时候
需要注意interval_map每个键值对的值必须是default_interval的倍数否则推送通知会产生异常
*/
type AcctPunishmentRealEndtimeCfg struct {
IntervalMap map[string]int64 `json:"interval_map"` // 时间间隔map
DefaultInterval int64 `json:"default_interval"` // 默认通知时间间隔
}