-
Notifications
You must be signed in to change notification settings - Fork 0
Additional Feature Design
WinterHana edited this page May 19, 2024
·
32 revisions
-
ProductVO,PurchaseVO에 개수 설정 추가 - (UI) 구입 시 개수 설정 가능, 리스트에서 개수 확인 가능, 구매 시 개수 확인 가능
-
UPDATE시 개수 설정 추가,SELECT시 개수 확인 추가 - 개수만큼 구입하면 총 개수에 반영할 수 있도록 하기 -
UPDATE - (UI) 개수 구입 시 유효성 확인은 javascript alert로 바로 확인하기
- 매진이 됐다면 상세 보기 까지만 되고, 구매는 막는다.
- left Layer 정리하기 - 0
- not login : 상품 검색 / 최근 본 상품
- user : 개인정보 조회 / 상품 검색 / 구매 이력 조회 / 구매 이력 조회 / 최근 본 상품
- admin : 개인정보 조회, 회원정보 조회 / 상품 검색 / 판매 상품 등록, 판매 상품 관리 / 최근 본 상품
- (관리자) 상품 리스트와 구매 관리의
분리필요- 관리자가 구매 이력을 검색하는 SQL에 대하여 새로 구성해야 함
- (사용자 View) 구매 이력 : 구매 번호, 제품 이름, 제품 수량, 배송 상태
- (관리자 View) 판매 이력 : 구매 번호, 회원 ID, 회원명, 전화 번호, 제품 이름, 개수, 배송 상태
- (관리자) 구매 관리에 대한
배송 상태를 컨트롤할 수 있어야 함 - (사용자) 소비자는
제품 받기 확인,배송 전 구매 수정까지만 가능해야 한다. - 구매 내역 확인 시, 제품 번호 대신 제품 이름으로 출력.

- Transaction에
prod_count, Product에countcolumn을 추가함 - 장바구니 설계를 위해 테이블 간의 관계는 나중에 바꿀 예정

- Product의 image_file에 대한 내용을 productImage Table로 옮기기
- product의 manufacture_day를 VARCHAR(2)에서 DATE로 변경
- product의 image_file column 삭제
- 이미지 업로드가 가능하도록 하기
- 이미지 업로드한 결과가 바로 반영되도록 하기 참고한 레퍼런스
- 다중 이미지 업로드 구현
- 최근 본 상품 5개가 왼쪽 레이아웃에 바로 반영되도록 하기
- 유저, 제품, 구매목록에 대한 삭제 추가
#
- Users Table에
mileageColumn 추가
- Transaction의
prod_no삭제 - Transaction의
prod_count삭제 (더 이상 필요 없음) - Transaction의
total_price추가 (총 금액 계산 및 매출 계산) - Transaction의
tran_name추가 (이름 짓기 가능) -
TransactionList추가 : 하나의 구매 목록에 다양한 제품 내용을 반영하고자 함. -
Cart추가 : 장바구니 역할을 할 테이블 추가
DB 변경 : mileage 추가, total_price 추가
- 유저마다 마일리지를 부여한다.
- admin 계정은 유저마다 마일리지를 부여할 수 있게 한다. (유저 정보 수정에서 가능)
- 유저가 가지고 있는 마일리지에 따라 상품을 구매할 수 있다.
- 잔액 부족 등 유효성 체크도 겸한다.
- 마일리지는 소모되어야 하고, 소모된 마일리지는 따로 관리해 매출 관련 통계를 낼 수 있도록 한다.
- 상품을 반품할 시, 마일리지 다시 제공, 매출에서 제외 등의 로직이 들어가야 한다.
마일리지가 변동되는 시점 : admin의 유저 추가 및 수정, 상품 구매 및 반품 ->
Purchase Service에서 이뤄진다.
- 장바구니 넣기
- 장바구니에 제품을 넣을 수 있다. 이때, 장바구니는 따로 Table을 통해 관리한다. ->
CartTable 사용
- 장바구니 내 구입
- 장바구니의 전체 내용을 한 번에 구매 후 하나의 판매(transaction)로 관리해야 한다.
- 바로 구입
- 바로 구입 시, 1.2ver의 구입처럼 바로 구입 후, 판매로 관리할 수 있도록 한다.
- 구매 내역 상세 보기
- 구매 내역을 확인 시 구매한 제품 리스트들을 확인할 수 있어야 한다.
찜하기를 이용한 구입 알고리즘은 다음과 같다
- 먼저
addPurchase를 통해 구입 정보를 DB에 저장한다. 이때, 이제prod_no,prod_count는 쓰지 않으므로 이에 대한 SQL 수정이 필요하다.- 그리고 지정된 form 동시 제출을 사용하여
addTransactionList에 각 제품에 대한 내용을 DB에 저장한다. 바로 주문을 누르면 찜하기 없이 바로 위와 같은 과정을 거친다.
태그에 대한 레퍼런스

- 제품에 해시태그를 다는 기능 추가
- 제품 개수 다량 추가 (200개 정도)
- 날씨 API로 오늘 날씨의 정보를 가져와서 해시태그를 통해 제품 추천하기
- 날씨 상황은 여러 요인에 따라 맑음, 흐림, 비, 더움, 추움 총 5가지로 나눈다.
- 찜하기 실행 시 연관 있는 해시태그의 제품 추천하기
날씨 요인에 대한 연구
- 기준은 대구로 좌표를 잡는다. : 격자X : 89 / 격자Y : 90
- 단기 예보를 기준으로 잡는다.
- 하늘 상태(SKY): (단기) 없음(0), 비(1), 비/눈(2), 눈(3), 소나기(4)
- 시간 기준 : 0800 (08시) 기준으로 진행
json parsing reference : https://adjh54.tistory.com/375
매출, 태그 종류, 유저의 구입 현황 등
- 매출 관련 통계 : 날짜별 총합 - Line Chart
- 태그별 제품 개수 - Pie Chart
- 많이 구매한 제품 순위 - Polar Area Chart
등을 설계해서 한 페이지에 표시하기. 이 페이지는 admin 계정만 확인 가능하다.