jhleem / egov star

이다솜 이다솜 2022-02-22 @139

[20220222 이다솜] bbs log summary 코밋
Index: base3.10/src/main/java/egovframework/com/sym/log/blg/service/impl/BbsLogServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/blg/service/impl/BbsLogServiceImpl.java (revision 138) +++ base3.10/src/main/java/egovframework/com/sym/log/blg/service/impl/BbsLogServiceImpl.java (revision 139) @@ -38,4 +38,12 @@ bbsLogDAO.insertBbslog(bbsLog); } + /** + * 게시글 로그 요약 등록 + */ + @Override + public void insertBbsLogSummary() throws EgovBizException { + bbsLogDAO.insertBbsLogSummary(); + } + } Index: base3.10/src/main/java/egovframework/com/sym/log/blg/service/impl/BbsLogDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/blg/service/impl/BbsLogDAO.java (revision 138) +++ base3.10/src/main/java/egovframework/com/sym/log/blg/service/impl/BbsLogDAO.java (revision 139) @@ -1,5 +1,6 @@ package egovframework.com.sym.log.blg.service.impl; +import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Repository; import egovframework.com.cmm.service.impl.EgovComAbstractDAO; @@ -17,7 +18,15 @@ * 게시글 로그를 저장한다. * @param bbsLog */ - public void insertBbslog(BbsLog bbsLog) { + public void insertBbslog(BbsLog bbsLog) throws DataAccessException { insert("BbsLogDAO.insertBbslog", bbsLog); } + + /** + * 게시글 로그 요약 등록 + */ + public void insertBbsLogSummary() throws DataAccessException { + insert("BbsLogDAO.insertBbsLogSummary", null); +// delete("BbsLogDAO.deleteBbsLogSummary", null); + } } Index: base3.10/src/main/java/egovframework/com/sym/log/blg/service/BbsLogScheduling.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/blg/service/BbsLogScheduling.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/blg/service/BbsLogScheduling.java (revision 139) @@ -0,0 +1,29 @@ +package egovframework.com.sym.log.blg.service; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import egovframework.rte.fdl.cmmn.exception.EgovBizException; + +/** + * 게시글 로그 요약을 위한 스케줄링 + * @author 이다솜 + * + */ +@Service("bbsLogScheduling") +public class BbsLogScheduling extends EgovAbstractServiceImpl { + + @Resource(name="BbsLogService") + private BbsLogService bbsLogService; + + /** + * 게시글 로그 요약 등록 + * @throws Exception + */ + public void insertBbsLogSummary() throws EgovBizException { + bbsLogService.insertBbsLogSummary(); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/blg/service/BbsLogScheduling.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/blg/service/BbsLogService.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/blg/service/BbsLogService.java (revision 138) +++ base3.10/src/main/java/egovframework/com/sym/log/blg/service/BbsLogService.java (revision 139) @@ -17,4 +17,9 @@ */ public void insertBbslog(BbsLog bbsLog) throws EgovBizException, FdlException; + /** + * 게시글 로그 요약 + */ + public void insertBbsLogSummary() throws EgovBizException; + } Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/blg/BbsLog_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/blg/BbsLog_SQL_postgres.xml (revision 138) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/blg/BbsLog_SQL_postgres.xml (revision 139) @@ -36,4 +36,33 @@ ]]> </insert> + <!-- 게시글 로그 전날 로그 요약 등록 --> + <insert id="insertBbsLogSummary"> + <![CDATA[ + INSERT INTO COMTNBBSLOGSUMMARY(occrrnc_de, ntt_id, rdcnt, ntn_nm) + SELECT TO_CHAR(b.OCCRRNC_DE, 'YYYYmmdd' ) + , b.ntt_id + , COUNT(TO_CHAR(b.OCCRRNC_DE, 'YYYYmmdd' )) AS RDCNT + , b.ntn_nm + FROM COMTNBBSLOG b + WHERE NOT EXISTS (SELECT c.OCCRRNC_DE + FROM COMTNBBSLOGSUMMARY c + WHERE c.OCCRRNC_DE = TO_CHAR(now() - interval '1 day', 'YYYYmmdd') + ) + AND TO_CHAR(b.OCCRRNC_DE, 'YYYYmmdd' ) = TO_CHAR(now() - interval '1 day', 'YYYYmmdd') + AND ntn_nm IS NOT NULL + GROUP BY TO_CHAR(b.OCCRRNC_DE, 'YYYYmmdd' ) + , b.ntt_id + , b.ntn_nm + ]]> + </insert> + + <!-- 게시글 로그 6개월전 로그 삭제 --> + <delete id="deleteBbsLogSummary"> + <![CDATA[ + DELETE FROM COMTNBBSLOG + WHERE TO_CHAR(OCCRRNC_DE, 'YYYYmmdd') < TO_CHAR(now() - interval '6 month', 'YYYYmmdd') + ]]> + </delete> + </mapper> \ No newline at end of file Index: base3.10/src/main/resources/egovframework/spring/com/scheduling/context-scheduling-sym-log-blg.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/scheduling/context-scheduling-sym-log-blg.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/scheduling/context-scheduling-sym-log-blg.xml (revision 139) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <!-- 게시글 로그 요약 --> + <bean id="bbsLogging" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> + <property name="targetObject" ref="bbsLogScheduling" /> + <property name="targetMethod" value="insertBbsLogSummary" /> + <property name="concurrent" value="false" /> + </bean> + + <!-- 게시글 로그 요약 트리거--> + <bean id="bbsLogTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> + <property name="jobDetail" ref="bbsLogging" /> + <!-- 시작하고 1분후에 실행한다. (milisecond) --> + <property name="startDelay" value="60000" /> +<!-- 매 60분마다 실행한다. (milisecond) 데몬 형식으로 계속 기동 중 --> + <property name="repeatInterval" value="3600000" /> + <!-- CRON과 같이 시각을 지정하는 경우 다음 참조 --> +<!-- <property name="cronExpression" value="0 0 17 * * *" /> --> +<!-- <property name="cronExpression" value="0 0/5 * * * ?" /> --> + </bean> + + <!-- 게시글 로그 요약 스케줄러 --> + <bean id="bbsLogScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> + <property name="triggers"> + <list> + <ref bean="bbsLogTrigger" /> + </list> + </property> + </bean> +</beans> Property changes on: base3.10/src/main/resources/egovframework/spring/com/scheduling/context-scheduling-sym-log-blg.xml ___________________________________________________________________ Added: svn:mime-type + text/plain
Add a comment
List