Selaa lähdekoodia

Merge branch 'sowon' into develop

sowon4187 5 vuotta sitten
vanhempi
commit
9a4e5d400a

+ 9 - 0
src/main/java/com/style24/front/biz/dao/TsfReviewDao.java

@@ -178,6 +178,15 @@ public interface TsfReviewDao {
 	 */
 	void reviewCustomerConfirm(Review review);
 	
+	/**
+	 * 마이페이지 이미지/동영상등록
+	 * @param review
+	 * @return 
+	 * @author sowon
+	 * @since 2021. 4. 26
+	 */
+	void saveReviewAttach(ReviewAttach reviewAttach);
+	
 	
 	
 	

+ 47 - 2
src/main/java/com/style24/front/biz/service/TsfReviewService.java

@@ -1,16 +1,23 @@
 package com.style24.front.biz.service;
 
+import java.io.File;
 import java.util.ArrayList;
 import java.util.Collection;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import com.gagaframework.web.util.GagaDateUtil;
+import com.gagaframework.web.util.GagaFileUtil;
 import com.style24.front.biz.dao.TsfReviewDao;
 import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.Goods;
+import com.style24.persistence.domain.Plan;
 import com.style24.persistence.domain.Review;
+import com.style24.persistence.domain.ReviewAttach;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -26,6 +33,9 @@ public class TsfReviewService {
 
 	@Autowired
 	private TsfReviewDao reviewDao;
+	
+	@Autowired
+	private Environment env;
 
 	/**
 	 * 상품 리뷰 목록 건수
@@ -152,9 +162,44 @@ public class TsfReviewService {
 		review.setDispYn("Y");
 		review.setDelYn("N");
 		review.setRegNo(TsfSession.getInfo().getCustNo());
-		review.setUpdNo(TsfSession.getInfo().getCustNo());
-		
+		review.setUpdNo(TsfSession.getInfo().getCustNo());		
 		reviewDao.saveMypageReview(review);
+		
+		//이미지등록
+		ReviewAttach fileReview = new ReviewAttach();
+		if(!StringUtils.isAllEmpty(review.getOrgFileNmArr())) {
+			fileReview.setRegNo(TsfSession.getInfo().getCustNo());
+			fileReview.setUpdNo(TsfSession.getInfo().getCustNo());
+			fileReview.setReviewSq(review.getReviewSq());
+			fileReview.setFileGb("I");
+			fileReview.setDelYn("N");
+			//파일아이템 등록
+			String[] fileItemVal1 = review.getOrgFileNmArr();
+			int ind = 1;
+			for (int j = 0; j < fileItemVal1.length; j++) {
+				String imgInd = String.valueOf(ind);
+				if (ind < 10) {
+					imgInd = "0" + imgInd;
+				}
+				String planUploadPath = env.getProperty("upload.default.target.path");
+				String yearMonth = GagaDateUtil.getToday().substring(0, 6);
+				planUploadPath = GagaFileUtil.getConcatenationPath(planUploadPath, "/review");
+				File newFile = new File(GagaFileUtil.getConcatenationPath(planUploadPath, fileItemVal1[j]));
+				planUploadPath = GagaFileUtil.getConcatenationPath(planUploadPath, yearMonth);
+				String newFilename = "REVIEW_" + GagaDateUtil.getTodayDateTime() + "_" + imgInd + "." + org.springframework.util.StringUtils.getFilenameExtension(fileItemVal1[j]);
+				File uniqueFile = GagaFileUtil.getUniqueFile(new File(GagaFileUtil.getConcatenationPath(planUploadPath, newFilename)));
+				// Rename a file
+				File path = new File(planUploadPath);
+				if (!path.exists()) {
+					path.mkdir();
+				}
+				newFile.renameTo(uniqueFile);
+				fileReview.setOrgFileNm("/review/" + yearMonth + "/" + newFilename);
+				fileReview.setSysFileNm("/review/" + yearMonth + "/" + newFilename);
+				reviewDao.saveReviewAttach(fileReview);
+				ind++;
+			}
+		}
 	}
 	
 	/**

+ 6 - 0
src/main/java/com/style24/persistence/domain/ReviewAttach.java

@@ -1,5 +1,6 @@
 package com.style24.persistence.domain;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.style24.persistence.TscBaseDomain;
 
 import lombok.Data;
@@ -23,5 +24,10 @@ public class ReviewAttach extends TscBaseDomain {
 	private String kufKey;		// Kollus업로드파일키
 	private String kmcKey;		// Kollus미디어컨텐츠키
 	private String delYn;		// 삭제여부
+	
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] orgFileNmArr;
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] sysFileNmArr;
 
 }

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

@@ -48,14 +48,14 @@
 	<select id="getAccumulatePointList" parameterType="Point" resultType="Point">
 	/* TsfPoint.getAccumulatePointList */
 		SELECT CASE TCHP.OCCUR_GB
-		            WHEN 'G069_12' THEN '상품구매'
+		            WHEN 'G069_12' THEN '상품 구매'
 		            WHEN 'G069_20' THEN '리뷰'
 		            WHEN 'G069_30' THEN '이벤트'
 		            WHEN 'G069_31' THEN '회원가입'
 		            WHEN 'G069_32' THEN '생일축하'
 		            WHEN 'G069_35' THEN 'APP다운'
 		            WHEN 'G069_36' THEN '사은품구매'
-		            WHEN 'G069_37' THEN '출석체크'
+		            WHEN 'G069_37' THEN '이벤트'
 		            WHEN 'G069_90' THEN '관리자'
 		       END                                          AS OCCUR_GB
 		     , CASE TCHP.OCCUR_GB
@@ -150,7 +150,7 @@
 		WHEN   'G069_32' THEN '생일축하'
 		WHEN   'G069_35' THEN 'APP다운'
 		WHEN   'G069_36' THEN '사은품구매'
-		WHEN   'G069_37' THEN '출석체크'
+		WHEN   'G069_37' THEN '이벤트'
 		WHEN   'G069_40' THEN '구매 사용'
 		WHEN   'G069_42' THEN '사은품'
 		WHEN   'G069_90' THEN '관리자'

+ 113 - 113
src/main/java/com/style24/persistence/mybatis/shop/TsfReview.xml

@@ -836,120 +836,120 @@
 		/* TsfReivew.getAlreadyReviewList */
 		<include refid="selectForPagingHeader"/>
 		SELECT F.*
-			  , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG  WHERE GOODS_CD = F.GOODS_CD AND COLOR_CD = F.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y' ) AS SYS_IMG_NM
+		      , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG  WHERE GOODS_CD = F.GOODS_CD AND COLOR_CD = F.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y' ) AS SYS_IMG_NM
 		FROM
 		(
-			SELECT O.ORD_NO 
-			      ,O.ORD_NM
-			      ,DATE_FORMAT(O.PAY_DT, '%Y-%m-%d') AS PAY_DT 
-			      ,O.CUST_NO 
-			      ,OD.ORD_DTL_NO
-			      ,OD.ORD_EXCH_GB 
-			      ,OD.GOODS_CD 
-			      ,OD.REAL_ORD_AMT 
-			      ,OD.SAVE_PNT_AMT 
-			      ,OD.GFCD_USE_AMT 
-			      ,ODI.ORD_DTL_ITEM_SQ 
-			      ,ODI.ITEM_CD 
-			      ,ODI.OPT_CD 
-			      ,ODI.OPT_CD1
-			      ,ODI.OPT_CD2
-			      ,IFNULL(C.COLOR_KNM, ODI.OPT_CD1) AS OPT_CD1_NM
-			      ,ODI.ITEM_QTY 
-			      ,ODI.ITEM_PRICE
-			      ,G.GOODS_NM 
-			      ,G.MAIN_COLOR_CD
-			      ,B.BRAND_ENM 
-			      ,I.ITEMKIND_NM 
-			      ,I.ITEMKIND_CD 
-			      ,I.SIZE_GB 
-			      ,R.REVIEW_SQ
-			      ,R.REVIEW_GB
-			      ,R.REVIEW_CONTENT
-			      ,R.SCORE
-			      ,R.HEIGHT
-			      ,R.WEIGHT
-			      ,(CASE R.SCORE_SIZE   WHEN 1 THEN '작음' 
-	      								WHEN 2 THEN '딱맞음'
-	      								WHEN 3 THEN '큼'
-	      													END) AS SCORE_SIZE
-			      ,(CASE R.SCORE_COLOR  WHEN 1 THEN '밝음' 
-			      						WHEN 2 THEN '똑같음'
-			      						WHEN 3 THEN '어두움'   
-			      						 					END) AS SCORE_COLOR
-			      ,(CASE R.SCORE_FIT    WHEN 1 THEN '슬림' 
-			      						WHEN 2 THEN '레귤러' 
-			      						WHEN 3 THEN '오버' 
-			      											END) AS SCORE_FIT
-			      ,(CASE R.SCORE_THICK  WHEN 1 THEN '얇음' 
-			      						WHEN 2 THEN '적당함' 
-			      						WHEN 3 THEN '도톰함'
-			      											END) AS SCORE_THICK
-			      ,(CASE R.SCORE_WEIGHT WHEN 1 THEN '가벼움' 
-			      						WHEN 2 THEN '적당함'
-			      						WHEN 3 THEN '무거움'
-			      											END) AS SCORE_WEIGHT
-			      ,(CASE R.SCORE_BALL   WHEN 1 THEN '작음'
-			      						WHEN 2 THEN '딱맞음'
-		                                WHEN 3 THEN '큼' 
+		     SELECT O.ORD_NO 
+		           ,O.ORD_NM
+		           ,DATE_FORMAT(O.PAY_DT, '%Y-%m-%d') AS PAY_DT 
+		           ,O.CUST_NO 
+		           ,OD.ORD_DTL_NO
+		           ,OD.ORD_EXCH_GB 
+		           ,OD.GOODS_CD 
+		           ,OD.REAL_ORD_AMT 
+		           ,OD.SAVE_PNT_AMT 
+		           ,OD.GFCD_USE_AMT 
+		           ,ODI.ORD_DTL_ITEM_SQ 
+		           ,ODI.ITEM_CD 
+		           ,ODI.OPT_CD 
+		           ,ODI.OPT_CD1
+		           ,ODI.OPT_CD2
+		           ,IFNULL(C.COLOR_KNM, ODI.OPT_CD1) AS OPT_CD1_NM
+		           ,ODI.ITEM_QTY 
+		           ,ODI.ITEM_PRICE
+		           ,G.GOODS_NM 
+		           ,G.MAIN_COLOR_CD
+		           ,B.BRAND_ENM 
+		           ,I.ITEMKIND_NM 
+		           ,I.ITEMKIND_CD 
+		           ,I.SIZE_GB 
+		           ,R.REVIEW_SQ
+		           ,R.REVIEW_GB
+		           ,R.REVIEW_CONTENT
+		           ,R.SCORE
+		           ,R.HEIGHT
+		           ,R.WEIGHT
+		           ,(CASE R.SCORE_SIZE   WHEN 1 THEN '작음' 
+		                               	WHEN 2 THEN '딱맞음'
+		                                WHEN 3 THEN '큼'
+		                                                   END) AS SCORE_SIZE
+		           ,(CASE R.SCORE_COLOR  WHEN 1 THEN '밝음' 
+		           						WHEN 2 THEN '똑같음'
+		           						WHEN 3 THEN '어두움'   
+		           						 					END) AS SCORE_COLOR
+		           ,(CASE R.SCORE_FIT    WHEN 1 THEN '슬림' 
+		           						WHEN 2 THEN '레귤러' 
+		           						WHEN 3 THEN '오버' 
+		           											END) AS SCORE_FIT
+		           ,(CASE R.SCORE_THICK  WHEN 1 THEN '얇음' 
+		           						WHEN 2 THEN '적당함' 
+		           						WHEN 3 THEN '도톰함'
+		           											END) AS SCORE_THICK
+		           ,(CASE R.SCORE_WEIGHT WHEN 1 THEN '가벼움' 
+		           						WHEN 2 THEN '적당함'
+		           						WHEN 3 THEN '무거움'
+		           											END) AS SCORE_WEIGHT
+		           ,(CASE R.SCORE_BALL   WHEN 1 THEN '작음'
+		           						WHEN 2 THEN '딱맞음'
+	                                     WHEN 3 THEN '큼' 
 		                                					END) AS SCORE_BALL
-			      ,R.GIVE_DUE_PNT
-			      ,R.PNT_GIVE_STAT
-			      ,R.BEST_YN
-			      ,R.GIVE_DUE_BPNT
-			      ,R.BPNT_GIVE_YN
-			      ,R.DISP_YN
-			      ,R.DEL_YN
-			      ,R.CONFIRM_YN
-			      ,R.CONFIRM_UNO
-			      ,R.CONFIRM_DT
-			      ,R.REG_NO
-			      ,DATE_FORMAT(R.REG_DT , '%Y-%m-%d') AS REG_DT
-			      ,R.UPD_NO
-			      ,DATE_FORMAT(R.UPD_DT , '%Y-%m-%d') AS UPD_DT
-			      ,R.ADM_RPL
-			      ,R.ADM_RPL_REG_NO
-			      ,DATE_FORMAT(R.ADM_RPL_DT , '%Y-%m-%d %H:%i:%s') AS ADM_RPL_DT
-			      ,DATEDIFF( DATE_ADD(O.PAY_DT,INTERVAL 90 DAY),NOW()) AS REMAIN_DT -- 남은시간
-			      , RANK() OVER(ORDER BY O.PAY_DT DESC) AS RNUM
-			FROM TB_ORDER O INNER JOIN TB_ORDER_DETAIL OD ON O.ORD_NO = OD.ORD_NO 
-			                INNER JOIN TB_ORDER_DETAIL_ITEM ODI ON OD.ORD_DTL_NO = ODI.ORD_DTL_NO 
-			                  					 AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
-			                INNER JOIN TB_GOODS G ON G.GOODS_CD = OD.GOODS_CD 
-			                INNER JOIN TB_BRAND B ON B.BRAND_CD = G.BRAND_CD
-			                INNER JOIN TB_REVIEW R ON R.ORD_NO = O.ORD_NO 
-			                              		AND R.ORD_NO = O.ORD_NO
-			                              		AND R.ORD_DTL_NO = OD.ORD_DTL_NO 
-			                              		AND R.DEL_YN = 'N'
-			                              		AND R.DISP_YN = 'Y'
-			                LEFT JOIN TB_ITEMKIND I ON G.ITEMKIND_CD = I.ITEMKIND_CD 
-			                LEFT OUTER JOIN TB_COLOR C ON ODI.OPT_CD1 = C.COLOR_CD
-		                                               AND C.USE_YN = 'Y'
-			WHERE 1=1
-				AND O.CUST_NO = #{custNo}
-				AND O.DISP_YN = 'Y'
-				AND O.SITE_CD = #{siteCd}
-			GROUP BY O.ORD_NO 
-			      ,O.ORD_NM 
-			      ,O.PAY_DT 
-			      ,O.CUST_NO 
-			      ,OD.ORD_DTL_NO
-			      ,OD.ORD_EXCH_GB 
-			      ,OD.GOODS_CD 
-			      ,OD.REAL_ORD_AMT 
-			      ,OD.SAVE_PNT_AMT 
-			      ,OD.GFCD_USE_AMT 
-			      ,ODI.ORD_DTL_ITEM_SQ 
-			      ,ODI.ITEM_CD 
-			      ,ODI.OPT_CD 
-			      ,ODI.OPT_CD1
-			      ,ODI.OPT_CD2
-			      ,ODI.ITEM_QTY 
-			      ,ODI.ITEM_PRICE
-			      ,G.GOODS_NM 
-			      ,G.MAIN_COLOR_CD
-			      ,B.BRAND_ENM 
-		)F
+		        ,R.GIVE_DUE_PNT
+		        ,R.PNT_GIVE_STAT
+		        ,R.BEST_YN
+		        ,R.GIVE_DUE_BPNT
+		        ,R.BPNT_GIVE_YN
+		        ,R.DISP_YN
+		        ,R.DEL_YN
+		        ,R.CONFIRM_YN
+		        ,R.CONFIRM_UNO
+		        ,R.CONFIRM_DT
+		        ,R.REG_NO
+		        ,DATE_FORMAT(R.REG_DT , '%Y-%m-%d') AS REG_DT
+		        ,R.UPD_NO
+		        ,DATE_FORMAT(R.UPD_DT , '%Y-%m-%d') AS UPD_DT
+		        ,R.ADM_RPL
+		        ,R.ADM_RPL_REG_NO
+		        ,DATE_FORMAT(R.ADM_RPL_DT , '%Y-%m-%d %H:%i:%s') AS ADM_RPL_DT
+		        ,DATEDIFF( DATE_ADD(O.PAY_DT,INTERVAL 90 DAY),NOW()) AS REMAIN_DT -- 남은시간
+		        , RANK() OVER(ORDER BY O.PAY_DT DESC) AS RNUM
+		  FROM TB_ORDER O INNER JOIN TB_ORDER_DETAIL OD ON O.ORD_NO = OD.ORD_NO 
+		                  INNER JOIN TB_ORDER_DETAIL_ITEM ODI ON OD.ORD_DTL_NO = ODI.ORD_DTL_NO 
+		                    					 AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
+		                  INNER JOIN TB_GOODS G ON G.GOODS_CD = OD.GOODS_CD 
+		                  INNER JOIN TB_BRAND B ON B.BRAND_CD = G.BRAND_CD
+		                  INNER JOIN TB_REVIEW R ON R.ORD_NO = O.ORD_NO 
+		                                		AND R.ORD_NO = O.ORD_NO
+		                                		AND R.ORD_DTL_NO = OD.ORD_DTL_NO 
+		                                		AND R.DEL_YN = 'N'
+		                                		AND R.DISP_YN = 'Y'
+		                  LEFT JOIN TB_ITEMKIND I ON G.ITEMKIND_CD = I.ITEMKIND_CD 
+		                  LEFT OUTER JOIN TB_COLOR C ON ODI.OPT_CD1 = C.COLOR_CD
+		  	                                           AND C.USE_YN = 'Y'
+		       WHERE 1=1
+		     AND O.CUST_NO = #{custNo}
+		     AND O.DISP_YN = 'Y'
+		     AND O.SITE_CD = #{siteCd}
+		     GROUP BY O.ORD_NO 
+		           ,O.ORD_NM 
+		           ,O.PAY_DT 
+		           ,O.CUST_NO 
+		           ,OD.ORD_DTL_NO
+		           ,OD.ORD_EXCH_GB 
+		           ,OD.GOODS_CD 
+		           ,OD.REAL_ORD_AMT 
+		           ,OD.SAVE_PNT_AMT 
+		           ,OD.GFCD_USE_AMT 
+		           ,ODI.ORD_DTL_ITEM_SQ 
+		           ,ODI.ITEM_CD 
+		           ,ODI.OPT_CD 
+		           ,ODI.OPT_CD1
+		           ,ODI.OPT_CD2
+		           ,ODI.ITEM_QTY 
+		           ,ODI.ITEM_PRICE
+		           ,G.GOODS_NM 
+		           ,G.MAIN_COLOR_CD
+		           ,B.BRAND_ENM 
+		     )F
 		ORDER BY F.PAY_DT DESC
 		<include refid="selectForPagingFooter"/>
 	</select>
@@ -1082,9 +1082,9 @@
 		, #{kmcKey}
 		, #{kufKey}
 		, #{delYn}
-		, #{custNo}
+		, #{regNo}
 		, CURRENT_TIMESTAMP
-		, #{custNo}
+		, #{updNo}
 		, CURRENT_TIMESTAMP
 		)
 	</insert>

+ 11 - 8
src/main/webapp/WEB-INF/views/web/common/fragments/FooterWeb.html

@@ -1170,9 +1170,10 @@
 						$('#quickMenuWishList').html('');
 						$('#quick03').find('span').html(result.length);
 						$('#quickMenuWishListCount').html(result.length);
-						
+						tag = '';
 						if (result.length > 0) {
-							let tag = '<div class="product_count"><span class="c_primary" id="quickMenuWishListCount">'+result.length+'</span>개의 상품</div>\n';
+							$("#quickMenuWishList").attr("class","quick_body");
+							tag += '<div class="product_count"><span class="c_primary" id="quickMenuWishListCount">'+result.length+'</span>개의 상품</div>\n';
 							tag += '	<div class="itemsGrp">\n';
 							
 							$.each(result, function (idx, item) {
@@ -1197,18 +1198,20 @@
 								tag += '			</div>';	    
 								tag += '		</div>';	    
 								tag += '	</div>	';		
-								tag += '	<div class="no_item">';	    
-								tag += '		최근 본 상품이 없습니다.';	    
-								tag += '	</div>';	    
 								
 							});
-							
 							tag += '	</div>\n';
 							
-							$('#quickMenuWishList').html(tag);
 						} else {
-							$('#quickMenuWishList').addClass('nodata');
+							$("#quickMenuWishList").addClass("nodata");
+							tag += '<div class="itemsGrp">';
+							tag += '<div class="no_item" style="display:block">';
+							tag += '	등록된 위시리스트가 없습니다.';
+							tag += '</div>';
+							tag += '</div>';
 						}
+						
+						$('#quickMenuWishList').html(tag);
 					}
 			});
 	}

