jsh77b пре 5 година
родитељ
комит
eb1143ef57

+ 5 - 6
src/main/java/com/style24/front/biz/web/TsfOrderController.java

@@ -311,12 +311,11 @@ public class TsfOrderController extends TsfBaseController {
 		} else {
 			order.setJsessionId(TsfSession.getSessionId());
 		}
-		
-		// 2. 장바구니상품목록조회
-		Collection<Order> cartGoodsList = coreOrderService.getCartGoodsList(order);
-		
-		// 3. 배송정보조회(장바구니상품목록)
-		GagaMap delvOrderMap = coreOrderService.getCartDelvGoodsCntList(cartGoodsList, order);
+
+		Collection<Order> tmtbGoodsApplyList = cartService.getMoreBetterAmtList(order);
+
+		// 3.2 배송정보조회(장바구니상품목록)
+		GagaMap delvOrderMap = coreOrderService.getCartDelvGoodsCntList(tmtbGoodsApplyList, order);
 				
 		ModelAndView mav = new ModelAndView();
 		mav.addObject("delvAllCartList" 	, delvOrderMap.get("delvAllCartList"));		// 전체배송목록

+ 104 - 69
src/main/webapp/WEB-INF/views/web/order/OrderCouponApplyPopWeb.html

@@ -8,84 +8,106 @@
 		</div>
 		<div class="modal-body">
 			<div class="pop_cont">
-				<h6>상품쿠폰</h6>
-				<div class="area_item_coupon">
-					<th:block th:each="goods, i : ${goodsApplyCpnList}">
-						<th:block th:if="${goods.goodsCpnList.size() > 0}">
-							<div id="item1" class="apply_item">
-								<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="option" th:each="opt, index : ${goods.itemNmArr}"></div>
-										</figcaption>
-									</figure>
-								</div>
-								<div class="form_field">
-									<div class="select_custom coupon_list">
-										<div class="combo">
-											<div class="select">
-												<div class="item_coupon"><p class="empty">선택</p></div>
-											</div>
-											<ul class="list">
-												<input type="hidden" name="cpnType" value="goodsCpn"/>
-												<input type="hidden" name="cpnCartSq" th:value="${goods.cartSq}"/>
-												<input type="hidden" name="custCpnSq" value="0"/>
-												<input type="hidden" name="cpnDcAmt" value="0"/>
-														
-												<!-- 선택처리 class="selected" / 선택불가 aria-disabled="true"추가  -->
-												<th:block th:each="goodsCpn, k : ${goods.goodsCpnList}">
-													<li class="selected">
-														<div class="item_coupon">
-															<p class="name" th:text="${goodsCpn.cpnNm}"></p>
-															<p class="txt">
-																<th:block th:if="${goodsCpn.buyLimitAmt} > 0">
-																	<span th:text="${#numbers.formatInteger(goodsCpn.buyLimitAmt, 1, 'COMMA')}"></span>원 이상 구매시
-																</th:block> 
-																최대 <span th:text="${#numbers.formatInteger(goodsCpn.maxDcAmt, 1, 'COMMA')}"></span>원 할인
-															</p>
-															<p class="discount">
-																<span th:text="${#numbers.formatInteger(goodsCpn.cpnDcAmt, 1, 'COMMA')}"></span>원 할인
-															</p>
-														</div>
+				<!-- 상품쿠폰적용 -->
+				<th:block th:if="${goodsApplyCpnList.size() > 0}">
+					<h6>상품쿠폰</h6>
+					<div class="area_item_coupon">
+						<th:block th:each="goods, i : ${goodsApplyCpnList}">
+							<th:block th:if="${goods.goodsCpnList.size() > 0}">
+								<div class="apply_item goodsCpn">
+									<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="option" th:each="colorNm, index : ${goods.colorNmArr}" th:text="${colorNm}+'/'+${goods.optCd2Arr[index.index]}"></div>
+											</figcaption>
+										</figure>
+									</div>
+									<div class="form_field">
+										<div class="select_custom coupon_list">
+											<div class="combo">
+												<div class="select">
+													<div class="item_coupon"></div>
+												</div>
+												<ul class="list">
+													<input type="hidden" name="cpnType" value="goodsCpn"/>
+													<input type="hidden" name="cpnCartSq" th:value="${goods.cartSq}"/>
+													<input type="hidden" name="custCpnSq" value="0"/>
+													<input type="hidden" name="cpnDcAmt" value="0"/>
+															
+													<!-- 선택처리 class="selected" / 선택불가 aria-disabled="true"추가  -->
+													<th:block th:each="goodsCpn, k : ${goods.goodsCpnList}">
+														<li th:value="${goodsCpn.custCpnSq}" th:data="${goodsCpn.cpnDcAmt}">
+															<div class="item_coupon">
+																<p class="name" th:text="${goodsCpn.cpnNm}"></p>
+																<p class="txt">
+																	<th:block th:if="${goodsCpn.buyLimitAmt} > 0">
+																		<span th:text="${#numbers.formatInteger(goodsCpn.buyLimitAmt, 1, 'COMMA')}"></span>원 이상 구매시
+																	</th:block>
+																	<th:block th:if="${goodsCpn.maxDcAmt} > 0"> 
+																		최대 <span th:text="${#numbers.formatInteger(goodsCpn.maxDcAmt, 1, 'COMMA')}"></span>원 할인
+																	</th:block>
+																</p>
+																<p class="discount">
+																	<span th:text="${#numbers.formatInteger(goodsCpn.cpnDcAmt, 1, 'COMMA')}"></span>원 할인
+																</p>
+															</div>
+														</li>
+													</th:block>
+													<li value="">
+														<div class="item_coupon empty"><p class="empty">적용 안함</p></div>
 													</li>
