DB이전하면서 도메인번호가 바뀌었다. 그러면서 방문자 누적 정보의 합계와 정보가 틀어진듯하다. 그래서 수정하였다.
List<MainVO> list = adminMainService.getVisitInfo();
-> List형식으로 list에 던진다. 그래야지 list형식으로(배열)로 받아와서 값을 선택할 수 있음.
for문 사용 및 특정 값을 선택하기 위해.
for(int i = 0; i < list.size(); i++) {
-> i를 list의 크기만큼 돌린다. 그냥 list의 전체값만큼 돌린다는것임.
//500(501), 400(401), 600(601) 2023년 05월만 (구)도메인주소 + (신)도메인주소를 합산하여 방문자수 집계
if(list.get(i).getVisitYear().equals("2023") &&
->list의 i에서 년도가 "2023"이면서,
list.get(i).getVisitMonth().equals("05")
-> list의 i에서 월이 "05월"이면서,
&& (list.get(i).getVisitDomain().equals("501") ||
-> list의 i에서 도메인값이 501이거나,
list.get(i).getVisitDomain().equals("401")
-> list의 i에서 도메인이 401이거나,
|| list.get(i).getVisitDomain().equals("601"))) {
-> list의 i에서 도메인이 601인 것.
list.get(i-1).setVisitMonthlyCnt(list.get(i-1).getVisitMonthlyCnt() + list.get(i).getVisitMonthlyCnt());
-> 일치하는 값을 찾으면 i-1의 값을 가져온다. i의 전 값. (501일경우 500의값임.)
i 전 값의 월별합계 + i의 월별합계 를 더함. (501+500)
list.remove(list.get(i));
-> list에 셋팅된 값을 지워줌.
}
}
model.addAttribute("visitMonthlyInfo", list);
-> 위의 값에 해당되지않을 경우 visitMonthlyInfo로 view에 보여줌..
view에서는 controller단에서 이미 500+501을 해주었기때문에 따로 더해주거나 처리해줄필요가 없음.
그래서 도메인이 500 혹은 501인 경우 로직을 타게 한다.