jsh77b 5 лет назад
Родитель
Сommit
a3d8fe9a76

+ 51 - 26
src/main/java/com/style24/front/biz/web/TsfOrderController.java

@@ -8,13 +8,13 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 
+import com.gagaframework.web.parameter.GagaMap;
 import com.style24.core.biz.service.TscFreegiftService;
 import com.style24.core.biz.service.TscOrderService;
 import com.style24.core.support.message.TscMessageByLocale;
 import com.style24.front.biz.service.TsfCartService;
 import com.style24.front.support.controller.TsfBaseController;
 import com.style24.front.support.security.session.TsfSession;
-import com.style24.persistence.domain.Cart;
 import com.style24.persistence.domain.Order;
 
 import lombok.extern.slf4j.Slf4j;
@@ -97,6 +97,7 @@ public class TsfOrderController extends TsfBaseController {
 	 * @author jsh77b
 	 * @since 2021. 02. 02
 	 */
+	@SuppressWarnings("unchecked")
 	@RequestMapping(value = "/form")
 	public ModelAndView orderForm(Order order) {
 		ModelAndView mav = new ModelAndView();
@@ -122,6 +123,12 @@ public class TsfOrderController extends TsfBaseController {
 			}
 		}
 		
+		// TODO
+		// 1.1 카트시퀀스가 없을때 처리 장바구니로 이동 
+		if (order.getCartSqArr() == null) {
+			
+		}
+		
 		Order custemerInfo = new Order();
 		Order deliveryAddrInfo = new Order();
 
@@ -148,50 +155,68 @@ public class TsfOrderController extends TsfBaseController {
 		// TODO 임시 장바구니
 		// 2. 장바구니시퀀스 배열 등록 (장바구니 상품 정보 조회)		
 		// 2.1 배송단위별 상품 목록 조회 (장바구니)
-		//Collection<Order> cartGoodsList = coreOrderService.getCartGoodsList(order);
 		Collection<Order> tmtbGoodsApplyList = cartService.getMoreBetterAmtList(order);
 		
+		int prePntDcAmt = 0;
+		for (Order tmtbGoodsApply : tmtbGoodsApplyList) {
+			prePntDcAmt += tmtbGoodsApply.getPrePntDcAmt();
+		}
+		
 		// 2.2 배송단위별 장바구니 상품 건수 조회 (장바구니상품)
-		Order delvOrder = (Order) coreOrderService.getCartDelvGoodsCntList(tmtbGoodsApplyList);
+		GagaMap delvOrderMap = coreOrderService.getCartDelvGoodsCntList(tmtbGoodsApplyList);
 
 		// 3. 할인구간정보조회
 		// 3.2 장바구니상품 상품쿠폰, 장바구니쿠폰 정보 조회
-		Collection<Order> goodsCartCpnApplyGoodsList = coreOrderService.getGoodsCartCpnApplyGoodsList(order);
+		GagaMap goodsCartCpnMap = coreOrderService.getGoodsCartCpnApplyGoodsList(order);
+		
+		Collection<Order> goodsCpnList 	= (Collection<Order>) goodsCartCpnMap.get("goodsCpnList");
+		Collection<Order> cartCpnList 	= (Collection<Order>) goodsCartCpnMap.get("cartCpnList");
+		
+		// 3.2.1 상품쿠폰, 장바구니쿠폰 적용된 상품 목록
+		Collection<Order> goodsApplyCpnList = coreOrderService.getGoodsCpnApplyList(tmtbGoodsApplyList, goodsCpnList);
+		
+		// 3.3 배송비쿠폰목록 조회
+		Collection<Order> delvCpnList = coreOrderService.getDelvCpnList(order);
 		
-		// 3.3 고객 보유 포인트 정보 조회
-		int custPointInfo = coreOrderService.getCustPointInfo(order);
+		// 3.4 고객 보유 포인트 정보 조회
+		int rmPntAmt = coreOrderService.getCustPointInfo(order);
 		
-		// 3.4 고객 보유 상품권 정보 조회
-		int giftcardInfo = coreOrderService.getGiftcardInfo(order);
+		// 3.5 고객 보유 상품권 정보 조회
+		int rmGfcdAmt = coreOrderService.getGiftcardInfo(order);
 		
 		// 4. 사은품 정보
 		// 4.1 장바구니상품 사음품 적용 정보 조회
-		Collection<Order> freegfitbGoodsApplyList = coreFreegiftService.getOrderFreegift(order);
+		GagaMap  resultMap = coreFreegiftService.getOrderFreegift(order);
 
 		// 101. 상품정보
-		mav.addObject("cartGoodsList"					, tmtbGoodsApplyList);				// 장바구니상품목록 (즉시할인쿠폰적용)
-		mav.addObject("delvTotCnt" 						, delvOrder.getDelvTotCnt());		// 총상품건수
-		mav.addObject("delvFeeTotCnt"					, delvOrder.getDelvFeeTotCnt());	// 총배송타입건수
-		mav.addObject("wmsCnt" 							, delvOrder.getWmsCnt());			// 자사상품건수
-		mav.addObject("resCnt" 							, delvOrder.getResCnt());			// 자사예약상품건수
-		mav.addObject("delvCnt" 						, delvOrder.getDelvCnt());			// 입점업체상품건수
-		mav.addObject("wmsCartList" 					, delvOrder.getWmsCartList());		// 자사장바구니상품목록
-		mav.addObject("resCartList" 					, delvOrder.getResCartList());		// 자사장바구니예약상품목
-		mav.addObject("delvCartList" 					, delvOrder.getDelvCartList());		// 입점업체장바구니상품목록
+		mav.addObject("cartGoodsList"					, tmtbGoodsApplyList);					// 장바구니상품목록 (즉시할인쿠폰적용)
+		mav.addObject("delvTotCnt" 						, delvOrderMap.get("delvTotCnt"));		// 총상품건수
+		mav.addObject("delvFeeTotCnt"					, delvOrderMap.get("delvFeeTotCnt"));	// 총배송타입건수
+		mav.addObject("wmsCnt" 							, delvOrderMap.get("wmsCnt"));			// 자사상품건수
+		mav.addObject("resCnt" 							, delvOrderMap.get("resCnt"));			// 자사예약상품건수
+		mav.addObject("delvCnt" 						, delvOrderMap.get("delvCnt"));			// 입점업체상품건수
+		mav.addObject("wmsCartList" 					, delvOrderMap.get("wmsCartList"));		// 자사장바구니상품목록
+		mav.addObject("resCartList" 					, delvOrderMap.get("resCartList"));		// 자사장바구니예약상품목
+		mav.addObject("delvCartList" 					, delvOrderMap.get("delvCartList"));	// 입점업체장바구니상품목록
 		
 		// 102. 고객정보
-		mav.addObject("custemerInfo"					, custemerInfo);					// 고객정보
-		mav.addObject("deliveryAddrInfo"				, deliveryAddrInfo);				// 배송지정보
-		mav.addObject("shotDelvYn" 						, order.getShotDelvYn());			// 장바구니 총알배송여부
+		mav.addObject("custemerInfo"					, custemerInfo);						// 고객정보
+		mav.addObject("deliveryAddrInfo"				, deliveryAddrInfo);					// 배송지정보
+		mav.addObject("shotDelvYn" 						, order.getShotDelvYn());				// 장바구니 총알배송여부
 		
 		// 103. 할인정보
-		mav.addObject("tmtbGoodsApplyList"				, tmtbGoodsApplyList);				// 다다익선 적용 목록
-		mav.addObject("goodsCartCpnApplyGoodsList"		, goodsCartCpnApplyGoodsList);		// 상품쿠폰, 장바구니쿠폰 상품단위 조회
-		mav.addObject("custPointInfo"					, custPointInfo);					// 고객포인트정보
-		mav.addObject("giftcardInfo"					, giftcardInfo);					// 고객상품권정보
+		mav.addObject("tmtbGoodsApplyList"				, tmtbGoodsApplyList);					// 다다익선상품 적용목록
+		mav.addObject("goodsApplyCpnList"				, goodsApplyCpnList);					// 상품적용쿠폰
+		mav.addObject("goodsCpnList"					, goodsCpnList);						// 상품쿠폰목록
+		mav.addObject("cartCpnList"						, cartCpnList);							// 장바구니쿠폰목록
+		mav.addObject("delvCpnList"						, delvCpnList);							// 배송비쿠폰목록
+		mav.addObject("prePntDcAmt"						, prePntDcAmt);							// 선포인트정보
+		mav.addObject("rmPntAmt"						, rmPntAmt);							// 고객포인트정보
+		mav.addObject("rmGfcdAmt"						, rmGfcdAmt);							// 고객상품권정보
 		
 		// 104. 사은품정보
-		mav.addObject("freegfitbGoodsApplyList"			, freegfitbGoodsApplyList);			// 사은품정보 목록
+		mav.addObject("freegiftGoodsList"				, resultMap.get("freegiftGoodsList"));	// 사은품상품정보 목록
+		mav.addObject("freegiftList"					, resultMap.get("freegiftList"));		// 사은품정보 목록
 		
 		mav.setViewName(super.getDeviceViewName("order/OrderForm"));
 		

+ 101 - 130
src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html

@@ -17,34 +17,8 @@
  *******************************************************************************
  -->
 <body>
-<!-- 
-<link rel="stylesheet" type="textcss" href="/ux/pc/css/layout_back.css?v=20210209171415">
- -->
-
 <th:block layout:fragment="content">
 
-<style type="text/css">
-    @import url("/ux/pc/css/layout_back.css");
-    
-    .od .foldGroup .fold_cont {
-	    box-sizing: border-box;
-	}
-	
-	.od .od_cont .fold_cont {
-	    padding: 0 30px 40px;
-	    line-height: 1;
-	}
-	
-	.foldGroup .fold_cont {
-	    padding: 0;
-	    position: relative;
-	    color: #666;
-	    font-weight: 200;
-	    font-size: 16px;
-	    line-height: 1.625;
-	}
-</style>
-
 	<!--  container -->
 	<div id="container" class="container od">
 		<div class="breadcrumb">
@@ -255,40 +229,44 @@
 												</div>
 											</a>
 										</div>
-										<div class="fold_cont" style="display: none;">
+										<div class="fold_cont" style="display:none;">
 											<div class="area_default">
-												<p class="txt">사은품선택1 > TBJ 남성 제기장 스웨이드 트러커 자켓 에서 주는 사은품</p>
-												<div class="form_field">
-													<div class="gift">
-														<input type="checkbox" name="chk-gift" id="chk-gift1" class="chk_img" value="">
-														<label for="chk-gift1">
-															<span class="thumb"><img src="http://codepartners.co.kr/project/style24/pc/ux/images/thumb/tmp_gift1.jpg" width="" alt=""></span>
-															<span class="name">유니 NBA 팀로고 양말 (N215AO225P)</span>
-															<span class="deduct">무료사은품</span>
-														</label>
-													</div>
-													<div class="gift">
-														<input type="checkbox" name="chk-gift" id="chk-gift2" class="chk_img" value="">
-														<label for="chk-gift2">
-															<span class="thumb"><img src="http://codepartners.co.kr/project/style24/pc/ux/images/thumb/tmp_gift1.jpg" width="" alt=""></span>
-															<span class="name">사은품이름</span>
-															<span class="deduct">-4,000P</span>
-														</label>
-													</div>
-													<div class="gift">
-														<input type="checkbox" name="chk-gift" id="chk-gift3" class="chk_img" value="">
-														<label for="chk-gift3">
-															<span class="thumb"></span>
-															<span class="name">사은품 수령안함</span>
-															<span class="deduct">수령거부</span>
-														</label>
+												<th:block th:each="freegift, i : ${freegiftList}">
+													<!-- 2021.02.15 css 수정되면 삭제예정 -->
+													<th:block th:if="${i.count} > 1">
+														<br>
+														<br>
+													</th:block>
+													<p class="txt" th:text="'사은품선택' + ${i.count} + ' > ' + ${freegift.freegiftNm}"></p>
+													<div class="form_field">
+														<th:block th:each="freegiftGoods, k : ${freegiftGoodsList}">
+															<th:block th:if="${freegift.freegiftSq} == ${freegiftGoods.freegiftSq}">
+																<div class="gift" >
+																	<input type="radio" th:name="'chk-gift'+${i.count}" th:id="'chk-gift'+${i.count}+${k.count}" class="chk_img" value="">
+																	<label th:for="'chk-gift'+${i.count}+${k.count}">
+																		<span class="thumb"><img src="http://codepartners.co.kr/project/style24/pc/ux/images/thumb/tmp_gift1.jpg" width="" alt=""></span>
+																		<span class="name" th:text="${freegiftGoods.goodsNm}"></span>
+																		<span th:if="${freegiftGoods.usePoint} < 1" class="deduct" th:text="무료"></span>
+																		<span th:if="${freegiftGoods.usePoint} > 0" class="deduct" th:text="|- ${freegiftGoods.usePoint} P|"></span>
+																	</label>
+																</div>
+															</th:block>
+														</th:block>
+														<div class="gift">
+															<input type="radio" th:name="'chk-gift'+${i.count}" th:id="${i.count}+'0'" class="chk_img" value="">
+															<label th:for="${i.count}+'0'">
+																<span class="thumb"></span>
+																<span class="name">사은품 수령안함</span>
+																<span class="deduct">수령거부</span>
+															</label>
+														</div>
 													</div>
-												</div>
+												</th:block>
+												
+												<br>
 												<div class="form_field">
 													<div class="gift_agree">
-														<p>
-															<input id="chk-gift_agree" type="checkbox"><label for="chk-gift_agree"><span>동의합니다</span></label>
-														</p>
+														<p><input id="chk-gift_agree" type="checkbox"><label for="chk-gift_agree"><span>동의합니다</span></label></p>
 														<p class="mt20">
 															사은품 지급에 대한 내용을 확인하였으며, 이에 동의합니다.
 															<button type="button" class="btn_popup" id=""><span>안내 보기</span></button>
@@ -326,6 +304,7 @@
 														</label>
 													</div>
 												</div>
+												<br>
 												<dl>
 													<div>
 														<dt>할인코드</dt>
@@ -338,73 +317,77 @@
 													</div>
 													<div>
 														<dt>할인쿠폰</dt>
-														<dd><a href="" class="btn_coupon_toggle">할인쿠폰 <span class="c_primary">3장</span> 적용 <i class="ico ico_ft_arrow_b"></i></a></dd>
+														<dd><a href="" class="btn_coupon_toggle">할인쿠폰 <span class="c_primary" th:text="|${#lists.size(cartCpnList)} 장|"></span> 적용 <i class="ico ico_ft_arrow_b"></i></a></dd>
 													</div>
 												</dl>
 												<div class="coupon_list">
 													<ul>
-														<li>
-															<div class="coupon">
-																<div class="item_gd">
-																	<figure>
-																		<span class="thumb"><img src="/images/pc/thumb/tmp_odSide1.jpg" alt=""></span>
-																		<figcaption>
-																			<div class="brand">CURLYSUE 컬리수</div>
-																			<div class="name">[★2020 겨울신상★] 리버시블 경량점퍼 CPW0XQJM51 [겨울] 리버시블 경량점퍼 CPW0XQJM51 [겨울]</div>
-																			<div class="price">
-																				<span class="selling_price">1,000,000</span>
-																			</div>
-																		</figcaption>
-																	</figure>
-																</div>
-																<div class="form_field">
-																	<select id="" class="select_hidden">
-																		<option value="">구매금액 100,000원 이상시 10% 할인 쿠폰</option>
-																		<option value="">구매금액 100,000원 이상시 10% 할인 쿠폰</option>
-																		<option value="">구매금액 100,000원 이상시 10% 할인 쿠폰</option>
-																		<option value="">구매금액 100,000원 이상시 10% 할인 쿠폰</option>
-																		<option value="">구매금액 100,000원 이상시 10% 할인 쿠폰</option>
-																	</select>
+														<th:block th:each="goods, i : ${goodsApplyCpnList}">
+															<li>
+																<div class="coupon">
+																	<div class="item_gd">
+																		<figure>
+																			<span class="thumb"><img src="/images/pc/thumb/tmp_odSide1.jpg" alt=""></span>
+																			<figcaption>
+																				<div class="brand" th:text="${goods.brandEnm}+' '+${goods.brandKnm}"></div>
+																				<div class="name" th:text="${goods.goodsNm}"></div>
+																				<div class="price">
+																					<span class="selling_price" th:text="${#numbers.formatInteger(goods.currPrice, 1, 'COMMA')}"></span>
+																				</div>
+																			</figcaption>
+																		</figure>
+																	</div>
+																	<div class="form_field">
+																		<select id="" class="select_hidden">
+																			<th:block th:eath="goodsCpn, k : ${goodsCpnList}">
+																				<option th:value="${gooods.cpnId}" th:text="${gooods.cpnNm}"></option>
+																			</th:block>
+																		</select>
+																	</div>
+																	<button type="button" class="btn_del_coupon" id=""><span>쿠폰적용해제</span></button>
 																</div>
-																<button type="button" class="btn_del_coupon" id=""><span>쿠폰적용해제</span></button>
-															</div>
-														</li>
-														<li>
-															<div class="coupon">
-																<div class="form_field">
-																	<label for="">장바구니 할인쿠폰</label>
-																	<select id="" class="select_hidden">
-																		<option value="">총 구매금액 10만원 이상 시 10,000원 할인 (5,000원 할인)</option>
-																		<option value="">총 구매금액 10만원 이상 시 10,000원 할인 (5,000원 할인)</option>
-																		<option value="">총 구매금액 10만원 이상 시 10,000원 할인 (5,000원 할인)</option>
-																		<option value="">총 구매금액 10만원 이상 시 10,000원 할인 (5,000원 할인)</option>
-																		<option value="">총 구매금액 10만원 이상 시 10,000원 할인 (5,000원 할인)</option>
-																	</select>
+															</li>
+														</th:block>
+															
+														<th:block th:if="${cartCpnList != null && #lists.size(cartCpnList) > 0}">
+															<li>
+																<div class="coupon">
+																	<div class="form_field">
+																		<label for="">장바구니 할인쿠폰</label>
+																		<select id="" class="select_hidden">
+																			<th:block th:eath="cartCpn, k : ${cartCpnList}">
+																				<option th:value="${gooods.cpnId}" th:text="${gooods.cpnNm}"></option>
+																			</th:block>
+																		</select>
+																	</div>
+																	<button type="button" class="btn_del_coupon" id=""><span>쿠폰적용해제</span></button>
 																</div>
-																<button type="button" class="btn_del_coupon" id=""><span>쿠폰적용해제</span></button>
-															</div>
-														</li>
-														<li>
-															<div class="coupon">
-																<div class="form_field">
-																	<label for="">배송비 할인쿠폰</label>
-																	<select id="" class="select_hidden">
-																		<option value="">배송비 할인쿠폰 (최대 5,000원)</option>
-																		<option value="">배송비 할인쿠폰 (최대 5,000원)</option>
-																		<option value="">배송비 할인쿠폰 (최대 5,000원)</option>
-																		<option value="">배송비 할인쿠폰 (최대 5,000원)</option>
-																	</select>
+															</li>
+														</th:block>
+														
+														<th:block th:if="${delvCpnList != null && #lists.size(delvCpnList) > 0}">
+															<li>
+																<div class="coupon">
+																	<div class="form_field">
+																		<label for="">배송비 할인쿠폰</label>
+																		<select id="" class="select_hidden">
+																			<th:block th:eath="delvCpn, k : ${delvCpnList}">
+																				<option th:value="${delvCpn.cpnId}" th:text="${delvCpn.cpnNm}"></option>
+																			</th:block>
+																		</select>
+																	</div>
+																	<button type="button" class="btn_del_coupon" id=""><span>쿠폰적용해제</span></button>
 																</div>
-																<button type="button" class="btn_del_coupon" id=""><span>쿠폰적용해제</span></button>
-															</div>
-														</li>
+															</li>
+														</th:block>
 													</ul>
 												</div>
 											</div>
+											<br>
 											<div class="area_point">
 												<dl>
 													<div>
-														<dt>할인코드</dt>
+														<dt>선포인트</dt>
 														<dd>
 															<div class="form_field">
 																<div>
@@ -414,7 +397,7 @@
 																<div>
 																	<input type="radio" name="rdi-codeuse" id="rdi-codeuse2" value="">
 																	<label for="rdi-codeuse2"><span>사용함</span></label>
-																	<span>사용가능 포인트:<em>1,500</em>P</span>
+																	<span>사용가능 포인트&nbsp;:&nbsp;<em th:text="${#numbers.formatInteger(prePntDcAmt, 1, 'COMMA')}"></em>&nbsp;P</span>
 																</div>
 															</div>
 														</dd>
@@ -423,19 +406,6 @@
 											</div>
 
 											<div class="point_code">
-												<div class="radio_check">
-													<div class="ui_col_3">
-														<p>할인코드</p>
-													</div>
-													<div class="ui_col_9">
-														<div class="form_field">
-															<input type="radio" name="radio" id="rdi-4" value="4"><label for="rdi-4"> <span>사용 안함</span> </label>
-														</div>
-														<div class="form_field">
-															<input type="radio" name="radio" id="rdi-5" value="5" checked=""><label for="rdi-5"> <span>사용함</span> <p>사용 가능 포인트 : <span>1,500</span>P</p></label>
-														</div>
-													</div>
-												</div>
 												<div class="form_field">
 													<label class="ui_col_3 input_label">스타일 포인트</label>
 													<div class="ui_col_9">
@@ -444,19 +414,20 @@
 															<button type="submit" class="btn btn_dark">적용</button>
 														</div>
 														<div class="save_point">
-															<p>보유 : <span>25,000</span>P</p>
+															<p>보유 : <span th:text="|${#numbers.formatInteger(rmPntAmt, 1, 'COMMA')} P|"></span></p>
 														</div>
 													</div>
 												</div>
+												<br>
 												<div class="form_field">
 													<label class="ui_col_3 input_label">상품권</label>
 													<div class="ui_col_9">
 														<div class="input_wrap">
-															<input type="text" class="form_control" maxlength="13" placeholder="사용할 포인트를 입력해주세요.">
+															<input type="text" class="form_control" maxlength="13" placeholder="사용할 상품권금액 입력해주세요.">
 															<button type="submit" class="btn btn_dark">적용</button>
 														</div>
 														<div class="save_point">
-															<p>보유 : <span>25,000</span>P</p>
+															<p>보유 : <span th:text="|${#numbers.formatInteger(rmGfcdAmt, 1, 'COMMA')} 원|"></span></p>
 														</div>
 													</div>
 												</div>
@@ -624,7 +595,7 @@
 									<h4 class="subH3 mb20" id="wmsDelvTitle">STYLE24 일반배송</h4>
 									<div class="gd_list">
 
-										<th:block th:each="goods, status : ${wmsCartList}">
+										<th:block th:each="goods, i : ${wmsCartList}">
 											<div class="item_gd">
 												<figure>
 													<span class="thumb"><img src="/images/pc/thumb/tmp_odSide1.jpg" alt=""></span>
@@ -657,7 +628,7 @@
 									<h4 class="subH3 mb20">업체직배송</h4>
 									<div class="gd_list">
 										<div class="item_gd">
-											<th:block th:each="goods, status : ${delvCartList}">
+											<th:block th:each="goods, i : ${delvCartList}">
 												<div class="item_gd">
 													<figure>
 														<span class="thumb"><img src="/images/pc/thumb/tmp_odSide1.jpg" alt=""></span>
@@ -685,7 +656,7 @@
 									<h4 class="subH3 mb20">예약배송</h4>
 									<div class="gd_list">
 										<div class="item_gd">
-											<th:block th:each="goods, status : ${resCartList}">
+											<th:block th:each="goods, i : ${resCartList}">
 												<div class="item_gd">
 													<figure>
 														<span class="thumb"><img src="/images/pc/thumb/tmp_odSide1.jpg" alt=""></span>

+ 1 - 0
src/main/webapp/WEB-INF/views/web/order/OrderNoMemberWeb.html

@@ -74,6 +74,7 @@
 							</div>
 						</div>
 					</div>
+					<br>
 					<div class="form_field">
 						<label class="input_label sr-only">배송주소 기본주소</label>
 						<div class="ui_col_12">

Разница между файлами не показана из-за своего большого размера
+ 380 - 368
src/main/webapp/ux/pc/css/layout.css


Некоторые файлы не были показаны из-за большого количества измененных файлов