Kaynağa Gözat

마이페이지 주문내역 퍼블 수정 임시 커밋

card007 5 yıl önce
ebeveyn
işleme
950dff4e8c

+ 14 - 16
src/main/java/com/style24/front/biz/web/TsfMypageController.java

@@ -94,8 +94,9 @@ public class TsfMypageController extends TsfBaseController {
 			order = new Order();
 		}
 		
-		// int custNo = TsfSession.getInfo().getCustNo();
-		int custNo = 1000007;
+		// 고객번호 설정
+		int custNo = TsfSession.getInfo().getCustNo();
+		order.setCustNo(custNo);
 
 		// 고객정보 조회
 		Customer customer = new Customer();
@@ -104,11 +105,6 @@ public class TsfMypageController extends TsfBaseController {
 		customer.setCustStat(TscConstants.CustStat.ACTIVE.value());
 		mav.addObject("customerInfo", coreCustomerService.getCustomerInfo(customer));
 
-		// 주문정보 조회
-		// Order order = new Order();
-		
-		order.setCustNo(custNo);
-
 		// 쿠폰정보 조회
 		mav.addObject("couponCnt", coreOrderService.getCouponInfo(order));
 		
@@ -143,8 +139,9 @@ public class TsfMypageController extends TsfBaseController {
 	public ModelAndView mypageOrderDetailForm(@PathVariable(value = "ordNo") int ordNo) {
 		ModelAndView mav = new ModelAndView();
 
-		// int custNo = TsfSession.getInfo().getCustNo();
-		int custNo = 1000007;
+		// 고객번호 설정
+		int custNo = TsfSession.getInfo().getCustNo();
+		mav.addObject("custNo", custNo);
 
 		// 고객정보 조회
 		Customer customer = new Customer();
@@ -167,7 +164,8 @@ public class TsfMypageController extends TsfBaseController {
 		Collection<GagaMap> orderList = orderService.getOrderListForMypage(order);
 
 		if (orderList.size() == 0) {
-			throw new IllegalStateException(message.getMessage("ORDER_0001"));
+			mav.setViewName("redirect:/mypage/order/list/form");
+			return mav;
 		}
 
 		mav.addObject("orderList", orderList);
@@ -236,11 +234,11 @@ public class TsfMypageController extends TsfBaseController {
 	public GagaMap deleteOrder(@RequestBody Order order) {
 		GagaMap result = new GagaMap();
 
-		// int custNo = TsfSession.getInfo().getCustNo();
-		int custNo = 1000007;
-		
+		// 고객번호 설정
+		int custNo = TsfSession.getInfo().getCustNo();
 		order.setUpdNo(custNo);
 		
+		// 주문내역 삭제 처리
 		int chk = orderService.updateOrderDisplayYn(order);
 
 		if (chk > 0) {
@@ -272,13 +270,13 @@ public class TsfMypageController extends TsfBaseController {
 			return result;
 		}
 
-		// int custNo = TsfSession.getInfo().getCustNo();
-		int custNo = 1000007;
-
+		// 고객번호 설정
+		int custNo = TsfSession.getInfo().getCustNo();
 		order.setCustNo(custNo);
 		order.setRegNo(custNo);
 		order.setUpdNo(custNo);
 		
+		// 구매확정 처리
 		result = coreOrderService.decideOrder(order);
 		
 		return result;

+ 2 - 0
src/main/webapp/WEB-INF/views/web/common/layout/MypageLayoutWeb.html

@@ -65,6 +65,8 @@
 <th:block th:replace="~{web/common/fragments/ScriptsWeb :: scripts}"></th:block>
 <!-- <th:block th:replace="~{web/common/fragments/MarketingScripts :: mscripts}"></th:block> -->
 
+<script th:src="@{'/ux/pc/js/cart.js?v=' + ${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}}" src="/ux/pc/js/cart.js"></script>
+
 <script th:inline="javascript">
 /*<![CDATA[*/
 	var fnSetMypageLnbList = function(lnbLvl) {

+ 8 - 65
src/main/webapp/WEB-INF/views/web/mypage/MypageOrderDetailFormWeb.html

@@ -77,7 +77,7 @@
 																<span class="option"><em th:text="${ordDtl.optCd1}"></em><em th:text="${ordDtl.optCd2}"></em></span>
 																<span class="count">수량 <em th:text="${ordDtl.ordQty}"></em>개</span>
 															</p>
-															<button type="button" class="btn btn_dark cart_btn">쇼핑백 담기</button>
+															<button type="button" class="btn btn_dark cart_btn" onclick="fnCreateCart(this);">쇼핑백 담기</button>
 														</div>
 														<div class="info_calc">
 															<p class="price">
@@ -94,9 +94,9 @@
 														<p class="dlvr_desc" th:if="${ordDtl.delvEddt}" th:text="|${ordDtl.delvEddt}일 도착|"></p>
 													</div>
 													<div class="tbl_btn_wrap case02">
-														<button type="button" class="btn btn_default btn_sm"><span>교환</span></button>
-														<button type="button" class="btn btn_default btn_sm"><span>반품/취소</span></button>
-														<button type="button" class="btn btn_default btn_sm" th:if="${ordDtl.reviewSq == 0}"><span>리뷰작성</span></button>
+														<button type="button" class="btn btn_default btn_sm" onclick="fnCreateExchange(this);"><span>교환</span></button>
+														<button type="button" class="btn btn_default btn_sm" onclick="fnCreateCancel(this);"><span>반품/취소</span></button>
+														<button type="button" class="btn btn_default btn_sm" th:if="${ordDtl.reviewSq == 0}" onclick="fnCreateReview(this);"><span>리뷰작성</span></button>
 													</div>
 												</td>
 												<td class="merge_row" th:if="${oneData.giftPackYn == 'Y' and #strings.isEmpty(ordDtl.recipBaseAddr)}">
@@ -106,7 +106,7 @@
 														<p class="dlvr_desc" th:text="|(${ordDtl.giftLimitDt}까지)|"></p>
 													</div>
 													<div class="tbl_btn_wrap case02">
-														<button type="button" class="btn btn_dark btn_sm"><span>SMS 재전송</span></button>
+														<button type="button" class="btn btn_dark btn_sm" onclick="fnReSendSms(this);"><span>SMS 재전송</span></button>
 													</div>
 												</td>
 												<td class="merge_row" th:if="${oneData.giftPackYn == 'Y' and !#strings.isEmpty(ordDtl.recipBaseAddr)}">
@@ -136,7 +136,7 @@
 										</div>
 										<div class="order_confirm" th:if="${order.ordDtlStat == 'G013_50' or order.ordDtlStat == 'G013_55'}">
 											<span class="cf_txt" th:text="|${order.shipCompNm} / ${order.invoiceNo}|"></span>
-											<button type="button" class="btn btn_primary">배송조회</button>
+											<button type="button" class="btn btn_primary" th:attr="ordNo=${oneData.ordNo}, invoiceNo=${order.invoiceNo}, shipCompCd=${order.shipCompCd}" onclick="fnGetDeliveryInfo(this)">배송조회</button>
 										</div>
 										<div class="order_confirm" th:if="${order.ordDtlStat == 'G013_60'}">
 											<span class="cf_txt" th:text="|${order.purchaseConfirmDay}일 후 자동으로 구매확정|"></span>
@@ -144,11 +144,11 @@
 										</div>
 										<div class="order_confirm" th:if="${order.ordDtlStat == 'G013_70' and order.reviewSq == 0}">
 											<span class="cf_txt">리뷰를 작성하면 다른 구매자에게 도움이 될 수 있습니다.</span>
-											<button type="button" class="btn btn_primary">리뷰작성</button>
+											<button type="button" class="btn btn_primary" th:attr="|banner='banner'|" onclick="fnCreateReview(this);">리뷰작성</button>
 										</div>
 										<div class="order_confirm" th:if="${order.ordDtlStat == 'G013_70' and order.reviewSq > 0}">
 											<span class="cf_txt">주문내역 다시 구매하기 위해</span>
-											<button type="button" class="btn btn_primary">장바구니 담기</button>
+											<button type="button" class="btn btn_primary" onclick="fnCreateCart(this);">장바구니 담기</button>
 										</div>
 									</th:block>
 
@@ -406,63 +406,6 @@
 <script th:inline="javascript">
 	let ordNo = [[${ordNo}]];
 	
-	// 주문 내역 삭제 처리
-	var fnDeleteOrder = function() {
-		mcxDialog.confirm('주문 내역을 삭제하시겠습니까?', {
-			cancelBtnText: "취소",
-			sureBtnText: "확인",
-			sureBtnClick: function(){
-				let data = {};
-				
-				data.ordNo = ordNo;
-				
-				var jsonData = JSON.stringify(data);
-				gagajf.ajaxJsonSubmit('/mypage/order/delete'
-					, jsonData
-					, function() {
-						cfnGoToPage(_PAGE_MYPAGE);
-					});
-			}
-		});
-	};
-	
-	// 구매확정 처리
-	var fnDecideOrder = function(param) {
-		let ordDtlNoArr = $(param).parent().parent().find('input[name=ordDtlNo]');
-		let ordDtlStatArr = $(param).parent().parent().find('input[name=ordDtlStat]');
-		
-		console.log($(param).parent().parent().find('input[name=ordDtlNo]'));
-		let orderDecisionArr = [];
-		$.each(ordDtlNoArr, function(idx, item) {
-			if (ordDtlStatArr[idx].value == 'G013_60') {
-				orderDecisionArr.push(item.value);
-			}
-		});
-
-		if (orderDecisionArr.length == 0) {
-			mcxDialog.alert('구매확정 가능한 상품이 없습니다.');
-			return false;
-		}
-
-		mcxDialog.confirm('구매확정 처리를 하시겠습니까?', {
-			cancelBtnText: "취소",
-			sureBtnText: "확인",
-			sureBtnClick: function(){
-				let data = {};
-				
-				data.ordNo = ordNo;
-				data.ordDtlNoArr = orderDecisionArr;
-				
-				var jsonData = JSON.stringify(data);
-				gagajf.ajaxJsonSubmit('/mypage/order/decision'
-					, jsonData
-					, function() {
-						cfnGoToPage(_PAGE_MYPAGE_ORDER_DETAIL + ordNo);
-					});
-			}
-		});
-	}
-	
 	// 배송메모 변경 버튼 클릭 이벤트
 	var fnChangeDelvMemo = function() {
 		// TODO

+ 8 - 8
src/main/webapp/WEB-INF/views/web/mypage/MypageOrderListWeb.html

@@ -75,9 +75,9 @@
 									<p class="dlvr_desc" th:if="${ordDtl.delvEddt}" th:text="|${ordDtl.delvEddt}일 도착|"></p>
 								</div>
 								<div class="tbl_btn_wrap case02">
-									<button type="button" class="btn btn_default btn_sm"><span>교환</span></button>
-									<button type="button" class="btn btn_default btn_sm"><span>반품/취소</span></button>
-									<button type="button" class="btn btn_default btn_sm"><span>리뷰작성</span></button>
+									<button type="button" class="btn btn_default btn_sm" onclick="fnCreateExchange(this);"><span>교환</span></button>
+									<button type="button" class="btn btn_default btn_sm" onclick="fnCreateCancel(this);"><span>반품/취소</span></button>
+									<button type="button" class="btn btn_default btn_sm" th:if="${ordDtl.reviewSq == 0}" onclick="fnCreateReview(this);"><span>리뷰작성</span></button>
 								</div>
 							</td>
 							<td class="merge_row" th:if="${oneData.giftPackYn == 'Y' and #strings.isEmpty(ordDtl.recipBaseAddr)}">
@@ -87,7 +87,7 @@
 									<p class="dlvr_desc" th:text="|(${ordDtl.giftLimitDt}까지)|"></p>
 								</div>
 								<div class="tbl_btn_wrap case02">
-									<button type="button" class="btn btn_dark btn_sm"><span>SMS 재전송</span></button>
+									<button type="button" class="btn btn_dark btn_sm" th:attr="ordNo=${oneData.ordNo}" onclick="fnReSendSms(this);"><span>SMS 재전송</span></button>
 								</div>
 							</td>
 							<td class="merge_row" th:if="${oneData.giftPackYn == 'Y' and !#strings.isEmpty(ordDtl.recipBaseAddr)}">
@@ -117,19 +117,19 @@
 					</div>
 					<div class="order_confirm" th:if="${order.ordDtlStat == 'G013_50' or order.ordDtlStat == 'G013_55'}">
 						<span class="cf_txt" th:text="|${order.shipCompNm} / ${order.invoiceNo}|"></span>
-						<button type="button" class="btn btn_primary">배송조회</button>
+						<button type="button" class="btn btn_primary" th:attr="ordNo=${oneData.ordNo}, invoiceNo=${order.invoiceNo}, shipCompCd=${order.shipCompCd}" onclick="fnGetDeliveryInfo(this)">배송조회</button>
 					</div>
 					<div class="order_confirm" th:if="${order.ordDtlStat == 'G013_60'}">
 						<span class="cf_txt" th:text="|${order.purchaseConfirmDay}일 후 자동으로 구매확정|"></span>
-						<button type="button" class="btn btn_primary">구매확정 하기</button>
+						<button type="button" class="btn btn_primary" onclick="fnDecideOrder(this);">구매확정 하기</button>
 					</div>
 					<div class="order_confirm" th:if="${order.ordDtlStat == 'G013_70' and order.reviewSq == 0}">
 						<span class="cf_txt">리뷰를 작성하면 다른 구매자에게 도움이 될 수 있습니다.</span>
-						<button type="button" class="btn btn_primary">리뷰작성</button>
+						<button type="button" class="btn btn_primary" th:attr="|banner='banner'|" onclick="fnCreateReview(this);">리뷰작성</button>
 					</div>
 					<div class="order_confirm" th:if="${order.ordDtlStat == 'G013_70' and order.reviewSq > 0}">
 						<span class="cf_txt">주문내역 다시 구매하기 위해</span>
-						<button type="button" class="btn btn_primary">장바구니 담기</button>
+						<button type="button" class="btn btn_primary" onclick="fnCreateCart(this);">장바구니 담기</button>
 					</div>
 				</th:block>
 	

+ 169 - 0
src/main/webapp/ux/pc/js/cart.js

@@ -0,0 +1,169 @@
+// 배송조회 버튼 클릭 이벤트
+var fnGetDeliveryInfo = function(param) {
+	let invoiceNo = $(param).attr('invoiceNo');
+	let shipCompCd = $(param).attr('shipCompCd');
+	
+	// TODO
+	// 배송조회 처리
+}
+
+// 구매확정 처리
+var fnDecideOrder = function(param) {
+	let ordDtlNoArr = $(param).parent().parent().find('input[name=ordDtlNo]');
+	let ordDtlStatArr = $(param).parent().parent().find('input[name=ordDtlStat]');
+	
+	let orderDecisionArr = [];
+	$.each(ordDtlNoArr, function(idx, item) {
+		if (ordDtlStatArr[idx].value == 'G013_60') {
+			orderDecisionArr.push(item.value);
+		}
+	});
+	
+	if (orderDecisionArr.length == 0) {
+		mcxDialog.alert('구매확정 가능한 상품이 없습니다.');
+		return false;
+	}
+	
+	mcxDialog.confirm('구매확정 처리를 하시겠습니까?', {
+		cancelBtnText: "취소",
+		sureBtnText: "확인",
+		sureBtnClick: function(){
+			let data = {};
+			
+			data.ordNo = ordNo;
+			data.ordDtlNoArr = orderDecisionArr;
+			
+			var jsonData = JSON.stringify(data);
+			gagajf.ajaxJsonSubmit('/mypage/order/decision'
+				, jsonData
+				, function() {
+					cfnGoToPage(_PAGE_MYPAGE_ORDER_DETAIL + ordNo);
+				});
+		}
+	});
+}
+
+// 리뷰작성 버튼 클릭 이벤트
+var fnCreateReview = function(param) {
+	let ordDtlNoArr = $(param).parent().parent().find('input[name=ordDtlNo]');
+	let ordDtlStatArr = $(param).parent().parent().find('input[name=ordDtlStat]');
+	let reviewSqArr = $(param).parent().parent().find('input[name=reviewSq]');
+	
+	let canReviewSqArr = [];
+	$.each(ordDtlNoArr, function(idx, item) {
+		if (ordDtlStatArr[idx].value == 'G013_70' && reviewSqArr[idx].value == 0) {
+			canReviewSqArr.push(item.value);
+		}
+	});
+	
+	if (canReviewSqArr.length == 0) {
+		mcxDialog.alert('리뷰작성 가능한 상품이 없습니다.');
+		return false;
+	}
+	
+	// TODO
+	// 리뷰 작성페이지 이동
+	let data = {};
+	
+	data.ordNo = ordNo;
+	data.ordDtlNoArr = orderDecisionArr;
+	
+	var jsonData = JSON.stringify(data);
+	
+	//gagajf.ajaxJsonSubmit('/mypage/order/decision'
+	//	, jsonData
+	//	, function() {
+	//		cfnGoToPage(_PAGE_MYPAGE_ORDER_DETAIL + ordNo);
+	//	});
+	
+}
+
+// 장바구니 담기 버튼 클릭 이벤트
+var fnCreateCart = function(param) {
+	let ordDtlNoArr = '';
+	let ordDtlStatArr = '';
+	let reviewSqArr = '';
+	
+	if ($(param).attr('banner') == 'banner') {
+		ordDtlNoArr = $(param).parent().parent().find('input[name=ordDtlNo]');
+		ordDtlStatArr = $(param).parent().parent().find('input[name=ordDtlStat]');
+		reviewSqArr = $(param).parent().parent().find('input[name=reviewSq]');
+	} else {
+		// TODO
+		// 주문상태값 영역 내 버튼 클릭 시 파라메터 처리
+		//ordDtlNoArr = $(param).parent().parent().find('input[name=ordDtlNo]');
+		//ordDtlStatArr = $(param).parent().parent().find('input[name=ordDtlStat]');
+		//reviewSqArr = $(param).parent().parent().find('input[name=reviewSq]');
+	}
+	
+	let cartArr = [];
+	$.each(ordDtlNoArr, function(idx, item) {
+		if (ordDtlStatArr[idx].value == 'G013_70' && reviewSqArr[idx].value > 0) {
+			cartArr.push(item.value);
+		}
+	});
+	
+	if (cartArr.length == 0) {
+		mcxDialog.alert('장바구니에 담을 상품이 없습니다.');
+		return false;
+	}
+	
+	// TODO
+	// 장바구니 담기 처리
+	let data = {};
+	
+	data.ordNo = ordNo;
+	data.ordDtlNoArr = orderDecisionArr;
+	
+	var jsonData = JSON.stringify(data);
+	
+	//gagajf.ajaxJsonSubmit('/mypage/order/decision'
+	//	, jsonData
+	//	, function() {
+	//		cfnGoToPage(_PAGE_MYPAGE_ORDER_DETAIL + ordNo);
+	//	});
+}
+
+// 선물하기 SMS 재전송 버튼 클릭 이벤트
+var fnReSendSms = function(param) {
+	let ordNo = $(param).attr('ordNo');
+	
+	// TODO
+	// 선물하기 SMS 재발송 처리
+}
+
+// 교환 버튼 클릭 이벤트
+var fnCreateExchange = function(param) {
+	let ordDtlNoArr = $(param).parent().parent().find('input[name=ordDtlNo]');
+	
+	// TODO
+	// 교환신청 페이지 이동 처리
+}
+
+// 반품/취소 버튼 클릭 이벤트
+var fnCreateCancel = function(param) {
+	let ordDtlNoArr = $(param).parent().parent().find('input[name=ordDtlNo]');
+	
+	// TODO
+	// 반품/취소신청 페이지 이동 처리
+}
+
+// 주문 내역 삭제 처리
+var fnDeleteOrder = function() {
+	mcxDialog.confirm('주문 내역을 삭제하시겠습니까?', {
+		cancelBtnText: "취소",
+		sureBtnText: "확인",
+		sureBtnClick: function(){
+			let data = {};
+			
+			data.ordNo = ordNo;
+			
+			var jsonData = JSON.stringify(data);
+			gagajf.ajaxJsonSubmit('/mypage/order/delete'
+				, jsonData
+				, function() {
+					cfnGoToPage(_PAGE_MYPAGE);
+				});
+		}
+	});
+};