+ 2 - 2
src/main/webapp/WEB-INF/views/web/mypage/MypageGiftcardFormWeb.html

@@ -128,9 +128,9 @@
 	//동적으로 날짜 년도 append
 	function appendYear() {
 		for (var i = 0; i < date.length; i++) {
-			$("#searchDt").append(	"<li onclick='fnChangeDate(this.value)' value='"+ date[i].year + "" + date[i].month + "'>" + date[i].year	+ "년" + date[i].month + "월 </li>")
+			$("#searchDt").append(	"<li onclick='fnChangeDate(this.value)' value='"+ date[i].year + "" + date[i].month + "'>" + date[i].year	+ "년" +  "  " + date[i].month + "월 </li>")
 		}
-		$(".select").append("<li class='selected' value='"+date[0].year+""+date[0].month+"'>"+ date[0].year + "년" + date[0].month + "월 </li>"); // 현재년도 선택 */ 
+		$(".select").append("<li class='selected' value='"+date[0].year+""+date[0].month+"'>"+ date[0].year + "년" +  "  " + date[0].month + "월 </li>"); // 현재년도 선택 */ 
 	}
 	appendYear($("#searchDt"));
 

+ 5 - 5
src/main/webapp/WEB-INF/views/web/mypage/MypagePointFormWeb.html

