Index: standard/project/web/script/ddl/oracle/egovframework/api/rivalWar/aggregateResult/rivalWar_aggregateResult_DDL_Oracle.sql =================================================================== diff -u --- standard/project/web/script/ddl/oracle/egovframework/api/rivalWar/aggregateResult/rivalWar_aggregateResult_DDL_Oracle.sql (revision 0) +++ standard/project/web/script/ddl/oracle/egovframework/api/rivalWar/aggregateResult/rivalWar_aggregateResult_DDL_Oracle.sql (revision 638758f42b8e7b63fd338ad56077358561c8cfc0) @@ -0,0 +1 @@ \ No newline at end of file Index: standard/project/web/script/ddl/oracle/egovframework/api/rivalWar/directChat/rivalWar_DirectChat_DDL_Oracle.sql =================================================================== diff -u --- standard/project/web/script/ddl/oracle/egovframework/api/rivalWar/directChat/rivalWar_DirectChat_DDL_Oracle.sql (revision 0) +++ standard/project/web/script/ddl/oracle/egovframework/api/rivalWar/directChat/rivalWar_DirectChat_DDL_Oracle.sql (revision 638758f42b8e7b63fd338ad56077358561c8cfc0) @@ -0,0 +1,140 @@ +/* + * JsTree 추적 로그 테이블 + * 트리거 Log를 저장합니다. + */ +CREATE TABLE T_JSTREE_DIRECTCHAT_LOG +( + C_ID NUMBER NOT NULL, + C_PARENTID NUMBER NOT NULL, + C_POSITION NUMBER NOT NULL, + C_LEFT NUMBER NOT NULL, + C_RIGHT NUMBER NOT NULL, + C_LEVEL NUMBER NOT NULL, + C_TITLE VARCHAR2(4000 BYTE), + C_TYPE VARCHAR2(4000 BYTE), + C_METHOD VARCHAR2(4000 BYTE), + C_STATE VARCHAR2(4000 BYTE), + C_DATE DATE NOT NULL +); + +COMMENT ON TABLE T_JSTREE_DIRECTCHAT_LOG IS '기본 트리 스키마 트리거 로그'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT_LOG.C_ID IS '노드 아이디'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT_LOG.C_PARENTID IS '부모 노드 아이디'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT_LOG.C_POSITION IS '노드 포지션'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT_LOG.C_LEFT IS '노드 좌측 끝 포인트'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT_LOG.C_RIGHT IS '노드 우측 끝 포인트'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT_LOG.C_LEVEL IS '노드 DEPTH '; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT_LOG.C_TITLE IS '노드 명'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT_LOG.C_TYPE IS '노드 타입'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT_LOG.C_METHOD IS '노드 변경 행위'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT_LOG.C_STATE IS '노드 상태값 ( 이전인지. 이후인지)'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT_LOG.C_DATE IS '노드 변경 시'; + +/* + * JsTree + */ +CREATE TABLE T_JSTREE_DIRECTCHAT +( + C_ID NUMBER NOT NULL, + C_PARENTID NUMBER NOT NULL, + C_POSITION NUMBER NOT NULL, + C_LEFT NUMBER NOT NULL, + C_RIGHT NUMBER NOT NULL, + C_LEVEL NUMBER NOT NULL, + C_TITLE VARCHAR2(4000 BYTE), + C_TYPE VARCHAR2(4000 BYTE), + + C_USERID NUMBER, + C_TIME VARCHAR2(4000 BYTE), + C_LIKECOUNT NUMBER, + C_HATECOUNT NUMBER, + C_CAMP NUMBER, + CONSTRAINT T_JSTREE_DIRECTCHAT_PK PRIMARY KEY (C_ID) + /* + * CONSTRAINT T_JSTREE_DIRECTCHAT_FK1 FOREIGN KEY (OTHER_ID) REFERENCES OTHER T_JSTREE_DIRECTCHAT(C_ID) ON DELETE CASCADE + */ +); + +COMMENT ON TABLE T_JSTREE_DIRECTCHAT IS '기본 트리 스키마'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT.C_ID IS '노드 아이디'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT.C_PARENTID IS '부모 노드 아이디'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT.C_POSITION IS '노드 포지션'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT.C_LEFT IS '노드 좌측 끝 포인트'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT.C_RIGHT IS '노드 우측 끝 포인트'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT.C_LEVEL IS '노드 DEPTH '; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT.C_TITLE IS '노드 명'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT.C_TYPE IS '노드 타입'; + +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT.C_USERID IS '비교토론 등록사용자 아이디'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT.C_TIME IS '비교토론 등록시간'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT.C_LIKECOUNT IS '비교토론 좋아요 수'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT.C_HATECOUNT IS '비교토론 싫어요 수'; +COMMENT ON COLUMN T_JSTREE_DIRECTCHAT.C_CAMP IS '비교토론 등록 진영 구분'; +/* + * 인덱스는 되도록 걸지 말것. + * CREATE UNIQUE INDEX I_COMPREHENSIVETREE ON T_JSTREE_DIRECTCHAT + * ("C_ID" ASC) + * DROP SEQUENCE S_JSTREE_DIRECTCHAT; + */ + + +CREATE SEQUENCE S_JSTREE_DIRECTCHAT + START WITH 10 + MAXVALUE 999999999999999999999999999 + MINVALUE 0 + NOCYCLE + CACHE 20 + NOORDER; + +/* + * JsTree 트리거 + */ +CREATE OR REPLACE TRIGGER "TRIGGER_JSTREE_DIRECTCHAT" +BEFORE DELETE OR INSERT OR UPDATE +ON T_JSTREE_DIRECTCHAT +REFERENCING NEW AS NEW OLD AS OLD +FOR EACH ROW +DECLARE +tmpVar NUMBER; +/****************************************************************************** + NAME: TRIGGER_COMPREHENSIVETREE + PURPOSE: + + REVISIONS: + Ver Date Author Description + --------- ---------- --------------- ------------------------------------ + 1.0 2012-08-29 1. Created this trigger. + + NOTES: + + Automatically available Auto Replace Keywords: + Object Name: TRIGGER_COMPREHENSIVETREE + Sysdate: 2012-08-29 + Date and Time: 2012-08-29, 오후 5:26:44, and 2012-08-29 오후 5:26:44 + Username: (set in TOAD Options, Proc Templates) + Table Name: T_JSTREE_DIRECTCHAT (set in the "New PL/SQL Object" dialog) + Trigger Options: (set in the "New PL/SQL Object" dialog) +******************************************************************************/ +BEGIN + tmpVar := 0; + IF UPDATING THEN + insert into T_JSTREE_DIRECTCHAT_LOG + values (:old.C_ID,:old.C_PARENTID,:old.C_POSITION,:old.C_LEFT,:old.C_RIGHT,:old.C_LEVEL,:old.C_TITLE,:old.C_TYPE,'update','변경이전데이터',sysdate); + insert into T_JSTREE_DIRECTCHAT_LOG + values (:new.C_ID,:new.C_PARENTID,:new.C_POSITION,:new.C_LEFT,:new.C_RIGHT,:new.C_LEVEL,:new.C_TITLE,:new.C_TYPE,'update','변경이후데이터',sysdate); + END IF; + IF DELETING THEN + insert into T_JSTREE_DIRECTCHAT_LOG + values (:old.C_ID,:old.C_PARENTID,:old.C_POSITION,:old.C_LEFT,:old.C_RIGHT,:old.C_LEVEL,:old.C_TITLE,:old.C_TYPE,'delete','삭제된데이터',sysdate); + END IF; + IF INSERTING THEN + insert into T_JSTREE_DIRECTCHAT_LOG + values (:new.C_ID,:new.C_PARENTID,:new.C_POSITION,:new.C_LEFT,:new.C_RIGHT,:new.C_LEVEL,:new.C_TITLE,:new.C_TYPE,'insert','삽입된데이터',sysdate); + END IF; + + EXCEPTION + WHEN OTHERS THEN + -- Consider logging the error and then re-raise + RAISE; +END TRIGGER_JSTREE_DIRECTCHAT; +/ \ No newline at end of file Index: standard/project/web/script/ddl/oracle/egovframework/api/rivalWar/menu/rivalWar_Menu_DDL_Oracle.sql =================================================================== diff -u --- standard/project/web/script/ddl/oracle/egovframework/api/rivalWar/menu/rivalWar_Menu_DDL_Oracle.sql (revision 0) +++ standard/project/web/script/ddl/oracle/egovframework/api/rivalWar/menu/rivalWar_Menu_DDL_Oracle.sql (revision 638758f42b8e7b63fd338ad56077358561c8cfc0) @@ -0,0 +1,134 @@ +/* + * JsTree 추적 로그 테이블 + * 트리거 Log를 저장합니다. + */ +CREATE TABLE T_JSTREE_MENU_LOG +( + C_ID NUMBER NOT NULL, + C_PARENTID NUMBER NOT NULL, + C_POSITION NUMBER NOT NULL, + C_LEFT NUMBER NOT NULL, + C_RIGHT NUMBER NOT NULL, + C_LEVEL NUMBER NOT NULL, + C_TITLE VARCHAR2(4000 BYTE), + C_TYPE VARCHAR2(4000 BYTE), + C_METHOD VARCHAR2(4000 BYTE), + C_STATE VARCHAR2(4000 BYTE), + C_DATE DATE NOT NULL +); + +COMMENT ON TABLE T_JSTREE_MENU_LOG IS '기본 트리 스키마 트리거 로그'; +COMMENT ON COLUMN T_JSTREE_MENU_LOG.C_ID IS '노드 아이디'; +COMMENT ON COLUMN T_JSTREE_MENU_LOG.C_PARENTID IS '부모 노드 아이디'; +COMMENT ON COLUMN T_JSTREE_MENU_LOG.C_POSITION IS '노드 포지션'; +COMMENT ON COLUMN T_JSTREE_MENU_LOG.C_LEFT IS '노드 좌측 끝 포인트'; +COMMENT ON COLUMN T_JSTREE_MENU_LOG.C_RIGHT IS '노드 우측 끝 포인트'; +COMMENT ON COLUMN T_JSTREE_MENU_LOG.C_LEVEL IS '노드 DEPTH '; +COMMENT ON COLUMN T_JSTREE_MENU_LOG.C_TITLE IS '노드 명'; +COMMENT ON COLUMN T_JSTREE_MENU_LOG.C_TYPE IS '노드 타입'; +COMMENT ON COLUMN T_JSTREE_MENU_LOG.C_METHOD IS '노드 변경 행위'; +COMMENT ON COLUMN T_JSTREE_MENU_LOG.C_STATE IS '노드 상태값 ( 이전인지. 이후인지)'; +COMMENT ON COLUMN T_JSTREE_MENU_LOG.C_DATE IS '노드 변경 시'; + +/* + * JsTree + */ +CREATE TABLE T_JSTREE_MENU +( + C_ID NUMBER NOT NULL, + C_PARENTID NUMBER NOT NULL, + C_POSITION NUMBER NOT NULL, + C_LEFT NUMBER NOT NULL, + C_RIGHT NUMBER NOT NULL, + C_LEVEL NUMBER NOT NULL, + C_TITLE VARCHAR2(4000 BYTE), + C_TYPE VARCHAR2(4000 BYTE), + + C_VOTE_START_DATE VARCHAR2(4000 BYTE), + C_VOTE_END_DATE VARCHAR2(4000 BYTE), + CONSTRAINT T_JSTREE_MENU_PK PRIMARY KEY (C_ID) + /* + * CONSTRAINT T_JSTREE_MENU_FK1 FOREIGN KEY (OTHER_ID) REFERENCES OTHER T_JSTREE_MENU(C_ID) ON DELETE CASCADE + */ +); + +COMMENT ON TABLE T_JSTREE_MENU IS '기본 트리 스키마'; +COMMENT ON COLUMN T_JSTREE_MENU.C_ID IS '노드 아이디'; +COMMENT ON COLUMN T_JSTREE_MENU.C_PARENTID IS '부모 노드 아이디'; +COMMENT ON COLUMN T_JSTREE_MENU.C_POSITION IS '노드 포지션'; +COMMENT ON COLUMN T_JSTREE_MENU.C_LEFT IS '노드 좌측 끝 포인트'; +COMMENT ON COLUMN T_JSTREE_MENU.C_RIGHT IS '노드 우측 끝 포인트'; +COMMENT ON COLUMN T_JSTREE_MENU.C_LEVEL IS '노드 DEPTH '; +COMMENT ON COLUMN T_JSTREE_MENU.C_TITLE IS '노드 명'; +COMMENT ON COLUMN T_JSTREE_MENU.C_TYPE IS '노드 타입'; + +COMMENT ON COLUMN T_JSTREE_MENU.C_VOTE_START_DATE IS '비교토론 시작일'; +COMMENT ON COLUMN T_JSTREE_MENU.C_VOTE_END_DATE IS '비교토론 종료일'; +/* + * 인덱스는 되도록 걸지 말것. + * CREATE UNIQUE INDEX I_COMPREHENSIVETREE ON T_JSTREE_MENU + * ("C_ID" ASC) + * DROP SEQUENCE S_JSTREE_MENU; + */ + + +CREATE SEQUENCE S_JSTREE_MENU + START WITH 10 + MAXVALUE 999999999999999999999999999 + MINVALUE 0 + NOCYCLE + CACHE 20 + NOORDER; + +/* + * JsTree 트리거 + */ +CREATE OR REPLACE TRIGGER "TRIGGER_JSTREE_MENU" +BEFORE DELETE OR INSERT OR UPDATE +ON T_JSTREE_MENU +REFERENCING NEW AS NEW OLD AS OLD +FOR EACH ROW +DECLARE +tmpVar NUMBER; +/****************************************************************************** + NAME: TRIGGER_COMPREHENSIVETREE + PURPOSE: + + REVISIONS: + Ver Date Author Description + --------- ---------- --------------- ------------------------------------ + 1.0 2012-08-29 1. Created this trigger. + + NOTES: + + Automatically available Auto Replace Keywords: + Object Name: TRIGGER_COMPREHENSIVETREE + Sysdate: 2012-08-29 + Date and Time: 2012-08-29, 오후 5:26:44, and 2012-08-29 오후 5:26:44 + Username: (set in TOAD Options, Proc Templates) + Table Name: T_JSTREE_MENU (set in the "New PL/SQL Object" dialog) + Trigger Options: (set in the "New PL/SQL Object" dialog) +******************************************************************************/ +BEGIN + tmpVar := 0; + IF UPDATING THEN + insert into T_JSTREE_MENU_LOG + values (:old.C_ID,:old.C_PARENTID,:old.C_POSITION,:old.C_LEFT,:old.C_RIGHT,:old.C_LEVEL,:old.C_TITLE,:old.C_TYPE,'update','변경이전데이터',sysdate); + insert into T_JSTREE_MENU_LOG + values (:new.C_ID,:new.C_PARENTID,:new.C_POSITION,:new.C_LEFT,:new.C_RIGHT,:new.C_LEVEL,:new.C_TITLE,:new.C_TYPE,'update','변경이후데이터',sysdate); + END IF; + IF DELETING THEN + insert into T_JSTREE_MENU_LOG + values (:old.C_ID,:old.C_PARENTID,:old.C_POSITION,:old.C_LEFT,:old.C_RIGHT,:old.C_LEVEL,:old.C_TITLE,:old.C_TYPE,'delete','삭제된데이터',sysdate); + END IF; + IF INSERTING THEN + insert into T_JSTREE_MENU_LOG + values (:new.C_ID,:new.C_PARENTID,:new.C_POSITION,:new.C_LEFT,:new.C_RIGHT,:new.C_LEVEL,:new.C_TITLE,:new.C_TYPE,'insert','삽입된데이터',sysdate); + END IF; + + EXCEPTION + WHEN OTHERS THEN + -- Consider logging the error and then re-raise + RAISE; +END TRIGGER_JSTREE_MENU; +/ \ No newline at end of file FishEye: Tag 638758f42b8e7b63fd338ad56077358561c8cfc0 refers to a dead (removed) revision in file `standard/project/web/script/ddl/oracle/egovframework/rivalWar/api/directChat/jsTreeDirectChat_DDL_Oracle.sql'. FishEye: No comparison available. Pass `N' to diff? FishEye: Tag 638758f42b8e7b63fd338ad56077358561c8cfc0 refers to a dead (removed) revision in file `standard/project/web/script/ddl/oracle/egovframework/rivalWar/api/menu/jsTreeMenu_DDL_Oracle.sql'. FishEye: No comparison available. Pass `N' to diff? Index: standard/project/web/src/main/java/egovframework/api/rivalWar/aggregateResult/vo/AggregateResultDTO.java =================================================================== diff -u -r8cab9e7cc85dd66414b4ff23410a53edb8a93bea -r638758f42b8e7b63fd338ad56077358561c8cfc0 --- standard/project/web/src/main/java/egovframework/api/rivalWar/aggregateResult/vo/AggregateResultDTO.java (.../AggregateResultDTO.java) (revision 8cab9e7cc85dd66414b4ff23410a53edb8a93bea) +++ standard/project/web/src/main/java/egovframework/api/rivalWar/aggregateResult/vo/AggregateResultDTO.java (.../AggregateResultDTO.java) (revision 638758f42b8e7b63fd338ad56077358561c8cfc0) @@ -1,13 +1,24 @@ package egovframework.api.rivalWar.aggregateResult.vo; import egovframework.com.ext.jstree.springHibernate.core.vo.JsTreeHibernateSearchDTO; +import org.hibernate.annotations.*; +import org.hibernate.annotations.Cache; -import javax.persistence.Transient; +import javax.persistence.*; +import javax.persistence.Entity; +import javax.persistence.Table; import java.io.Serializable; /** * Created by Administrator on 2017-08-29. */ +@Entity +@Table(name = "T_JSTREE_AGGREGATE_RESULT") +@SelectBeforeUpdate(value = true) +@DynamicInsert(value = true) +@DynamicUpdate(value = true) +@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) +@SequenceGenerator(name = "JsTreeSequence", sequenceName = "S_JSTREE_AGGREGATE_RESULT", allocationSize = 1) public class AggregateResultDTO extends JsTreeHibernateSearchDTO implements Serializable { @@ -42,10 +53,55 @@ this.copyBooleanValue = copyBooleanValue; } + //우위 스펙 갯수: 6 좋아요 획득 갯수 : 3133
총 등록 글 : 10,490 총 등록된 해시 태그 : 4300 + private Long numberOfAdvantages; + private Long likeCount; + private Long totalRegisteredPosts; + private Long registeredHashTag; + + @Column(name = "c_number_of_advantages") + public Long getNumberOfAdvantages() { + return numberOfAdvantages; + } + + public void setNumberOfAdvantages(Long numberOfAdvantages) { + this.numberOfAdvantages = numberOfAdvantages; + } + + @Column(name = "c_like_count") + public Long getLikeCount() { + return likeCount; + } + + public void setLikeCount(Long likeCount) { + this.likeCount = likeCount; + } + + @Column(name = "c_total_registered_posts") + public Long getTotalRegisteredPosts() { + return totalRegisteredPosts; + } + + public void setTotalRegisteredPosts(Long totalRegisteredPosts) { + this.totalRegisteredPosts = totalRegisteredPosts; + } + + @Column(name = "c_registered_hash_tag") + public Long getRegisteredHashTag() { + return registeredHashTag; + } + + public void setRegisteredHashTag(Long registeredHashTag) { + this.registeredHashTag = registeredHashTag; + } + @Override public void setFieldFromNewInstance(T paramInstance) { if (paramInstance instanceof AggregateResultDTO) { - //this.setC_vote_start_date(this.getC_vote_start_date()); + this.setNumberOfAdvantages(this.getNumberOfAdvantages()); + this.setLikeCount(this.getLikeCount()); + this.setTotalRegisteredPosts(this.getTotalRegisteredPosts()); + this.setRegisteredHashTag(this.getRegisteredHashTag()); } } } Index: standard/project/web/src/main/java/egovframework/com/ext/jstree/springHibernate/core/vo/JsTreeHibernatePaginatedDTO.java =================================================================== diff -u -rf384fdaf3ce3e68e450e432ba89f045a5c8b99e3 -r638758f42b8e7b63fd338ad56077358561c8cfc0 --- standard/project/web/src/main/java/egovframework/com/ext/jstree/springHibernate/core/vo/JsTreeHibernatePaginatedDTO.java (.../JsTreeHibernatePaginatedDTO.java) (revision f384fdaf3ce3e68e450e432ba89f045a5c8b99e3) +++ standard/project/web/src/main/java/egovframework/com/ext/jstree/springHibernate/core/vo/JsTreeHibernatePaginatedDTO.java (.../JsTreeHibernatePaginatedDTO.java) (revision 638758f42b8e7b63fd338ad56077358561c8cfc0) @@ -13,7 +13,6 @@ private static final long serialVersionUID = 3465234289025484577L; - /** 검색조건 */ @JsonIgnore private String searchCondition = "";