Selaa lähdekoodia

Merge branch 'card007' into order

card007 5 vuotta sitten
vanhempi
commit
9a06075b5b

+ 29 - 0
src/main/java/com/style24/front/biz/service/TsfOrderService.java

@@ -1,9 +1,16 @@
 package com.style24.front.biz.service;
 
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.style24.front.biz.dao.TsfOrderDao;
+import com.style24.persistence.domain.Order;
+
 import lombok.extern.slf4j.Slf4j;
 
 /**
@@ -19,4 +26,26 @@ public class TsfOrderService {
 	@Autowired
 	private TsfOrderDao orderDao;
 
+	/**
+	 * 마이페이지 검색 기간 영역 설정
+	 *
+	 * @return int[]
+	 * @author card007
+	 * @since 2021. 02. 08
+	 */
+	public String[] getSearchPeriod() {
+		String[] period = new String[6];
+
+		Calendar cal = Calendar.getInstance();
+		cal.setTime(new Date());
+		DateFormat df = new SimpleDateFormat("MM");
+
+		for (int i = 5; i > -1; i--) {
+			period[i] = df.format(cal.getTime()) + "월";
+			cal.add(Calendar.MONTH, -1);
+		}
+		
+		return period; 
+	}
+
 }

+ 37 - 3
src/main/java/com/style24/front/biz/web/TsfMypageController.java

@@ -10,6 +10,7 @@ import org.springframework.web.servlet.ModelAndView;
 
 import com.style24.core.biz.service.TscCustomerService;
 import com.style24.core.biz.service.TscOrderService;
+import com.style24.core.support.env.TscConstants;
 import com.style24.core.support.message.TscMessageByLocale;
 import com.style24.front.biz.service.TsfCouponService;
 import com.style24.front.biz.service.TsfCustomerService;
@@ -90,9 +91,7 @@ public class TsfMypageController extends TsfBaseController {
 		// 주문정보 조회
 		Order order = new Order();
 		order.setCustNo(custNo);
-		Collection<Order> orderList = coreOrderService.getOrderListForMypage(order);
-
-		mav.addObject("orderInfo", orderList);
+		mav.addObject("orderInfo", coreOrderService.getOrderListForMypage(order));
 
 		// 쿠폰정보 조회
 
@@ -102,6 +101,41 @@ public class TsfMypageController extends TsfBaseController {
 		// 상품권 정보 조회
 		mav.addObject("rmGfcdAmt", coreOrderService.getGiftcardInfo(order));
 
+		// 주문접수
+		order.setOrdDtlStat(TscConstants.OrderDetailStat.ORDER_RECEIPT.value());
+		mav.addObject("orderReceiptCount", coreOrderService.getOrderStatCount(order));
+
+		// 결제완료
+		order.setOrdDtlStat(TscConstants.OrderDetailStat.PAYMENT_COMPLETE.value());
+		mav.addObject("paymentCompleteCount", coreOrderService.getOrderStatCount(order));
+
+		// 상품준비중
+		order.setOrdDtlStat(TscConstants.OrderDetailStat.GOODS_PREPARE.value());
+		mav.addObject("goodsPrepareCount", coreOrderService.getOrderStatCount(order));
+
+		// 배송중
+		order.setOrdDtlStat(TscConstants.OrderDetailStat.SHIPPING.value());
+		mav.addObject("shippingCount", coreOrderService.getOrderStatCount(order));
+
+		// 배송완료
+		order.setOrdDtlStat(TscConstants.OrderDetailStat.DELIVERY_COMPLETE.value());
+		mav.addObject("shipCompleteCount", coreOrderService.getOrderStatCount(order));
+
+		// 취소내역
+		order.setChgStat(TscConstants.OrderChangeStat.CANCEL.value());
+		mav.addObject("cancelCount", coreOrderService.getOrderChangeStatCount(order));
+
+		// 반품내역
+		order.setChgStat(TscConstants.OrderChangeStat.RETURN.value());
+		mav.addObject("returnCount", coreOrderService.getOrderChangeStatCount(order));
+
+		// 교환내역
+		order.setChgStat(TscConstants.OrderChangeStat.EXCHANGE.value());
+		mav.addObject("exchangeCount", coreOrderService.getOrderChangeStatCount(order));
+		
+		// 검색기간 설정
+		mav.addObject("searchPeriod", orderService.getSearchPeriod());
+
 		mav.setViewName(super.getDeviceViewName("mypage/MypageOrderListForm"));
 
 		return mav;

+ 2 - 2
src/main/webapp/WEB-INF/views/web/common/fragments/GnbWeb.html

@@ -43,7 +43,7 @@
 
 		<div class="area">
 			<div class="logo">
-				<a href="#none">
+				<a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_MAIN);">
 					<h1>
 						<i class="ico ico_logo"></i>
 						<em class="blind">STYLE24</em>
@@ -53,7 +53,7 @@
 			<div class="util_group">
 				<span><a href="mb_login.html" title="로그인 바로가기">로그인</a></span>
 				<span><a href="mb_join_1.html" title="회원가입 바로가기">회원가입</a></span>
-				<span><a href="my_order_1.html" title="마이페이지 바로가기">마이페이지</a></span>
+				<span><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_MYPAGE);" title="마이페이지 바로가기">마이페이지</a></span>
 			</div>
 		</div>
 		

