Java 上一日期和当前日期

Java 上一日期和当前日期,java,Java,我有点困在这里了 我正在散列令牌并将它们存储到db中,这样做是为了在ui上显示用户以前的登录日期和时间 用例号:用户从未登录->我们应该什么都不返回,但是我们应该保存上一个日期,以便在用户下次登录时在ui上显示上一个日期值。因此,如果令牌不同,则始终返回以前登录的时间戳 public可选测试(HttpServletRequest请求,UserEntity-UserEntity){ String token=extractTokenFromHeader(请求); 字节[]hashedToken=哈

我有点困在这里了

我正在散列令牌并将它们存储到db中,这样做是为了在ui上显示用户以前的登录日期和时间

用例号:用户从未登录->我们应该什么都不返回,但是我们应该保存上一个日期,以便在用户下次登录时在ui上显示上一个日期值。因此,如果令牌不同,则始终返回以前登录的时间戳

public可选测试(HttpServletRequest请求,UserEntity-UserEntity){
String token=extractTokenFromHeader(请求);
字节[]hashedToken=哈希令牌(令牌);
LocalDateTime presentTime=LocalDateTime.now();
可选的tokenEntity=tokenRepository.findByUserId(userEntity.getId());
如果(!tokenEntity.isPresent()){
tokenRepository.save(新的TokenEntity()
.setToken(散列标记)
.setUserId(userEntity.getId())
.setPresentTimeStamp(presentTime)
.setPreviousTimeStamp(presentTime));
返回可选的.empty();
}
if(!Arrays.equals(hashedToken,tokenEntity.get().getToken())){
tokenRepository.save(tokenEntity.get())
.setToken(散列标记)
.setPreviousTimeStamp(tokenEntity.get().getPreviousTimeStamp())
.setPresentTimeStamp(presentTime));
返回tokenEntity.map(tokenEntity::getPreviousTimeStamp);
}
返回tokenEntity.map(tokenEntity::getPreviousTimeStamp);
}
TokenEntity有这两个字段

@Column(name=“previous_timestamp”)
私有LocalDateTime-previousTimeStamp;
@列(name=“present\u timestamp”)
私有LocalDateTime presentTimeStamp;
存储库添加了自定义方法,该方法通过用户id定位令牌实体

public interface TokenRepository扩展了JpaRepository{
可选的findByUserId(长id);
}

“我有点困在这里”不是问题。这段代码是做什么的,你期望它做什么与之不同?如果你想在你的问题得到一个有用的答案,请考虑发布一个嘿@史提夫1)我正在散列令牌并保存到数据库。2) 存储令牌的原因是因为我正在将以前的登录值返回到ui,所以当用户登录时,他/她应该总是看到上次登录日期,我了解您试图获取的基本行为,但您的最后一条评论无法帮助我理解您试图从代码本身解决的问题。你能提供一个我或其他人可以实际运行的完整示例吗?如果没有,你能至少解释一下你的问题是什么……也就是说,你得到了什么行为以及你想要什么行为吗?虽然我不知道TokenEntity对象和存储库是什么样子,但这段代码对我来说或多或少是合理的。这就是为什么我需要更多来了解如何帮助您。
.setPreviousTimeStamp(tokenEntity.get().getPreviousTimeStamp())
不应该是
.setPreviousTimeStamp(tokenEntity.get().getPresentTimeStamp())
。否则,实际上是在前一个时间戳之前存储时间戳。