Pārlūkot izejas kodu

Merge branch 'develop' into bin2107

bin2107 4 gadi atpakaļ
vecāks
revīzija
2c57725706

+ 9 - 0
src/main/java/com/style24/admin/biz/dao/TsaReviewDao.java

@@ -15,6 +15,15 @@ import com.style24.persistence.domain.ReviewAttach;
 @ShopDs
 public interface TsaReviewDao {
 
+	/**
+	 * 상품평 총건수
+	 * @param review - 상품평 정보
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 7. 24
+	 */
+	int getReviewTotalCount(Review review);
+
 	/**
 	 * 상품평 목록
 	 * @param review - 상품평 정보

+ 11 - 0
src/main/java/com/style24/admin/biz/service/TsaReviewService.java

@@ -30,6 +30,17 @@ public class TsaReviewService {
 	@Autowired
 	private TscEnvsetService envsetService;
 
+	/**
+	 * 상품평 총건수
+	 * @param review - 상품평 정보
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 7. 24
+	 */
+	public int getReviewTotalCount(Review review) {
+		return reviewDao.getReviewTotalCount(review);
+	}
+
 	/**
 	 * 상품평 목록
 	 * @param review - 상품평 정보

+ 14 - 15
src/main/java/com/style24/admin/biz/web/TsaMarketingController.java

@@ -206,12 +206,12 @@ public class TsaMarketingController extends TsaBaseController {
 			review.setGoodsCds(review.getGoodsCd().replaceAll("\r", "").split("\n"));
 		}
 
+		review.setPageable(new TscPageRequest(review.getPageNo() - 1, review.getPageSize()));
+		review.getPageable().setTotalCount(reviewService.getReviewTotalCount(review));
+
 		// 상품평 목록
 		Collection<Review> reviewList = reviewService.getReviewList(review);
 
-		review.setPageable(new TscPageRequest(review.getPageNo() - 1, review.getPageSize()));
-		review.getPageable().setTotalCount(reviewList.size());
-
 		result.set("paging", review);
 		result.set("dataList", reviewList);
 
@@ -832,7 +832,7 @@ public class TsaMarketingController extends TsaBaseController {
 			mav.addObject("tmtbMstInfo", morebetterService.getMorebetterMstInfo(tmtbSeq));
 			mav.addObject("tmtbSupplyCompList", morebetterService.getMorebetterSupplyCompList(tmtbSeq, "G260_13"));
 			mav.addObject("tmtbBrandList", morebetterService.getMorebetterBrandList(tmtbSeq, "G260_12"));
-			mav.addObject("tmtbDefaultGoodsList", morebetterService.getMorebetterApplyGoodsList(tmtbSeq, "G260_10" , "G800_10"));
+			mav.addObject("tmtbDefaultGoodsList", morebetterService.getMorebetterApplyGoodsList(tmtbSeq, "G260_10", "G800_10"));
 			mav.addObject("tmtbApplyGoodsList", morebetterService.getMorebetterApplyGoodsList(tmtbSeq, "G260_10", "G800_20"));
 			mav.addObject("tmtbExceptGoodsList", morebetterService.getMorebetterExceptGoodsList(tmtbSeq, "G260_10"));
 			mav.addObject("tmtbSectionValList", morebetterService.getMorebetterSectionValList(tmtbSeq));
@@ -1455,7 +1455,7 @@ public class TsaMarketingController extends TsaBaseController {
 	@PostMapping("/point/save")
 	@ResponseBody
 	public GagaResponse savePoint(@RequestBody Point point) {
-		if (point.getCustNo() == null || point.getCustNo() <= 0 ) {
+		if (point.getCustNo() == null || point.getCustNo() <= 0) {
 			throw new IllegalStateException("고객정보가 없습니다.");
 		}
 		Integer userNo = TsaSession.getInfo().getUserNo();
@@ -1752,7 +1752,6 @@ public class TsaMarketingController extends TsaBaseController {
 
 			// 상위제휴채널 조회
 			mav.addObject("upperAfLinkCdList", rendererService.getAvailCommonCodeList("G053"));
-			
 
 		} else if (param.getMode().equals("U")) { // 상세 일 때
 			mav.addObject("planInfo", planService.getPlanDetailInfo(param));
@@ -1776,7 +1775,7 @@ public class TsaMarketingController extends TsaBaseController {
 
 			// 상위제휴채널 조회
 			mav.addObject("upperAfLinkCdList", rendererService.getAvailCommonCodeList("G053"));
-			
+
 			// 선택한 회원유형
 			mav.addObject("gbList", planService.getPlanCustGbList(param));
 
@@ -1786,7 +1785,7 @@ public class TsaMarketingController extends TsaBaseController {
 
 		// 사이트 목록
 		mav.addObject("siteList", rendererService.getAvailCommonCodeList("G000"));
-		
+
 		// 카테고리 리스트
 		mav.addObject("cateList", planService.getPlanningCategoryList(param));
 
@@ -2577,7 +2576,7 @@ public class TsaMarketingController extends TsaBaseController {
 		socialService.deleteSocialGoods(paramList);
 		return super.ok(message.getMessage("SUCC_0003"));
 	}
-	
+
 	/**
 	 * 출석체크 쿠폰 유효 확인
 	 *
@@ -2654,7 +2653,7 @@ public class TsaMarketingController extends TsaBaseController {
 		}
 		return super.ok(message.getMessage("SUCC_0001"));
 	}
-	
+
 	/**
 	 * 소셜쇼핑관리 화면
 	 *
@@ -2664,16 +2663,16 @@ public class TsaMarketingController extends TsaBaseController {
 	@GetMapping("/shot/delivery/form")
 	public ModelAndView shotDeliveryForm() {
 		ModelAndView mav = new ModelAndView();
-		
+
 		// 코너유형목록
 		mav.addObject("cornerDispTypeList", rendererService.getCommonCodeList("G045", "Y"));
 		// 상품상태
 		mav.addObject("goodsStatList", rendererService.getCommonCodeList("G008", "Y"));
-		
+
 		mav.setViewName("marketing/ShotDeliveryForm");
 		return mav;
 	}
-	
+
 	/**
 	 * 총알배송 브랜드 그룹 목록
 	 *
@@ -2721,7 +2720,7 @@ public class TsaMarketingController extends TsaBaseController {
 		result.set("brandGoodsList", planService.getShotBrandGoodsList(plan));
 		return result;
 	}
-	
+
 	/**
 	 * 총알배송 브랜드 상품추가
 	 *
@@ -2735,7 +2734,7 @@ public class TsaMarketingController extends TsaBaseController {
 		planService.saveShotBrandGoods(paramList);
 		return super.ok(message.getMessage("SUCC_0001"));
 	}
-	
+
 	/**
 	 * 총알배송 브랜드 상품 삭제
 	 *

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

@@ -2,6 +2,48 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.style24.admin.biz.dao.TsaReviewDao">
 
+	<!--상품평 총건수  -->
+	<select id="getReviewTotalCount" parameterType="Review" resultType="int">
+		/* TsaReview.getReviewTotalCount */
+		SELECT COUNT(*) AS CNT
+		FROM   TB_REVIEW R
+		     , TB_CUSTOMER C
+		     , TB_GOODS G
+		WHERE  R.CUST_NO = C.CUST_NO
+		AND    R.GOODS_CD = G.GOODS_CD
+		AND    R.DEL_YN = 'N'
+		<if test="goodsCds != null and goodsCds != ''">
+		AND    (
+		        <foreach collection="goodsCds" item="item" index="index" separator="or">
+		        R.GOODS_CD LIKE CONCAT(UPPER(#{item}),'%') 
+		        </foreach>
+		       )
+		</if>
+		<if test="startDt != null and startDt != ''">
+		AND    R.REG_DT <![CDATA[>=]]> STR_TO_DATE(#{startDt},'%Y-%m-%d')
+		</if>
+		<if test="endDt != null and endDt != ''">
+		AND    R.REG_DT <![CDATA[<]]> DATE_ADD(STR_TO_DATE(#{endDt},'%Y-%m-%d'),INTERVAL 1 DAY)
+		</if>
+		<if test="reviewGb != null and reviewGb != ''">
+		AND    R.REVIEW_GB = #{reviewGb}
+		</if>
+		<if test="pntGiveStat != null and pntGiveStat != ''">
+		AND    R.PNT_GIVE_STAT = #{pntGiveStat}
+		</if>
+		<if test="dispYn != null and dispYn != ''">
+		AND    R.DISP_YN = #{dispYn}
+		</if>
+		<if test="searchTxt != null and searchTxt != ''">
+		    <if test="searchGb == 'memNm'">
+		AND    UPPER(C.CUST_NM) LIKE CONCAT(UPPER(#{searchTxt}),'%')
+		    </if>
+		    <if test="searchGb == 'email'">
+		AND    UPPER(C.EMAIL) LIKE CONCAT(UPPER(#{searchTxt}),'%')
+		    </if>
+		</if>
+	</select>
+	
 	<!--상품평 목록  -->
 	<select id="getReviewList" parameterType="Review" resultType="Review">
 		/* TsaReview.getReviewList */
@@ -15,7 +57,22 @@
 		        AND    DEFAULT_IMG_YN = 'Y' /*디폴트이미지*/
 		        LIMIT 1
 		       )                                        AS GOODS_IMG      /*상품이미지*/
-		     , R.REVIEW_GB                                                /*상품평구분*/
+		     , CASE WHEN R.REVIEW_GB = 'P' THEN
+		                (SELECT CASE WHEN MOVIE_CNT > 0 AND IMG_CNT = 0 THEN 'M' /*영상*/
+		                             WHEN MOVIE_CNT = 0 AND IMG_CNT > 0 THEN 'I' /*포토*/
+		                             ELSE 'P' /*포토+영상*/
+		                        END
+		                 FROM   (
+		                         SELECT SUM(CASE WHEN FILE_GB = 'M' THEN 1 ELSE 0 END) AS MOVIE_CNT
+		                              , SUM(CASE WHEN FILE_GB = 'I' THEN 1 ELSE 0 END) AS IMG_CNT
+		                         FROM   TB_REVIEW_ATTACH
+		                         WHERE  REVIEW_SQ = R.REVIEW_SQ
+		                         AND    DEL_YN = 'N'
+		                        ) Z
+		                )
+		            ELSE
+		                R.REVIEW_GB
+		       END                                      AS REVIEW_GB      /*상품평구분*/
 		     , R.CUST_NO                                                  /*고객번호*/
 		     , C.CUST_NM                                                  /*고객명*/
 		     , R.ORD_NO                                                   /*주문번호*/
@@ -81,6 +138,7 @@
 		    </if>
 		</if>
 		ORDER  BY R.REG_DT DESC
+		LIMIT #{pageable.limitStartRow}, #{pageable.pageSize}
 	</select>
 	
 	<!--상품평 정보 -->

+ 1 - 1
src/main/webapp/WEB-INF/views/marketing/ReviewDetailForm.html

@@ -141,7 +141,7 @@
 
 <!-- 사용자 레이어팝업 : 등록 파일 출력 -->
 <div class="uPopupWrap off" id="layer_review_pic">
-	<div class="area reviewPic" style="width:500px; height:500px;">
+	<div class="area reviewPic" style="width: 700px; height: 700px;">
 		<ul class="picList" th:object="${reviewInfo}">
 			<th:block th:if="*{attachList != null}" th:each="oneData, status : *{attachList}">
 				<li th:if="${oneData.fileGb == 'M'}"><iframe class="player" th:src="${kollusMediaUrl + '/' + oneData.kmcKey + '?enable_initialize_focus=false&mute'}"></iframe></li>

+ 5 - 1
src/main/webapp/WEB-INF/views/marketing/ReviewForm.html

@@ -153,7 +153,11 @@
 		{
 			headerName: "상품평유형", field: "reviewGb", width: 90, cellClass: 'text-center',
 			cellRenderer: function(params) {
-				return params.value == 'R' ? '일반' : '포토/영상';
+				let reviewGbNm = '일반';
+				if (params.value == 'P') reviewGbNm = '포토/영상';
+				if (params.value == 'I') reviewGbNm = '포토';
+				if (params.value == 'M') reviewGbNm = '영상';
+				return reviewGbNm;
 			}
 		},
 		{

+ 1 - 1
src/main/webapp/WEB-INF/views/order/CnclCompleteView.html

@@ -390,7 +390,7 @@ $(document).ready(function() {
 		spanGoodsCpnDcAmt 		= spanGoodsCpnDcAmt 	+ cnclRtnCompleteList[i].goodsCpnDcAmt;
 		spanCartCpnDcAmt 		= spanCartCpnDcAmt 		+ cnclRtnCompleteList[i].cartCpnDcAmt;
 		spanTmtb1DcAmt 			= spanTmtb1DcAmt 		+ cnclRtnCompleteList[i].tmtb1DcAmt;
-		spanTmtb2DcAmt 			= spanTmtb1DcAmt 		+ cnclRtnCompleteList[i].tmtb2DcAmt;
+		spanTmtb2DcAmt 			= spanTmtb2DcAmt 		+ cnclRtnCompleteList[i].tmtb2DcAmt;
 		spanGfcdUseAmt 			= spanGfcdUseAmt 		+ cnclRtnCompleteList[i].gfcdUseAmt;
 		spanRealCnclRtnAmt 		= spanRealCnclRtnAmt 	+ cnclRtnCompleteList[i].realOrdAmt;
 	}

+ 1 - 1
src/main/webapp/WEB-INF/views/system/MenuForm.html

@@ -360,7 +360,7 @@
 		// 다중Select에 권한 표시
 		cfnShowMultiSelectedValue($('#detailForm select[name=roleCd]'), rowData.roleCds);
 		
-		$('#detailForm textarea[name=menuDesc]').val(rowData.menuDesc);
+		$('#detailForm textarea[name=menuDesc]').val(rowData.menuDesc.replaceAll('&lt;','<').replaceAll('&gt;','>'));
 		$('#detailForm input[name=menuUrl]').val(rowData.menuUrl);
 		$('#detailForm input[name=dispOrd]').val(rowData.dispOrd);