+ 150 - 41
src/main/webapp/WEB-INF/views/web/mypage/MypageOrderListFormWeb.html

@@ -21,11 +21,11 @@
 <th:block layout:fragment="content">
 	<div class="my_cont">
 		<div class="sec_head">
-			<h3 class="mem_name"><strong>홍길동</strong>님 반갑습니다.</h3>
+			<h3 class="mem_name"><strong th:text="${customerInfo.custNm}"></strong>님 반갑습니다.</h3>
 			<div class="mem_info clear">
 				<div class="mem_rank">
-					<div class="rank_icon vip">V</div>
-					<div class="rank_txt01">VIP</div>
+					<div th:class="|rank_icon ${#strings.toLowerCase(customerInfo.custGradeNm)}|" th:text="${#strings.substring(customerInfo.custGradeNm, 0, 1)}"></div>
+					<div class="rank_txt01" th:text="${customerInfo.custGradeNm}"></div>
 					<div class="rank_txt02">
 						<a href="">등급혜택  보기</a>
 						<a href="">등급쿠폰 다운</a>
@@ -38,11 +38,11 @@
 					</div>
 					<div class="mem_point">
 						<p class="tit">STYLE  24 포인트</p>
-						<a href="#pop"><span class="big_txt">25,000</span>P</a>
+						<a href="#pop"><span class="big_txt" th:text="${#numbers.formatInteger(rmPntAmt, 1, 'COMMA')}"></span>P</a>
 					</div>
 					<div class="mem_gift">
 						<p class="tit">상품권</p>
-						<a href="#pop"><span class="big_txt">25,000</span>원</a>
+						<a href="#pop"><span class="big_txt" th:text="${#numbers.formatInteger(rmGfcdAmt, 1, 'COMMA')}"></span>원</a>
 					</div>
 				</div>
 			</div>
@@ -53,30 +53,30 @@
 				<ul class="clear">
 					<li class="orl01">
 						<p class="or_p">주문접수</p>
-						<p class="count"><span>5</span></p>
+						<p class="count"><span th:text="${orderReceiptCount}">0</span></p>
 					</li>
 					<li class="orl02">
 						<p class="or_p">결제완료</p>
-						<p class="count"><span>9</span></p>
+						<p class="count"><span th:text="${paymentCompleteCount}">0</span></p>
 					</li>
 					<li class="orl03">
 						<p class="or_p">상품 준비 중</p>
-						<p class="count"><span>3</span></p>
+						<p class="count"><span th:text="${goodsPrepareCount}">0</span></p>
 					</li>
 					<li class="orl04">
 						<p class="or_p">배송 중</p>
-						<p class="count"><span>10</span></p>
+						<p class="count"><span th:text="${shippingCount}">0</span></p>
 					</li>
 					<li class="orl05">
 						<p class="or_p">배송 완료</p>
-						<p class="count"><span>12</span></p>
+						<p class="count"><span th:text="${shipCompleteCount}">0</span></p>
 					</li>
 				</ul>
 				<div class="order_right">
 					<ul>
-						<li>취소 내역<span>2</span></li>
-						<li>교환 내역<span>3</span></li>
-						<li>반품 내역<span>0</span></li>
+						<li>취소 내역<span th:text="${cancelCount}">0</span></li>
+						<li>교환 내역<span th:text="${returnCount}">0</span></li>
+						<li>반품 내역<span th:text="${exchangeCount}">0</span></li>
 					</ul>
 				</div>
 			</div>
@@ -85,12 +85,13 @@
 			<!-- 주문조회 검색 -->
 			<div class="order_sch_filter clear">
 				<div class="sch_radio_tab">
