Forráskód Böngészése

Merge remote-tracking branch 'origin/jsh77b' into order

card007 5 éve
szülő
commit
f94e52e9a6

+ 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

@@ -659,15 +659,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")) {
@@ -681,18 +683,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;
+	}
 
 	/**
 	 * 마이페이지 주문 정보 조회

+ 6 - 1
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;
@@ -420,12 +422,15 @@ public class Order extends TscBaseDomain {
 
 	// 다다익선
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
-	private int[] tmtbSqs;			// 다다익선 일련번호
+	private int[] tmtbSqs;							// 다다익선 일련번호
 	private int applyAmtSectionVal;					// 적용 조건
 	private int applyQtySectionVal;					// 적용 조건
+	private int dcVal;								// 할인값
+	private int tmtbCnt;							// 다다익선 수량
 	private int sectionVal;							// 다다익선 조건
 	private int tmtbSumQty;							// 장바구니 수량 다다익선 총계
 	private int tmtbSumAmt;							// 장바구니 금액 다다익선 총계
+	private int tmtbCurrPrice;						// 다다익선 적용 후 금액
 	private String goodsGb;
 	private String applyGb;							// 다다익선 할인 기준
 	private String applyQtySectionYn;				// 다다익선 적용 여부

+ 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

+ 20 - 8
src/main/java/com/style24/persistence/mybatis/shop/TscOrder.xml

@@ -1600,7 +1600,7 @@
 	
 	<!-- 장바구니 상품 목록 조회 (업체별 배송단위) -->
 	<select id="getCartGoodsList" parameterType="Order" resultType="Order">
-		/* TsfOrder.getCartGoodsList */
+		/* order.getCartGoodsList */
 		SELECT Z.*
 		  FROM (
 			SELECT CA.CART_SQ
@@ -1689,7 +1689,7 @@
 	
 	<!-- 고객정보 조회 -->
 	<select id="getCustemerInfo" parameterType="Order" resultType="Order">
-		/* TsfOrder.getCustemerInfo */
+		/* order.getCustemerInfo */
 		SELECT CU.CUST_NM
 		     , CU.EMAIL
 		     , CU.CELL_PHNNO
@@ -1701,7 +1701,7 @@
 	
 	<!-- 배송지정보 조회 -->
 	<select id="getDeliveryAddrInfo" parameterType="Order" resultType="Order">
-		/* TsfOrder.getDeliveryAddrInfo */
+		/* order.getDeliveryAddrInfo */
 		SELECT CDA.DELV_ADDR_NM
 		     , CDA.RECIP_ZIPCODE
 		     , CDA.RECIP_BASE_ADDR
@@ -1718,7 +1718,7 @@
 	
 	<!-- 포인트정보 조회 -->
 	<select id="getCustPointInfo" parameterType="Order" resultType="int">
-		/* TsfOrder.getCustPointInfo */
+		/* order.getCustPointInfo */
 		SELECT IFNULL(SUM(CP.RM_PNT_AMT), 0) AS RM_PNT_AMT
 		  FROM TB_CUST_POINT CP
 		 WHERE 1=1
@@ -1729,7 +1729,7 @@
 	
 	<!-- 상품권정보 조회 -->
 	<select id="getGiftcardInfo" parameterType="Order" resultType="int">
-		/* TsfOrder.getGiftcardInfo */
+		/* order.getGiftcardInfo */
 		SELECT IFNULL(SUM(CG.RM_GFCD_AMT), 0) AS RM_GFCD_AMT
 		  FROM TB_CUST_GIFTCARD CG
 		 WHERE 1=1
@@ -1737,19 +1737,31 @@
 		   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">
-		/* TsfOrder.getDailyDeliveryZoneInfo */
+		/* order.getDailyDeliveryZoneInfo */
 		SELECT COUNT(1)
 		  FROM TB_DAILY_DELIVERY_ZONE DC
 	 	 WHERE 1=1
 		   AND ZIP_NO = #{zipNo}
 	</select>
 	
+
+	
 	<!-- 상품쿠폰, 장바구니쿠폰 적용 상품 조회 -->
 	<select id="getGoodsCartCpnApplyGoodsList" parameterType="Order" resultType="Order">
-		/* TsfOrder.getGoodsCartCpnApplyGoodsList */
+		/* order.getGoodsCartCpnApplyGoodsList */
 		WITH GOODS_DATA AS (
 			SELECT CA.GOODS_CD
 			     , G.SUPPLY_COMP_CD