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

FAQ관련 수정, 1:1문의와 상품문의 수정, 중요 공지사항과 일반 공지사항이 중복 노출되는 문제 수정

gagamel 5 лет назад
Родитель
Сommit
b2a36a1615

+ 11 - 11
src/main/java/com/style24/front/biz/service/TsfNoticeService.java

@@ -45,17 +45,17 @@ public class TsfNoticeService {
 		return noticeDao.getNoticeList(notice);
 	}
 
-	/**
-	 * 긴급 공지사항 목록
-	 * @param notice - 공지사항 정보
-	 * @return
-	 * @author gagamel
-	 * @date 2020. 11. 3
-	 */
-	public Collection<Notice> getUrgentNoticeList(Notice notice) {
-		notice.setUrgentYn("Y"); // 긴급공지
-		return noticeDao.getNoticeList(notice);
-	}
+//	/**
+//	 * 긴급 공지사항 목록
+//	 * @param notice - 공지사항 정보
+//	 * @return
+//	 * @author gagamel
+//	 * @date 2020. 11. 3
+//	 */
+//	public Collection<Notice> getUrgentNoticeList(Notice notice) {
+//		notice.setUrgentYn("Y"); // 긴급공지
+//		return noticeDao.getNoticeList(notice);
+//	}
 
 	/**
 	 * 공지사항 첨부파일 목록

+ 26 - 2
src/main/java/com/style24/front/biz/web/TsfCallcenterController.java

@@ -150,8 +150,8 @@ public class TsfCallcenterController extends TsfBaseController {
 		result.set("paging", notice);
 		result.set("dataList", noticeService.getNoticeList(notice));
 
-		// 긴급(중요) 공지사항 목록
-		result.set("urgentList", noticeService.getUrgentNoticeList(notice));
+//		// 긴급(중요) 공지사항 목록
+//		result.set("urgentList", noticeService.getUrgentNoticeList(notice));
 
 		return result;
 	}
@@ -267,6 +267,18 @@ public class TsfCallcenterController extends TsfBaseController {
 		return super.ok(message.getMessage("SUCC_0003"));
 	}
 
+	/**
+	 * 1:1문의 건수 정보
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 4. 27
+	 */
+	@GetMapping("/onetoone/qna/count/info")
+	@ResponseBody
+	public Counsel getOneToOneQnaCountInfo() {
+		return counselService.getOneToOneQnaCountInfo();
+	}
+
 	/**
 	 * 1:1문의 상세 화면. 목록 화면에 상세 데이터 노출로 해당 로직 사용 안 함.
 	 * @param counselSq - 상담일련번호
@@ -388,4 +400,16 @@ public class TsfCallcenterController extends TsfBaseController {
 		return super.ok(message.getMessage("SUCC_0003"));
 	}
 
+	/**
+	 * 상품문의 건수 정보
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 4. 27
+	 */
+	@GetMapping("/goods/qna/count/info")
+	@ResponseBody
+	public Counsel getGoodsQnaCountInfo() {
+		return counselService.getGoodsQnaCountInfo();
+	}
+
 }

+ 4 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfCounsel.xml

@@ -279,11 +279,15 @@
 		    <when test="goodsType != null and goodsType == 'G056_D'">
 		AND    A.REL_GOODS_CD = G.GOODS_CD
 		AND    G.GOODS_CD = C.COMPS_GOODS_CD
+		        <if test="relGoodsCd != null and relGoodsCd != '' ">
 		AND    C.GOODS_CD = #{relGoodsCd}
+		        </if>
 		    </when>
 		    <otherwise>
 		AND    A.REL_GOODS_CD = G.GOODS_CD
+		        <if test="relGoodsCd != null and relGoodsCd != '' ">
 		AND    A.REL_GOODS_CD = #{relGoodsCd}
+		        </if>
 		    </otherwise>
 		</choose>
 		<if test="custNo != null and custNo > 0 ">

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

@@ -36,6 +36,7 @@
 		SELECT NOTICE_SQ                                     /*공지사항일련번호*/
 		     , NOTICE_TITLE                                  /*공지제목*/
 		     , NOTICE_CONTENT                                /*공지내용*/
