日期:2014-05-18  浏览次数:20695 次

JAVA实现用户打卡签到连续登录天数
我想实现一个用户登录后,点击打卡就能获得相应的积分叠加,用户每天登录的话,能给出一个类似于“您已经连续登录:${date}天”的提示?用户表的设计怎么做?类型实现的类,action都怎么去实现?求高手帮忙解决下。谢谢了.

------解决方案--------------------
记录一个打卡时间
打卡表:

id                 表时id
userid          用户id 
punchTime 打卡时间
sum              打卡次数

我思路是这样子的 
如果用户打开 查询打卡表中是否 有该 userid  如果有 取出 punchTime,sum 在java 中 判断punchTime减去今天时间 是否等于 1   如果等于 1  更新 punchTime 为当天时间,sum ++
如果 大于1 就更新 punchTime 为当天时间 sum =1

------解决方案--------------------
sum  统计的是这次连续打卡次数
再加一个 maxCout 或什么怎么的字段 表示用户连续打卡最高次数

要表示今天是否打过卡 可以有一个bit类型的字段 表示是否打过 

就向java里面的boolean 表示  如果为true 这打过卡 false则没有

如果你记录打卡时间也可以  最好是记录今天日期和时间 比较日期是否是今天就可以了
------解决方案--------------------
楼上的说的已经很清楚了
自己试试吧