Переглянути джерело

TB_ORDER_DETAIL 컬럼명 변경 관련 수정

card007 5 роки тому
батько
коміт
d21f5380a7

+ 10 - 0
src/main/java/com/style24/front/biz/dao/TsfOrderDao.java

@@ -46,6 +46,16 @@ public interface TsfOrderDao {
 	 */
 	int getPagingOrdNoListCount(Order order);
 
+	/**
+	 * 마이페이지 주문목록 사은품 조회
+	 *
+	 * @param Order
+	 * @return Collection<Order>
+	 * @author card007
+	 * @since 2021. 03. 19
+	 */
+	Collection<Order> getOrderFreeGiftListForMypage(Order order);
+
 	/**
 	 * 마이페이지 주문목록 페이징 처리 주문번호 조회
 	 *

+ 6 - 3
src/main/java/com/style24/front/biz/service/TsfOrderService.java

@@ -92,10 +92,13 @@ public class TsfOrderService {
 	}
 	
 	private GagaMap setOrderMap(Collection<Order> ordDtlList) {
+		Order order = ordDtlList.iterator().next();
+
 		GagaMap map = new GagaMap();
-		map.set("giftPackYn", ordDtlList.iterator().next().getGiftPackYn());
-		map.set("ordNo", ordDtlList.iterator().next().getOrdNo());
-		map.set("ordDt", ordDtlList.iterator().next().getOrdDt());
+		map.set("giftPackYn", order.getGiftPackYn());
+		map.set("ordNo", order.getOrdNo());
+		map.set("ordDt", order.getOrdDt());
+		map.set("freeGiftList", orderDao.getOrderFreeGiftListForMypage(order));
 		map.set("ordDtlList", ordDtlList);
 
 		return map;

+ 10 - 20
src/main/java/com/style24/front/biz/web/TsfMypageController.java

@@ -19,6 +19,9 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 
+import com.gagaframework.web.parameter.GagaMap;
+import com.gagaframework.web.rest.server.GagaResponse;
+import com.gagaframework.web.rest.server.GagaResponseStatus;
 import com.style24.core.biz.service.TscCouponService;
 import com.style24.core.biz.service.TscCustomerService;
 import com.style24.core.biz.service.TscKakaoPayService;
@@ -49,12 +52,6 @@ import com.style24.persistence.domain.WishList;
 
 import lombok.extern.slf4j.Slf4j;
 
-import com.gagaframework.web.parameter.GagaMap;
-import com.gagaframework.web.rest.server.GagaResponse;
-import com.gagaframework.web.rest.server.GagaResponseStatus;
-
-import lombok.extern.slf4j.Slf4j;
-
 /**
  * 마이페이지 Controller
  * 
@@ -235,19 +232,15 @@ public class TsfMypageController extends TsfBaseController {
 	@PostMapping("/order/list")
 	@ResponseBody
 	public GagaMap getOrderList(@RequestBody Order order) {
-		GagaMap map = new GagaMap();
-		ModelAndView mav = new ModelAndView();
+		GagaMap result = new GagaMap();
 
 		// 페이징 처리 설정
-		// order.setPageable(new TscPageRequest(order.getPageNo() - 1, 5));
 		TscPageRequest pageable = new TscPageRequest((order.getPageNo() > 0 ? order.getPageNo() - 1 : 0), order.getPageSize(), order.getPageUnit());
 		pageable.setTotalCount(orderService.getPagingOrdNoListCount(order));
 		order.setPageable(pageable);
-		log.info("pageable: {}", pageable);
-		log.info("totalCount {}", pageable.getTotalCount());
-		log.info("order >>> {}", order);
 
 		// 페이징 처리 및 주문정보 조회
+		Collection<GagaMap> orderList = new ArrayList<>();
 		List<Integer> ordNoList = new ArrayList<>();
 
 		for (Order tmpOrder : orderService.getPagingOrdNoList(order)) {
@@ -256,16 +249,13 @@ public class TsfMypageController extends TsfBaseController {
 
 		if (ordNoList.size() > 0) {
 			order.setOrdNoList(ordNoList.stream().mapToInt(Integer::intValue).toArray());
+			orderList = orderService.getOrderListForMypage(order);
 		}
 
-		map.set("orderList", orderService.getOrderListForMypage(order));
-		map.set("orderInfo", order);
-		
-		// mav.setViewName(super.getDeviceViewName("mypage/MypageOrderList"));
-		
-		// map.set("mav", mav);
-		// map.set("paging", order.getPageable());
-		return map;
+		result.set("orderList", orderList);
+		result.set("orderInfo", order);
+
+		return result;
 	}
 
 	/**

+ 22 - 8
src/main/java/com/style24/persistence/mybatis/shop/TsfOrder.xml

@@ -17,7 +17,7 @@
 
 	<!-- 마이페이지 주문 목록 조회 -->
 	<select id="getOrderListForMypage" parameterType="Order" resultType="Order">
-		/* TscOrder.getOrderListForMypage */
+		/* TsfOrder.getOrderListForMypage */
 		SELECT O.ORD_NO
 		     , DATE_FORMAT(O.ORD_DT, '%Y.%m.%d') AS ORD_DT
 		     , CASE OD.GIFT_PACK_YN WHEN 'Y' THEN DATE_FORMAT(O.ORD_DT + INTERVAL 3 DAY, '%Y.%m.%d')
@@ -50,7 +50,7 @@
 		     , OD.SUPPLY_COMP_CD
 		     , OD.DELV_FEE_CD
 		     , OD.SHOT_DELV_YN
-		     , OD.CHANGABLE_YN
+		     , OD.CHANGEABLE_YN
 		     , OD.RETURNABLE_YN
 		     , G.SELF_GOODS_YN
 		     , CONCAT(B.BRAND_ENM, ' ', B.BRAND_KNM)						AS BRAND_NM
@@ -125,7 +125,7 @@
 
 	<!-- 마이페이지 주문 상태 별 수량 조회 -->
 	<select id="getOrderStatCount" parameterType="Order" resultType="Order">
-		/* TscOrder.getOrderStatCount */
+		/* TsfOrder.getOrderStatCount */
 		SELECT SUM(Z.ORDER_RECEIPT)                          AS ORDER_RECEIPT_COUNT
 		     , SUM(Z.PAYMENT_COMPLETE)                       AS PAYMENT_COMPLETE_COUNT
 		     , SUM(Z.GOODS_PREPARE)                          AS GOODS_PREPARE_COUNT
@@ -178,7 +178,7 @@
 
 	<!-- 마이페이지 주문목록 페이징 처리 주문번호 수 조회 -->
 	<select id="getPagingOrdNoListCount" parameterType="Order" resultType="int">
-		/* TscOrder.getPagingOrdNoList */
+		/* TsfOrder.getPagingOrdNoList */
 		SELECT COUNT(*) AS CNT
 		  FROM (SELECT O.ORD_NO
 				  FROM TB_ORDER O
@@ -198,7 +198,7 @@
 
 	<!-- 마이페이지 주문목록 페이징 처리 주문번호 조회 -->
 	<select id="getPagingOrdNoList" parameterType="Order" resultType="Order">
-		/* TscOrder.getPagingOrdNoList */
+		/* TsfOrder.getPagingOrdNoList */
 		<include refid="selectForPagingHeader"/>
 		SELECT O.ORD_NO
 		     , RANK() OVER(ORDER BY O.ORD_DT DESC) AS NUMB
@@ -216,10 +216,24 @@
 		 GROUP BY O.ORD_NO
 		<include refid="selectForPagingFooter"/>
 	</select>
+	
+	<!-- 마이페이지 주문목록 사은품 조회 -->
+	<select id="getOrderFreeGiftListForMypage" parameterType="Order" resultType="Order">
+		/* TsfOrder.getPagingOrdNoList */
+		SELECT FG.GOODS_NM
+			 , OFV.USE_POINT
+		  FROM TB_ORD_FREEGIFT OFG
+		 INNER JOIN TB_ORD_FREEGIFT_VAL OFV
+		    ON OFG.ORD_FREEGIFT_SQ = OFV.ORD_FREEGIFT_SQ
+		 INNER JOIN TB_FREE_GOODS FG
+		    ON OFV.PRODUCT_NO = FG.PRODUCT_NO
+		   AND OFV.PRODUCT_CODE = FG.PRODUCT_CODE
+		 WHERE OFG.ORD_NO = #{ordNo}
+	</select>
 
 	<!-- 마이페이지 주문상세 금액정보 조회 -->
 	<select id="getOrderAmtForMypage" parameterType="Order" resultType="Order">
-		/* TscOrder.getOrderAmtForMypage */
+		/* TsfOrder.getOrderAmtForMypage */
 		SELECT SUM(OD.ORD_AMT)          AS ORD_AMT
 			 , SUM(OD.CPN1_DC_AMT)      AS CPN1_DC_AMT
 			 , SUM(OD.TMTB1_DC_AMT)     AS TMTB1_DC_AMT
@@ -248,7 +262,7 @@
 
 	<!-- 마이페이지 주문상세 결제정보 조회 -->
 	<select id="getPaymentInfoForMypage" parameterType="Order" resultType="Order">
-		/* TscOrder.getPaymentInfoForMypage */
+		/* TsfOrder.getPaymentInfoForMypage */
 		SELECT PAY_SQ
 		     , ORD_NO
 		     , PAY_DT
@@ -312,7 +326,7 @@
 
 	<!-- 마이페이지 주문상세 배송지 정보 조회 -->
 	<select id="getOrderDeliveryAddrInfo" parameterType="Order" resultType="Order">
-		/* TscOrder.getOrderDeliveryAddrInfo */
+		/* TsfOrder.getOrderDeliveryAddrInfo */
 		SELECT DA.DELV_ADDR_SQ
 			 , DA.RECIP_NM
 			 , DA.RECIP_PHNNO

+ 59 - 25
src/main/webapp/WEB-INF/views/web/mypage/MypageOrderListFormWeb.html

@@ -129,13 +129,13 @@
 						<div class="form_field">
 							<label class="input_label sr-only">선택기간 시작</label>
 							<div class="input_wrap">
-								<input type="text" class="form_control period_datepicker hasDatepicker" name="stDate" value="" id="stDate" onchange="fnCheckPeriod(this);">
+								<input type="text" class="form_control period_datepicker hasDatepicker" value="" id="stDate" onchange="fnCheckPeriod(this);">
 							</div>
 						</div>
 						<div class="form_field">
 							<label class="input_label sr-only">선택기간 끝</label>
 							<div class="input_wrap">
-								<input type="text" class="form_control period_datepicker hasDatepicker" name="edDate" value="" id="edDate" onchange="fnCheckPeriod(this);">
+								<input type="text" class="form_control n_input period_datepicker hasDatepicker" value="" id="edDate" onchange="fnCheckPeriod(this);">
 							</div>
 						</div>
 						<button type="button" class="btn btn_dark btn_sm" onclick="fnSearchOrderList();"><span>조회</span></button>
@@ -263,7 +263,7 @@
 		fnSetMypageLocation('주문확인/배송조회');
 		
 		// datepicker 설정
-		$(".my_datepicker").datepicker();
+		$('.period_datepicker').datepicker();
 
 		// 셀렉트박스 활성화
 		$('.select_custom.order_status').each(function(index) {
@@ -418,6 +418,7 @@
 				tag += '	</div>\n';
 				tag += '	<div class="goods_cont">\n';
 				$.each(order.ordDtlList, function (index, ordDtl) {
+					console.log(ordDtl);
 					tag += '		<div class="goods_info">\n';
 					tag += '			<div class="order_desc">\n';
 					tag += '				<div class="goods_box">\n';
@@ -492,6 +493,9 @@
 
 						// 교환신청 버튼(배송중, 출고완료, 배송완료)
 						if (ordDtl.ordDtlStat == 'G013_50' || ordDtl.ordDtlStat == 'G013_55' || ordDtl.ordDtlStat == 'G013_60') {
+							console.log(ordDtl);
+							console.log(ordDtl.changeableYn);
+							console.log(ordDtl.returnableYn);
 							// 교환/반품 가능한 상품
 							if (ordDtl.changeableYn == 'Y' && ordDtl.returnableYn == 'Y') {
 								tag += '					<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" onclick="fnCreateChange(this, \'exchange\');"><span>교환 신청</span></button></p>\n';
@@ -575,27 +579,32 @@
 						}
 						
 						// 배송중, 배송완료
-						if ((ordDtl.ordDtlStat == 'G013_50' || ordDtl.ordDtlStat == 'G013_55' || ordDtl.ordDtlStat == 'G013_60') && (ordDtl.changeableYn == 'N' || ordDtl.returnableYn == 'N')) {
-							// 교환신청 불가 상품
-							tag += '			<div class="order_text">\n';
-							if (ordDtl.changeableYn == 'N' && ordDtl.returnableYn == 'Y') {
-								tag += '				<p>해당 상품은 교환이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>\n';
+						if ((ordDtl.ordDtlStat == 'G013_50' || ordDtl.ordDtlStat == 'G013_55' || ordDtl.ordDtlStat == 'G013_60')) {
+							// 교환/반품 신청 불가 상품 처리
+							if (ordDtl.changeableYn == 'N' || ordDtl.returnableYn == 'N') {
+								// 교환신청 불가 상품
+								tag += '			<div class="order_text">\n';
+								if (ordDtl.changeableYn == 'N' && ordDtl.returnableYn == 'Y') {
+									tag += '				<p>해당 상품은 교환이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>\n';
+								}
+								// 반품신청 불가 상품
+								else if (ordDtl.changeableYn == 'Y' && ordDtl.returnableYn == 'N') {
+									tag += '				<p>해당 상품은 반품이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>\n';
+								}
+								// 교환/반품신청 불가 상품
+								else if (ordDtl.changeableYn == 'N' && ordDtl.returnableYn == 'N') {
+									tag += '				<p>해당 상품은 교환/반품이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>\n';
+								}
+								
+								// 배송완료
+								if (ordDtl.ordDtlStat == 'G013_60') {
+									tag += '				<p>15일 후 자동으로 구매확정됩니다.</p>\n';
+								}
+								
+								tag += '			</div>';
+							} else {
+								tag += '			<div class="order_text"><p>15일 후 자동으로 구매확정됩니다.</p></div>\n';
 							}
-							// 반품신청 불가 상품
-							else if (ordDtl.changeableYn == 'Y' && ordDtl.returnableYn == 'N') {
-								tag += '				<p>해당 상품은 반품이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>\n';
-							}
-							// 교환/반품신청 불가 상품
-							else if (ordDtl.changeableYn == 'N' && ordDtl.returnableYn == 'N') {
-								tag += '				<p>해당 상품은 교환/반품이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>\n';
-							}
-							
-							// 배송완료
-							if (ordDtl.ordDtlStat == 'G013_60') {
-								tag += '				<p>15일 후 자동으로 구매확정됩니다.</p>\n';
-							}
-							
-							tag += '			</div>';
 						}
 
 						// 구매확정
@@ -604,12 +613,37 @@
 						}
 					}
 					tag += '		</div>';
-					tag += '	</div>';
-					tag += '</div>';
 				});
+				tag += '	</div>';
+				//사은품 처리
+				if (order.freeGiftList != null && order.freeGiftList.length > 0) {
+					tag += '	<div className="goods_foot">';
+					tag += '		<div className="order_gift">';
+					tag += '			<span className="title">사은품</span>';
+					tag += '			<ul>';
+					$.each(order.freeGiftList, function(index, freeGift) {
+						tag += '				<li>' + freeGift.goodsNm + ' ' + '<span>(-' + freeGift.usePoint.addComma() + 'P)</span></li>';
+					});
+					tag += '			</ul>';
+					tag += '		</div>';
+					tag += '	</div>';
+				}
+				tag += '</div>';
 			});
 		} else {
 			// 데이터 없음 표시
+			tag += '<div class="nodata">';
+			tag += '	<div class="txt_box">';
+			tag += '		<p>';
+			tag += '			현재 노출 할 수 있는 데이터가 없습니다.<br>';
+			tag += '		</p>';
+			tag += '	</div>';
+			//tag += '	<!-- 버튼 필요시 -->';
+			//tag += '	<div class="btn_box">';
+			//tag += '		<button class="btn btn_default"><span>행동하기</span></button>';
+			//tag += '	</div>';
+			//tag += '	<!-- //버튼 필요시 -->';
+			tag += '</div>';
 		}
 
 		return tag;