xodud1202 5 年之前
父节点
当前提交
54489c9c6c

+ 9 - 0
src/main/java/com/style24/core/biz/dao/TscOrderDao.java

@@ -405,6 +405,15 @@ public interface TscOrderDao {
 	 */	
 	Collection<Order> getGoodsCartCpnApplyGoodsList(Order order);
 	
+	/**
+	 * 총알배송 가능 시간 체크
+	 *
+	 * @param Order
+	 * @author jsh77b
+	 * @since 2021. 02. 02
+	 */	
+	int getDailyDeliveryTimeInfo();
+	
 	/**
 	 * 총알배송 가능 지역 체크
 	 *

+ 18 - 16
src/main/java/com/style24/core/biz/service/TscFreegiftService.java

@@ -41,18 +41,17 @@ public class TscFreegiftService {
 	 */
 	public Collection<Order> getOrderFreegift(Order order) {
 		
-		Collection<Order> freegiftList = new ArrayList<Order>();
-		
 		// 1. 장바구니 담긴 상품으로 적용된 사은품 프로모션 정보 조회 (with 상품금액)
 		Collection<Order> fregiftGoodsApplyAmtList = freegiftDao.getFreeGiftGoodsApplyAmt(order);
 		
 		int[] freegiftSqArr = new int[fregiftGoodsApplyAmtList.size()];
 		
-		int i= 0;
+		int i = 0;
 		
 		// 사은품시퀀스(FREEGIFT_SQ), 사은품시퀀스합계금액(FREEGIFT_AMT)
 		for (Order fregiftGoodsApplyAmt : fregiftGoodsApplyAmtList) {
 			freegiftSqArr[i] = fregiftGoodsApplyAmt.getFreegiftSq();
+			i++;
 		}
 		
 		order.setFreegiftSqArr(freegiftSqArr);
@@ -62,29 +61,32 @@ public class TscFreegiftService {
 		
 		int[] freegiftSectionSqArr = new int[fregiftGoodsApplyAmtList.size()];
 		
+		int tempFreegiftSectionSq = 0;
+		int k = 0;
+		
 		// 사은품시퀀스(FREEGIFT_SQ), 사은품시퀀스합계금액(FREEGIFT_AMT)
 		for (Order fregiftGoodsApplyAmt : fregiftGoodsApplyAmtList) {
-			
-			int freegiftAmt = fregiftGoodsApplyAmt.getFreegiftAmt();
-			int freegiftSq = fregiftGoodsApplyAmt.getFreegiftSq();
+			int freegiftAmt 	= fregiftGoodsApplyAmt.getFreegiftAmt();
 			
 			// 사은풐구간시퀀스(FREEGIFT_SECTION_SQ, 사은품시퀀스(FREEGIFT_SQ), 사은풐구간금액(SECTION_VAL)
 			for (Order freegiftGoodsApplySection : freegiftGoodsApplySectionList) {
-				int freegiftSectionSq = freegiftGoodsApplySection.getFreegiftSectionSq();
-				int sectionVal = freegiftGoodsApplySection.getSectionVal();
-				
-				
+				int freegiftSectionSq 	= freegiftGoodsApplySection.getFreegiftSectionSq();
+				int sectionVal 			= freegiftGoodsApplySection.getSectionVal();
 				
+				if (freegiftAmt > sectionVal) {
+					tempFreegiftSectionSq = freegiftSectionSq;
+				} else {
+					freegiftSectionSqArr[k] = tempFreegiftSectionSq;
+					k++;
+				}
 			}
 		}
 		
+		// 3. 사은품 적용구간 의 적용 사은품정보조회
+		order.setFreegiftSectionSqArr(freegiftSectionSqArr);
+		Collection<Order> freegiftGoodsApplyValList = freegiftDao.getFreeGiftGoodsApplyVal(order);
 		
-		
-		
-		
-		
-		
-		return freegiftList;
+		return freegiftGoodsApplyValList;
 	}
 	
 

+ 55 - 14
src/main/java/com/style24/core/biz/service/TscOrderService.java

@@ -658,15 +658,17 @@ public class TscOrderService {
 		// 1. 장바구니 상품 배송단위별 건수 체크 로직 (자사:총알배송, 자사:일반배송, 입점업체, 예약배송)
 		Order delvOrder = new Order();
 		
-		int wmsCnt 	= 0;
-		int resCnt 	= 0;
-		int delvCnt = 0;
+		int wmsCnt 			= 0; // 자사배송 (style 24) 건수
+		int resCnt 			= 0; // 자사예약배송 건수
+		int delvCnt 		= 0; // 업체직배송 건수
+		int delvFeeTotCnt 	= 0; // 배송단위 총 건수
+		int delvTotCnt		= 0; // 배송 총 건수
 		
-		Collection<Order> wmsCartList = (Collection<Order>)new ArrayList();
-		Collection<Order> resCartList = (Collection<Order>)new ArrayList();
-		Collection<Order> delvCartList = (Collection<Order>)new ArrayList();
+		Collection<Order> wmsCartList 	= (Collection<Order>)new ArrayList();
+		Collection<Order> resCartList 	= (Collection<Order>)new ArrayList();
+		Collection<Order> delvCartList 	= (Collection<Order>)new ArrayList();
 		
-		for (Order order : cartGoodsList) {			
+		for (Order order : cartGoodsList) {
 			
 			// 1.1 배송정책별 상품 구분
 			if (order.getDelvFeeCd().equals("WMS")) {
@@ -680,18 +682,57 @@ public class TscOrderService {
 			else {
 				delvCartList.add(order);
 				delvCnt++;
-			}			
+			}
+			
+			delvTotCnt++;		
 		}
 		
-		delvOrder.setWmsCnt(wmsCnt);
-		delvOrder.setResCnt(resCnt);
-		delvOrder.setDelvCnt(delvCnt);
-		delvOrder.setWmsCartList(wmsCartList);
-		delvOrder.setResCartList(resCartList);
-		delvOrder.setDelvCartList(delvCartList);
+		// 입점업체건수 적용
+		delvFeeTotCnt = delvCnt;
+		
+		// 자사배송건수 1추가
+		if (wmsCnt > 0) {
+			delvFeeTotCnt++;
+		} 
+		
+		// 자사 예약배송건술 1추가
+		if (resCnt > 0) {
+			delvFeeTotCnt++;
+		}
+		
+		delvOrder.setWmsCnt(wmsCnt);					// 자사몰 일반배송건수
+		delvOrder.setResCnt(resCnt);					// 자사몰 예약배송건수
+		delvOrder.setDelvCnt(delvCnt);					// 입점업체 배송건수
+		delvOrder.setDelvTotCnt(delvTotCnt);			// 배송유형건수
+		delvOrder.setDelvFeeTotCnt(delvFeeTotCnt);		// 전체배송건수
+		delvOrder.setWmsCartList(wmsCartList);			// 자사 일반상품 목록
+		delvOrder.setResCartList(resCartList);			// 자사 예약상품 목록
+		delvOrder.setDelvCartList(delvCartList);		// 입점업체 상품 목록
 				
 		return delvOrder;
 	}
+	
+	/**
+	 * 총알배송가능 지역, 총알배송 가능 시간 체크
+	 *
+	 * @param Order
+	 * @author jsh77b
+	 * @since 2021. 02. 02
+	 */	
+	public int getDailyDeliveryCheck(Order order) {
+		
+		int rtn = 0;
+		
+		// 1. 총알배송 가능 시간 체크
+		if (orderDao.getDailyDeliveryTimeInfo() > 0) {
+			// 2. 총알배송 가능 지역 제크
+			if (orderDao.getDailyDeliveryTimeInfo() > 0) {
+				rtn = 1;
+			}
+		} 
+		
+		return rtn;
+	}
 
 	/**
 	 * 마이페이지 주문 정보 조회

+ 2 - 0
src/main/java/com/style24/persistence/domain/Order.java

@@ -396,6 +396,8 @@ public class Order extends TscBaseDomain {
 	private int wmsCnt;
 	private int resCnt;
 	private int delvCnt;
+	private int delvTotCnt;
+	private int delvFeeTotCnt;
 	
 	Collection<Order> wmsCartList;
 	Collection<Order> resCartList;

+ 4 - 4
src/main/java/com/style24/persistence/mybatis/shop/TscFreegift.xml

@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.style24.core.biz.dao.TsfFreegiftDao">
+<mapper namespace="com.style24.core.biz.dao.TscFreegiftDao">
 
 	<!-- 사은품 : 1차조건 적용된 사음품 정보, 상품 금액 조회 -->
 	<select id="getFreeGiftGoodsApplyAmt" parameterType="Order" resultType="Order">
-		/* TsfOrder.getFreeGiftGoodsApplyAmt */
+		/* freegift.getFreeGiftGoodsApplyAmt */
 		WITH GOODS_DATA AS (
 			SELECT CA.GOODS_CD
 			     , G.SUPPLY_COMP_CD
@@ -80,7 +80,7 @@
 	
 	<!-- 사은품 : 2차조건 적용된 사은품상품금액 구간정보조회 -->
 	<select id="getFreeGiftGoodsApplySection" parameterType="Order" resultType="Order">
-		/* TsfOrder.getFreeGiftGoodsApplySection */
+		/* freegift.getFreeGiftGoodsApplySection */
 		SELECT FGS.FREEGIFT_SECTION_SQ
 		     , FGS.FREEGIFT_SQ
 		     , FGS.SECTION_VAL
@@ -100,7 +100,7 @@
 	
 	<!-- 사은품 : 3차조건 적용된 구간정보의 사은품정보조회 -->
 	<select id="getFreeGiftGoodsApplyVal" parameterType="Order" resultType="Order">
-		/* TsfOrder.getFreeGiftGoodsApplyVal */
+		/* freegift.getFreeGiftGoodsApplyVal */
 		SELECT FGV.FREEGIFT_SECTION_SQ 
 		     , FGV.FREEGIFT_SQ 
 		     , FGV.USE_POINT

+ 13 - 1
src/main/java/com/style24/persistence/mybatis/shop/TscOrder.xml

@@ -1784,7 +1784,17 @@
 		   AND CG.USE_ST_DATE <![CDATA[<]]> CURRENT_TIMESTAMP
 		   AND CG.USE_EXP_DATE > CURRENT_TIMESTAMP
 	</select>
-	
+
+	<!-- 총알배송 가능시간 조회 -->
+	<select id="getDailyDeliveryTimeInfo" resultType="int">
+		/* order.getDailyDeliveryTimeInfo */
+		SELECT CASE WHEN TIME_FORMAT(NOW(), '%H%i%S') > 10300
+		            THEN 0
+		            ELSE 1
+		            END  SHOT_DELV_ABLE_YN
+		FROM   DUAL
+	</select>
+		
 	<!-- 총알배송 가능지역 조회 -->
 	<select id="getDailyDeliveryZoneInfo" parameterType="Order" resultType="int">
 		/* TscOrder.getDailyDeliveryZoneInfo */
@@ -1794,6 +1804,8 @@
 		   AND ZIP_NO = #{zipNo}
 	</select>
 	
+
+	
 	<!-- 상품쿠폰, 장바구니쿠폰 적용 상품 조회 -->
 	<select id="getGoodsCartCpnApplyGoodsList" parameterType="Order" resultType="Order">
 		/* TscOrder.getGoodsCartCpnApplyGoodsList */