목차

사용자 통계 서비스

개요

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

기능흐름

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

설명

관련소스

유형대상소스명비고
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

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

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

참고자료