From 6d77feabbed80e35fba6d1bd27209567a85a42ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=A3=BC=EC=9D=BC?= Date: Sat, 18 Jul 2026 11:57:45 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EA=B2=8C=EC=8B=9C=ED=8C=90=20=EC=97=B0?= =?UTF-8?q?=EA=B4=80=EC=83=81=ED=92=88=20=EB=AA=A9=EB=A1=9D=20=ED=91=9C?= =?UTF-8?q?=EC=A4=80=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/BOGnrlbbscttService.java | 10 +--- .../bbs/gnrlbbsctt/BOGnrlbbscttMapper.xml | 44 ++++++++++++---- .../WEB-INF/views/sopmal/csc/BbscttDtlR.jsp | 50 ++++++++----------- .../WEB-INF/views/sopmal_m/csc/BbscttDtlR.jsp | 30 ++++------- 4 files changed, 64 insertions(+), 70 deletions(-) diff --git a/src/main/java/com/wb/domainserver/domain/gcone/bbs/gnrlbbsctt/service/BOGnrlbbscttService.java b/src/main/java/com/wb/domainserver/domain/gcone/bbs/gnrlbbsctt/service/BOGnrlbbscttService.java index 220f9eeb..ab6b9d9b 100644 --- a/src/main/java/com/wb/domainserver/domain/gcone/bbs/gnrlbbsctt/service/BOGnrlbbscttService.java +++ b/src/main/java/com/wb/domainserver/domain/gcone/bbs/gnrlbbsctt/service/BOGnrlbbscttService.java @@ -570,19 +570,11 @@ public class BOGnrlbbscttService { Map map = new HashMap(); // 게시글 연관상품 조회 List goodsList = new ArrayList<>(); - DataMap result = new DataMap(); - goodsList = mapper.selectBOBbscttDtlGoods(bbsctt); - /*게시판 설정 > 추천 상품 노출 선택 시 사용자 게시글 상세 상품 노출 */ - if (!goodsList.isEmpty()) { - if ("sopmal".equals(bbsctt.getServerDv())) { - result = goodsService.selectBoGoodsRelateList(goodsList); - } - } /*사용자 , 관리자 페이지 구분*/ if ("sopmal".equals(bbsctt.getServerDv())) { - map.put("goodsList", result); + map.put("goodsList", goodsList); } else { map.put("goodsList", goodsList); } diff --git a/src/main/resources/mybatis/xml/mapper/gcone/bbs/gnrlbbsctt/BOGnrlbbscttMapper.xml b/src/main/resources/mybatis/xml/mapper/gcone/bbs/gnrlbbsctt/BOGnrlbbscttMapper.xml index f9a471a6..7d72fe4d 100644 --- a/src/main/resources/mybatis/xml/mapper/gcone/bbs/gnrlbbsctt/BOGnrlbbscttMapper.xml +++ b/src/main/resources/mybatis/xml/mapper/gcone/bbs/gnrlbbsctt/BOGnrlbbscttMapper.xml @@ -2656,19 +2656,33 @@ WHERE 1=1 AND FGI.GOODS_INNB = FBG.GOODS_INNB AND FGI.SOPMAL_CD = FBG.SOPMAL_CD - AND FGI.IMG_KND = '03' + AND FGI.IMG_KND = '02' AND FGI.CUT_NB = 1 LIMIT 1 - )IMG + ) AS IMG ,FG.GOODS_NM - ,FGO.CNSMRPRIC - ,FGO.SLEPRIC - ,FGO.STDR_DV_AT - ,FN_GET_COMMCODE_NAME('GOODS_STTUS', FG.GOODS_STTUS_CD) AS GOODS_STTUS_NM - ,FN_GET_COMMCODE_NAME('EXPSR', FG.EXPSR_DV_CD) AS EXPSR_NM - ,FBG.ORDR_GOODS_OPTN_INNB - ,FBG.SOPMAL_CD - ,FBG.RE_ORDER_AT + ,FG.GOODS_ICON_CD + ,FG.SRT_DC + ,FG.GOODS_STTUS_CD + ,IFNULL(ROUND(FGO.CNSMRPRIC, 0), 0) AS CNSMRPRIC + ,IFNULL(ROUND(FGO.SLEPRIC, 0), 0) AS SLEPRIC + ,IFNULL(ROUND(((FGO.CNSMRPRIC - FGO.SLEPRIC) / NULLIF(FGO.CNSMRPRIC, 0)) * 100, 0), 0) AS SLE_PERCENT + ,IFNULL((SELECT ROUND(AVG(FBA.EVL_SCORE), 1) + FROM GC_BOARDDATA_GOODS RBG + INNER JOIN GC_BOARDDATA RB ON RB.BBSCTT_INNB = RBG.BBSCTT_INNB AND RB.SOPMAL_CD = RBG.SOPMAL_CD + INNER JOIN GC_BOARDMANAGER RBM ON RBM.BBS_ID = RB.BBS_ID AND RBM.SOPMAL_CD = RB.SOPMAL_CD + LEFT JOIN GC_BOARDFORM RBF ON RBF.BBS_ID = RBM.BBS_ID AND RBF.SOPMAL_CD = RBM.SOPMAL_CD AND RBF.USE_AT = 'Y' AND RBF.ADIT_ITM_DV_CD = '04' + LEFT JOIN GC_BOARD_ADDITM FBA ON FBA.BBSCTT_INNB = RB.BBSCTT_INNB AND FBA.SOPMAL_CD = RB.SOPMAL_CD AND FBA.QESITM_INNB = RBF.QESITM_INNB + WHERE RBG.SOPMAL_CD = FG.SOPMAL_CD + AND RBG.GOODS_INNB IN (SELECT CAST(RVW_GROUP_NB AS DECIMAL(10)) FROM GC_GOODS_RVW_V WHERE SOPMAL_CD = FG.SOPMAL_CD AND GOODS_INNB = FG.GOODS_INNB) + AND RB.USE_AT = 'Y' AND RB.DEPTH = 0 AND RBM.BBS_TY_CD IN ('06', '07')), 0) AS AVG_EVL_SCORE + ,IFNULL((SELECT COUNT(RB.BBSCTT_INNB) + FROM GC_BOARDDATA_GOODS RBG + INNER JOIN GC_BOARDDATA RB ON RB.BBSCTT_INNB = RBG.BBSCTT_INNB AND RB.SOPMAL_CD = RBG.SOPMAL_CD + INNER JOIN GC_BOARDMANAGER RBM ON RBM.BBS_ID = RB.BBS_ID AND RBM.SOPMAL_CD = RB.SOPMAL_CD + WHERE RBG.SOPMAL_CD = FG.SOPMAL_CD + AND RBG.GOODS_INNB IN (SELECT CAST(RVW_GROUP_NB AS DECIMAL(10)) FROM GC_GOODS_RVW_V WHERE SOPMAL_CD = FG.SOPMAL_CD AND GOODS_INNB = FG.GOODS_INNB) + AND RB.USE_AT = 'Y' AND RB.DEPTH = 0 AND RBM.BBS_TY_CD IN ('06', '07')), 0) AS CNT_BBSCTT FROM GC_BOARDDATA_GOODS FBG INNER JOIN GC_GOODS FG ON FG.GOODS_INNB = FBG.GOODS_INNB @@ -2688,6 +2702,16 @@ AND FGO.STDR_DV_AT = 'Y' + + AND FGO.OPTN_EXPSR_AT = 'Y' + AND FGO.USE_AT = 'Y' + AND FG.USE_AT = 'Y' + AND FG.GOODS_KND_CD = '01' + AND FG.GOODS_STTUS_CD IN ('01', '02') + AND (FG.EXPSR_DV_CD = '01' OR (FG.EXPSR_DV_CD = '03' AND SYSDATE() BETWEEN FG.EXPSR_BGN_DT AND FG.EXPSR_END_DT)) + ORDER BY CASE FG.GOODS_STTUS_CD WHEN '02' THEN 1 ELSE 0 END ASC, FBG.REGIST_DT ASC, FBG.GOODS_INNB ASC + LIMIT 12 + diff --git a/src/main/webapp/WEB-INF/views/sopmal/csc/BbscttDtlR.jsp b/src/main/webapp/WEB-INF/views/sopmal/csc/BbscttDtlR.jsp index 9617746c..4d4ded53 100644 --- a/src/main/webapp/WEB-INF/views/sopmal/csc/BbscttDtlR.jsp +++ b/src/main/webapp/WEB-INF/views/sopmal/csc/BbscttDtlR.jsp @@ -132,13 +132,13 @@ }); } else { //메인화면 호출 안할 시 // 상품 - 4열 슬라이드 타입 (이벤트 추천 상품 슬릭 이벤트) - $('.four-row-slick').slick({ + $('.relate-goods-slick').slick({ slidesToShow: 4, slidesToScroll: 4, speed: 900, infinite: true, - prevArrow: $('.four-row-slick__prev'), - nextArrow: $('.four-row-slick__next'), + prevArrow: $('.relate-goods-slick__prev'), + nextArrow: $('.relate-goods-slick__next'), }); } } @@ -938,7 +938,7 @@ <%-------------------------------%> - +
@@ -950,22 +950,18 @@
-
- +
+
- - - - - + onerror="this.src='/pc/images/image_placeholder.png'" alt="해당 이미지에 대한 설명"> +
@@ -996,48 +992,42 @@
- -
- + - +
- % + %
-
-
- - - ${goodsOpt.goodInnb} - () - - + + ()
+
- -
+
diff --git a/src/main/webapp/WEB-INF/views/sopmal_m/csc/BbscttDtlR.jsp b/src/main/webapp/WEB-INF/views/sopmal_m/csc/BbscttDtlR.jsp index eb2a1845..d688a626 100644 --- a/src/main/webapp/WEB-INF/views/sopmal_m/csc/BbscttDtlR.jsp +++ b/src/main/webapp/WEB-INF/views/sopmal_m/csc/BbscttDtlR.jsp @@ -1413,7 +1413,7 @@
<%-------------------------------%> <%--연관상품영역--%> - +