====== 마이페이지======
===== 개요 =====
사용자가 즐겨 찾는 정보를 사용자가 원하는 형태에 따라 제공하며, 마이페이지의 콘텐츠 등록, 수정, 삭제, 조회 및 마이페이지를 구성하는 기능을 제공한다.
* 기능흐름
{{:egovframework:com:uss:ivp:mpe:mypage_fnc_flow.jpg?800|}}
===== 설명 =====
==== 패키지 참조 관계 ====
마이페이지 패키지는 요소기술의 공통 패키지(cmm)에 대해서만 직접적인 함수적 참조 관계를 가진다.
* 패키지 간 참조 관계 : [[egovframework:com:v2:init_pkg_dependency#사용자지원|사용자지원 Package Dependency]]
==== 관련소스 ====
^유형^대상소스명^비고^
|Controller|egovframework.com.uss.mpe.web.EgovIndvdlPgeController.java|마이페이지 Controller Class|
|Service|egovframework.com.uss.mpe.service.EgovIndvdlPgeService.java|마이페이지 Service Class|
|ServiceImpl|egovframework.com.uss.mpe.service.impl.EgovIndvdlPgeServiceImpl.java|마이페이지 ServiceImpl Class|
|Model|egovframework.com.uss.mpe.service.IndvdlPge.java|마이페이지 Model Class|
|VO|egovframework.com.uss.mpe.service.IndvdlPgeCntntsVO.java|마이페이지 컨텐츠 VO Class|
|VO|egovframework.com.uss.mpe.service.IndvdlPgeVO.java|마이페이지 구성 VO Class|
|VO|egovframework.com.cmm.ComDefaultVO.java|검색 VO Class|
|DAO|egovframework.com.uss.mpe.service.impl.IndvdlPgeDAO.java|마이페이지 Dao Class|
|JSP|/WEB-INF/jsp/egovframework/com/uss/mpe/EgovIndvdlpgeCntntsList.jsp|마이페이지 컨텐츠 목록조회 페이지|
|JSP|/WEB-INF/jsp/egovframework/com/uss/mpe/EgovIndvdlpgeCntntsRegist.jsp|마이페이지 컨텐츠 등록 페이지|
|JSP|/WEB-INF/jsp/egovframework/com/uss/mpe/EgovIndvdlpgeCntntsUpdt.jsp|마이페이지 컨텐츠 수정 페이지|
|JSP|/WEB-INF/jsp/egovframework/com/uss/mpe/EgovIndvdlpgeCntntsDetail.jsp|마이페이지 컨텐츠 상세조회 페이지|
|JSP|/WEB-INF/jsp/egovframework/com/uss/mpe/EgovIndvdlpgeConfRegist.jsp|마이페이지 환경설정 페이지|
|JSP|/WEB-INF/jsp/egovframework/com/uss/mpe/EgovIndvdlpgeList.jsp|마이페이지 컨텐츠 추가 페이지|
|JSP|/WEB-INF/jsp/egovframework/com/uss/mpe/EgovIndvdlpgeDetail.jsp|마이페이지 조회 페이지|
|QUERY XML|resources/egovframework/sqlmap/com/uss/mpe/EgovIndvdlPge_SQL_Mysql.xml|마이페이지 MySQL용 QUERY XML|
|QUERY XML|resources/egovframework/sqlmap/com/uss/mpe/EgovIndvdlPge_SQL_Oracle.xml|마이페이지 Oracle용 QUERY XML|
|QUERY XML|resources/egovframework/sqlmap/com/uss/mpe/EgovIndvdlPge_SQL_Tibero.xml|마이페이지 Tibero용 QUERY XML|
|QUERY XML|resources/egovframework/sqlmap/com/uss/mpe/EgovIndvdlPge_SQL_Altibase.xml|마이페이지 Altibase용 QUERY XML|
|Validator Rule XML|resources/egovframework/validator/validator-rules.xml|Validator Rule을 정의한 XML|
|Validator XML|resources/egovframework/validator/com/uss/mpe/EgovIndvdlpge.xml|마이페이지 Validator XML|
|Message properties|resources/egovframework/message/com/message-common_ko_KR.properties|마이페이지 Message properties|
|Idgen XML|resources/egovframework/spring/context-idgen.xml|마이페이지 컨텐츠 Id생성 Idgen XML|
==== 클래스 다이어그램 ====
{{:egovframework:com:v2:uss:마이페이지_클래스다이어그램.jpg?740|}}
==== ID Generation ====
=== ID Generation 관련 DDL 및 DML ===
* ID Generation Service를 활용하기 위해서 Sequence 저장테이블인 COMTECOPSEQ에 **CNTNTS_ID** (컨텐츠 아이디) 항목을 추가해야 한다.
CREATE TABLE COMTECOPSEQ ( table_name varchar(16) NOT NULL,
next_id DECIMAL(30) NOT NULL,
PRIMARY KEY (table_name));
INSERT INTO COMTECOPSEQ VALUES('CNTNTS_ID','0');
=== ID Generation 환경설정(context-idgen.xml) ===
==== 관련테이블 ====
^테이블명^테이블명(영문)^비고^
|마이페이지 컨텐츠|COMTNINDVDLPGECNTNTS|마이페이지에 추가할 수 있는 컨텐츠를 관리자가 등록한다.|
|마이페이지 환경설정|COMTNINDVDLPGEESTBS|마이페이지 조회 시 구성될 화면을 설정한다.|
|마이페이지에 추가된 컨텐츠|COMTNCNTNTSLIST|마이페이지에 추가된 컨텐츠를 관리한다.|
===== 관련기능 =====
마이페이지관리는 **마이페이지 컨텐츠 목록조회**, **마이페이지 컨텐츠 등록**, **마이페이지 컨텐츠 수정**, **마이페이지 컨텐츠 삭제/미리보기**, **마이페이지 컨텐츠 상세보기/완전삭제**, **마이페이지 구성**, **마이페이지 컨텐츠 추가**, **마이페이지 보기** 기능으로 구성되어 있다.
==== 마이페이지 컨텐츠 목록조회 ====
=== 비즈니스 규칙 ===
관리자가 기(記) 등록된 마이페이지 컨텐츠 정보를 리스트 형태로 조회 할 수 있고, 기능버튼으로는 미리보기, 등록, 삭제 기능을 사용할 수 있다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행매뉴얼 ===
^Action^URL^Controller method^QueryID^
|목록|/uss/mpe/EgovIndvdlpgeCntntsList.do|selectIndvdlpgeCntntsList|"IndvdlPgeDAO.selectIndvdlpgeCntntsList",|
| | | |"IndvdlPgeDAO.selectIndvdlpgeListTotCnt"|
|삭제|/uss/mpe/EgovIndvdlpgeCntntsDel.do|deleteIndvdlpgeCntnts|"IndvdlPgeDAO.deleteIndvdlpgeCntnts"|
{{:egovframework:com:uss:ivp:mpe:mypge_cntnts_list.jpg|}}
등록 : 컨텐츠를 등록하기 위해서는 상단의 등록 버튼을 통해서 **마이페이지 등록** 화면으로 이동한다. \\
미리보기 : 미리보기 할 컨텐츠를 하나 선택하고 미리보기 버튼을 클릭하면 해당컨텐츠의 연계URL을 통해 팝업창에 컨텐츠를 볼 수 있다. \\
삭제 : 삭제 할 컨텐츠를 하나 혹은 다수로 선택하고 상단의 삭제 버튼을 통해서 컨텐츠를 삭제 할 수 있다. 이때 컨텐츠의 경우 일시적으로 컨텐츠를 사용못하게 하는 경우가 대부분이므로 완전 삭제하지 않고 사용자가 컨텐츠를 추가 하지 못하도록 **사용여부를 "N"으로 변경**한다. 컨텐츠를 데이터베이스에서 완전 살제 하기를 원할 경우는 각 컨텐츠 상세보기 화면으로 이동하여 그 기능을 수행할 수 있다.\\
목록 : **마이페이지 컨텐츠의 상세조회** 화면으로 이동한다.
==== 마이페이지 컨텐츠 등록 ====
=== 비즈니스 규칙 ===
마이페이지에 컨텐츠를 관리자가 등록하는 화면으로 컨텐츠 명, 연계URL, 상세보기 URL, 컨텐츠 설명은 필수 입력 항목이므로 반드시 입력해야 한다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행메뉴얼 ===
^Action^URL^Controller method^QueryID^
|등록|/uss/mpe/EgovIndvdlpgeCntntsRegist.do|insertIndvdlpgeCntnts|"IndvdlPgeDAO.insertIndvdlpgeCntnts"|
{{:egovframework:com:uss:ivp:mpe:mypge_cntnts_regi.jpg|}}
목록 : 목록 버튼 클릭시 **마이페이지 컨텐츠 목록 조회** 화면으로 이동한다. \\
등록 : 등록 버튼 클릭시 입력한 마이페이지 컨텐츠 정보를 저장한다.
==== 마이페이지 컨텐츠 수정 ====
=== 비즈니스 규칙 ===
마이페이지에 컨텐츠 수정 화면으로 컨텐츠 명, 연계URL, 상세보기 URL, 컨텐츠 설명 등을 수정할 수 있다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행메뉴얼 ===
^Action^URL^Controller method^QueryID^
|수정|/uss/mpe/EgovIndvdlpgeCntntsUpdt.do|updateIndvdlpgeCntnts|"IndvdlPgeDAO.updateIndvdlpgeCntnts"|
{{:egovframework:com:uss:ivp:mpe:mypge_cntnts_updt.jpg|}}
목록 : 목록 버튼 클릭시 **마이페이지 컨텐츠 목록 조회** 화면으로 이동한다. \\
수정 : 수정 버큰 클릭시 **마이페이지 컨텐츠 수정** 후 수정 완료 메세지를 출력한다. \\
등록 : 등록 버튼 클릭시 입력한 마이페이지 컨텐츠 정보를 저장한다.
==== 마이페이지 컨텐츠 삭제/미리보기 ====
=== 비즈니스 규칙 ===
**마이페이지 컨텐츠 목록 조회**화면에서 미리보고자 하는 컨텐츠를 선택하여 미리보기 하거나, 삭제하고자 하는 컨텐츠를 다중 선택하여 일괄 삭제가 가능한다. 삭제는 컨텐츠의 재사용을 위해 완전삭제가 아닌 비사용으로 전환한다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행메뉴얼 ===
^Action^URL^Controller method^QueryID^
|미리보기|제공되는 컨텐츠의 연계 URL을 통한 팝업창|||
|삭제|/uss/mpe/EgovIndvdlpgeCntntsDel.do|deleteIndvdlpgeCntnts|"IndvdlPgeDAO.deleteIndvdlpgeCntnts"|
{{:egovframework:com:uss:ivp:mpe:mypge_cntnts_preview.jpg|}}
미리보기 : 미리보기 할 컨텐츠를 하나 선택하고 미리보기 버튼을 클릭하면 해당컨텐츠의 연계URL을 통해 팝업창에 컨텐츠를 볼 수 있다. \\
삭제 : 삭제 할 컨텐츠를 하나 혹은 다수로 선택하고 상단의 삭제 버튼을 통해서 컨텐츠를 삭제 할 수 있다. 이때 컨텐츠의 경우 일시적으로 컨텐츠를 사용못하게 하는 경우가 대부분이므로 완전 삭제하지 않고 사용자가 컨텐츠를 추가 하지 못하도록 **사용여부를 "N"으로 변경**한다. \\
==== 마이페이지 컨텐츠 상세보기/완전삭제====
=== 비즈니스 규칙 ===
마이페이지 컨텐츠 목록에서의 컨텐츠 삭제 기능은 컨텐츠의 사용유무를 변경 시키는 기능이며, 완전삭제는 목록에서 컨텐츠 상세보기 화면으로 이동하여 컨텐츠를 데이터베이스에서 완전히 삭제하는 기능을 말한다. 따라서 목록에서도 삭제된 컨텐츠를 확인할 수 있다. \\
=== 관련코드 ===
N/A
=== 관련화면 및 수행메뉴얼 ===
^Action^URL^Controller method^QueryID^
|상세조회|/uss/mpe/EgovIndvdlpgeCntntsDetail.do|selectIndvdlpgeCntnts|"IndvdlPgeDAO.selectIndvdlpgeCntnts"|
|완전삭제|/uss/mpe/EgovIndvdlpgeCntntsDelDB.do|deleteIndvdlpgeCntntsDB|"IndvdlPgeDAO.delIndvdlpgeCntntsDB"|
{{:egovframework:com:uss:ivp:mpe:mypge_cntnts_deldb.jpg|}}
목록 : 목록 버튼 클릭시 **마이페이지 컨텐츠 목록 조회** 화면으로 이동한다. \\
수정 : 수정 버큰 클릭시 **마이페이지 컨텐츠 수정** 후 수정 완료 메세지를 출력한다. \\
완전삭제 : 완전삭제 버튼 클릭시 데이터베이스에 저장된 컨텐츠를 삭제하고 목록 페이지로 이동한다.
==== 마이페이지 구성====
=== 비즈니스 규칙 ===
마이페이지 보기 화면에서 출력된 컨텐츠의 배열방식 및 개수, 컨텐츠 타이틀 바 색상 등을 정의한다. 마이페이지를 보기 위해서는 반드시 마이페이지 구성을 설정하여야 한다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행메뉴얼 ===
^Action^URL^Controller method^QueryID^
|구성저장|/uss/mpe/EgovIndvdlpgeConfRegist.do|checkIndvdlConf|"IndvdlPgeDAO.insertIndvdlpgeConf"|
{{:egovframework:com:uss:ivp:mpe:mypge_cntnts_conf.jpg|}}
저장 : 저장 버튼 클릭시 입력정보를 저장하고 **요청정보 처리 완료 메세지** 를 출력한다. \\
==== 마이페이지 컨텐츠 추가====
=== 비즈니스 규칙 ===
마이페이지에서 보기를 원하는 컨텐츠를 컨텐츠 목록에서 선택하여 추가한다. 컨텐츠 목록에서는 관리자가 등록한 컨텐츠 중 사용유무가 "Y"인 컨텐츠가 조회할 수 있다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행메뉴얼 ===
^Action^URL^Controller method^QueryID^
|목록조회|/uss/mpe/EgovIndvdlpgeAddCntntsList.do|addIndvdlpgeCntntsList|"IndvdlPgeDAO.addIndvdlpgeCntntsList"|
|바로추가|/uss/mpe/EgovIndvdlpgeAddCntnts.do|addIndvdlpgeCntnts|"IndvdlPgeDAO.addIndvdlpgeCntnts"|
{{:egovframework:com:uss:ivp:mpe:mypge_cntnts_add.jpg|}}
바로추가 : 목록의 컨텐츠를 마이페이지에 바로추가 한다. \\
미리보기 : 추가할 컨텐츠를 마이페이지에 추가하기 전에 확인할 수 있다.
==== 마이페이지 보기====
=== 비즈니스 규칙 ===
마이페이지에 추가된 컨텐츠를 확인할 수 있다. 마이페이지를 보기 위해서는 마이페이지 구성이 설정되어 있어야 한다. 그렇지 않을 경우 설정화면으로 이동한다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행메뉴얼 ===
^Action^URL^Controller method^QueryID^
|목록조회|/uss/mpe/EgovIndvdlpgeAddCntntsList.do|addIndvdlpgeCntntsList|"IndvdlPgeDAO.addIndvdlpgeCntntsList"|
{{:egovframework:com:uss:ivp:mpe:mypge_cntnts_viewpge.jpg|}}
more : 마이페이지에 나타난 컨텐츠의 상세보기 URL로 이동한다.\\
X 이미지 버튼 : 추가된 컨텐츠를 마이페이지에서 제외시킬 수 있다. \\
** ※ 공통컴포넌트에서는 기업사용자로 접속하면 마이페이지를 확인할 수 있다. **