-												</th:block>
-												<li>
-													<div class="item_coupon">
-														<p class="empty">적용 안함</p>
-													</div>
-												</li>
-											</ul>
+												</ul>
+											</div>
 										</div>
 									</div>
 								</div>
-							</div>
+							</th:block>
 						</th:block>
-					</th:block>
-				</div>
+					</div>
+				</th:block>
+				<!-- //상품쿠폰적용 -->
 				
-				<h6>장바구니 쿠폰</h6>
-				<div class="area_cart_coupon">
-					<div class="form_field">
-						<div>
-							<input type="radio" name="rdi-cart-coupon" id="rdi-cart-coupon1"
-								value="" checked=""> <label for="rdi-cart-coupon1">
-								<div class="cart_coupon">
-									<p class="name">장바구니 쿠폰명1</p>
-									<p class="txt">
-										<span>30,000</span>원 이상 구매시 최대 <span>3,000</span>원 할인
-									</p>
-									<p class="discount">
-										<span>15,000</span>원 할인
-									</p>
+				<!-- 장바구니쿠폰적용 -->
+				<th:block th:if="${cartCpnList.size() > 0}">
+					<h6>장바구니 쿠폰</h6>
+					<div class="area_cart_coupon">
+						<div class="form_field">
+							<input type="hidden" name="cpnType" value="cartCpn"/>
+							<input type="hidden" name="custCpnSq" value="0"/>
+							<input type="hidden" name="cpnDcAmt" value="0"/>
+							
+							<th:block th:each="cartCpn, k : ${cartCpnList}">
+								<div class="cartCpn" th:value="${cartCpn.custCpnSq}">
+									<input type="hidden" name="dcWay" th:value="${cartCpn.dcWay}"/>
+									<input type="hidden" name="dcVal" th:value="${cartCpn.dcVal}"/>
+									<th:block th:each="cartCpnCartSq, kokok : ${cartCpn.cartCpnCartSqArr}"> 
+										<input type="hidden" name="cartCpnCartSq" th:value="${cartCpnCartSq}" />
+									</th:block>
+									
+									<input type="radio" name="rdi-cart-coupon" id="rdi-cart-coupon1" value="">
+									<label for="rdi-cart-coupon1">
+										<div class="cart_coupon">
+											<p class="name" th:text="${cartCpn.cpnNm}"></p>
+											<p class="txt">
+												<th:block th:if="${cartCpn.buyLimitAmt} > 0">
+													<span th:text="${#numbers.formatInteger(cartCpn.buyLimitAmt, 1, 'COMMA')}"></span>원 이상 구매시 
+												</th:block>
+												<th:block th:if="${cartCpn.maxDcAmt} > 0">
+													최대 <span th:text="${#numbers.formatInteger(cartCpn.maxDcAmt, 1, 'COMMA')}"></span>원 할인
+												</th:block>
+											</p>
+											<p class="discount"><span th:text="${#numbers.formatInteger(cartCpn.cpnDcAmt, 1, 'COMMA')}"></span>원 할인</p>
+										</div>
+									</label>
 								</div>
