瀏覽代碼

Merge remote-tracking branch 'origin/xodud1202' into jsh77b

jsh77b 5 年之前
父節點
當前提交
12c1923f17

+ 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; 
+	}
+
 }

+ 127 - 1
src/main/java/com/style24/front/biz/web/TsfGoodsController.java

@@ -2,17 +2,20 @@ package com.style24.front.biz.web;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.servlet.ModelAndView;
 
 import com.style24.core.support.message.TscMessageByLocale;
 import com.style24.front.biz.service.TsfGoodsService;
 import com.style24.front.support.controller.TsfBaseController;
+import com.style24.persistence.domain.Goods;
 
 import lombok.extern.slf4j.Slf4j;
 
 /**
  * 상품 Controller
- * 
+ *
  * @author gagamel
  * @since 2020. 12. 29
  */
@@ -27,4 +30,127 @@ public class TsfGoodsController extends TsfBaseController {
 	@Autowired
 	private TsfGoodsService goodsService;
 
+	/**
+	 * 상품상세
+	 *
+	 * @return
+	 * @author eskim
+	 * @since 2020. 7. 4
+	 */
+	@GetMapping("/detail/form")
+	public ModelAndView detail(Goods paramsGoods) {
+
+		ModelAndView mav = new ModelAndView();
+
+//		String afLinkCd = paramsGoods.getAfLinkCd();
+//		if (StringUtils.isBlank(paramsGoods.getGoodsCd())) {
+//			if (StringUtils.isBlank(afLinkCd)) {
+//				mav.setViewName("redirect:/display/mall/main/form");
+//			} else {
+//				mav.setViewName("redirect:/display/mall/main/form?af=" + afLinkCd);
+//			}
+//			return mav;
+//		}
+
+//		// 상품관련 기본값 설정(회원 등급, 앱, PC/모바일 등)
+//		setGoods(paramsGoods);
+//
+//		String mobileYn = paramsGoods.getMobileYn();
+//		if ("Y".equals(mobileYn)) {
+//			paramsGoods.setFrontGb("M");
+//		}
+//
+//		Goods goods = goodsService.getGoodsInfo(paramsGoods);
+//
+//		if (goods == null || goods.getGoodsCd().isBlank()) {
+//			if (StringUtils.isBlank(afLinkCd)) {
+//				mav.setViewName("redirect:/display/mall/main/form");
+//			} else {
+//				mav.setViewName("redirect:/display/mall/main/form?af=" + afLinkCd);
+//			}
+//			return mav;
+//		}
+//
+//		// 다른컬러보기용 업체코드 인자 처리
+//		paramsGoods.setSupplyCompCd(goods.getSupplyCompCd());
+//		paramsGoods.setGoodsType(goods.getGoodsType());
+//		paramsGoods.setFormalGb(goods.getFormalGb());
+//		//
+//		// 상품 기본정보
+//		mav.addObject("goodsInfo", goods);
+//		// 상품 네비정보
+//		mav.addObject("goodsNavigation", goodsService.getGoodsNavigation(paramsGoods));
+//		// 상품 이미지정보
+//		//		mav.addObject("goodsImg", goodsService.getGoodsImg(goods.getGoodsCd()));
+//		mav.addObject("goodsImgList", goodsService.getGoodsImgList(paramsGoods.getGoodsCd()));
+//		// 상품 동영상정보
+//		mav.addObject("goodsVideoList", goodsService.getVideoList(paramsGoods.getGoodsCd()));
+//
+//		if ("D".equals(goods.getGoodsType())) {	// 딜상품
+//			// 딜 구성상품 정보
+//			paramsGoods.setGoodsExtendSearchYn("Y");
+//			mav.addObject("goodsExtendList", goodsService.getGoodsDealExtendList(paramsGoods));
+//		} else {
+//			if ("N".equals(goods.getGoodsType())) {	// 일반상품
+//				// 상품 사이즈정보
+//				mav.addObject("goodsSizeList", goodsService.getGoodsSizeList(paramsGoods));
+//				// 상품 다른컬러정보
+//				mav.addObject("goodsOtherColorList", goodsService.getGoodsOtherColorList(paramsGoods));
+//				// 상품 고시정보
+//				mav.addObject("goodsNotiList", goodsService.getGoodsNotiList(goods));
+//				// 상품 부위별 사이즈정보
+//				mav.addObject("goodsRegionSizeHtml", goodsService.getGoodsRegionsizeList(paramsGoods));
+//
+//			} else if ("S".equals(goods.getGoodsType())) {		// 셋트상품
+//				mav.addObject("goodsExtendList", goodsService.getGoodsSetExtendList(paramsGoods));
+//			}
+//			// 상품쿠폰
+//			mav.addObject("goodsCouponList", goodsService.getGoodsCouponList(paramsGoods));
+//			// 찜브랜드 여부
+//			TsfBrandWish brandWish = new TsfBrandWish();
+//			brandWish.setBrandCd(goods.getBrandCd());
+//			mav.addObject("isBrandWish", goodsService.getBrandWishList(brandWish));
+//			//			// 특가세일 할인율
+//			//		mav.addObject("specialPriceSaleRate", policyService.getSpecialPriceSaleDisplayRate(TsfConstants.SITE_CD));
+//		}
+//
+//		// 상품포인트사용방법
+//		mav.addObject("goodsPointMothod", policyService.getPointMothod(TsfConstants.SITE_CD)); // A:정액, R:정율
+//		// 상품포인트절사단위
+//		mav.addObject("goodsPointUnit", paramsGoods.getPointUnit()); // 10:원단위절사(int)
+//		// 상품평노출여부 - 미사용
+//		//mav.addObject("reviewDisplayYn", policyService.getReviewDisplayYn(TsfConstants.SITE_CD));
+//
+//		// 무이자 혜택안내 -- 배너 미사용
+//		TsfCardInstallment cardInstallment = new TsfCardInstallment();
+//		cardInstallment.setImonths99SkipYn("Y");
+//		mav.addObject("cardInfoList", goodsService.getCardInfoList(cardInstallment));
+//
+//		// 오늘본 상품 쿠키 담기
+//		// SSL Server
+//		boolean isSslServer = Boolean.parseBoolean(hasSsl);
+//		log.debug("isSslServer: [{}]", isSslServer);
+//
+//		//기존쿠키 가져오기
+//		setTodayGoodsCd(paramsGoods);
+//
+//		mav.addObject("params", paramsGoods);
+//		if ("D".equals(goods.getGoodsType())) {
+//			if ("Y".equals(mobileYn)) {
+//				mav.setViewName("mob/goods/GoodsDealFormMob");
+//			} else {
+//				mav.setViewName(super.getDeviceViewName("goods/GoodsDealForm"));
+//			}
+//		} else {
+//			if ("Y".equals(mobileYn)) {
+//				mav.setViewName("mob/goods/GoodsDetailFormMob");
+//			} else {
+//				mav.setViewName(super.getDeviceViewName("goods/GoodsDetailForm"));
+//			}
+//		}
+
+		return mav;
+	}
+
+
 }

