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

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

@@ -414,6 +414,15 @@ public interface TscOrderDao {
 	 */	
 	Collection<Order> getGoodsCartCpnApplyGoodsList(Order order);
 	
+	/**
+	 * 배송비쿠폰 조회
+	 *
+	 * @param Order
+	 * @author jsh77b
+	 * @since 2021. 02. 02
+	 */	
+	Collection<Order> getDelvCpnList(Order order);
+	
 	/**
 	 * 총알배송 가능 시간 체크
 	 *

+ 26 - 4
src/main/java/com/style24/core/biz/service/TscFreegiftService.java

@@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Service;
 
+import com.gagaframework.web.parameter.GagaMap;
 import com.style24.core.biz.dao.TscFreegiftDao;
 import com.style24.core.support.message.TscMessageByLocale;
 import com.style24.persistence.domain.Order;
@@ -39,9 +40,12 @@ public class TscFreegiftService {
 	 * @author jsh77b
 	 * @since 2020. 12. 16
 	 */
-	public Collection<Order> getOrderFreegift(Order order) {
+	@SuppressWarnings("null")
+	public GagaMap getOrderFreegift(Order order) {
 		
-		Collection<Order> freegiftGoodsApplyValList = null;
+		GagaMap resultMap = new GagaMap();
+		Collection<Order> freegiftGoodsList 	= null;
+		Collection<Order> freegiftList 			= null;
 		
 		// 1. 장바구니 담긴 상품으로 적용된 사은품 프로모션 정보 조회 (with 상품금액)
 		Collection<Order> fregiftGoodsApplyAmtList = freegiftDao.getFreeGiftGoodsApplyAmt(order);
@@ -51,6 +55,7 @@ public class TscFreegiftService {
 			int[] freegiftSqArr = new int[fregiftGoodsApplyAmtList.size()];
 			
 			int i = 0;
+			int tempFreegiftSq = 0;
 			
 			// 사은품시퀀스(FREEGIFT_SQ), 사은품시퀀스합계금액(FREEGIFT_AMT)
 			for (Order fregiftGoodsApplyAmt : fregiftGoodsApplyAmtList) {
@@ -93,11 +98,28 @@ public class TscFreegiftService {
 				
 				// 3. 사은품 적용구간 의 적용 사은품정보조회
 				order.setFreegiftSectionSqArr(freegiftSectionSqArr);
-				freegiftGoodsApplyValList = freegiftDao.getFreeGiftGoodsApplyVal(order);
+				Collection<Order> freegiftGoodsApplyValList = freegiftDao.getFreeGiftGoodsApplyVal(order);
+				
+				if (freegiftGoodsApplyValList.size() > 0) {
+					freegiftList 		= new ArrayList<Order>();
+					freegiftGoodsList 	= new ArrayList<Order>();
+
+					for (Order freegiftGoodsApplyVal : freegiftGoodsApplyValList) {
+						if (freegiftGoodsApplyVal.getFreegiftSq() != tempFreegiftSq) {
+							freegiftList.add(freegiftGoodsApplyVal);
+							tempFreegiftSq = freegiftGoodsApplyVal.getFreegiftSq();
+						}
+						
+						freegiftGoodsList.add(freegiftGoodsApplyVal);
+					}
+				}
 			}
 		}
 		
-		return freegiftGoodsApplyValList;
+		resultMap.set("freegiftGoodsList"	, freegiftGoodsList);
+		resultMap.set("freegiftList"		, freegiftList);
+		
+		return resultMap;
 	}
 	
 	/**

+ 79 - 13
src/main/java/com/style24/core/biz/service/TscOrderService.java

@@ -643,8 +643,74 @@ public class TscOrderService {
 	 * @author jsh77b
 	 * @since 2021. 02. 02
 	 */	
-	public Collection<Order> getGoodsCartCpnApplyGoodsList(Order order) {
-		return orderDao.getGoodsCartCpnApplyGoodsList(order);
+	public GagaMap getGoodsCartCpnApplyGoodsList(Order order) {
+		
+		GagaMap resultMap = new GagaMap();
+		
+		Collection<Order> goodsCartCpnApplyList = orderDao.getGoodsCartCpnApplyGoodsList(order);
+		
+		Collection<Order> goodsCpnList 	= new ArrayList<Order>();
+		Collection<Order> cartCpnList 	= new ArrayList<Order>();
+		
+		if (goodsCartCpnApplyList.size() > 0) {
+			for (Order goodsCartCpnApply : goodsCartCpnApplyList) {
+				// 상품쿠폰목록
+				if ("G230_11".equals(goodsCartCpnApply.getCpnType())) {
+					goodsCpnList.add(goodsCartCpnApply);
+				} 
+				// 장바구니쿠폰목록
+				else if ("G230_20".equals(goodsCartCpnApply.getCpnType())) {
+					cartCpnList.add(goodsCartCpnApply);
+				}
+			}
+		}
+		
+		resultMap.set("goodsCpnList"	, goodsCpnList);
+		resultMap.set("cartCpnList"		, cartCpnList);
+		
+		return resultMap;
+	}
+	
+	/**
+	 * 배송비쿠폰 조회
+	 *
+	 * @param Order
+	 * @author jsh77b
+	 * @since 2021. 02. 02
+	 */	
+	public Collection<Order> getDelvCpnList(Order order) {
+		return orderDao.getDelvCpnList(order);
+	}
+	
+	public Collection<Order> getGoodsCpnApplyList(Collection<Order> tmtbGoodsApplyList, Collection<Order> goodsCartCpnApplyGoodsList) {
+		
+		Collection<Order> goodsCpnApplyList = new ArrayList<Order>();
+		
+		// 쿠폰대상이 있는 상품들만 정리
+		for (Order tmtbGoods : tmtbGoodsApplyList) {
+			for (Order goodsCartCpn : goodsCartCpnApplyGoodsList) {
+				
+				// 상품코드비교후 담기
+				if (tmtbGoods.getGoodsCd().equals(goodsCartCpn.getGoodsCd())) {
+					
+					Boolean temp = false;
+					
+					// 이미 담긴 상풐은 제외
+					for (Order goodsCpnApply : goodsCpnApplyList) {
+						if (tmtbGoods.getGoodsCd().equals(goodsCpnApply.getGoodsCd())) {
+							temp = true;
+						}
+					}
+					
+					if (temp == false) {
+						goodsCpnApplyList.add(tmtbGoods);
+					}
+				}
+				
+			}
+		}
+		
+		return goodsCpnApplyList;
 	}
 	
 	/**
@@ -666,10 +732,10 @@ public class TscOrderService {
 	 * @since 2021. 02. 02
 	 */	
 	@SuppressWarnings({ "unchecked", "rawtypes" })
-	public Order getCartDelvGoodsCntList(Collection<Order> cartGoodsList) {
+	public GagaMap getCartDelvGoodsCntList(Collection<Order> cartGoodsList) {
 		
 		// 1. 장바구니 상품 배송단위별 건수 체크 로직 (자사:총알배송, 자사:일반배송, 입점업체, 예약배송)
-		Order delvOrder = new Order();
+		GagaMap resultMap = new GagaMap();
 		
 		int wmsCnt 			= 0; // 자사배송 (style 24) 건수
 		int resCnt 			= 0; // 자사예약배송 건수
@@ -728,16 +794,16 @@ public class TscOrderService {
 			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);		// 입점업체 상품 목록
+		resultMap.set("wmsCnt"				, wmsCnt);				// 자사몰 일반배송건수
+		resultMap.set("resCnt"				, resCnt);				// 자사몰 예약배송건수
+		resultMap.set("delvCnt"				, delvCnt);				// 입점업체 배송건수
+		resultMap.set("delvTotCnt"			, delvTotCnt);			// 배송유형건수
+		resultMap.set("delvFeeTotCnt"		, delvFeeTotCnt);		// 전체배송건수
+		resultMap.set("wmsCartList"			, wmsCartList);			// 자사 일반상품 목록
+		resultMap.set("resCartList"			, resCartList);			// 자사 예약상품 목록
+		resultMap.set("delvCartList"		, delvCartList);		// 입점업체 상품 목록
 				
-		return delvOrder;
+		return resultMap;
 	}
 	
 	/**

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

@@ -126,7 +126,7 @@
 			#{item}
 		</foreach>
 		ORDER  BY FG.FREEGIFT_SQ
-		        , FGB.FREEGIFT_SECTION_SQ
+		        , FGV.FREEGIFT_SECTION_SQ
 		        , FGV.USE_POINT
 	</select>