+		     , URGENT_YN                                     /*긴급여부*/
 		     , READ_CNT                                      /*조회수*/
 		     , DATE_FORMAT(REG_DT,'%Y.%m.%d')    AS REG_DT   /*등록일자*/
 		     , (SELECT COUNT(1)
@@ -67,7 +68,7 @@
 		WHERE  NOTICE_SQ = #{noticeSq}
 	</select>
 	
-	<!-- 공지사항  조회건수 Update -->
+	<!-- 공지사항 조회건수 Update -->
 	<update id="updateNoticeReadCount" parameterType="Integer">
 		/* TsfNotice.updateNoticeReadCount */
 		UPDATE TB_NOTICE

+ 2 - 2
src/main/webapp/WEB-INF/views/web/callcenter/FaqFormWeb.html

@@ -66,7 +66,7 @@
 									</div>
 								</div>
 								<div class="fold_nav">
-									<ul>
+									<ul id="ulFaqType">
 										<li><a href="#none;" onclick="fnGetList(this);" class="on">전체</a></li>
 										<li th:if="${faqTypeList != null and !faqTypeList.empty}" th:each="oneData, status : ${faqTypeList}">
 											<a href="javascript:void(0);" th:onclick='fnGetList(this, [[${oneData.cd}]]);' th:text="${oneData.cdNm}">상품문의</a>
@@ -208,7 +208,7 @@
 		}
 		
 		$('#faqForm input[name=faqType]').val('');
-		fnGetList();
+		fnGetList($('#ulFaqType>li').eq(0).find('a'));
 	}
 	
 	// FAQ상세팝업 오픈

+ 12 - 4
src/main/webapp/WEB-INF/views/web/callcenter/GoodsQnaFormWeb.html

@@ -36,7 +36,7 @@
 					<div class="cont">
 						<div>
 							<div class="sec_head">
-								<h3>1:1 문의</h3>
+								<h3>상품문의</h3>
 							</div>
 							<div class="sec_body">
 								<div class="history_wrap clear">
@@ -44,15 +44,15 @@
 										<ul>
 											<li>
 												<span>총 문의</span>
-												<a href="javascript:void(0);" onclick="" th:text="${qnaCountInfo.totCnt}">12</a>
+												<a href="javascript:void(0);" onclick="" th:text="${qnaCountInfo.totCnt}" id="qnaTotCnt">12</a>
 											</li>
 											<li>
 												<span>답변 완료</span>
-												<a href="javascript:void(0);" onclick="" th:text="${qnaCountInfo.ansCnt}">8</a>
+												<a href="javascript:void(0);" onclick="" th:text="${qnaCountInfo.ansCnt}" id="qnaAnsCnt">8</a>
 											</li>
 											<li>
 												<span>처리 중</span>
-												<a href="javascript:void(0);" onclick="" th:text="${qnaCountInfo.ingCnt}" class="doing">0</a>
+												<a href="javascript:void(0);" onclick="" th:text="${qnaCountInfo.ingCnt}" class="doing" id="qnaIngCnt">0</a>
 											</li>
 										</ul>
 									</div>
@@ -176,6 +176,14 @@
 						, jsonData
 						, function() {
 							fnGetList();
+							
+							$.get('/callcenter/goods/qna/count/info'
+									, function(result) {
+										$('#qnaTotCnt').html(result.totCnt);
+										$('#qnaAnsCnt').html(result.ansCnt);
+										$('#qnaIngCnt').html(result.ingCnt);
+									}
+								);
 						});
 			}
 		});

+ 17 - 33
src/main/webapp/WEB-INF/views/web/callcenter/NoticeFormWeb.html