+ 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;

+ 0 - 1
src/main/java/com/style24/front/biz/web/TsfOrderController.java

@@ -96,7 +96,6 @@ public class TsfOrderController extends TsfBaseController {
 		// 2.2 배송단위별 장바구니 상품 건수 조회 (장바구니상품)
 		Order delvOrder = (Order) coreOrderService.getCartDelvGoodsCntList(cartGoodsList);
 
-		
 		// 3. 할인구간정보조회
 		// 3.1 장바구니상품 즉시할인, 다다익선 할인 금액 적용 정보 조회 (주문상세목록)
 		Collection<Order> tmtbGoodsApplyList = cartService.getMoreBetterAmtList(order);

+ 38 - 0
src/main/java/com/style24/persistence/domain/Cate4Srch.java

@@ -0,0 +1,38 @@
+package com.style24.persistence.domain;
+
+import com.style24.persistence.TscBaseDomain;
+
+import lombok.Data;
+
+/**
+ * category4srch Domain
+ *
+ * @author eskim
+ * @since 2020. 2. 08
+ */
+@SuppressWarnings("serial")
+@Data
+public class Cate4Srch extends TscBaseDomain {
+
+	private String siteCd;
+	private String cateGb;
+	private int cateNo;
+	private int leafCateNo;
+	private String cateType;
+	private int cate1No;
+	private String cate1Nm;
+	private int cate2No;
+	private String cate2Nm;
+	private int cate3No;
+	private String cate3Nm;
+	private int cate4No;
+	private String cate4Nm;
+	private int cate5No;
+	private String cate5Nm;
+	private String fullCateCd;
+	private String fullCateNm;
+	private int dispOrd;
+	private String formalGb;
+	private String contentsLoc;
+
+}

+ 27 - 0
src/main/java/com/style24/persistence/domain/GoodsViewHst.java

@@ -0,0 +1,27 @@
+package com.style24.persistence.domain;
+
+import com.style24.persistence.TscBaseDomain;
+
+import lombok.Data;
+
+/**
+ * 상품조회이력 Domain
+ *
+ * @author eskim
+ * @since 2021. 2. 08
+ */
+@SuppressWarnings("serial")
+@Data
+public class GoodsViewHst extends TscBaseDomain {
+
+	private String goodsCd;
+	private String jsessionId;
+	private String siteCd;
+	private String frontGb;
+	private String afLinkCd;
+	private String ithrCd;
+	private String contentsLoc;
+	private int custNo;
+	private String referer;
+
+}

+ 138 - 13
src/main/java/com/style24/persistence/mybatis/shop/TsfGoods.xml

@@ -14,32 +14,157 @@
 		WHERE  NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
 	</sql>
 	
+	<!-- 상품상세보기이력 생성 -->
+	<insert id="createGoodsViewHistory" parameterType="GoodsViewHst">
+		/* TsfGoods.createGoodsViewHistory */
+		INSERT INTO TB_GOODS_VIEW_HST
+		    (
+		    GOODS_CD
+		  , JSESSION_ID
+		  , SITE_CD
+		  , FRONT_GB
+		  , AF_LINK_CD
+		  , ITHR_CD
+		  , CONTENTS_LOC
+		  , CUST_NO
+		  , REFERER
+		  , REG_DT
+		    )
+		SELECT #{goodsCd}
+		     , #{jsessionId}
+		     , #{siteCd}
+		     , #{frontGb}
+		     , #{afLinkCd}
+		     , #{ithrCd}
+		     , #{contentsLoc}
+		     , #{custNo}
+		     , #{referer}
+		     , NOW()
+		FROM DUAL
+		WHERE EXISTS (SELECT 1
+		              FROM TB_GOODS
+		              WHERE GOODS_CD = #{goodsCd}
+		              )
+	</insert>
 	
+	<!-- 상품 네비게이션 조회 -->
+	<select id="getGoodsNavigation" parameterType="Goods" resultType="Cate4Srch">
+		/* TsfGoods.getGoodsNavigation */
+		SELECT G.FORMAL_GB
+		     , I.CATE_CD
+		     , CATE1_NO
+		     , CATE1_NM
+		     , CATE2_NO
+		     , CATE2_NM
+		     , CATE3_NO
+		     , CATE3_NM
+		     , CATE4_NO
+		     , CATE4_NM
+		     , CATE5_NO
+		     , CATE5_NM
+		     , CATE_GB
+		     , LEAF_CATE_CD
+		FROM TB_GOODS G
+		   , TB_ITEMKIND_CATEGORY I
+		   , TB_CATE_4SRCH A
+		WHERE G.ITEMKIND_CD = I.ITEMKIND_CD
+		AND I.CATE_CD = A.LEAF_CATE_CD
+		AND G.GOODS_CD = #{goodsCd}
+		AND A.CATE_TYPE = 'G031_10' -- 상품카테
+		AND A.CATE_GB = #{cateGb}
+		AND A.SITE_CD = #{siteCd}
+		AND ROWNUM = 1
+	</select>
 
 	<!-- 상품 정보 -->
 	<select id="getGoodsInfo" parameterType="Goods" resultType="Goods">
 		/* TsfGoods.getGoods */
 		SELECT G.GOODS_CD
-		     , G.PRODUCT_NO
-		     , G.PRODUCT_CODE
-			 , G.GOODS_TYPE
-			 , G.DAY_MAX_ORD_QTY
-			 , G.GOODS_STAT
-		  FROM TB_GOODS G
-		 WHERE G.SELF_MALL_YN = 'Y'							<!-- 자사몰 노출 여부 -->
-		   AND G.GOODS_STAT IN ('G008_90', 'G008_70')		<!-- 상품 승인완료, 일시품절 (품절도 프론트에서 보여져야함) -->
-		   AND G.GOODS_CD = #{goodsCd}
+		     , G.GOODS_NM
+		     , G.GOODS_TNM
+		     , G.GOODS_NM
+		     , CONCAT(G.GOODS_TNM,' ',G.GOODS_NM) AS GOODS_TNM_FULL
+		     , G.BRAND_CD
+		     , (CASE WHEN B.DISP_NM_LANG = 'EN' THEN B.BRAND_ENM ELSE B.BRAND_KNM END) AS BRAND_NM
+		     , B.BRAND_GRP_NM
+		     , B.LOGO_FILE_NM
+		     , G.ITEMKIND_CD
+		     , G.FORMAL_GB
+		     , G.LIST_PRICE
+		     , G.CURR_PRICE
+		     -- , G.DC_RATE
+		     , 100 - ROUND((BP.CURR_PRICE / G.LIST_PRICE) * 100 ,0) AS DC_RATE
+		     , G.SELF_GOODS_YN
+		     , G.GOODS_STAT
+		     , (CASE WHEN #{frontGb} = 'P' THEN G.PNT_PRATE ELSE G.PNT_MRATE END) AS PNT_RATE
+		     , (CASE WHEN #{frontGb} = 'P' THEN G.PRE_PPNT_USABLE_YN ELSE G.PRE_MPNT_USABLE_YN END) AS PRE_PNT_USABLE_YN
+		     , G.MIN_ORD_QTY
+		     , G.MAX_ORD_QTY
+		     , G.DAY_MAX_ORD_QTY
+		     , G.SEX_GB
+		     , FN_GET_CODE_NM('G007',G.SEX_GB) AS SEX_NM
+		     , G.DELV_FEE
+		     , G.MIN_ORD_AMT
+		     , G.GOODS_GB
+		     , (SELECT NI_CLSF_CD
+		        FROM TB_ITEMKIND
+		        WHERE ITEMKIND_CD = G.ITEMKIND_CD) AS NI_CLSF_CD
+		     , G.MAIN_COLOR_CD
+		     , G.SUPPLY_COMP_CD
+		     , G.SELF_MALL_YN
+		     , G.AGE_GRP_CD
+		     , G.GIFT_PACK_YN
+		     , G.NEW_CUST_ORD_YN
+		     , G.ADULT_YN
+		     , G.GOODS_TYPE
+		     , G.CHANGEABLE_YN
+		     , G.RETURNABLE_YN
+		     , (SELECT CATE1_NO
+		         FROM TB_SITE_BRAND
+		         WHERE  BRAND_CD = G.BRAND_CD
+		         AND SITE_CD = #{siteCd}
+		         AND USE_YN = 'Y') AS BRAND_CATE1_NO
+		     , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = G.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y') AS SYS_IMG_NM
+		     , BP.CURR_PRICE AS BENEFIT_PRICE
+		     , (CASE WHEN W.GOODS_CD IS NULL THEN 'N' ELSE 'Y' END) AS WISH_YN
+		     , (CASE WHEN G.GOODS_TYPE = 'G056_N' THEN (SELECT IFNULL(MAX(CASE WHEN SOLDOUT_YN = 'Y' THEN 0
+		                                                               ELSE CURR_STOCK_QTY
+		                                                               END) ,0)
+		                                                FROM  VW_STOCK
+		                                                WHERE GOODS_CD = G.GOODS_CD
+		                                                GROUP BY GOODS_CD )
+		            ELSE (SELECT IFNULL(MAX(CASE WHEN SOLDOUT_YN = 'Y' THEN 0
+		                                      ELSE CURR_STOCK_QTY
+		                                      END) ,0)
+		                  FROM  VW_STOCK_EXTEND
+		                  WHERE GOODS_CD= G.GOODS_CD
+		                  GROUP BY GOODS_CD )
+		            END) AS STOCK_QTY
+		FROM TB_GOODS G
+		INNER JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
+		                      AND B.USE_YN = 'Y'
+		INNER JOIN (SELECT GOODS_CD, 
+		            FN_GET_BENEFIT_PRICE(#{siteCd},#{frontGb},GOODS_CD,DECODE(NVL(#{custGb},'G100_00'),'G100_20', CURR_PRICE, CURR_PRICE),#{custGb},#{floorUnit},#{custGrade}) AS CURR_PRICE 
+		            FROM TB_GOODS
+		            WHERE GOODS_CD = #{goodsCd}) BP ON G.GOODS_CD = BP.GOODS_CD
+		LEFT OUTER JOIN TB_WISHLIST W ON G.GOODS_CD = W.GOODS_CD
+		                              AND IFNULL(#{custNo}, 0) = W.CUST_NO
+		WHERE G.GOODS_CD = #{goodsCd}
+		-- AND G.SELF_MALL_YN = 'Y' --자사몰 노출(기획전과 상품상세는 노출)
+		<if test='adminYn == null or adminYn != "Y"'>
+		AND G.GOODS_STAT = 'G008_90'
+		</if>
 	</select>
 
 	<!-- 구성 상품 정보 -->
 	<select id="getGoodsCompsInfo" parameterType="Goods" resultType="Goods">
 		/* TsfGoods.getGoodsCompsInfo */
 		SELECT GC.GOODS_CD
-			 , GC.COMPS_GOODS_CD
-			 , GC.GOODS_TYPE
-			 , GC.QTY
+		     , GC.COMPS_GOODS_CD
+		     , GC.GOODS_TYPE
+		     , GC.QTY
 		     , G.PRODUCT_NO
-			 , G.PRODUCT_CODE
+		     , G.PRODUCT_CODE
 			 , G.GOODS_STAT
 		  FROM TB_GOODS_COMPOSE GC
 		 INNER JOIN TB_GOODS G

+ 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  */