-							</label>
+							</th:block>
 						</div>
 					</div>
-				</div>
-				
+				</th:block>
+				<!-- //장바구니쿠폰적용 -->
 			</div>
 		</div>
 		<div class="modal-footer">
@@ -98,4 +120,17 @@
 </div>
 <a href="#close-modal" rel="modal:close" id="couponModifyPop_close" class="close-modal">Close</a>
 
+<script th:inline="javascript">
+//컨텐츠 호출
+$(document).ready( function() {
+	//상품쿠폰 combo 리스트 설정
+	$(".goodsCpn .select_custom.coupon_list").each(function(){
+		var od_coupon_modify_selecter1 = new sCombo($(this));
+	});
+});
+//팝업 - 할인혜택 > 상품쿠폰변경 선택           
+//var od_coupon_modify_selecter1 = new sCombo('.od_pop.couponModify_pop #item1 .select_custom.coupon_list');
+//var od_coupon_modify_selecter2 = new sCombo('.od_pop.couponModify_pop #item2 .select_custom.coupon_list');
+</script>
+
 </html>

+ 9 - 6
src/main/webapp/WEB-INF/views/web/order/OrderDcAmtInfoWeb.html

@@ -58,6 +58,7 @@
 				</dd>
 			</div>
 			
+			<!-- 배송비쿠폰 -->
 			<th:block th:if="${delvCpnList.size() > 0}">
 				<div>
 					<dt>배송비 쿠폰</dt>
@@ -79,13 +80,11 @@
 												<!-- <li class="selected"> -->
 												<li th:value="${delvCpn.custCpnSq}" th:data="${delvCpn.dcVal}" th:delvfeecd="${delvCpn.delvFeeCd}" th:delvfee="${delvCpn.delvFee}">
 													<div class="dlvr_coupon">
-														<input type="hidden" name="dcWay" th:value="${cartCpn.dcWay}"/>
-														<input type="hidden" name="dcVal" th:value="${cartCpn.dcVal}"/>
+														<input type="hidden" name="dcWay" th:value="${delvCpn.dcWay}"/>
+														<input type="hidden" name="dcVal" th:value="${delvCpn.dcVal}"/>
+														
 														<p class="name" th:text="${delvCpn.cpnNm}"></p>
-														<!-- 
-														<p class="txt"><span th:text="${cartCpn.buyLimitAmt}">30,000</span>원 이상 구매시 최대 <span th:text="${cartCpn.maxDcAmt}">3,000</span>원 할인</p>
-														 -->
-														<p class="discount"><span th:text="${delvCpn.dcVal}"></span>원 할인</p>
+														<p class="discount"><span th:text="${#numbers.formatInteger(delvCpn.dcVal, 1, 'COMMA')}"></span>원 할인</p>
 													</div>
 												</li>
 											</th:block>
@@ -100,6 +99,7 @@
 					</dd>
 				</div>
 			</th:block>
+			<!-- //배송비쿠폰 -->
 		</dl>
 	</div>
 	
