diff --git a/src/main/java/itn/let/sym/log/clg/service/EgovLoginLogService.java b/src/main/java/itn/let/sym/log/clg/service/EgovLoginLogService.java index a90c166b..e219e208 100644 --- a/src/main/java/itn/let/sym/log/clg/service/EgovLoginLogService.java +++ b/src/main/java/itn/let/sym/log/clg/service/EgovLoginLogService.java @@ -99,5 +99,7 @@ public interface EgovLoginLogService { public List selectDeviceLogList(LoginLog loginLog) throws Exception; - + public List SelectDauLoginLogList(LoginLog loginLog) throws Exception; + + public List SelectMauLoginLogList(LoginLog loginLog) throws Exception; } diff --git a/src/main/java/itn/let/sym/log/clg/service/LoginLog.java b/src/main/java/itn/let/sym/log/clg/service/LoginLog.java index 14a8a45e..f1158a97 100644 --- a/src/main/java/itn/let/sym/log/clg/service/LoginLog.java +++ b/src/main/java/itn/let/sym/log/clg/service/LoginLog.java @@ -128,6 +128,7 @@ public class LoginLog extends ComDefaultVO implements Serializable { private String conectId ; /*관리자 메소드 부분 추가*/ + private String methodNm; //메소드 이름 private String param; //파라미터 @@ -153,6 +154,39 @@ public class LoginLog extends ComDefaultVO implements Serializable { private int visitCnt; // 방문수 private String startDateType; // 시작날짜 + + private String regDate; // 일자 + + private String joinUserCnt; // 회원가입 회원수 + + private String loginUserCnt; // 로그인 회원수 + + private String userRatio; // 이용자 비율 + + public String getRegDate() { + return regDate; + } + public void setRegDate(String regDate) { + this.regDate = regDate; + } + public String getJoinUserCnt() { + return joinUserCnt; + } + public void setJoinUserCnt(String joinUserCnt) { + this.joinUserCnt = joinUserCnt; + } + public String getLoginUserCnt() { + return loginUserCnt; + } + public void setLoginUserCnt(String loginUserCnt) { + this.loginUserCnt = loginUserCnt; + } + public String getUserRatio() { + return userRatio; + } + public void setUserRatio(String userRatio) { + this.userRatio = userRatio; + } public String getStartDateType() { return startDateType; } @@ -522,6 +556,4 @@ public class LoginLog extends ComDefaultVO implements Serializable { public void setmCnt(String mCnt) { this.mCnt = mCnt; } - - } diff --git a/src/main/java/itn/let/sym/log/clg/service/impl/EgovLoginLogServiceImpl.java b/src/main/java/itn/let/sym/log/clg/service/impl/EgovLoginLogServiceImpl.java index 5d2d4cd4..c91aade6 100644 --- a/src/main/java/itn/let/sym/log/clg/service/impl/EgovLoginLogServiceImpl.java +++ b/src/main/java/itn/let/sym/log/clg/service/impl/EgovLoginLogServiceImpl.java @@ -222,6 +222,16 @@ public class EgovLoginLogServiceImpl extends EgovAbstractServiceImpl implements @Override public List selectDeviceLogList(LoginLog loginLog) throws Exception { return loginLogDAO.selectDeviceLogList(loginLog); + } + + @Override + public List SelectDauLoginLogList(LoginLog loginLog) throws Exception { + return loginLogDAO.SelectDauLoginLogList(loginLog); + } + + @Override + public List SelectMauLoginLogList(LoginLog loginLog) throws Exception { + return loginLogDAO.SelectMauLoginLogList(loginLog); } } diff --git a/src/main/java/itn/let/sym/log/clg/service/impl/LoginLogDAO.java b/src/main/java/itn/let/sym/log/clg/service/impl/LoginLogDAO.java index 4ef88c3c..9478ac2f 100644 --- a/src/main/java/itn/let/sym/log/clg/service/impl/LoginLogDAO.java +++ b/src/main/java/itn/let/sym/log/clg/service/impl/LoginLogDAO.java @@ -198,4 +198,14 @@ public class LoginLogDAO extends EgovAbstractDAO { return (List)list("LoginLogDAO.selectDeviceLogList", loginLog); } + @SuppressWarnings("unchecked") + public List SelectDauLoginLogList(LoginLog loginLog) throws Exception { + return (List)list("LoginLogDAO.SelectDauLoginLogList", loginLog); + } + + @SuppressWarnings("unchecked") + public List SelectMauLoginLogList(LoginLog loginLog) throws Exception { + return (List)list("LoginLogDAO.SelectMauLoginLogList", loginLog); + } + } diff --git a/src/main/java/itn/let/sym/log/clg/web/EgovLoginLogController.java b/src/main/java/itn/let/sym/log/clg/web/EgovLoginLogController.java index f16b18d6..7a372106 100644 --- a/src/main/java/itn/let/sym/log/clg/web/EgovLoginLogController.java +++ b/src/main/java/itn/let/sym/log/clg/web/EgovLoginLogController.java @@ -37,6 +37,7 @@ import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import itn.com.cmm.EgovMessageSource; import itn.com.cmm.LoginVO; import itn.com.cmm.util.RedirectUrlMaker; +import itn.let.mjo.msg.service.MjonMsgVO; import itn.let.sym.log.clg.service.EgovLoginLogService; import itn.let.sym.log.clg.service.LoginLog; import itn.let.sym.log.clg.service.MsgLog; @@ -425,7 +426,6 @@ public class EgovLoginLogController { RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/log/clg/SelectLogMethodList.do"); return redirectUrlMaker.getRedirectUrl(); } - /*관리자로그설정관리 수정/view*/ @RequestMapping(value="/sym/log/clg/ViewLogMethod.do") @@ -441,7 +441,6 @@ public class EgovLoginLogController { return "sym/log/clg/ViewLogMethod"; } - /* 관리자로그설정관리 등록*/ @RequestMapping(value="/sym/log/clg/InsertLogMethod.do") public String insertLogMethod(@RequestParam Map commandMap, @@ -951,4 +950,64 @@ public class EgovLoginLogController { //model.addAttribute("paginationInfo", paginationInfo); return "sym/log/clg/SelectMsgLogList"; } + + + /** + * @Method Name : SelectDauLoginLogList + * @작성일 : 2023. 8. 22. + * @작성자 : WYH + * @변경이력 : + * @Method 설명 : 일 이용자 수 통계 + */ + @RequestMapping(value = "/sym/log/clg/SelectDauLoginLogList.do") + public String SelectDauLoginLogList( + @ModelAttribute("searchVO") LoginLog loginLog + , @RequestParam Map commandMap + , ModelMap model) throws Exception { + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(loginLog.getPageIndex()); + paginationInfo.setRecordCountPerPage(loginLog.getPageUnit()); + paginationInfo.setPageSize(loginLog.getPageSize()); + + loginLog.setFirstIndex(paginationInfo.getFirstRecordIndex()); + loginLog.setLastIndex(paginationInfo.getLastRecordIndex()); + loginLog.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + List dauLoginLogList = loginLogService.SelectDauLoginLogList(loginLog); + + model.addAttribute("dauLoginLogList", dauLoginLogList); + paginationInfo.setTotalRecordCount(dauLoginLogList.size() > 0 ? ((LoginLog)dauLoginLogList.get(0)).getTotCnt() : 0); + model.addAttribute("paginationInfo", paginationInfo); + + return "sym/log/clg/SelectDauLoginLogList"; + } + + + /** + * @Method Name : SelectMauLoginLogList + * @작성일 : 2023. 8. 22. + * @작성자 : WYH + * @변경이력 : + * @Method 설명 : 월 이용자 수 통계 + */ + @RequestMapping(value = "/sym/log/clg/SelectMauLoginLogList.do") + public String SelectMauLoginLogList( + @ModelAttribute("searchVO") LoginLog loginLog + , @RequestParam Map commandMap + , ModelMap model) throws Exception { + + if("".equals(loginLog.getSearchCnd()) || loginLog.getSearchCnd() == null){ //최초조회시 현재년도 조회 + LocalDate now = LocalDate.now(); + int year = now.getYear(); + loginLog.setSearchCnd(Integer.toString(year)); + } + + List mauLoginLogList = loginLogService.SelectMauLoginLogList(loginLog); + + model.addAttribute("mauLoginLogList", mauLoginLogList); + + return "sym/log/clg/SelectMauLoginLogList"; + } } diff --git a/src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml index 8b0a6571..c3b99be3 100644 --- a/src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml @@ -974,6 +974,64 @@ ON A.days = C.mday ORDER BY days DESC - + + + + + diff --git a/src/main/webapp/WEB-INF/jsp/sym/log/clg/SelectDauLoginLogList.jsp b/src/main/webapp/WEB-INF/jsp/sym/log/clg/SelectDauLoginLogList.jsp new file mode 100644 index 00000000..5939cf1c --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/sym/log/clg/SelectDauLoginLogList.jsp @@ -0,0 +1,188 @@ +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%> +<% + response.setHeader("Cache-Control","no-store"); + response.setHeader("Pragma","no-cache"); + response.setDateHeader("Expires",0); + if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache"); +%> + + + + + + + + + +
+ + " /> + " /> + "> + "> + +
+
+
+

DAU(일 이용자 수)

+

일 기준 순 이용자(1회라도 로그인 한 이용자, 중복제거)를 확인할 수 있습니다.

+
+ +
+
+ + + " > + + +  ~ + + " > + + + + 타임아웃 아이콘 + + + +
+
+

+ 총 건 +

+
+ + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
일자회원수순 이용자순 이용자 비율
%
+
+
+
+ + +
+
    + +
+
+
+ +
+
+
diff --git a/src/main/webapp/WEB-INF/jsp/sym/log/clg/SelectMauLoginLogList.jsp b/src/main/webapp/WEB-INF/jsp/sym/log/clg/SelectMauLoginLogList.jsp new file mode 100644 index 00000000..c9a05af1 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/sym/log/clg/SelectMauLoginLogList.jsp @@ -0,0 +1,86 @@ +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%> +<% + response.setHeader("Cache-Control","no-store"); + response.setHeader("Pragma","no-cache"); + response.setDateHeader("Expires",0); + if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache"); +%> +월별 회원가입건수 통계 + + + + + +
+ + +
+
+
+

MAU(월 이용자 수)

+

월 기준 순 이용자(1회라도 로그인 한 이용자, 중복제거)를 확인할 수 있습니다..

+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
일자회원수순 이용자순 이용자 비율
%
+
+
+
+
\ No newline at end of file