正在实习,leader 让我去写积分模块,正好有个登录积分。
判断是否为每天的第一次登录,是就加积分,反之不加。
/**
* @author wusw
* @date 2021/8/23 14:54
* @description判断是否为今天首次登录。
**/
public boolean isFirstLogin(Date date){
SimpleDateFormat sdfLogin = new SimpleDateFormat("yyyy-MM-dd");
//获取系统当前时间
Timestamp currentTime = new Timestamp(System.currentTimeMillis());
//按照格式转换两个数据
String lastTime = sdfLogin.format(date);
String nowTime = sdfLogin.format(currentTime);
if(!nowTime.equals(lastTime)){
return true;
}else{
return false;
}
}
isFirstLogin的参数是last_login_time,因为我这边的业务场景是把这个新增积分的加到登录接口里的。所以在class里面写这个方法,让登录接口调用。
下面是登录接口的部分代码
//若是今日首次登录,新增
PointHistoryVO pointHistoryVO = new PointHistoryVO();
if(EmptyUtils.isNotNull(user.getLastLoginTime())){
//在这里调用的isFirstLogin()
if(isFirstLogin(user.getLastLoginTime())){
pointHistoryVO.setUserId(user.getId());
pointHistoryVO.setType(PointTypeConstant.POINT_TYPE_LOGIN);
//调用实现类的insert
pointHistoryService.insertModel(pointHistoryVO);
}
}
参考:https://blog.csdn.net/tongyuehong137/article/details/38848495