@@ -130,9 +130,9 @@
 	//동적으로 날짜 년도 append
 	function appendYear() {
 		for (var i = 0; i < date.length; i++) {
-			$("#searchDt").append(	"<li onclick='fnChangeDate(this.value)' value='"+ date[i].year + "" + date[i].month + "'>" + date[i].year	+ "년" + date[i].month + "월 </li>")
+			$("#searchDt").append(	"<li onclick='fnChangeDate(this.value)' value='"+ date[i].year + "" + date[i].month + "'>" + date[i].year	+ "년" +  "  " + date[i].month + "월 </li>")
 		}
-		$(".select").append("<li class='selected' value='"+date[0].year+""+date[0].month+"'>"+ date[0].year + "년" + date[0].month + "월 </li>"); // 현재년도 선택 */ 
+		$(".select").append("<li class='selected' value='"+date[0].year+""+date[0].month+"'>"+ date[0].year + "년"  +  "  " + date[0].month + "월 </li>"); // 현재년도 선택 */ 
 	}
 	appendYear($("#searchDt"));
 
@@ -196,11 +196,11 @@
 				tag += '	<td>';
 				if(item.pntAmt > 0){
 					tag += '		<span class="amount_plus">';
-					tag += '			<em>'+item.pntAmt.addComma()+'</em>P';
+					tag += '			<em>+'+item.pntAmt.addComma()+'</em>P';
 					tag += '		</span>';
 				}else{
-					tag += '		<span class="c_primary">';
-					tag += '			<em>'+item.pntAmt+'</em>P';
+					tag += '		<span class="amount_minus">';
+					tag += '			<em>'+item.pntAmt.addComma()+'</em>P';
 					tag += '		</span>';
 				}
 				

