각종 사용자 현황에 대한 통계자료를 회원유형, 회원상태, 성별에 따라 기간별(연도별, 월별, 일별)로 그래프와 텍스트 형태 두가지 방식으로 제공한다.
기능명 | 기능 흐름 |
---|---|
사용자통계 집계 | 사용자정보 요약 배치수행 → 사용자요약정보 집계 |
사용자통계 검색 | 검색조건 입력 → 조건별 사용자 통계 검색 |
유형 | 대상소스명 | 비고 |
---|---|---|
Controller | egovframework.com.sts.web.EgovUserStatsController.java | 사용자 통계를 위한 컨트롤러 클래스 |
Service | egovframework.com.sts.service.EgovUserStatsService.java | 사용자 통계를 위한 서비스 인터페이스 |
Service | egovframework.com.sts.service.EgovUserStatsScheduling.java | 사용자 통계 집계를 위한 스케줄 클래스 |
ServiceImpl | egovframework.com.sts.service.impl.EgovUserStatsServiceImpl.java | 사용자 통계를 위한 서비스 구현 클래스 |
VO | egovframework.com.sts.service.UserSummary.java | 사용자 통계를 위한 모델 클래스 |
VO | egovframework.com.sts.service.StatsVO.java | 통계를 위한 VO 클래스 |
DAO | egovframework.com.sts.service.impl.UserStatsDAO.java | 사용자 통계를 위한 데이터 처리 클래스 |
Query XML | resources/egovframework/sqlmap/com/sts/EgovUserStats_SQL.xml | 사용자 통계를 위한 Query XML |
JSP | WEB_INF/jsp/egovframework/sts/EgovUserStats.jsp | 사용자 통계 페이지 |
테이블명 | 테이블명(영문) | 비고 |
---|---|---|
사용자통계요약 | COMTSUSERSUMMARY | 사용자 통계 정보를 관리 |
하루에 한번씩 사용자 정보를 모두 조회하여 회원유형, 회원상태, 성별 조건에 부합하는 회원수를 요약하는 작업이 배치형태로 구성되어야 한다.
본 기능은 전자정부 표준프레임워크 실행환경의 scheduling 기능을 활용하여 구성되어있다.
public class EgovUserStatsScheduling { /** EgovUserStatsService */ @Resource(name = "userStatsService") private EgovUserStatsService userStatsService; /** * 사용자 통계를 위한 집계를 하루단위로 작업하는 배치 프로그램 * @exception Exception */ public void summaryUserStats() throws Exception { userStatsService.summaryUserStats(); } }
<bean id="userStats" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="egovUserStatsScheduling" /> <property name="targetMethod" value="summaryUserStats" /> <property name="concurrent" value="false" /> </bean>
<bean id="userStatsTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> <property name="jobDetail" ref="userStats" /> <!-- 시작하고 2분후에 실행한다. (milisecond) --> <property name="startDelay" value="120000" /> <!-- 매 12시간마다 실행한다. (milisecond) --> <property name="repeatInterval" value="43200000" /> </bean>
<bean id="statsSummaryScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="userStatsTrigger" /> </list> </property> </bean>
Action | URL | Controller method | QueryID |
---|---|---|---|
사용자 통계검색 | /sts/selectUserStats.do | selectUserStats | UserStatsDAO.selectUserStats |
하루 단위로 집계되는 사용자 요약 정보를 통해 조건별 사용자 통계 자료를 조회한다.
기간: 통계 검색을 할 시작-종료 기간을 입력한다.
기간구분: 연도별, 월별, 일별 기간별 통계 형태를 선택한다.
통계구분: 회원유형, 회원상태, 성별 구분을 선택한다.
세부통계구분: 선택된 통계구분에 해당되는 세부 구분을 선택한다.
검색: 조건에 맞는 사용자 통계를 검색한다.
초기화: 검색 조건을 초기화한다.