23.08.29
관리자 페이지 회원 파트 설계
version_0.4
[ 회원 정보 관리 ]
1. 전체 회원 정보 출력 (관리자 제외)
2. 회원 한명의 정보가 담긴 페이지 (클릭시 들어가지는 설계)
============================================================
1. 전체 회원 정보 출력 (관리자 제외)
-------------------------------------------------------------
MemberDAO2
MemberDAO2 selectAll(mVO) 메서드 쿼리문 수정 하기
>>
SELECT MID,MPW,MNAME,SUBSCRIPTION,ISADMIN,MPHONE,SIGNUPKIND
FROM MEMBER
WHERE ISADMIN = 0;
>> 23.08.28 수정 완료.
--------------------------------------------------------------
XxxController.java
View 에서 보내줄 값 :
없음.
View에서 보내줄 요청 값 :
@RequestMapping(value = "/memberList.do", method = ?)
C에서 V으로 보내야 할 값 :
관리자를 제외한 회원 전체 목록을 담은 배열리스트 데이터. == mdatas
Command 객체 :
1) MemberVO mVO 2) Model model
자동 호출 되는 setter :
없음.
C에서 필요한 sk :
없음.
가야할 페이지 :
memberList.jsp (페이지 이름은 미정)
Controller 로직 :
List<MemberVO> mdatas = memberService.selectAll(mVO);
model.addAttribute("mdatas", mdatas);
return "memberList.jsp" // 회원 목록 페이지로 이동 하기.
--------------------------------------------------------------
memberList.jsp
C 으로 부터 받아야할 값 :
mdatas (관리자를 제외한 회원 전체 목록을 담은 배열리스트 데이터)
CSS :
수정 할 예정.
View 로직 :
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<table>
<tr>
<th>이메일</th>
<th>비밀번호</th>
<th>이름 (닉네임)</th>
<th>구독 여부</th>
<th>관리자 여부</th>
<th>전화번호</th>
<th>가입 종류</th>
</tr>
<c:forEach items="${mdatas}" var="member">
<tr>
<td><a href="memberInfo.do?mID=${member.mID}">${member.mID}</td>
<td>${member.mPW}</td>
<td>${member.mName}</td>
<td>${member.subscription}</td>
<td>${member.isAdmin}</td>
<td>${member.mPhone}</td>
<td>${member.signUpKind}</td>
</tr>
</c:forEach>
</table>
--------------------------------------------------------------
2.
회원 한명의 정보가 담긴 페이지 (클릭시 들어가지는 설계)
버튼 : 7개
1) 회원 정보 확인 (admin_memberInfoMain.jsp)
2) 계정 삭제 버튼 (admin_memberInfoMain.jsp)
3) 리뷰 정보 확인 버튼 (admin_memberInfoReview.jsp)
4) 리뷰 신고 관리 페이지로 가는 버튼 (admin_memberInfoReview.jsp)
5) 주문 정보 확인 버튼 (admin_memberInfoOrder.jsp)
6) 구독 정보 확인 버튼 (admin_memberInfoSubs.jsp)
7) admin_memberList.jsp 로 돌아가기 버튼 (공통) (위치 수정 필요)
----------------------------------------------
한글 코딩 :
회원의 이메일을 클릭 하면, 회원 상세 정보 페이지로 이동.
회원 상세 정보 페이지가 이미 템플릿이 있어서 이것을 활용할 예정.
페이지 개수 : 메인 + 서브 = 4개
회원 상세 정보 페이지 ---> 메인 페이지 1개 (admin_memberInfoMain.jsp)
(메인 페이지 에서 mID를 "세션" 으로 관리)
회원 상세 정보 페이지 ----> 서브 페이지 3개
>>
회원 상세 정보 - 리뷰 상세 정보 (admin_memberInfoReview.jsp)
회원 상세 정보 - 주문 상세 정보 (admin_memberInfoOrder.jsp)
회원 상세 정보 - 구독 상세 정보 (admin_memberInfoSubs.jsp)
따라서, 메서드는 총 4개 (매핑값 4개)
a 태그로 보내줄 매핑값 :
memberInfoMain.do
memberInfoReview.do
memberInfoOrder.do
memberInfoSubs.do
회원 상세 정보 페이지 ---> "메인 페이지" 에서 보여줄 회원 정보 :
1) admin_memberInfoMain.jsp
회원 정보
>> memberService.selectOne() (SQL_SELECTONE_INFO)
>> 보여줄 것 :
아이디 (이메일) (MID), 비밀번호 (MPW), 이름 (닉네임) (MNAME), 구독 여부 (SUBSCRIPTION), 관리자 여부 (ISADMIN), 전화 번호 (MPHONE), 가입 종류 (SIGNUPKIND)
>> 필요한 값 : mID
회원 상세 정보 페이지 ---> "서브 페이지" 에서 보여줄 회원 정보 :
1) admin_memberInfoReview.jsp
회원이 작성한 리뷰
>> boardService.selectAll() (SQL_SELECTALL_MYPAGE)
>> 보여줄 것 :
상품 이름 (PNAME), 리뷰 내용 (BCONTENT), 리뷰에 회원이 부여한 별점 (BSTAR), 리뷰 작성 날짜 (BDATE)
>> 필요한 값 : mID
2) admin_memberInfoOrder.jsp
회원이 주문한 상품 정보
>> orderService.selectAll() (SQL_SELECTALL_MYORDER)
>> 보여줄 것 : 상품 구매 날짜 (ODATE), 상품 총 구매 가격 (OPRICE), 주문 상태 (OSTATE), 주문 주소지 (OADDRESS) (변경 될 수도 있음)
>> 필요한 값 : mID
회원이 주문한 상품 상세 정보
>> orderdetailService.selectAll()
>> 보여줄 것 : 구매 상품 이름 (PNAME), 구매 상품 가격 (PPRICE), 구매 상품 개수 (ODCNT) (변경 될 수도 있음)
>> 필요한 값 : oNum
위의 보여줄 데이터를 컨트롤러에서 로직으로 한번에 해결 하기.
>> Map<OrderVO,List<OrderdetailVO>> orderMap = new LinkedHashMap<OrderVO,List<OrderdetailVO>>();
3) admin_memberInfoSubs.jsp
회원 구독 정보 + 회원 구독 상세 정보 (조인 이미 되어 있어서 OK)
>> subsinfoService.selectAll() (SQL_SELECTALL)
>> 보여줄 것 : 구독 상품 이름 (SUBNAME), 구독 상품 가격 (SUBPRICE), 구독 만료 기간 (SINFOPERIOD)
>> 필요한 값 : mID
----------------------------------------------------------------
XxxController.java
View 에서 보내줄 값 :
1) mID
View에서 보내줄 요청 값 :
1)
memberInfoMain()
@RequestMapping(value = "/memberInfoMain.do", method = ?)
2)
memberInfoReview()
@RequestMapping(value = "/memberInfoReview.do", method = ?)
3)
memberInfoOrder()
@RequestMapping(value = "/memberInfoOrder.do", method = ?)
4)
memberInfoSubs()
@RequestMapping(value = "/memberInfoSubs.do", method = ?)
C에서 V으로 보내야 할 값 :
1)
memberInfoMain()
- 회원 정보 객체 데이터 == mdata
- 회원 PK. (세션으로 보내기) == mID
2)
memberInfoReview()
- 회원이 작성한 모든 리뷰 배열리스트 데이터. == bdatas
3)
memberInfoOrder()
- 회원이 주문한 상품 정보 + 상품 상세 정보 링크드해시맵 데이터. == orderDatas
4)
memberInfoSubs()
- 회원 구독 정보 + 회원 구독 상세 정보 배열리스트 데이터. == subsinfoDatas
Command 객체 :
1)
memberInfoMain()
MemberVO mVO, HttpSession session, Model model
2)
memberInfoReview()
BoardVO bVO, Model model
3)
memberInfoOrder()
OrderVO oVO, OrderdetailVO odVO, Model model
4)
memberInfoSubs()
SubsinfoVO subsinfoVO, Model model
자동 호출 되는 setter :
1)
memberInfoMain()
mVO.setSK("mID");
2)
memberInfoReview()
없음. (mID는 세션으로 관리 되기 때문에, session 객체 사용할 예정)
3)
memberInfoOrder()
없음. (mID는 세션으로 관리 되기 때문에, session 객체 사용할 예정)
4)
memberInfoSubs()
없음. (mID는 세션으로 관리 되기 때문에, session 객체 사용할 예정)
C에서 필요한 sk :
1)
memberInfoMain()
mVO.setSk("INFO");
2)
memberInfoReview()
bVO.setSk("MYPAGE");
3)
memberInfoOrder()
oVO.setSk("MYORDER"); odVO.setSk("ORDERDETAIL");
4)
memberInfoSubs()
없음.
가야할 페이지 :
1)
memberInfoMain()
admin_memberInfoMain.jsp
2)
memberInfoReview()
admin_memberInfoReview.jsp
3)
memberInfoOrder()
admin_memberInfoOrder.jsp
4)
memberInfoSubs()
admin_memberInfoSubs.jsp
Controller 로직 :
----------------------------------------------------------------
admin_memberInfoMain.jsp
C 으로 부터 받아야할 값 :
1) mdata (회원 정보) 2) mID (세션)
CSS :
수정 할 예정.
View 로직 :
----------------------------------------------------------------
admin_memberInfoReview.jsp
C 으로 부터 받아야할 값 :
1) bdatas (리뷰 정보)
CSS :
수정 할 예정.
View 로직 :
----------------------------------------------------------------
admin_memberInfoOrder.jsp
C 으로 부터 받아야할 값 :
1) orderDatas (주문 정보 + 주문 상세 정보)
CSS :
수정 할 예정.
View 로직 :
----------------------------------------------------------------
admin_memberInfoSubs.jsp
C 으로 부터 받아야할 값 :
1) subsinfoDatas (구독 정보)
CSS :
수정 할 예정.
View 로직 :
----------------------------------------------------------------
'Team Project (국비) > Team Project 메모' 카테고리의 다른 글
네이버 클라우드 플랫폼 에서 문자 API 활용 하기 (SENS) (0) | 2023.09.03 |
---|---|
오류 페이지 설정 태그 (XML 설정 파일) (0) | 2023.09.03 |
인텔리제이 학생 라이센스 인증 방법 (0) | 2023.08.06 |
중간프로젝트 Model 파트 회의록 (0) | 2023.07.29 |
중간프로젝트 Model 파트 회의록 (0) | 2023.07.29 |