@@ -221,6 +221,9 @@ $(document).ready( function() {
 		}
 		
 	}
+	
+	//할인쿠폰(배송비) 선택           
+    var od_dlvrfee_coupon_selecter = new sCombo('.od .odPayment .dlvr_fee_box .select_custom.coupon_list');
 });
 </script>
 </html>

+ 49 - 51
src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html

@@ -497,7 +497,7 @@ $(document).ready( function() {
 	custemerInfoSet();
 	
 	// 999. 개발화면정보설정
-	var devTemp = false;
+	var devTemp = true;
 	var arr = []
 	arr[0] = "orderInfo";
 	arr[1] = "freegiftInfo";
@@ -984,6 +984,9 @@ var dcAmtInfoSet = function() {
 					},
 					success 	: function(result) {
 						$("#couponModifyPop").html(result);
+						
+						// 1.8.2 쿠폰적용초기화(할인율최고)
+						custCpnInit();
 					}
 				});
 				
@@ -991,12 +994,10 @@ var dcAmtInfoSet = function() {
 				$("#btn_couponModify_pop").on("click", function(){
 					$("#couponModifyPop").modal("show");
 				});
+
 				
 				
 				/*
-				// 1.8.2 쿠폰적용초기화(할인율최고)
-				custCpnInit();
-				
 				// 1.8.3 쿠폰 SELECT BOX 기능 설정(js적용)
 				$('.select_custom.type1').each(function(index){
 					var selecter01 	= new sCombo($(this));
@@ -1176,7 +1177,7 @@ var dcAmtInfoSet = function() {
 var custCpnInit = function() {
 	
 	// 쿠폰적용없음적용
-	$(".select_custom.type1").each(function(index){
+	$(".goodsCpn").each(function(index){
 		// select box 쿠폰 적용
 		var cpnCartSq = $(this).find("input[name='cpnCartSq']").val();
 		
@@ -1191,35 +1192,38 @@ var custCpnInit = function() {
 		$(this).find("input[name='custCpnSq']").val("0");
 		$(this).find("input[name='cpnDcAmt']").val("0");
 		
-		$(this).find(".select").text("선택없음");
-		$(this).find(".cp_discount").css("display", "none");
+		// 적용안함 적용
+		var emptyHtml = $(this).find("ul li .item_coupon.empty").html();
+		$(this).find(".select .item_coupon").html(emptyHtml);
 	});
 	
 	// 최대할인율 쿠폰적용
-	$('.select_custom.type1').each(function(index){
-		cpnIndex 		= 0;
+	$('.goodsCpn').each(function(index){
 		cpnApplyTemp 	= false;
 		
 		// select 박스 반복문 실행
 		$(this).find("ul li").each(function(i){
-			cpnIndex++;
-			
-			// 1이상부터 중복 체크
 			if (cpnApplyTemp == false) {
-				if (cpnIndex > 1) {
-					if (custCpnDuplicationCheck($(this).prop("value"), index)) {
-						// 쿠폰적용
-						custCpnApply($(this));
-						// 쿠폰할인적용
-						cpnApplyTemp = true;
-					}
+				if (custCpnDuplicationCheck($(this).prop("value"), index)) {
+					// 쿠폰적용
+					custCpnApply($(this));
+					// 쿠폰할인적용
+					cpnApplyTemp = true;
 				}
 			}
 		});
 	});
 	
+	// 장바구니쿠폰 초기화 적용
+	$(".cartCpn").each(function(index) {
+		if (index == 0) {
+			// 쿠폰적용
+			custCpnApply($(this));
+		}
+	});
+	
 	// 포인트기능 리렛
-	pntDcAmtReset();
+	//pntDcAmtReset();
 }
 
 // 1.10 쿠폰중복사용체크
@@ -1228,7 +1232,7 @@ var custCpnDuplicationCheck = function(custCpnSq, index) {
 	var cnt 		= 0;
 
 	// 쿠폰중본사용체크
-	$("input[name='custCpnSq']").each(function(i){
+	$(".goodsCpn input[name='custCpnSq']").each(function(i){
 		if (index != i) {
 			selCustSq = $(this).val();
 			if (selCustSq == custCpnSq) {
@@ -1250,30 +1254,20 @@ var custCpnDuplicationCheck = function(custCpnSq, index) {
 // 1.11 쿠폰중복체크 후 적용가능
 var custCpnApply = function(obj) {
 	// select box 쿠폰 적용
-	var cpnType 	= obj.parent().parent().find("input[name='cpnType']").val();
+	var cpnType 	= obj.parent().find("input[name='cpnType']").val();
 	
 	// 상품쿠폰적용
 	if (cpnType == "goodsCpn") {
-		// 적용된 할인금액 text 설정 
-		var dcAmtStr = "- " + parseInt(obj.attr("data")).addComma() + " 원 할인적용";
-		obj.parent().parent().parent().parent().parent().find(".cp_amount").text(dcAmtStr);
-		
-		var cpnCartSq 	= obj.parent().parent().find("input[name='cpnCartSq']").val();
-		
-		// 장바구니시퀀스 체크
-		$(".cartSq").each(function(){
-			if (cpnCartSq == $(this).text()) {
-				$(this).parent().find(".goodsCpnSq").text(obj.prop("value"));			// 상품쿠폰시퀀스
-				$(this).parent().find(".goodsCpnDcAmt").text(obj.attr("data"));			// 상품쿠폰할인금액
-			}
-		});
-		
-		obj.parent().parent().find("input[name='cpnDcAmt']").val(obj.attr("data"));
+		// 적용안함 적용
+		var itemHtml = obj.find(".item_coupon").html();
+		obj.parent().parent().find(".select .item_coupon").html(itemHtml);
+		obj.parent().find("input[name='cpnDcAmt']").val(obj.attr("data"));
+		obj.parent().find("input[name='custCpnSq']").val(obj.attr("value"));
 	} 
 	// 장바구니쿠폰적용
 	else if (cpnType == "cartCpn") {
-		var dcWay 				= obj.parent().find("input[name='dcWay']").val();
-		var dcVal 				= obj.parent().find("input[name='dcVal']").val();
+		var dcWay 				= obj.find("input[name='dcWay']").val();
+		var dcVal 				= obj.find("input[name='dcVal']").val();
 		var cartCpnDcSumAmt		= 0;
 		var tempSumAmt			= 0;
 		var cartSqLen			= $(".cartSq").length;
@@ -1297,7 +1291,7 @@ var custCpnApply = function(obj) {
 					tempSumAmt			= tempSumAmt + tempAmt; 
 					
 					// 할인율일때 할인금액 
-					if (dcWay == "G240_20") {
+					if (dcWay == "G240_11") {
 						cartCpnDcAmt = (tempAmt * dcVal) / 100;
 						cartCpnDcSumAmt = cartCpnDcSumAmt + cartCpnDcAmt;
 						
@@ -1338,20 +1332,20 @@ var custCpnApply = function(obj) {
 							leftAmt 		= leftAmt - cartCpnDcAmt;
 						}
 						
-						$(this).parent().find(".cartCpnSq").text(obj.prop("value"));
+						$(this).parent().find(".cartCpnSq").text(obj.attr("value"));
 						$(this).parent().find(".cartCpnDcAmt").text(cartCpnDcAmt);
 						
 						index++;
 					}
 				});
 			});
-		} 
-		
-		obj.parent().parent().find("input[name='cpnDcAmt']").val(cartCpnDcSumAmt);
+		}
 		
-		var dcAmtStr = "- " + cartCpnDcSumAmt.addComma() + " 원 할인적용";
-		obj.parent().parent().parent().parent().parent().find(".cp_amount").text(dcAmtStr);
+		obj.find("input[name=rdi-cart-coupon]").prop("checked", true);
+		obj.parent().find("input[name=cpnDcAmt]").val(cartCpnDcSumAmt);
+		obj.parent().find("input[name=custCpnSq]").val(obj.attr("value"));
 	}
+	/*
 	// 배송비쿠폰적용
 	else if (cpnType == "delvCpn") {
 		var delvFee 		= parseInt(obj.attr("delvfee"));
@@ -1376,7 +1370,6 @@ var custCpnApply = function(obj) {
 		$(".delvCpnDcSumAmt").text(obj.attr("data"));
 				
 		// 배송비쿠폰 테이블 적용
-		
 		$(".delvFeeCd").each(function(){
 			if ($(this).text() == delvFeeCd) {
 				$(this).parent().find(".delvCpnSq").text(obj.prop("value"));
@@ -1384,20 +1377,22 @@ var custCpnApply = function(obj) {
 			}
 		});
 	}
+	*/
 	
 	// select box 쿠폰 적용 (공통적용)
-	obj.parent().parent().find("input[name='custCpnSq']").val(obj.prop("value"));
-	obj.parent().parent().find(".select").text(obj.text());
+	obj.parent().find("input[name='custCpnSq']").val(obj.prop("value"));
 	
 	// 선택된 할인금액 노출
-	obj.parent().parent().parent().parent().parent().find(".cp_discount").css("display", "block");
+	//obj.parent().parent().parent().parent().parent().find(".cp_discount").css("display", "block");
 	
 	// 포인트기능 리렛
-	pntDcAmtReset();
+	//pntDcAmtReset();
+	
 }
 
 // 1.12 쿠폰중복체크 후 적용불가
 var custCpnNotApply = function(obj) {
+	/*
 	// 이전에 등록된 쿠폰시퀀스  
 	var custCpnSq = obj.parent().parent().find("input[name='custCpnSq']").val();
 
@@ -1416,10 +1411,12 @@ var custCpnNotApply = function(obj) {
 	
 	// 포인트기능 리렛
 	pntDcAmtReset();
+	*/
 }
 
 // 1.13 쿠폰 선택없음 기능 구현
 var cpnApplyDel = function(obj) {
+	/*
 	// 쿠폰타입(상품쿠폰, 장바구니쿠폰, 배송비쿠폰)
 	var cpnType = obj.parent().parent().find("input[name='cpnType']").val();
 	
@@ -1468,6 +1465,7 @@ var cpnApplyDel = function(obj) {
 	if ($("#chk-maxdisc").is(":checked")) {
 		$("#chk-maxdisc").attr("checked", false);
 	}
+	*/
 }
 
 // 1.14 선포인트리셋기능 (사용안함)

