5장에서는 지금까지 만든 DAO에 트랜잭션을 적용해보면서 스프링이 어떻게 성격이
비슷한 여러 종류의 기술을 추상화하고 이를 일관된 방법으로 사용할 수 있도록 지원하는지를
살펴본다.
5.1 사용자 레벨 관리 기능 추가
지금까지 만든 UserDao는 단순 CRUD 만 하는 기능만 있고 어떠한
비즈니스 로직도 존재하지않는다.
여기에 간단한 비즈니스로직을 추가해보겠다. 구현해야할 비즈니스 로직은 다음과 같다.
- 사용자의 레벨은 BASIC, SILVER, GOLD 세가지 중 하나다.
- 사용자가 처음 가입하면 BASIC 레벨이 되며, 이후 활동에 따라서 한 단계씩 업그레이드 될 수 있다.
- 가입 후 50회 이상 로그인을 하면 BASIC에서 SILVER 레벨이 된다.
- SILVER 레벨이면서 30번 이상 추천을 받으면 GOLD 레벨이 된다.
- 사용자 레벨의 변경 작업은 일정한 주기를 가지고 일괄적으로 진행된다. 변경 작업 전에는 조건을 충족하더라도 레벨의 변경이 일어나지 않는다.