Просмотр исходного кода

Merge branch 'develop' into bin2107

bin2107 5 лет назад
Родитель
Сommit
6dda1a329e

+ 1 - 9
src/main/java/com/style24/front/biz/web/TsfCommonController.java

@@ -109,19 +109,11 @@ public class TsfCommonController extends TsfBaseController {
 	 */
 	@PostMapping("/file/upload")
 	@ResponseBody
-	public GagaUploadedFileInfo uploadFile(@RequestParam(value = "subDir") String subDir, @RequestParam(value = "policy", required = false) String policy, MultipartFile file) throws IOException, ImageProcessingException, MetadataException {
+	public GagaUploadedFileInfo uploadFile(@RequestParam(value = "subDir") String subDir, @RequestParam(value = "policy", required = false) String policy, MultipartFile file) throws IOException{
 		if (StringUtils.isEmpty(policy)) {
 			policy = "default";
 		}
-		int orientation = 1;
-		Metadata metadata = ImageMetadataReader.readMetadata(convert(file));
 		
-		Directory directory = metadata.getFirstDirectoryOfType(ExifIFD0Directory.class);
-		if(directory != null) {
-			orientation = directory.getInt(ExifIFD0Directory.TAG_ORIENTATION);
-		}
-		
-		log.info("orientation: {}", orientation);
 		String targetPath = GagaFileUtil.getConcatenationPath(env.getProperty("upload." + policy + ".target.path"), subDir);
 
 		GagaFileUploadUtil fuUtil = new GagaFileUploadUtil(targetPath, Long.parseLong(env.getProperty("upload." + policy + ".max.size")), env.getProperty("upload." + policy + ".allow.extension"), env.getProperty("upload." + policy + ".view"));

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

@@ -834,7 +834,7 @@
 		<if test="cpnId != null and cpnId != ''">
 		AND C.CPN_ID  = #{cpnId}
 		</if>
-		AND C.CPN_TYPE IN ('G230_11','G230_30')
+		AND C.CPN_TYPE IN ('G230_11','G230_30','G230_20')
 		AND NOW() BETWEEN C.DOWN_STDT AND C.DOWN_EDDT
 		AND NOW()  <![CDATA[<=]]>  IF (C.PD_GB = 'D', CONCAT(CURRENT_DATE + INTERVAL C.AVAIL_DAYS DAY, ' 23:59:59'), C.AVAIL_EDDT)
 		AND (CASE WHEN 'P' = #{frontGb} THEN C.DC_PVAL

+ 5 - 2
src/main/webapp/WEB-INF/views/mob/app/NoticeFormMob.html

@@ -33,7 +33,7 @@
 				if (_osType === 'A') {
 					 window.style24.getPushList();
 				} else if (_osType === 'I') {
-
+					window.webkit.messageHandlers.getPushList.postMessage({"dummy":"dummy"});
 				}
 			} else {
 				$('#notice').addClass('nodata');
@@ -41,6 +41,9 @@
 	});
 
 	var pushListInfo = function (pushList) {
+		if (_osType === 'I') {
+			alert("pushList : " + pushList);
+		}
 		if (!gagajf.isNull(pushList)) {
 			let pushListJosn = JSON.parse(pushList);
 			let html = '';
@@ -65,7 +68,7 @@
 				html += '                </span>\n';
 				html += '            </dd>\n'
 				html += '        </dl>\n'
-				html += '    </a>';
+				html += '    </a>\n';
 				html += '</div>\n'
 			});
 			$('#notice').removeClass('nodata');

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/app/SettingFormMob.html

@@ -171,11 +171,11 @@
 				fnSetAppPush('OFF');
 				fnSetAdPush('OFF');
 				appAgreeYn = 'N';
+				$('#btnMkSetting').prop('checked', false);
 			}
 			if (isLogin) {
 				if (appAgreeYn === 'N') { // 마케팅도 N 처리
 					fnUpdatePush('N', 'N');
-					$('#btnMkSetting').prop('checked', false);
 				} else {
 					fnAppPushAgreeUpdate('Y');
 				}

+ 50 - 15
src/main/webapp/WEB-INF/views/mob/common/fragments/FooterMob.html

@@ -311,7 +311,7 @@
 					let popupYn = "N";
 					let popupSq = "";
 					let tag = '';
-					tag += '<div id="popupMainNotice" class="popup_main_notice half active">\n';  <!-- half 팝업일 경우 : half 클래스 포함 -->
+					tag += '<div id="popupMainNotice" class="popup_main_notice '+pClass+' active">\n';  <!-- half 팝업일 경우 : half 클래스 포함 -->
 					tag += '	<div class="popup_content">\n';
 					if ("H" == result.popupGb){
 						
@@ -367,20 +367,55 @@
 						}	
 					}
 					
-					/* SLIDE - 메인 공지 팝업 */
-					var popup_main_notice_slide = new Swiper ('.popup_main_notice .swiper-container', {
-						loop: true,
-						spaceBetween: 0,
-						speed:200,
-						autoplay: {
-							delay: 4000,
-							disableOnInteraction: false,
-						},
-						pagination: {
-							el: '.popup_main_notice .swiper-pagination',
-							type: 'fraction',
-						},
-					});			
+					/* SLIDE - 메인 공지 팝업 210521_ 수정 : 슬라이드 1개일때 롤링 제거. */
+					var popNoticeCont = $('.popup_main_notice .swiper-slide');
+					var popNoticeLength = popNoticeCont.length;
+					if (popNoticeLength < 2) {
+						var popup_main_notice_slide = new Swiper ('.popup_main_notice .swiper-container', {
+							loop: false,
+							watchOverflow: true, //loop와 함께 사용 불가.
+							slidesPerView:'auto',
+							spaceBetween: 0,
+							speed:1000,
+							autoplay: {
+								delay: 3000,
+								disableOnInteraction: false,
+							},
+							navigation: {
+								nextEl: '.popup_main_notice .swiper-button-next',
+								prevEl: '.popup_main_notice .swiper-button-prev',
+							},
+							pagination: {
+								el: '.popup_main_notice .swiper-pagination',
+								type: 'fraction',
+							},
+						});	
+					} else {
+						var popup_main_notice_slide = new Swiper ('.popup_main_notice .swiper-container', {
+							loop: true,
+							slidesPerView:'auto',
+							spaceBetween: 0,
+							speed:1000,
+							autoplay: {
+								delay: 3000,
+								disableOnInteraction: false,
+							},
+							navigation: {
+								nextEl: '.popup_main_notice .swiper-button-next',
+								prevEl: '.popup_main_notice .swiper-button-prev',
+							},
+							pagination: {
+								el: '.popup_main_notice .swiper-pagination',
+								type: 'fraction',
+							},
+						});	
+					}			
+
+					if($(".popup_main_notice").hasClass("active")){
+						$("body").css({"overflow":"hidden"});
+					}else{
+						$("body").css({"overflow":"visible"});
+					};
 					
 				}
 			}

