Parcourir la source

Merge branch 'eskim' into develop

eskim il y a 5 ans
Parent
commit
53ddfefa64

+ 3 - 1
src/main/java/com/style24/front/biz/service/TsfGoodsService.java

@@ -79,7 +79,7 @@ public class TsfGoodsService {
 			} else {
 				goodsViewHst.setReferer(referer);
 			}
-		}
+		} 
 
 		if (TsfSession.getInfo() != null) {
 			goodsViewHst.setCustNo(TsfSession.getInfo().getCustNo());
@@ -702,6 +702,8 @@ public class TsfGoodsService {
 			goodsExtend.setGoodsNotiList(goodsDao.getGoodsNotiList(tmpGoods));
 			// 이미지 정보
 			goodsExtend.setGoodsImgList(goodsDao.getGoodsImgList(tmpGoods));
+			// 상품 안전인증 정보
+			goodsExtend.setGoodsSafeNo(goodsDao.getGoodsSafeNo(tmpGoods));
 
 		}
 		return getGoodsSetComposeList;

+ 30 - 5
src/main/java/com/style24/front/biz/web/TsfGoodsController.java

@@ -1125,19 +1125,44 @@ public class TsfGoodsController extends TsfBaseController {
 	 */
 	@PostMapping(value = "/coupon/download")
 	@ResponseBody
-	public GagaMap createGoodsCoupon(@RequestBody Goods goods) throws Exception {
+	public GagaMap createGoodsCoupon(@RequestBody Goods paramsGoods) throws Exception {
 
 		GagaMap result = new GagaMap();
 
 		// 상품관련 기본값 설정(회원 등급, 앱, PC/모바일 등)
-		setGoods(goods);
+		setGoods(paramsGoods);
+		log.info("createGoodsCoupon  paramsGoods {}", paramsGoods);
+
+		// 일반상품과 딜상품 구분
+		Goods goods = goodsService.getGoodsInfo(paramsGoods);
+		if (goods == null || StringUtils.isBlank(goods.getGoodsCd())) {
+			result.set("message", "발급가능 쿠폰이 없습니다.");
+			result.set("status", "200");
+			result.set("params", paramsGoods);
+			return result;
+		}
+		
 		log.info("createGoodsCoupon  goods {}", goods);
+		if (TscConstants.GoodsType.DEAL.value().equals(goods.getGoodsType())) { 
+			Collection<Goods> goodsDealComposeList = goodsService.getGoodsDealComposeList(paramsGoods);
+			// 상품쿠폰
+			if (goodsDealComposeList != null && !goodsDealComposeList.isEmpty()) {
 
+				ArrayList<String> arrGoodsList = new ArrayList<>();
+				for (Goods goodsCompose : goodsDealComposeList) {
+					arrGoodsList.add(goodsCompose.getCompsGoodsCd());
+				}
+
+				String[] arrGoodsCd = arrGoodsList.stream().toArray(String[]::new);
+				paramsGoods.setArrGoodsCd(arrGoodsCd);
+			}
+		}
+		
 		// 쿠폰발급
 		// ERROR_10: 발급가능 쿠폰없음, 20: 발급완료 쿠폰, 30: 발급받은 쿠폰
 		//죄송합니다. 쿠폰이 모두 소진되었습니다
 		//죄송합니다. 해당 쿠폰은 다운로드가 불가합니다.
-		String couponResult = goodsService.createGoodsCoupon(goods);
+		String couponResult = goodsService.createGoodsCoupon(paramsGoods);
 
 		result.set("status", GagaResponseStatus.SUCCESS.getCode());
 
@@ -1156,8 +1181,8 @@ public class TsfGoodsController extends TsfBaseController {
 
 		}
 		result.set("status", "200");
-		result.set("params", goods);
-		result.set("goodsCouponList", couponService.getGoodsCouponList(goods));
+		result.set("params", paramsGoods);
+		result.set("goodsCouponList", couponService.getGoodsCouponList(paramsGoods));
 		return result;
 	}
 

+ 1 - 0
src/main/java/com/style24/persistence/domain/GoodsCompose.java

@@ -50,6 +50,7 @@ public class GoodsCompose extends TscBaseDomain {
 	private Collection<GoodsNotiInfo> goodsNotiList;
 	private Collection<GoodsStock> goodsSizeList;
 	private Collection<GoodsImg> goodsImgList;
+	private GoodsSafeNo goodsSafeNo;
 
 	//상품상세 구분(10:상품타이틀,20:상품타이틀내용,30:상품특징,40:상위컨텐츠,50:하위컨텐츠,60:상위컨텐츠-모바일,70:하위컨텐츠-모바일,80:상품상세(as-is,입점))
 	private String goodsTitle; 			// 10:상품타이틀

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

@@ -647,7 +647,7 @@
 		                        GROUP  BY  A.CART_SQ
 		               ) STOCK
 		        ON     C.CART_SQ = STOCK.CART_SQ
-		        LEFT   OUTER JOIN TB_GOODS_QUICK_DELEVERY_SKIP GQDS
+		        LEFT   OUTER JOIN TB_GOODS_SHOT_DELV_SKIP GQDS
 		        ON     G.GOODS_CD = GQDS.GOODS_CD
 		        WHERE  1=1
 		        <if test="custNo == 0">

+ 3 - 3
src/main/java/com/style24/persistence/mybatis/shop/TsfCoupon.xml

@@ -201,13 +201,13 @@
 		     , A.FIRST_ORD_YN
 		     , A.BUY_STDT
 		     , A.BUY_EDDT
-		     , A.CURR_PRICE
+		    -- , A.CURR_PRICE
 		     , DATE_FORMAT(A.AVAIL_EDDT, '%Y-%m-%d') AS AVAIL_EDDT
 		     , IFNULL((SELECT COUNT(1) FROM TB_CUST_COUPON WHERE CPN_ID = A.CPN_ID AND CUST_NO = #{custNo}),0) AS CUST_COUPON_CNT
 		     , (SELECT COUNT(1) FROM TB_CUST_COUPON WHERE CPN_ID = A.CPN_ID) AS TOT_COUPON_CNT
 		     , RNUM
 		FROM (
-		SELECT   CPN_ID
+		SELECT  DISTINCT CPN_ID
 		       , CPN_NM
 		       , DC_AMT
 		       , DC_VAL
@@ -226,7 +226,7 @@
 		       , FIRST_ORD_YN
 		       , BUY_STDT
 		       , BUY_EDDT
-		       , CURR_PRICE
+		      -- , CURR_PRICE
 		       , RANK() OVER(ORDER BY DC_AMT DESC)  AS RNUM   -- 할인금액순
 		FROM   (
 		        SELECT CP.CPN_ID                                              -- 쿠폰ID

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

@@ -187,7 +187,7 @@
 		                                     AND G.DELV_FEE_CD =  E.DELV_FEE_CD
 		LEFT OUTER JOIN TB_WISHLIST W ON G.GOODS_CD = W.GOODS_CD
 		                              AND IFNULL(#{custNo}, 0) = W.CUST_NO
-		LEFT OUTER JOIN TB_GOODS_QUICK_DELEVERY_SKIP DS ON G.GOODS_CD =DS.GOODS_CD
+		LEFT OUTER JOIN TB_GOODS_SHOT_DELV_SKIP DS ON G.GOODS_CD =DS.GOODS_CD
 		WHERE G.GOODS_CD = #{goodsCd}
 		AND NOW() BETWEEN SELL_STDT AND SELL_EDDT	/*판매기간 확인*/
 		<if test='adminYn == null or adminYn != "Y"'>

+ 27 - 1
src/main/webapp/WEB-INF/views/web/goods/GoodsDetailFormWeb.html

@@ -612,7 +612,7 @@
 						</div>
 						</th:block>
 					</div>
-					<div class="area_kcl" th:if="${goodsSafeNo != null}">
+					<div class="area_kcl" th:if="${goodsInfo.goodsType == 'G056_N' and goodsSafeNo != null}">
 						<i class="ico ico_kcl"></i>
 						<th:block th:if="${not #strings.contains(goodsSafeNo.certNum, '해당')}" >
 						<p class="tit normal" th:text="${goodsSafeNo.certDiv + ' / ' + goodsSafeNo.certOrganName}">
@@ -632,6 +632,32 @@
 							해당 인증정보는 판매자가 등록한 것으로 등록정보에 대한 일체의 책임은 판매자에게 있습니다.
 						</p>
 					</div>
+					<th:block th:if="${goodsInfo.goodsType == 'G056_S'}">
+					<th:block th:each="goodsCompose, status : ${goodsComposeList}">
+					<th:block th:if="${goodsCompose.goodsSafeNo != null}">
+						<div class="area_kcl" >
+						<i class="ico ico_kcl"></i>
+						<th:block th:if="${not #strings.contains(goodsCompose.goodsSafeNo.certNum, '해당')}" >
+						<p class="tit normal" th:text="${goodsCompose.goodsSafeNo.certDiv + ' / ' + goodsCompose.goodsSafeNo.certOrganName}">
+							어린이제품 안전인증 / 한국건설생활시험연구원(KCL)
+						</p>
+						</th:block>
+						<p class="normal" >
+							<th:block th:if="${#strings.contains(goodsCompose.goodsSafeNo.certNum, '해당')}" >
+							해당 없음 
+							</th:block>
+							<th:block th:unless="${#strings.contains(goodsCompose.goodsSafeNo.certNum, '해당')}" >
+							인증번호: <th:block th:text="${goodsCompose.goodsSafeNo.certNum}"></th:block>
+							<a th:href="@{http://www.safetykorea.kr/search/searchPop(certNum=${goodsCompose.goodsSafeNo.certNum})}" target="_blank" class="linktxt3">상세보기</a>
+							</th:block>
+						</p>
+						<p class="t_info dot_info">
+							해당 인증정보는 판매자가 등록한 것으로 등록정보에 대한 일체의 책임은 판매자에게 있습니다.
+						</p>
+					</div>
+					</th:block>
+					</th:block>
+					</th:block>
 					<div class="area_infotbl">
 						<span class="title">상품기본정보</span>
 						<th:block th:if="${goodsInfo.goodsType == 'G056_N'} ">