-					<button type="button" class="btn btn_default">6월</button>
-					<button type="button" class="btn btn_default">7월</button>
-					<button type="button" class="btn btn_default">8월</button>
-					<button type="button" class="btn btn_default">9월</button>
-					<button type="button" class="btn btn_default">10월</button>
-					<button type="button" class="btn btn_default">11월</button>
+					<button type="button" class="btn btn_default" th:if="${searchPeriod}" th:each="oneData, status : ${searchPeriod}" th:text="${oneData}"></button>
+<!--					<button type="button" class="btn btn_default">6월</button>-->
+<!--					<button type="button" class="btn btn_default">7월</button>-->
+<!--					<button type="button" class="btn btn_default">8월</button>-->
+<!--					<button type="button" class="btn btn_default">9월</button>-->
+<!--					<button type="button" class="btn btn_default">10월</button>-->
+<!--					<button type="button" class="btn btn_default">11월</button>-->
 				</div>
 				<div class="sch_right">
 					<div class="sch_datepicker sb">
@@ -104,6 +105,114 @@
 			</div>
 			<!-- //주문조회 검색 -->
 			<div class="order_list">
+				<th:block th:if="${orderInfo}" th:each="oneData, status : ${orderInfo}">
+					<div class="part_dlvr">
+						<div class="tbl_tit">
+							<span class="start_t">주문일</span>
+							<!-- 선물일 -->
+							<!-- <span class="gift_t">선물일</span> -->
+							<span class="order_date" th:text="${oneData.ordDt}"></span>
+							<span class="order_method" th:if="${oneData.shotDelvYn == 'Y'}" th:text="총알배송"></span>
+							<span class="order_method" th:if="${oneData.selfGoodsYn == 'Y'}" th:text="일반배송"></span>
+							<span class="order_method" th:if="${oneData.selfGoodsYn == 'N'}" th:text="업체직배송"></span>
+							<a href="" class="detail_btn">주문상세보기</a>
+						</div>
+						<div class="tbl type2">
+							<table>
+								<colgroup>
+									<col width="660">
+									<col width="180">
+									<col width="180">
+									<col width="*">
+								</colgroup>
+								<tbody>
+									<th:block>
+										<tr>
+											<td class="t_l">
+												<div class="info_item">
+													<div class="thumb_box">
+														<a href="">
+															<img src="../ux/images/thumb/tmp_pdClickother1.jpg" width="100%" alt="">
+														</a>
+													</div>
+													<div class="info_box">
+														<p class="od_name">
+															<a href="">
+																<span class="brand" th:text="${oneData.brandNm}"></span>
+																<span class="name" th:text="${oneData.goodsNm}"></span>
+															</a>
+														</p>
+														<p class="od_opt">
+															<span class="option">옵션:<em th:text="${oneData.optCd}"></em></span>
+															<span class="count">수량:<em th:text="${oneData.ordQty}"></em>개</span>
+														</p>
+													</div>
+												</div>
+											</td>
+											<td>
+												<div class="info_calc">
+													<p class="price">
+														<span class="selling_price" th:text="|${#numbers.formatInteger(oneData.ordAmt, 1, 'COMMA')}원|"></span>
+													</p>
+													<p class="point"><span th:text="${#numbers.formatInteger(oneData.savePntAmt, 1, 'COMMA')}"></span>p</p>
+												</div>
+											</td>
+											<td class="">
+												<div class="delivery">
+													<p class="dlvr_staus" th:text="${oneData.ordDtlStatNm}"></p>
+	<!--													<p class="dlvr_desc" th:text="${onData.delvDesc}"></p>-->
+												</div>
+											</td>
+											<td class="">
+												<div class="tbl_btn_wrap case02">
+													<ul>
+														<li><button type="button" class="btn btn_default btn_sm"><span>교환</span></button></li>
+														<li><button type="button" class="btn btn_default btn_sm"><span>반품/취소</span></button></li>
+														<li th:if="${oneData.reviewSq == 0}"><button type="button" class="btn btn_dark btn_sm"><span>리뷰작성</span></button></li>
+													</ul>
+												</div>
+											</td>
+										</tr>
+									</th:block>
+								</tbody>
+							</table>
+						</div>
+						<div class="order_confirm" th:if="${oneData.ordDtlStat == 'G013_00'}">
+							<span class="cf_txt">주문 완료 / 결제를 기다리고 있습니다.</span>
+							<button type="button" class="btn btn_primary">구매확정</button>
+						</div>
+						<div class="order_confirm" th:if="${oneData.ordDtlStat == 'G013_00' or oneData.ordDtlStat == 'G013_10' or oneData.ordDtlStat == 'G013_11'}">
+							<span class="cf_txt">주문 완료 / 결제를 기다리고 있습니다.</span>
+						</div>
+						<div class="order_confirm" th:if="${oneData.ordDtlStat == 'G013_20' or oneData.ordDtlStat == 'G013_30' or oneData.ordDtlStat == 'G013_35'}">
+							<span class="cf_txt">배송할 상품을 준비 중입니다.</span>
+						</div>
+						<div class="order_confirm" th:if="${oneData.ordDtlStat == 'G013_40'}">
+							<span class="cf_txt">상품준비가 완료되어 곧 배송될 예정입니다.</span>
+						</div>
+						<div class="order_confirm" th:if="${oneData.ordDtlStat == 'G013_50' or oneData.ordDtlStat == 'G013_55'}">
+							<span class="cf_txt" th:text="|${oneData.shipCompNm} '/' ${oneData.invoiceNo}|"></span>
+							<button type="button" class="btn btn_primary">배송조회</button>
+						</div>
+						<div class="order_confirm" th:if="${oneData.ordDtlStat == 'G013_60'}">
+							<span class="cf_txt" th:text="|${oneData.purchaseConfirmDay}일 후 자동으로 구매확정|"></span>
+							<button type="button" class="btn btn_primary">구매확정 하기</button>
+						</div>
+						<div class="order_confirm" th:if="${oneData.ordDtlStat == 'G013_70' and oneData.reviewSq == 0}">
+							<span class="cf_txt" th:text="리뷰를 작성하면 다른 구매자에게 도움이 될 수 있습니다."></span>
+							<button type="button" class="btn btn_primary">리뷰작성</button>
+						</div>
+						<div class="order_confirm" th:if="${oneData.ordDtlStat == 'G013_70' and oneData.reviewSq > 0}">
+							<span class="cf_txt" th:text="주문내역 다시 구매하기 위해"></span>
+							<button type="button" class="btn btn_primary">장바구니 담기</button>
+						</div>
+					</div>
+				</th:block>
+
+				<!-- 주문 없을 때 -->
+				<th:block th:unless="${orderInfo}" th:each="oneData, status : ${orderInfo}">
+
+				</th:block>
 				<!-- 1개주문 -->
 				<div class="part_dlvr">
 					<div class="tbl_tit">
