java连续登陆签到加积分

//累计登陆天数 @RequestMapping(value = "/loginDays",method = {RequestMethod.POST, RequestMethod.GET}) @ApiOperation(value = "登陆记录接口",notes = "登陆记录接口") @ResponseBody public Object loginDays(@ApiParam(value="user_id")String user_id) throws Exception{ Users users = usersService.getUsers(user_id); if(users!=null) { Sign sign = signService.getSignByUserId(user_id); // 计算登陆时间 int lianxucishu=sign.getLianxuNumber(); int day = lianxucishu % 7 ; if(day==0) { day=7; } int [] arr = new int[day]; for(int i= 0;i time = new ArrayList(); List newtimes = new ArrayList(); int number = sign.getLianxuNumber()%7; // 连续登陆的次数 if(number==0) { number=7; } Date oldtime = sign.getSign_time(); // 上次登陆的时间 Date newtime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat ("MM.dd"); Date oldtimes = sign.getSign_time(); time.add(oldtime); // 将最后一次的登陆时间放入集合 for(int i=0;i map=new HashMap(); map.put("linaxuNumber", arr); map.put("dateTime", newtimes); return Msg.OK(map); } return Msg.OK(); }app

 

 

  @RequestMapping(value = "/sign",method = {RequestMethod.POST, RequestMethod.GET})
    @ApiOperation(value = "登陆签到",notes = "登陆签到")
    @ResponseBody
    public Object sign(@ApiParam(value="user_id")String user_id) throws Exception{
        Users users = usersService.getUsers(user_id);
        if(users!=null){   // 有这个用户
            Sign sign = signService.getSignByUserId(users.getId());
            if(sign == null){  // 还历来没有登陆
                Sign s = new Sign(users.getId());
                s.setLianxuNumber(1);//用户第一次登录,将连续登录次数设置为1
                signService.insertSign(s);
                int integral = users.getIntegral();//获得用户现有的U币
                users.setIntegral(integral+s.getLianxuNumber());  // 第一次登录加1U币
                usersService.updateUsers(users);
                Users_jifen_history users_jifen_history = new Users_jifen_history(users.getId(),(double)integral,(double)(integral+s.getLianxuNumber()),(double)s.getLianxuNumber(),"每日登陆");
                users_jifen_history.setIs_jifen_state("1");
                users_jifen_history.setIs_success("1");
                users_jifen_historyService.insertUsers_jifen_history(users_jifen_history);
                return Msg.OK(users);
            }
            boolean checkSign = DateUtil.checkSignTime(sign.getSign_time());  // 为false时当天登陆完毕 true时当天尚未登陆
            if(checkSign){ // 当天尚未登陆
                Date oldtime = sign.getSign_time(); // 上次登陆的时间
                Date newtime = new Date();          // 当前的时间
                int  day1=daysBetween(oldtime, newtime);
                    if(day1 == 1){  // 为连续的一次登陆
                        if(sign.getLianxuNumber()<10) {
                            int num  = sign.getLianxuNumber() + 1;
                            sign.setLianxuNumber(num);
                            sign.setSign_time(new Date());
                            signService.updateSign(sign); 
                            int old_jifen = users.getIntegral();
                            users.setIntegral(old_jifen + num);
                            usersService.updateUsers(users);
                            Users_jifen_history users_jifen_history = new Users_jifen_history(users.getId(),(double)old_jifen,(double)users.getIntegral(),(double)num ,"连续登陆"+num+"次");
                            users_jifen_history.setIs_jifen_state("1");
                            users_jifen_history.setIs_success("1");
                            users_jifen_historyService.insertUsers_jifen_history(users_jifen_history);
                            return Msg.OK(sign.getLianxuNumber());
                        }else if(sign.getLianxuNumber()>=10) {
                            int num=sign.getLianxuNumber()+1;
                            sign.setLianxuNumber(num);
                            sign.setSign_time(new Date());
                            signService.updateSign(sign);
                            int old_jifen=users.getIntegral();
                            users.setIntegral(old_jifen+10);
                            usersService.updateUsers(users);
                            Users_jifen_history users_jifen_history = new Users_jifen_history(users.getId(),(double)old_jifen,(double)users.getIntegral(),(double)10 ,"连续登陆"+num+"次");
                            users_jifen_history.setIs_jifen_state("1");
                            users_jifen_history.setIs_success("1");
                            users_jifen_historyService.insertUsers_jifen_history(users_jifen_history);
                            return Msg.OK(10);
                        }
                    }else{ 
                        int old_jifen = users.getIntegral();
                        users.setIntegral(old_jifen + 1);
                        usersService.updateUsers(users);
                        Users_jifen_history users_jifen_history = new Users_jifen_history(users.getId(),(double)old_jifen,(double)users.getIntegral(),(double)1 ,"每日登录");
                        users_jifen_history.setIs_jifen_state("1");
                        users_jifen_history.setIs_success("1");
                        users_jifen_historyService.insertUsers_jifen_history(users_jifen_history);
                        sign.setLianxuNumber(1);
                        sign.setSign_time(new Date());
                        signService.updateSign(sign);
                        return Msg.OK(1);
                    }
            }
        }
        return Msg.ERROR(Code.Sign_Error);
    }orm

相关文章
相关标签/搜索