package io.loli.sc.server.entity; import io.loli.util.string.MD5Util; import java.io.Serializable; import java.security.NoSuchAlgorithmException; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToOne; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; @Entity @Table(name = "login_status") @NamedQueries(value = { @NamedQuery(name = "LoginStatus.findByUId", query = "SELECT c FROM LoginStatus c WHERE c.user.id=:uid") }) public class LoginStatus implements Serializable { private static final long serialVersionUID = -8086904075643989154L; @Id @GeneratedValue(strategy = GenerationType.AUTO) private int id; @OneToOne @JoinColumn(name = "u_id") private User user; private String token; @Temporal(TemporalType.TIMESTAMP) @Column(name = "last_login") private Date lastLogin; public User getUser() { return user; } public void setUser(User user) { this.user = user; } public String getToken() { return token; } public void setToken(String token) { this.token = token; } public String generateToken() throws NoSuchAlgorithmException { String str = this.getUser().getEmail() + new Date().getTime(); return MD5Util.hash(str); } public Date getLastLogin() { return lastLogin; } public void setLastLogin(Date lastLogin) { this.lastLogin = lastLogin; } public int getId() { return id; } public void setId(int id) { this.id = id; } }