+ 14 - 4
src/main/webapp/WEB-INF/views/mob/goods/GoodsDealDetailFormMob.html

@@ -1159,6 +1159,7 @@
 		var riviewSwiper = new Swiper('.pd .riview_box .area_slider .swiper-container', {
 			slidesPerView: 1,
 			spaceBetween: 8,
+			speed: 1000,
 			loop: true,
 			pagination: {
 				el: '.swiper-pagination',
@@ -1169,6 +1170,7 @@
 		//슬라이드 - 제품사진
 		var thumbswiper = new Swiper('.pd .thumb_box .area_slider .swiper-container', {
 			slidesPerView:1,
+			speed: 1000,
 			pagination: {
 				el: '.swiper-pagination',
 				type: 'fraction',
@@ -1178,18 +1180,21 @@
 		 var togetherItemSwiper = new Swiper('.pd .pd_together .area_slider .swiper-container', {
 			 slidesPerView: 3,
 			 spaceBetween: 8,
+			 speed: 1000,
 		 });  
 
 		 //슬라이드 - 이 상품과 함께 본 상품 
 		 var otherItemSwiper = new Swiper('.pd .pd_clickother .area_slider .swiper-container', {
 			 slidesPerView: 2,
 			 spaceBetween: 8,
+			 speed: 1000,
 		 });			
 
 		 //슬라이드 - STYLE24의 스타일링 추천
 		var rcmdPicimgSwiper = new Swiper('.pd .pd_recommend .area_slider.pic_img .swiper-container', {
 			slidesPerView: 1,
 			spaceBetween: 0,
+			speed: 1000,
 			pagination: {
 				el: '.swiper-pagination',
 				type: 'fraction',
@@ -1200,6 +1205,7 @@
 			observeParents: true,
 			slidesPerView: 3,
 			spaceBetween: 8,
+			speed: 1000,
 		});
 
 		$(".pic_list > div").hide();
@@ -1214,18 +1220,21 @@
 		 var rcmdItemSwiper = new Swiper('.pd .pd_samebrand .area_slider .swiper-container', {
 			 slidesPerView: 3,
 			 spaceBetween: 8,
+			 speed: 1000,
 		 }); 
 
 		 //슬라이드 - 이 상품과 비슷한 상품 
 		 var relateItemSwiper = new Swiper('.pd .pd_relate .area_slider .swiper-container', {
 			 slidesPerView: 3,
 			 spaceBetween: 8,
+			 speed: 1000,
 		 });	 
 			
 			//슬라이드 - 베스트리뷰팝업 
 		 var bestreviewdetailSwiper = new Swiper('.pd_bestreviewdetail_pop .area_slider .swiper-container', {
-				observer: true,
-				observeParents: true,
+			observer: true,
+			observeParents: true,
+			speed: 1000,
 			 slidesPerView: 1,
 			 pagination: {
 					el: '.swiper-pagination',
@@ -1235,8 +1244,9 @@
 			
 			//슬라이드 - 포토,영상리뷰팝업 
 		 var photoreviewdetailSwiper = new Swiper('.pd_photoreviewdetail_pop .area_slider .swiper-container', {
-				observer: true,
-				observeParents: true,
+			observer: true,
+			observeParents: true,
+			speed: 1000,
 			 slidesPerView: 1,
 			 pagination: {
 					el: '.swiper-pagination',

+ 37 - 1
src/main/webapp/WEB-INF/views/mob/goods/GoodsDetailFormMob.html

@@ -2589,6 +2589,7 @@
 		var togetherItemSwiper = new Swiper('.pd .pd_together .area_slider .swiper-container', {
 			slidesPerView: 3,
 			spaceBetween: 8,
+			speed: 1000,
 		}); 
 		
 		//슬라이드 - 베스트리뷰
@@ -2597,6 +2598,7 @@
 			observeParents: true,
 			slidesPerView: 1,
 			spaceBetween: 8,
+			speed: 1000,
 			//loop: true,
 			pagination: {
 				el: '.swiper-pagination',
@@ -2607,6 +2609,7 @@
 		//슬라이드 - 제품사진
 		var thumbswiper = new Swiper('.pd .thumb_box .area_slider .swiper-container', {
 			slidesPerView:1,
+			speed: 1000,
 			pagination: {
 				el: '.swiper-pagination',
 				type: 'fraction',
@@ -2618,6 +2621,7 @@
 		var rcmdPicimgSwiper = new Swiper('.pd .pd_recommend .area_slider.pic_img .swiper-container', {
 			slidesPerView: 1,
 			spaceBetween: 0,
+			speed: 1000,
 			pagination: {
 				el: '.swiper-pagination',
 				type: 'fraction',
@@ -2628,6 +2632,7 @@
 			observeParents: true,
 			slidesPerView: 3,
 			spaceBetween: 8,
+			speed: 1000,
 		});
 
 		$(".pic_list > div").hide();
@@ -2643,6 +2648,7 @@
 			observer: true,
 			observeParents: true,
 			slidesPerView: 1,
+			speed: 1000,
 			pagination: {
 				el: '.swiper-pagination',
 				type: 'fraction',
@@ -2654,6 +2660,7 @@
 			observer: true,
 			observeParents: true,
 			slidesPerView: 1,
+			speed: 1000,
 			pagination: {
 				el: '.swiper-pagination',
 				type: 'fraction',
@@ -2987,8 +2994,37 @@
 			
 		};
 	}
-   
 	
+	// 210407_스크롤감지 헤더 그림자
+    $('.pd_delivery_pop').scroll(function(){
+        $(".pd_delivery_pop .modal-header").css("box-shadow", "rgb(0 0 0 / 20%) 0px 0px 5px");
+        $(".pd_delivery_pop .modal-header").css("border-bottom", "0px none");
+        if($(".pd_delivery_pop").scrollTop() === 0){
+            $(".pd_delivery_pop .modal-header").css("box-shadow", "none");
+            $(".pd_delivery_pop .modal-header").css("border-bottom", "1px solid #eee");
+        }
+    });
+    $('.pd_review_pop').scroll(function(){
+        $(".pd_review_pop .modal-header").css("box-shadow", "rgb(0 0 0 / 20%) 0px 0px 5px");
+        $(".pd_review_pop .modal-header").css("border-bottom", "0px none");
+        if($(".pd_review_pop").scrollTop() === 0){
+            $(".pd_review_pop .modal-header").css("box-shadow", "none");
+            $(".pd_review_pop .modal-header").css("border-bottom", "1px solid #eee");
+        }
+    });
+    $('.pd_qnalist_pop').scroll(function(){
+        $(".pd_qnalist_pop .modal-header").css("box-shadow", "rgb(0 0 0 / 20%) 0px 0px 5px");
+        $(".pd_qnalist_pop .modal-header").css("border-bottom", "0px none");
+        if($(".pd_qnalist_pop").scrollTop() === 0){
+            $(".pd_qnalist_pop .modal-header").css("box-shadow", "none");
+            $(".pd_qnalist_pop .modal-header").css("border-bottom", "1px solid #eee");
+        }
+    });
+   
+    window.onscroll = function() {
+		document.getElementsByClassName('.modal.pd_pop.pd_review_pop .pd_review .area_rv_empty .btn_group_flex').style.top =
+		window.pageYOffset + 'px';
+	};
 /*]]>*/
 </script>
 

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

@@ -87,7 +87,7 @@
 			let list = result.goodsCouponList;
 
 			list.forEach(function(coupon){
-				if (coupon.cpnId == cpnId){debugger;
+				if (coupon.cpnId == cpnId){
 					if (Number(coupon.custPubLimitQty) > 0){
 						if (Number(coupon.custPubLimitQty) <= Number(coupon.custCouponCnt)){
 							$('#coupon_'+ coupon.cpnId).html('<span>받기완료</span>');

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

@@ -828,19 +828,19 @@
 						<div th:id="${'goodsDescHtml_' + goodsCompose.compsGoodsCd}"></div>
 					</th:block>
 
-					<th:block th:if="${goodsInfo.tobeFormYn == 'Y'}">
+					<th:block th:if="${goodsCompose.tobeFormYn == 'Y'}">
 						<!-- 착용컷 노출 -->
-						<div class="view_outfit_box" th:if="${#strings.contains(goodsImgList,'_C1') 
-															or #strings.contains(goodsImgList,'_C2')
-															or #strings.contains(goodsImgList,'_C3')
-															or #strings.contains(goodsImgList,'_C4')
-															or #strings.contains(goodsImgList,'_C5')}">
+						<div class="view_outfit_box" th:if="${#strings.contains(goodsCompose.goodsImgList,'_C1') 
+															or #strings.contains(goodsCompose.goodsImgList,'_C2')
+															or #strings.contains(goodsCompose.goodsImgList,'_C3')
+															or #strings.contains(goodsCompose.goodsImgList,'_C4')
+															or #strings.contains(goodsCompose.goodsImgList,'_C5')}">
 							<span class="tit_view">OUTFIT VIEW</span>
-							<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${status.first}">
+							<th:block th:each="goodsImg, status : ${goodsCompose.goodsImgList}" th:if="${status.first}">
 							<span class="model_info" th:text="${goodsImg.modelInfo}">(모델정보 : 185cm / 78kg / XL 착용)</span>
 							</th:block>
 							<div class="view">
-								<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_C1') 
+								<th:block th:each="goodsImg, status : ${goodsCompose.goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_C1') 
 																							or #strings.contains(goodsImg.sysImgNm,'_C2')
 																							or #strings.contains(goodsImg.sysImgNm,'_C3')
 																							or #strings.contains(goodsImg.sysImgNm,'_C4')
@@ -852,20 +852,20 @@
 						
 						<!-- //착용컷 노출 -->
 						<!-- 상품컷 노출 -->
-						<div class="view_detail_box" th:if="${#strings.contains(goodsImgList,'_01') or #strings.contains(goodsImgList,'_02')
-															or #strings.contains(goodsImgList,'_D1') or #strings.contains(goodsImgList,'_D2')
-															or #strings.contains(goodsImgList,'_D3') or #strings.contains(goodsImgList,'_D4')
-															or #strings.contains(goodsImgList,'_D5') or #strings.contains(goodsImgList,'_D6')
-															or #strings.contains(goodsImgList,'_D7') or #strings.contains(goodsImgList,'_D8')
-															or #strings.contains(goodsImgList,'_D9') or #strings.contains(goodsImgList,'_D10')
-															or #strings.contains(goodsImgList,'_D11') or #strings.contains(goodsImgList,'_D12')
-															or #strings.contains(goodsImgList,'_D13') or #strings.contains(goodsImgList,'_D14')
-															or #strings.contains(goodsImgList,'_D15') or #strings.contains(goodsImgList,'_D16')
-															or #strings.contains(goodsImgList,'_D17') or #strings.contains(goodsImgList,'_D18')
-															or #strings.contains(goodsImgList,'_D19') or #strings.contains(goodsImgList,'_D20')}">
+						<div class="view_detail_box" th:if="${#strings.contains(goodsCompose.goodsImgList,'_01') or #strings.contains(goodsCompose.goodsImgList,'_02')
+															or #strings.contains(goodsCompose.goodsImgList,'_D1') or #strings.contains(goodsCompose.goodsImgList,'_D2')
+															or #strings.contains(goodsCompose.goodsImgList,'_D3') or #strings.contains(goodsCompose.goodsImgList,'_D4')
+															or #strings.contains(goodsCompose.goodsImgList,'_D5') or #strings.contains(goodsCompose.goodsImgList,'_D6')
+															or #strings.contains(goodsCompose.goodsImgList,'_D7') or #strings.contains(goodsCompose.goodsImgList,'_D8')
+															or #strings.contains(goodsCompose.goodsImgList,'_D9') or #strings.contains(goodsCompose.goodsImgList,'_D10')
+															or #strings.contains(goodsCompose.goodsImgList,'_D11') or #strings.contains(goodsCompose.goodsImgList,'_D12')
+															or #strings.contains(goodsCompose.goodsImgList,'_D13') or #strings.contains(goodsCompose.goodsImgList,'_D14')
+															or #strings.contains(goodsCompose.goodsImgList,'_D15') or #strings.contains(goodsCompose.goodsImgList,'_D16')
+															or #strings.contains(goodsCompose.goodsImgList,'_D17') or #strings.contains(goodsCompose.goodsImgList,'_D18')
+															or #strings.contains(goodsCompose.goodsImgList,'_D19') or #strings.contains(goodsCompose.goodsImgList,'_D20')}">
 							<span class="tit_view">PRODUCT VIEW</span>
 							<div class="view">
-								<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_01') or #strings.contains(goodsImg.sysImgNm,'_02')
+								<th:block th:each="goodsImg, status : ${goodsCompose.goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_01') or #strings.contains(goodsImg.sysImgNm,'_02')
 																							or #strings.contains(goodsImg.sysImgNm,'_D1') or #strings.contains(goodsImg.sysImgNm,'_D2')
 																							or #strings.contains(goodsImg.sysImgNm,'_D3') or #strings.contains(goodsImg.sysImgNm,'_D4')
 																							or #strings.contains(goodsImg.sysImgNm,'_D5') or #strings.contains(goodsImg.sysImgNm,'_D6')
@@ -882,22 +882,22 @@
 						</div>
 						<!-- //상품컷 노출 -->
 						<!-- 원단 노출 -->
-						<div class="view_fabric_box" th:if="${#strings.contains(goodsImgList,'_F1')}">
+						<div class="view_fabric_box" th:if="${#strings.contains(goodsCompose.goodsImgList,'_F1')}">
 							<span class="tit_view">FABRIC</span>
 							<div class="view">
-								<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_F1')}">
+								<th:block th:each="goodsImg, status : ${goodsCompose.goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_F1')}">
 								<img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm+'?RS=720'}" alt="" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 								</th:block>
 							</div>
 						</div>
 						<!-- //원단 노출 -->
 						<!-- 라벨 노출 -->
-						<div class="view_label_box" th:if="${#strings.contains(goodsImgList,'_L1') 
-															or #strings.contains(goodsImgList,'_L2')}">
+						<div class="view_label_box" th:if="${#strings.contains(goodsCompose.goodsImgList,'_L1') 
+															or #strings.contains(goodsCompose.goodsImgList,'_L2')}">
 							<span class="tit_view">LABEL INFO</span>
 							<div class="view">
 								<span>
-									<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_L1') 
+									<th:block th:each="goodsImg, status : ${goodsCompose.goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_L1') 
 																							or #strings.contains(goodsImg.sysImgNm,'_L2')}">
 									<img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm+'?RS=250'}" alt=""  th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 									</th:block>
@@ -906,9 +906,9 @@
 						</div>
 						
 						<!-- //네이밍룰 안맞는 이미지 노출 -->
-						<div class="view_detail_box" th:if="${not #strings.contains(goodsImgList,'_01')}">
+						<div class="view_detail_box" th:if="${not #strings.contains(goodsCompose.goodsImgList,'_01')}">
 							<div class="view">
-								<th:block th:each="goodsImg, status : ${goodsImgList}" >
+								<th:block th:each="goodsImg, status : ${goodsCompose.goodsImgList}" >
 									<img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm+'?RS=720'}" alt="" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 									</th:block>
 							</div>