service/apollostruct/acct_punishment_real_endtim...

27 lines
1.7 KiB
Go
Raw Permalink 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 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"` // 默认通知时间间隔
}