목차

사용자 통계 서비스

개요

각종 사용자 현황에 대한 통계자료를 회원유형, 회원상태, 성별에 따라 기간별(연도별, 월별, 일별)로 그래프와 텍스트 형태 두가지 방식으로 제공한다.

기능흐름

기능명기능 흐름
사용자통계 집계사용자정보 요약 배치수행사용자요약정보 집계
사용자통계 검색검색조건 입력 → 조건별 사용자 통계 검색

설명

관련소스

유형대상소스명비고
Controlleregovframework.com.sts.web.EgovUserStatsController.java사용자 통계를 위한 컨트롤러 클래스
Serviceegovframework.com.sts.service.EgovUserStatsService.java사용자 통계를 위한 서비스 인터페이스
Serviceegovframework.com.sts.service.EgovUserStatsScheduling.java사용자 통계 집계를 위한 스케줄 클래스
ServiceImplegovframework.com.sts.service.impl.EgovUserStatsServiceImpl.java사용자 통계를 위한 서비스 구현 클래스
VOegovframework.com.sts.service.UserSummary.java사용자 통계를 위한 모델 클래스
VOegovframework.com.sts.service.StatsVO.java통계를 위한 VO 클래스
DAOegovframework.com.sts.service.impl.UserStatsDAO.java사용자 통계를 위한 데이터 처리 클래스
Query XMLresources/egovframework/sqlmap/com/sts/EgovUserStats_SQL.xml사용자 통계를 위한 Query XML
JSPWEB_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>

관련화면 및 수행매뉴얼

사용자 통계

ActionURLController methodQueryID
사용자 통계검색/sts/selectUserStats.doselectUserStatsUserStatsDAO.selectUserStats

하루 단위로 집계되는 사용자 요약 정보를 통해 조건별 사용자 통계 자료를 조회한다.

기간: 통계 검색을 할 시작-종료 기간을 입력한다.
기간구분: 연도별, 월별, 일별 기간별 통계 형태를 선택한다.
통계구분: 회원유형, 회원상태, 성별 구분을 선택한다.
세부통계구분: 선택된 통계구분에 해당되는 세부 구분을 선택한다.
검색: 조건에 맞는 사용자 통계를 검색한다.
초기화: 검색 조건을 초기화한다.

참고자료