+ 4 - 4
src/main/webapp/WEB-INF/views/web/mypage/MypageReviewCreateFormWeb.html

@@ -521,10 +521,10 @@ var reviewUpdate = function() {
 }
 var fnSaveCallback = function (result) {
 	if(result.status == "200"){
-		mcxDialog.confirm("상품리뷰를 등록 하였습니다.리뷰 등록으로 STYLE포인트 XXXP가 적립예정입니다. / 첨부파일이 업로드 된 후 등록이 가능합니다.", {
+		mcxDialog.confirm("상품리뷰를 등록 하였습니다. 150P 적립 예정입니다.", {
 			sureBtnText: "확인",
 			sureBtnClick: function() { 
-				cfnGoToPage(_PAGE_MYPAGE_REVIEW);
+				//cfnGoToPage(_PAGE_MYPAGE_REVIEW);
 			}
 		});
 	}
@@ -533,8 +533,8 @@ var fnSaveCallback = function (result) {
 var fnUpdateCallback = function (result) {
 	if(result.status == "200"){
 		//포인트 예정금액 고지해야함
-		cfnGoToPage(_PAGE_MYPAGE_REVIEW);
-		$("#alreadyReview").trigger('click');
+		//cfnGoToPage(_PAGE_MYPAGE_REVIEW);
+		//$("#alreadyReview").trigger('click');
 		//mcxDialog.alert("상품 리뷰를 수정하였습니다.");
 	}
 }

+ 18 - 19
src/main/webapp/WEB-INF/views/web/mypage/MypageReviewFormWeb.html

@@ -188,8 +188,6 @@
 				}else{
 					html += '							<span class="option">'+item.optCd1Nm+'&nbsp;/&nbsp;'+item.optCd2+'</span>     ';
 				}
-				
-				
 				html += '						</div>                                                                                            ';
 				html += '					</div>                                                                                                ';
 				html += '				</div>                                                                                                    ';
@@ -318,27 +316,28 @@
 				html+='							</div>';
 				html+='						</div>';
 				if (attachList != null && attachList.length >0) {
+					html+='						<div class="photo_box">';
+					html+='							<div class="photo_list">';
+					html+='								<ul>';
 					for (var i = 0; i < attachList.length; i++) {
 						if (attachList[i].reviewSq == item.reviewSq) {
-							html+='						<div class="photo_box">';
-							html+='							<div class="photo_list">';
-							html+='								<ul>';
-							html+='									<li>';
-							html+='										<a href="">';
-							html+='											<div class="pic">';
-							if (attachList[i].fileGb == 'M') {
-								html+='												<span class="thumb mov" style="background-image:url(' + reviewUrl + '/' + attachList[i].sysFileNm + ');"></span>';
-							}else{
-								html+='												<span class="thumb" style="background-image:url(' + reviewUrl + '/' + attachList[i].sysFileNm + ');"></span>';
-							}
-							html+='											</div>';
-							html+='										</a>';
-							html+='									</li>';
-							html+='								</ul>';
-							html+='							</div>';
-							html+='						</div>';
+
+						html+='									<li>';
+						html+='										<a onclick="cfGoodsReviewDetail(\''+item.goodsCd+'\',\'\', \'Y\',\''+item.reviewSq+'\');">';
+						html+='											<div class="pic">';
+						if (attachList[i].fileGb == 'M') {
+							html+='												<span class="thumb mov" style="background-image:url(' + reviewUrl + '/' + attachList[i].sysFileNm + ');"></span>';
+						}else{
+							html+='												<span class="thumb" style="background-image:url(' + reviewUrl + '/' + attachList[i].sysFileNm + ');"></span>';
+						}
+						html+='											</div>';
+						html+='										</a>';
+						html+='									</li>';
 						}
 					}
+					html+='								</ul>';
+					html+='							</div>';
+					html+='						</div>';
 					
 				}
 				html+='						<div class="txt_review_box"  id="admin_'+item.reviewSq+'">';

+ 61 - 59
src/main/webapp/WEB-INF/views/web/mypage/MypageWishListFormWeb.html

@@ -37,14 +37,7 @@
 			</div>
 			<div class="sec_body" id="wishList">
 				<!-- 데이터 없을 시 -->
-				 <div class="nodata" style="display:none;">
-					<div class="txt_box">
-						<p>
-							등록된 위시리스트가 없습니다.<br>
-							
-						</p>
-					</div>
-				</div> 
+				
 				<!-- //데이터 없을 시 -->											
 			</div>
 		</div>
@@ -58,14 +51,10 @@ let month = [[${wishMonth}]];
 
 // 마이페이지 위시리스트 해제
 var wishlistDelete = function(obj) {
-	mcxDialog.confirm("위시리스트를 해제하시겠습니까?", {
-		cancelBtnText : "취소",
-		sureBtnText : "확인",
-		sureBtnClick : function() {
-			cfnPutWishList(obj);
-			ajaxWishList();
-		}
-	});
+	
+	cfnPutWishList(obj);
+	ajaxWishList();
+
 }
 
 // 마이페이지 위시리스트 
@@ -74,54 +63,67 @@ var ajaxWishList = function () {
 		if (status == 'success') {
 			$('#wishList').html('');
 			html = '';
-			for (var i = 0; i < month.length; i++) {
-				html+='<div class="monthly_wish_wrap">';
-				html+='	<div class="date">';
-				html+='		<span>'+month[i].regDt+'</span>';
-				html+='	</div>';
-				html+='	<div class="itemsGrp">';
-				
-				$.each(result, function (idx, item) {
-					if (item.regDtMonth == month[i].regDt) {
-						html+='		<div class="item_prod">';
-						html+='			<div class="item_state">';
-						html+='				<button type="button" class="itemLike active" goodsCd="'+item.goodsCd+'" onclick="wishlistDelete(this)">관심상품 추가</button>';
-						html+='				<a href="javascript:void(0);" class="itemLink" onclick="cfnGoToGoodsDetail('+item.goodsCd+')">';
-						html+='					<div class="itemPic">';
-						html+='						<img alt="" class=" vLHTC pd_img" src="' + _uploadGoodsUrl + '/' + item.sysImgNm + '">';
-						html+='					</div>';
-						html+='					<p class=" itemBrand">'+item.brandGroupNm+'</p>';
-						html+='					<div class=" itemName">'+item.goodsNm+'</div>';
-						html+='					<p class="itemPrice">'+item.currPrice.addComma();
-						if (item.currPrice != item.listPrice) {
-							html+='						<span class="itemPrice_original">'+item.listPrice.addComma()+'</span>';
-						}
-						if (item.dcRate>0) {
-							html+='						<span class=" itemPercent">'+item.dcRate+'%</span>';
+			if (result.length>0) {
+				$(".nodata").hide();
+				for (var i = 0; i < month.length; i++) {
+					html+='<div class="monthly_wish_wrap">';
+					html+='	<div class="date">';
+					html+='		<span>'+month[i].regDt+'</span>';
+					html+='	</div>';
+					html+='	<div class="itemsGrp">';
+					
+					$.each(result, function (idx, item) {
+						if (item.regDtMonth == month[i].regDt) {
+							html+='		<div class="item_prod">';
+							html+='			<div class="item_state">';
+							html+='				<button type="button" class="itemLike active" goodsCd="'+item.goodsCd+'" onclick="wishlistDelete(this)">관심상품 추가</button>';
+							html+='				<a href="javascript:void(0);" class="itemLink" onclick="cfnGoToGoodsDetail(\'' + item.goodsCd + '\')">';
+							html+='					<div class="itemPic">';
+							html+='						<img alt="" class=" vLHTC pd_img" src="' + _uploadGoodsUrl + '/' + item.sysImgNm + '">';
+							html+='					</div>';
+							html+='					<p class=" itemBrand">'+item.brandGroupNm+'</p>';
+							html+='					<div class=" itemName">'+item.goodsNm+'</div>';
+							html+='					<p class="itemPrice">'+item.currPrice.addComma();
+							if (item.currPrice != item.listPrice) {
+								html+='						<span class="itemPrice_original">'+item.listPrice.addComma()+'</span>';
+							}
+							if (item.dcRate>0) {
+								html+='						<span class=" itemPercent">'+item.dcRate+'%</span>';
+							}
+							
+							html+='					</p>';
+							html+='					<div class="itemcolorchip">';
+							html+='						<span class="chip_color35" value="ABM">BEIGE</span>';
+							html+='						<span class="chip_color54" value="BDS">BLACK</span>';
+							html+='						<span class="chip_color40" value="YBR">WHITE</span>';
+							html+='					</div>';
+							html+='					 <p class="itemBadge">';
+							html+='						<span class="badge13">베스트 </span>';
+							html+='					</p>';
+							if (item.goodsTnm != null && item.goodsTnm != '') {
+								html+='					<div class="itemComment">'+item.goodsTnm+'</div>';
+							}
+							html+='				</a>';
+							html+='			</div>';
+							html+='		</div>';
 						}
 						
-						html+='					</p>';
-						html+='					<div class="itemcolorchip">';
-						html+='						<span class="chip_color35" value="ABM">BEIGE</span>';
-						html+='						<span class="chip_color54" value="BDS">BLACK</span>';
-						html+='						<span class="chip_color40" value="YBR">WHITE</span>';
-						html+='					</div>';
-						html+='					 <p class="itemBadge">';
-						html+='						<span class="badge13">베스트 </span>';
-						html+='					</p>';
-						if (item.goodsTnm != null && item.goodsTnm != '') {
-							html+='					<div class="itemComment">'+item.goodsTnm+'</div>';
-						}
-						html+='				</a>';
-						html+='			</div>';
-						html+='		</div>';
-					}
-					
-				});
+					});
+				}
 				html+='	</div>';
 				html+='</div>';
-				$('#wishList').html(html);
+				
+			}else{
+				html += ' <div class="nodata">';
+				html += '	<div class="txt_box">';
+				html += '		<p>';
+				html += '			등록된 위시리스트가 없습니다.<br>';
+				html += '			';
+				html += '		</p>';
+				html += '	</div>';
+				html += '</div>';
 			}
+			$('#wishList').html(html);
 		}
 	});
 }

+ 6 - 0
src/main/webapp/WEB-INF/views/web/planning/PlanningEventPollFormWeb.html

@@ -239,6 +239,12 @@ var fnSubmitPoll = function () {
 				mcxDialog.alert("Q"+(i+1)+"항목은 필수항목입니다.");
 				return;
 			}
+			if($('input:radio[name='+pollQsq+'_'+(i+1)+']:checked').val() == '기타'){
+				if($('input:text[name=etc_input_'+pollQsq+']').val()==''){
+					mcxDialog.alert("Q"+(i+1)+"기타 내용을 입력해주세요.");
+					return;
+				}
+			}
 			if ($('input:radio[name='+pollQsq+'_'+(i+1)+']:checked').val() == '기타') {
 				pollQsq_10 += pollQsq +'-'+$('input:text[name=etc_input_'+pollQsq+']').val() + '/';
 			}else{