最近我们公司恰好需要实现一个签到的功能 小弟自己琢磨 实现了一个简单的签到案例 代码如下
新手上路 大神勿喷
public static void main(String[] args) {
//签到周期一个星期为一个周期
int cycle =7;
List<String> prize = new ArrayList<>();
//一周的奖品 这里可以利用map去实现集合也可以实现都可
prize.add("70元代金券");
prize.add("10元代金券");
prize.add("20元代金券");
prize.add("30元代金券");
prize.add("40元代金券");
prize.add("50元代金券");
prize.add("60元代金券");
//模拟30天累计签到
for (int i = 1; i <=30 ; i++) {
//取模
int qd =i % cycle;
System.out.println("用户签到第:"+(qd ==0 ? 7 : qd )+"天 获得奖励为:"+prize.get(qd));
}
}
奖品周期为一个星期 30天累计签到不断的
思路就是: 累计签到 取模 签到周期 =当前累计签到次数
后续你可以换成一个月的奖励 30天 然后通过日期取模 可以得到是哪天签到的 应该的到那天的奖品
或者你也可以像王者农药一样的 设置一星期 取模当前是星期几去获得当前的奖品
核心差不多可以按照取模去判断用户当前的签到周期 具体可以根据自己的业务去实现