@@ -89,44 +89,28 @@
 	var fnGetListCallback = function(result) {
 		$('#ulNotice').html('');
 
-		// 중요 공지 목록
-		if (result.urgentList != null && result.urgentList.length > 0) {
-			$.each(result.urgentList, function(idx, item) {
-				let tag = '<li class="critical">\n'; // 중요 공지 클래스 critical 추가
-				tag += '	<div class="fold_head">\n';
-				tag += '		<a href="javascript:void(0)">\n';
-				tag += '			<div>\n';
-				tag += '				<span class="fold_state"><em class="important">중요</em></span>\n';
-				tag += '				<span class="fold_category">공지</span>\n';
-				tag += '				<div class="fold_tit">\n';
-				tag += '					<span>' + item.noticeTitle + '</span>\n';
-				tag += '				</div>\n';
-				tag += '				<span class="data">' + item.regDt.toDate("YYYYMMDD").format("YYYY.MM.DD") + '</span>\n';
-				tag += '			</div>\n';
-				tag += '		</a>\n';
-				tag += '	</div>\n';
-				tag += '	<div class="fold_cont" style="display: none;">\n';
-				tag += '		<div class="fold_detail">\n';
-				tag += '			<div>' + item.noticeContent + '</div>\n';
-				tag += '		</div>\n';
-				tag += '	</div>\n';
-				tag += '</li>\n';
-
-				$('#ulNotice').append(tag);
-			});
-		}
-		
-		// 일반 공지 목록
 		if (result.dataList != null && result.dataList.length > 0) {
 			$.each(result.dataList, function(idx, item) {
 				let paging = result.paging.pageable;
-
-				let tag = '<li>\n';
+				let tag = '';
+				
+				if (item.urgentYn == 'Y') {
+					tag += '<li class="critical">\n'; // 중요 공지 클래스 critical 추가
+				} else {
+					tag += '<li>\n';
+				}
+				
 				tag += '	<div class="fold_head">\n';
 				tag += '		<a href="javascript:void(0)">\n';
 				tag += '			<div>\n';
-				tag += '				<span class="fold_state">' + (paging.totalCount - ((paging.pageNo - 1) * paging.pageSize) - idx++) + '</span>\n';
-				tag += '				<span class="fold_category">브랜드</span>\n';
+				
+				if (item.urgentYn == 'Y') {
+					tag += '				<span class="fold_state"><em class="important">중요</em></span>\n';
+				} else {
+					tag += '				<span class="fold_state">' + (paging.totalCount - ((paging.pageNo - 1) * paging.pageSize) - idx++) + '</span>\n';
+				}
+				
+// 				tag += '				<span class="fold_category">공지</span>\n';
 				tag += '				<div class="fold_tit">\n';
 				tag += '					<span>' + item.noticeTitle + '</span>\n';
 				tag += '				</div>\n';
@@ -140,7 +124,7 @@
 				tag += '		</div>\n';
 				tag += '	</div>\n';
 				tag += '</li>\n';
-			
+
 				$('#ulNotice').append(tag);
 			});
 		}

+ 11 - 3
src/main/webapp/WEB-INF/views/web/callcenter/OneToOneQnaFormWeb.html

@@ -44,15 +44,15 @@
 										<ul>
 											<li>
 												<span>총 문의</span>
-												<a href="javascript:void(0);" onclick="" th:text="${qnaCountInfo.totCnt}">12</a>
+												<a href="javascript:void(0);" onclick="" th:text="${qnaCountInfo.totCnt}" id="qnaTotCnt">12</a>
 											</li>
 											<li>
 												<span>답변 완료</span>
-												<a href="javascript:void(0);" onclick="" th:text="${qnaCountInfo.ansCnt}">8</a>
+												<a href="javascript:void(0);" onclick="" th:text="${qnaCountInfo.ansCnt}" id="qnaAnsCnt">8</a>
 											</li>
 											<li>
 												<span>처리 중</span>
-												<a href="javascript:void(0);" onclick="" th:text="${qnaCountInfo.ingCnt}" class="doing">0</a>
+												<a href="javascript:void(0);" onclick="" th:text="${qnaCountInfo.ingCnt}" class="doing" id="qnaIngCnt">0</a>
 											</li>
 										</ul>
 									</div>
@@ -259,6 +259,14 @@
 						, jsonData
 						, function() {
 							fnGetList();
+							
+							$.get('/callcenter/onetoone/qna/count/info'
+								, function(result) {
+									$('#qnaTotCnt').html(result.totCnt);
+									$('#qnaAnsCnt').html(result.ansCnt);
+									$('#qnaIngCnt').html(result.ingCnt);
+								}
+							);
 						});
 			}
 		});