ApplicationEventPublisher, @EventListener 사용하여 동기,강결합된 기능 리펙토링 하기
유저 전적 통계 정보를 조회하는 로직이다.주요 로직은 이렇다.유저 전적 통계 정보 조회시, 유저 전적 기록 유무를 판단한다.없다면, api 요청 이후 결과값을(1) 전적 히스토리를 db에 저장한다.전적 히스토리 정보를 기반으로 통계치를 만든 뒤(2) 계산된 유저 레이팅 정보를 db에 업데이트 한다. 개선 전 로직 private final BattlesHistoryService battlesHistoryService; private final UserAccountService userAccountService; @Cacheable(value = "rating", key = "#nickname") public RatingStaticsResponse getRating(String n..