一、背景
10.31 下午上线积分签到新规则:每次签到给 10 分,签满 7 天额外给 100 分;每 7 天一个周期,每个周期签满都能得 100 分奖励。
但是有赞的这一功能存在 2 个逻辑问题:
① 如果用户 10.31 之前已经连续签到满 7 天了,比如有个用户连签 32 天,他 10.31 是连签第 33 天,获 10 分,但它永远也得不到那个 100 分奖励,除非他断签 1 天后重新开始签到,比如 10.31 不签到,11.1 开始,连签到第 7 天也就是 11.7 时,才能获得那 100 分奖励。
② 一个用户一生只能得到一次连签奖励。还是以刚才的用户为例,他继续保持连签,那么 11.14 时他算是连签 14 天了,但他不会再得 100 分奖励。
二、解法
2.1 改变签到模式鉴于以上缺陷,笔者已于 12.1 将「签到模式」从「日历签」改成了「周期签」,T+1 生效,即 12.2(周一)开始,用户每个自然周签满,那么每个周日都会额外得 100 分。这样虽然又衍生出「用户即使一辈子不断签,但在有赞小程序里的连签天数最多也就是 7 天,然后就变成 0,对强迫症玩家很不友好」的问题,但也只能做到这一步了。
2.2 给过去这段时间的连签用户补发奖励也是本次发帖的目的,想问下我想跑出 10.31 ~ 12.2 期间连签 >=7 的用户,并统计 x 和 y 值:
x = 10.31~12.1 期间连签 7 天的次数:比如用户连签了8天,断了 1 天,又连签了 18 天,则次数 = 2
y = 期间获得过连签奖励 100 积分的次数:就是看用户是不是已经获得过系统发放的连签奖励以及获得过几次
这样我用 (x-y)*100 就能算出该给谁手动补发多少分了。
请问 x 和 y 分别用啥 API 怎么取?
|
|
用手机打开
收藏
赞 0
···
回复
|
|
|
|