@@ -181,11 +290,11 @@
 				</div>
 				<!-- //1개주문 -->
 				<!-- n개 주문 -->
-				<div class="part_dlvr">
+				<!--<div class="part_dlvr">
 					<div class="tbl_tit">
 						<span class="start_t">주문일</span>
-						<!-- 선물일 -->
-						<!-- <span class="gift_t">선물일</span> -->
+						&lt;!&ndash; 선물일 &ndash;&gt;
+						&lt;!&ndash; <span class="gift_t">선물일</span> &ndash;&gt;
 						<span class="order_date">2020.10.25</span>
 						<span class="order_method">업체직배송</span>
 						<a href="" class="detail_btn">주문상세보기</a>
@@ -307,17 +416,17 @@
 					<div class="order_confirm">
 						<span class="cf_txt">15일 후 자동으로 구매확정</span>
 						<button type="button" class="btn btn_primary">구매확정</button>
-						<!-- <a href="" class="case02">구매확정 하기 >> (<span>X</span>일 후 자동으로 구매확정)</a> 구매확정 대기-->
-						<!-- <a href="" class="case03">주소입력 대기 : 남은일자 <span>3</span>일 (<span>YYYY.MM.DD HH:MM:SS</span>까지)</a>  주소입력 대기-->
+						&lt;!&ndash; <a href="" class="case02">구매확정 하기 >> (<span>X</span>일 후 자동으로 구매확정)</a> 구매확정 대기&ndash;&gt;
+						&lt;!&ndash; <a href="" class="case03">주소입력 대기 : 남은일자 <span>3</span>일 (<span>YYYY.MM.DD HH:MM:SS</span>까지)</a>  주소입력 대기&ndash;&gt;
 					</div>
 				</div>
-				<!-- //n개 주문 -->
-				<!-- 배송중 -->
+				&lt;!&ndash; //n개 주문 &ndash;&gt;
+				&lt;!&ndash; 배송중 &ndash;&gt;
 				<div class="part_dlvr">
 					<div class="tbl_tit">
 						<span class="start_t">주문일</span>