+ 6 - 4
src/main/webapp/WEB-INF/views/web/order/OrderListInfoWeb.html

@@ -46,9 +46,11 @@
 									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="option" th:each="opt, index : ${goods.itemNmArr}">
-										<span th:text="${goods.optCdArr[index.index]}"></span> 
+									<div class="name" th:text="${goods.goodsNm}"></div>									
+									<div class="option" th:each="colorNm, index : ${goods.colorNmArr}">
+										<span th:text="${colorNm}+'/'+${goods.optCd2Arr[index.index]}"></span> 
+									</div>
+									<div class="option">
 										<span>수량:<em th:text="${goods.goodsQty}"></em>개</span>
 									</div>
 									<div class="price">
@@ -56,7 +58,7 @@
 											<span class="selling_price"  th:text="${#numbers.formatInteger(goods.tmtbDcAmt, 1, 'COMMA')}"></span>
 										</th:block>
 										<th:block th:if="${goods.tmtbDcAmt} < 1">
-											<span class="selling_price"  th:text="${#numbers.formatInteger(goods.currPrice, 1, 'COMMA')}"></span>
+											<span class="selling_price"  th:text="${#numbers.formatInteger((goods.currPrice + goods.optAddPrice) * goods.goodsQty, 1, 'COMMA')}"></span>
 										</th:block>
 									</div>
 								</figcaption>