用户每日点击签到即可获得10积分  ,第七天签到可获得28积分 ,用户签满7天最多可得88个积分.
问如何实现 ,每周结束后  从周一开始签 。
如何设计数据表?

解决方案 »

  1.   

    应用层代码判断时间,找出周开始和结束时间,可能的化可以用脚本语言 groovy/jython写,修改规则不用重新部署
    数据库:id +签到信息的json字段  主要考应用层代码处理,数据库不用精细/复杂,万一需求变了改起来也麻烦如果需要历史纪录,再加一个历史纪录表,(id,时间,积分变化数,积分总数)
      

  2.   

    从你描述来说,简单理解就是周一到周六签到拿10分,周日拿28,这个需要啥表设计?
    你只需要写个
    if(周日)
       28分
    else
      10分
    的代码逻辑
    保证不重复签到即可
      

  3.   

    id 用户id  日期  第几周  做一个签到表,分数可以放到别的表,每次签到往签到表添一条数据,同时更新分数表,更新分数表的时候看看这一周有多少条记录,够7条记录就多给18分