-						<!-- 선물일 -->
-						<!-- <span class="gift_t">선물일</span> -->
+						&lt;!&ndash; 선물일 &ndash;&gt;
+						&lt;!&ndash; <span class="gift_t">선물일</span> &ndash;&gt;
 						<span class="order_date">2020.10.25</span>
 						<span class="order_method">업체직배송</span>
 						<a href="" class="detail_btn">주문상세보기</a>
@@ -388,17 +497,17 @@
 					<div class="order_confirm">
 						<span class="cf_txt">CJ대한통운 365462211296</span>
 						<button type="button" class="btn btn_primary">배송조회</button>
-						<!-- <a href="" class="case02">구매확정 하기 >> (<span>X</span>일 후 자동으로 구매확정)</a> 구매확정 대기-->
-						<!-- <a href="" class="case03">주소입력 대기 : 남은일자 <span>3</span>일 (<span>YYYY.MM.DD HH:MM:SS</span>까지)</a>  주소입력 대기-->
+						&lt;!&ndash; <a href="" class="case02">구매확정 하기 >> (<span>X</span>일 후 자동으로 구매확정)</a> 구매확정 대기&ndash;&gt;
+						&lt;!&ndash; <a href="" class="case03">주소입력 대기 : 남은일자 <span>3</span>일 (<span>YYYY.MM.DD HH:MM:SS</span>까지)</a>  주소입력 대기&ndash;&gt;
 					</div>
 				</div>
-				<!-- //배송중 -->
-				<!-- 배송완료 (구매확정) -->
+				&lt;!&ndash; //배송중 &ndash;&gt;
+				&lt;!&ndash; 배송완료 (구매확정) &ndash;&gt;
 				<div class="part_dlvr">
 					<div class="tbl_tit">
 						<span class="start_t">주문일</span>
-						<!-- 선물일 -->
-						<!-- <span class="gift_t">선물일</span> -->
+						&lt;!&ndash; 선물일 &ndash;&gt;
+						&lt;!&ndash; <span class="gift_t">선물일</span> &ndash;&gt;
 						<span class="order_date">2020.10.25</span>
 						<span class="order_method">업체직배송</span>
 						<a href="" class="detail_btn">주문상세보기</a>
@@ -469,17 +578,17 @@
 					<div class="order_confirm">
 						<span class="cf_txt">구매확정</span>
 						<span class="cf_date">(2020.10.05 23:24:22)</span>
-						<!-- <a href="" class="case02">구매확정 하기 >> (<span>X</span>일 후 자동으로 구매확정)</a> 구매확정 대기-->
-						<!-- <a href="" class="case03">주소입력 대기 : 남은일자 <span>3</span>일 (<span>YYYY.MM.DD HH:MM:SS</span>까지)</a>  주소입력 대기-->
+						&lt;!&ndash; <a href="" class="case02">구매확정 하기 >> (<span>X</span>일 후 자동으로 구매확정)</a> 구매확정 대기&ndash;&gt;
+						&lt;!&ndash; <a href="" class="case03">주소입력 대기 : 남은일자 <span>3</span>일 (<span>YYYY.MM.DD HH:MM:SS</span>까지)</a>  주소입력 대기&ndash;&gt;
 					</div>
 				</div>
-				<!-- //배송완료(구매확정) -->
-				<!-- 주소 입력 대기 -->
+				&lt;!&ndash; //배송완료(구매확정) &ndash;&gt;
+				&lt;!&ndash; 주소 입력 대기 &ndash;&gt;
 				<div class="part_dlvr">
 					<div class="tbl_tit">
 						<span class="start_t">주문일</span>
-						<!-- 선물일 -->
-						<!-- <span class="gift_t">선물일</span> -->
+						&lt;!&ndash; 선물일 &ndash;&gt;
+						&lt;!&ndash; <span class="gift_t">선물일</span> &ndash;&gt;
 						<span class="order_date">2020.10.25</span>
 						<span class="order_method">업체직배송</span>
 						<a href="" class="detail_btn">주문상세보기</a>
@@ -541,7 +650,7 @@
 							</tbody>
 						</table>
 					</div>
-				</div>
+				</div>-->
 				<!-- //주소 입력 대기 -->
 			</div>
 		</div>

+ 2 - 2
src/main/webapp/ux/pc/css/common.css

@@ -1,8 +1,8 @@
 @charset "utf-8";
 
 @import "reset.css";
-@import "font.css?v=20210204";
-@import "layout.css?v=20210204";
+@import "font.css";
+@import "layout.css";
 
 
 /* h1 ~ h6  */