//累计登陆天数 @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