文章内容输出来源:拉勾教育Java高薪训练营
本文接着实现用户服务的业务逻辑,还有前端的登录、注册、欢迎页面的交互
1. 用户服务接口
lagou-service-user项目
1.1 创建实体类
包括了用户实体User
、用户令牌实体Token
@Data
@Entity
@Table(name = "lagou_token")
public class Token {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String email;
private String token;
}
@Data
@Entity
@Table(name = "lagou_user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String account;
private String password;
}
1.2 创建数据访问接口
包括了用户数据访问接口UserDao
、用户令牌数据访问接口TokenDao
public interface TokenDao extends JpaRepository<Token, Long> {}
public interface UserDao extends JpaRepository<User, Long> {}
1.3 创建用户Token的业务接口
创建用户令牌业务接口,提供创建令牌和根据令牌获取到对应的用户邮箱账号的接口方法
public interface TokenService {
String createToken(String email);
String getEmail(String token);
}
1.4 创建用户Token业务实现类
- 实现
TokenService
接口 - 实现创建Token的接口方法。简单的生成一个UUID,来做为token,存到数据库表中
- 实现根据Token去获取对应的邮箱信息的接口方法
@Service
public class TokenServiceImpl implements TokenService {
@Autowired
private TokenDao tokenDao;
@Override
public String createToken(String email) {
String uuid = UUID.randomUUID().toString().replace("-", "");
Optional<Token> optional = getByEmail(email);
Token token = new Token();
token.setId(optional.isPresent() ? optional.get().getId() : null);
token.setEmail(email);
token.setToken(uuid);
tokenDao.save(token);
return uuid;
}
@