Explorar o código

이미지 처리 추가

gagamel %!s(int64=5) %!d(string=hai) anos
pai
achega
351f35d9d2

+ 5 - 4
style24.admin/src/main/java/com/style24/persistence/domain/Counsel.java

@@ -35,6 +35,7 @@ public class Counsel extends TscBaseDomain {
 //	private String emailSendYn;		// 이메일발송여부
 	private String relGoodsCd;		// 관련상품코드(상품문의에서만 사용)
 	private String goodsNm;			// 상품명(상품문의에서만 사용)
+	private String goodsImg;		// 상품이미지
 	private String selfGoodsYn;		// 자사상품여부(상품문의에서만 사용)
 	private String questTitle;		// 문의제목
 	private String questContent;	// 문의내용
@@ -73,19 +74,19 @@ public class Counsel extends TscBaseDomain {
 	private String termStdt;		// 검색시작날짜
 	private String termEddt;		// 검색끝날짜
 
-	public String getCustId() {
+	public String getMaskingCustId() {
 		return TsaSession.getInfo().getMaskingYn().equals("Y") ? MaskingUtils.id(custId) : custId;
 	}
 
-	public String getCustNm() {
+	public String getMaskingCustNm() {
 		return TsaSession.getInfo().getMaskingYn().equals("Y") ? MaskingUtils.name(custNm) : custNm;
 	}
 
-	public String getCellPhnno() {
+	public String getMaskingCellPhnno() {
 		return TsaSession.getInfo().getMaskingYn().equals("Y") ? MaskingUtils.phoneNo(cellPhnno) : cellPhnno;
 	}
 
-	public String getEmail() {
+	public String getMaskingEmail() {
 		return TsaSession.getInfo().getMaskingYn().equals("Y") ? MaskingUtils.email(email) : email;
 	}
 

+ 14 - 8
style24.admin/src/main/java/com/style24/persistence/mybatis/shop/TsaCounsel.xml

@@ -19,8 +19,6 @@
 		     , A.SMS_REQ_YN                                                        /*SMS요청여부*/
 		     , A.SMS_SEND_YN                                                       /*SMS발송여부*/
 		     , A.EMAIL                                                             /*이메일*/
-		     -- , A.EMAIL_REQ_YN                                                      /*이메일요청여부*/
-		     -- , A.EMAIL_SEND_YN                                                     /*이메일발송여부*/
 		     , A.ANS_STAT                                                          /*답변상태*/
 		     , DATE_FORMAT(A.ANS_DT, '%Y-%m-%d %H:%i:%S')      AS ANS_DT           /*답변일시*/
 		     , A.ANS_NO                                                            /*답변자번호*/
@@ -81,8 +79,6 @@
 		     , A.SMS_REQ_YN                                                       /*SMS요청여부*/
 		     , A.SMS_SEND_YN                                                      /*SMS발송여부*/
 		     , A.EMAIL                                                            /*이메일*/
-		     -- , A.EMAIL_REQ_YN                                                     /*이메일요청여부*/
-		     -- , A.EMAIL_SEND_YN                                                    /*이메일발송여부*/
 		     , DATE_FORMAT(A.QUEST_DT,'%Y-%m-%d %H:%i:%S')    AS QUEST_DT         /*문의일시*/
 		     , A.ANS_NO                                                           /*답변자번호*/
 		     , C.USER_NM                                      AS ANS_NM           /*답변자명*/
@@ -134,10 +130,15 @@
 		     , A.SMS_REQ_YN                                                        /*SMS요청여부*/
 		     , A.SMS_SEND_YN                                                       /*SMS발송여부*/
 		     , A.EMAIL                                                             /*이메일*/
-		     -- , A.EMAIL_REQ_YN                                                      /*이메일요청여부*/
-		     -- , A.EMAIL_SEND_YN                                                     /*이메일발송여부*/
 		     , A.REL_GOODS_CD                                                      /*관련상품코드*/
 		     , G.GOODS_NM                                                          /*상품명*/
+		     , (SELECT SYS_IMG_NM
+		        FROM   TB_GOODS_IMG
+		        WHERE  GOODS_CD = G.GOODS_CD
+		        AND    COLOR_CD = G.MAIN_COLOR_CD
+		        AND    DEFAULT_IMG_YN = 'Y' /*디폴트이미지*/
+		        LIMIT 1
+		       )                                               AS GOODS_IMG        /*상품이미지*/
 		     , A.ANS_STAT                                                          /*답변상태*/
 		     , A.ANS_TRANS_YN                                                      /*답변의뢰여부*/
 		     , A.ANS_COMP_CD                                                       /*답변업체코드*/
@@ -213,10 +214,15 @@
 		     , A.SMS_REQ_YN                                                        /*SMS요청여부*/
 		     , A.SMS_SEND_YN                                                       /*SMS발송여부*/
 		     , A.EMAIL                                                             /*이메일*/
-		     -- , A.EMAIL_REQ_YN                                                      /*이메일요청여부*/
-		     -- , A.EMAIL_SEND_YN                                                     /*이메일발송여부*/
 		     , A.REL_GOODS_CD                                                      /*관련상품코드*/
 		     , G.GOODS_NM                                                          /*상품명*/
+		     , (SELECT SYS_IMG_NM
+		        FROM   TB_GOODS_IMG
+		        WHERE  GOODS_CD = G.GOODS_CD
+		        AND    COLOR_CD = G.MAIN_COLOR_CD
+		        AND    DEFAULT_IMG_YN = 'Y' /*디폴트이미지*/
+		        LIMIT 1
+		       )                                               AS GOODS_IMG        /*상품이미지*/
 		     , G.SELF_GOODS_YN                                                     /*자사상품여부*/
 		     , DATE_FORMAT(A.QUEST_DT,'%Y-%m-%d %H:%i:%S')     AS QUEST_DT         /*문의일시*/
 		     , A.SECRET_YN                                                         /*비밀글여부*/

+ 3 - 8
style24.admin/src/main/webapp/WEB-INF/views/customer/GoodsQnaDetailForm.html

@@ -79,7 +79,9 @@
 							<th>상품코드</th>
 							<td colspan="3" th:text="*{relGoodsCd}"></td>
 							<th rowspan="3">상품이미지</th>
-							<td rowspan="3" class="userImg" id="onetooneImg"></td>
+							<td rowspan="3" class="userImg">
+								<img style="height: 100px;" th:src="${@environment.getProperty('upload.goods.view') + '/' + counselInfo.goodsImg}" alt="" onerror='this.src="/image/no.gif"'/>
+							</td>
 						</tr>
 						<tr>
 							<th>상품명</th>
@@ -232,13 +234,6 @@
 	});
 	
 	$(document).ready(function() {
-// 		var counsel = [[${counsel}]];
-
-// 		if (!gagajf.isNull(counselInfo.sysFileNm)) {
-// 			var imgTag = '<img style="height: 100px;" onclick="cfnOpenImagePreViewPopup(\'goodsImgView\', \'' + _imgUrl + '/counsel/' + counselInfo.sysFileNm + '\')" src="' + _imgUrl + '/counsel/' + counselInfo.sysFileNm + '">';
-// 			$('#onetooneImg').append(imgTag);
-// 		}
-
 		cfnGetTextLength($('textarea[name=ansContent]'), 4000, $('#dpLocAnsContent'));
 	});
 /*]]>*/

+ 17 - 6
style24.admin/src/main/webapp/WEB-INF/views/customer/GoodsQnaForm.html

@@ -101,7 +101,7 @@
 		
 		<!-- 리스트 영역 -->
 		<div class="panelStyle">
-			<div id="gridList" style="width: 100%; height: 570px" class="ag-theme-balham"></div>
+			<div id="gridList" style="width: 100%; height: 570px" class="ag-theme-balham lh60"></div>
 		</div>
 		<!-- //리스트 영역 -->
 	</div>
@@ -126,6 +126,12 @@
 			headerName: "문의일시", field: "questDt", width: 150, cellClass: 'text-center',
 			cellRenderer: function (params) { return gagaAgGrid.toDateTimeFormat(params.value); }
 		},
+		{
+			headerName: "이미지", field: "goodsImg", width: 100, cellClass: 'text-center',
+			cellRenderer: function(params) {
+				return '<img width="60" src="' + _goodsUrl +  "/" + params.value + '" alt="" onerror="this.src=\'/image/no.gif\';"/>';
+			}
+		},
 		{
 			headerName: "상품코드", field: "relGoodsCd", width: 100, cellClass: 'text-center',
 			cellRenderer: function(params) { return '<a href="javascript:void(0);">' + params.value + '</a>'; }
@@ -136,12 +142,12 @@
 			cellRenderer: function(params) { return params.value == 'Y' ? 'Yes' : 'No'; }
 		},
 		{headerName: "고객번호", field: "custNo", width: 100, cellClass: 'text-center', hide: true},
-		{headerName: "고객ID", field: "custId", width: 100, cellClass: 'text-center', hide: true},
+		{headerName: "고객ID", field: "maskingCustId", width: 100, cellClass: 'text-center', hide: true},
 		{
-			headerName: "고객명", field: "custNm", width: 150, cellClass: 'text-center',
-			cellRenderer: function(params) { return '<a href="javascript:void(0);">' + params.value + '(' + params.data.custId + ')</a>'; }
+			headerName: "고객명", field: "maskingCustNm", width: 150, cellClass: 'text-center',
+			cellRenderer: function(params) { return '<a href="javascript:void(0);">' + params.value + '(' + params.data.maskingCustId + ')</a>'; }
 		},
-		{headerName: "휴대전화번호", field: "cellPhnno", width: 120, cellClass: 'text-center'},
+		{headerName: "휴대전화번호", field: "maskingCellPhnno", width: 120, cellClass: 'text-center'},
 		{
 			headerName: "SMS답변요청", field: "smsReqYn", width: 120, cellClass: 'text-center',
 			cellRenderer: function(params) { return params.value == 'Y' ? 'Yes' : 'No'; }
@@ -150,7 +156,7 @@
 			headerName: "SMS답변발송", field: "smsSendYn", width: 120, cellClass: 'text-center',
 			cellRenderer: function(params) { return params.value == 'Y' ? 'Yes' : 'No'; }
 		},
-		{headerName: "이메일", field: "email", width: 200},
+		{headerName: "이메일", field: "maskingEmail", width: 200},
 // 		{
 // 			headerName: "이메일답변요청", field: "emailReqYn", width: 120, cellClass: 'text-center',
 // 			cellRenderer: function(params) { return params.value == 'Y' ? 'Yes' : 'No'; }
@@ -184,6 +190,9 @@
 	// Get GridOptions
 	let gridOptions = gagaAgGrid.getGridOptions(columnDefs);
 	
+	// 이미지가 있을 경우 높이 지정
+	gridOptions.rowHeight = 60;
+	
 	// 셀 클릭 이벤트
 	gridOptions.onCellClicked = function(event) {
 		if (event.colDef.field == 'counselSq') {
@@ -192,6 +201,8 @@
 		} else if (event.colDef.field == 'custNm') {
 			// 고객 상세
 			cfnOpenCustDetailPopup(event.data.custNo);
+		} else if (event.colDef.field == 'relGoodsCd') {
+			cfnOpenGoodsDetailPopup('U', event.data.relGoodsCd);
 		}
 	}
 	

+ 3 - 8
style24.admin/src/main/webapp/WEB-INF/views/customer/OneToOneQnaDetailForm.html

@@ -88,7 +88,9 @@
 								<textarea class="textareaR4" style="resize: none;" name="questContent" th:text="*{questContent}" disabled="disabled"></textarea>
 							</td>
 							<th>첨부 이미지</th>
-							<td class="userImg" id="onetooneImg">
+							<td class="userImg">
+								<img th:if="${counselInfo.sysFileNm1 != null}" style="height: 100px;" th:src="${@environment.getProperty('domain.image') + '/counsel/' + counselInfo.sysFileNm1}" alt="" onerror='this.src="/image/no.gif"'/>
+								<img th:if="${counselInfo.sysFileNm2 != null}" style="height: 100px;" th:src="${@environment.getProperty('domain.image') + '/counsel/' + counselInfo.sysFileNm2}" alt="" onerror='this.src="/image/no.gif"'/>
 							</td>
 						</tr>
 					</tbody>
@@ -185,13 +187,6 @@
 	});
 	
 	$(document).ready(function() {
-// 		var counsel = [[${counsel}]];
-
-// 		if (!gagajf.isNull(counselInfo.sysFileNm)) {
-// 			var imgTag = '<img style="height: 100px;" onclick="cfnOpenImagePreViewPopup(\'goodsImgView\', \'' + _imgUrl + '/counsel/' + counselInfo.sysFileNm + '\')" src="' + _imgUrl + '/counsel/' + counselInfo.sysFileNm + '">';
-// 			$('#onetooneImg').append(imgTag);
-// 		}
-
 		cfnGetTextLength($('textarea[name=ansContent]'), 4000, $('#dpLocAnsContent'));
 	});
 /*]]>*/