每日签到业务逻辑
2020-03-25 16:37:00 9 举报
bbb
作者其他创作
大纲/内容
将当前签到记录,压入连签集合设置昨天签到纯日期时间戳为当前签到记录的昨天
再次确认签到功能是否开通
是
提取模式相关参数
设置记入今天签到后的连续签到总天数
计算当前日历集合项数与最大展示数的差值
设置上一天签到时间:昨天时间
签到积分值为0并设置签到备注信息
连续签到记录集,签到时间倒序以便超出7天最长展示后,排除签到项
设置当日已签到标记状态将当前签到记录,压入连签集合
是否为当日签到记录
按签到时间倒序 获取 当前用户 含今天 及 不含今天的前一签到周期的签到记录集
签到积分值为初始值+(周期天数-1)*递增值并设置签到备注信息
否
将当前日历时间设置为新的上一天基准时间递减差值
当日签到状态不影响收集今天之前的连续签到记录只收集连续签到的记录,不连续则中断收集若为满周期签到记录则中断,即只收集满周期之后的连签记录
提示用户,并刷新签到页面
设置每日签到配置信息
将最终的连签集合,反序处理,即按时间正序排列
签到积分值为初始值+(当前连签天数)*递增值并设置签到备注信息
是否为上一签到记录的昨天签到记录
遍历签到记录集
当前连签记录索引值是否大于最大展示数7
传递参数:openid/beid
核心逻辑--获取用户每日签到信息
设置今天纯日期时间戳,不含小时分秒时间戳设置昨天纯日期时间戳,今天的昨天
满周期签到?
签后总天数是否大于等于签到周期天数
返回:连签记录/今天签到状态/每日签到规则集
差值是否大于0
提示用户,并重定向到会员中心页面
提取当前签到项:签到日期/签到积分增加日历集合项
根据日历集合渲染页面
设置上一天签到时间:提取日历集合第一项的签到时间
获取连续签到记录集等信息
是否差值大于0
规整SQL更新当前会员的可用积分值 SQL;新增签到积分记录 SQL;事务性提交执行
每日递增模式
当前连签记录索引值是否等于最大展示数7并且 今天未签到
设置当前记录的签到纯日期时间戳
签到规则模式
是否为满周期的签到记录
日历集合数是否大于0
每周期模式
连续签到天数 超出溢出 签到周期场景:今天之前设置的签到周期为5天,且已连续签到了3天,所以还未做满周期标记 在今天没签到之前,修改为2天,则连签天数大于当前签到周期; 修改为3天,则连签天数等于当前签到周期; 在今天签到之后,修改为2天,则连签天数3大于当前签到周期; 修改为3天,则连签天数3等于当前签到周期;
签到积分值为周期值并设置签到备注信息
获取连续签到记录集设置签到日历集合,最多显示7天,签到日历信息
设置本次签到为满周期签到状态
今日签到处理逻辑
根据上一天时间:构建下一天日历信息并插入到日历集合的首项
再次确认今天是否已签到
日历展示逻辑
遍历签到记录(按签到时间倒序)
0 条评论
下一页