Преглед на файлове

Merge branch 'csh9191' into develop

ChoiSooHwan преди 5 години
родител
ревизия
ccdc30dc71

+ 3 - 0
src/main/java/com/style24/front/biz/dao/TsfPointDao.java

@@ -24,7 +24,10 @@ public interface TsfPointDao {
 	Point getUsablePointInfo(Point point);
 	Point getExpectedPointInfo(Point point);
 	Point getExtinctPointInfo(Point point);
+	
+	
 	Collection<Point> getAccumulatePointList(Point point);
+	Collection<Point> getUsePointList(Point point);
 	
 	
 

+ 6 - 0
src/main/java/com/style24/front/biz/service/TsfPointService.java

@@ -41,8 +41,14 @@ public class TsfPointService {
 	public Point getExtinctPointInfo(Point point) {
 		return pointDao.getExtinctPointInfo(point);
 	}
+	
+	
 	public Collection<Point> getAccumulatePointList(Point point) {
 		return pointDao.getAccumulatePointList(point);
 	}
+	
+	public Collection<Point> getUsePointList(Point point) {
+		return pointDao.getUsePointList(point);
+	}
 
 }

+ 72 - 0
src/main/java/com/style24/front/biz/web/TsfMypageController.java

@@ -37,6 +37,7 @@ import com.style24.persistence.TscPageRequest;
 import com.style24.persistence.domain.Coupon;
 import com.style24.persistence.domain.Customer;
 import com.style24.persistence.domain.Order;
+import com.style24.persistence.domain.Point;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -473,5 +474,76 @@ public class TsfMypageController extends TsfBaseController {
 
 		return mav;
 	}
+	
+	/**
+	 * 마이페이지 STYLE24 포인트화면
+	 *
+	 * @param 
+	 * @return ModelAndView
+	 * @author csh9191
+	 * @since 2021. 02. 25
+	 */
+	@GetMapping("/point/form")
+	public ModelAndView stylePointForm(Point point) {
+		ModelAndView mav = new ModelAndView();
+		
+		int custNo = TsfSession.getInfo().getCustNo();
+		point.setCustNo(custNo);
+		// 잔여포인트
+		mav.addObject("pointInfo", pointService.getUsablePointInfo(point));		
+		// 적립예정포인트 expectedPntAmt
+		mav.addObject("expectedpointInfo", pointService.getExpectedPointInfo(point));
+		// 한달 이내 소멸 예정 포인트
+		mav.addObject("extinctpointInfo", pointService.getExtinctPointInfo(point));
+		
+		mav.setViewName(super.getDeviceViewName("mypage/MypagePointForm"));
+		return mav;
+	}
+	
+	/**
+	 * 마이페이지 STYLE24 적립내역
+	 *
+	 * @param param
+	 * @return GagaMap
+	 * @author csh9191
+	 * @since 2021. 03. 02
+	 */
+	@PostMapping("/point/list")
+	@ResponseBody
+	public GagaMap getAccumulatePointList(@RequestBody Point point) {
+		GagaMap result = new GagaMap();
+		
+		int custNo = TsfSession.getInfo().getCustNo();
+		point.setCustNo(custNo);
+		
+		result.set("accumulatePointList",pointService.getAccumulatePointList(point));
+		
+		log.info("result {}", result);
+		
+		return result;
+	}
+	
+	/**
+	 * 마이페이지 STYLE24 사용내역
+	 *
+	 * @param param
+	 * @return GagaMap
+	 * @author csh9191
+	 * @since 2021. 03. 02
+	 */
+	@PostMapping("/usepoint/list")
+	@ResponseBody
+	public GagaMap getUsePointList(@RequestBody Point point) {
+		GagaMap result = new GagaMap();
+		
+		int custNo = TsfSession.getInfo().getCustNo();
+		point.setCustNo(custNo);
+		
+		result.set("usePointList",pointService.getUsePointList(point));
+		
+		log.info("result {}", result);
+		
+		return result;
+	}
 
 }

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

@@ -42,17 +42,19 @@
 		AND    SWITCH_DUE_DT <![CDATA[>]]> NOW()
 	</select>
 	
-		<!-- 적립내역 조회-->
+	<!-- 적립내역 조회-->
 	<select id="getAccumulatePointList" parameterType="Point" resultType="Point">
 	/* TsfPoint.getAccumulatePointList */
 		SELECT
 		CASE   TCC.CD_NM
 		WHEN   '예정포인트적립' THEN '상품 구매'
+		WHEN   '상품평승인' THEN '리뷰'
 		WHEN   '온라인이벤트' THEN '이벤트'
 		WHEN   '기타' THEN '관리자'
 		END AS OCCUR_GB ,	
 		CASE   TCC.CD  	
 		WHEN   'G069_12' THEN TG.GOODS_NM 
+		WHEN   'G069_20' THEN TG.GOODS_NM 
 		WHEN   'G069_30' THEN TCHP.OCCUR_DTL_DESC
 		WHEN   'G069_90' THEN TCHP.OCCUR_DTL_DESC
 		END AS OCCUR_DTL_DESC
@@ -66,6 +68,41 @@
 		INNER JOIN TB_GOODS TG 
 		ON TG.GOODS_CD = TOD.GOODS_CD 
 		WHERE TCHP.CUST_NO = #{custNo}
+		AND TCHP.OCCUR_GB IN ('G069_12','G069_20','G069_30','G069_90')
+		AND TCHP.PNT_AMT <![CDATA[>]]> 0
 		GROUP BY CD_NM, PNT_AMT, GOODS_NM, CD,OCCUR_DTL_DESC, TCHP.UPD_DT
+		ORDER BY TCHP.UPD_DT DESC;
+	</select>
+	
+	<!-- 사용내역 조회-->
+	<select id="getUsePointList" parameterType="Point" resultType="Point">
+	/* TsfPoint.getUsePointList */
+		SELECT
+		CASE   TCC.CD_NM
+		WHEN   '포인트사용' THEN '구매 사용'
+		WHEN   '상품평승인취소' THEN '구매 취소'
+		WHEN   '기타' THEN '관리자'
+		WHEN   '포인트소멸' THEN '소멸'
+		END AS OCCUR_GB ,	
+		CASE   TCC.CD  	
+		WHEN   'G069_10' THEN TG.GOODS_NM 
+		WHEN   'G069_21' THEN TG.GOODS_NM 
+		WHEN   'G069_90' THEN TCHP.OCCUR_DTL_DESC
+		WHEN   'G069_99' THEN TCHP.OCCUR_DTL_DESC
+		END AS OCCUR_DTL_DESC
+			 , TCHP.PNT_AMT AS pntAmt
+			 , TCHP.UPD_DT  AS pntUploadDt
+		FROM TB_CUST_POINT_HST TCHP
+		INNER JOIN TB_COMMON_CODE TCC
+		ON TCC.CD = TCHP.OCCUR_GB
+		INNER JOIN TB_ORDER_DETAIL TOD
+		ON TOD.ORD_NO = TCHP.ORD_NO
+		INNER JOIN TB_GOODS TG 
+		ON TG.GOODS_CD = TOD.GOODS_CD 
+		WHERE TCHP.CUST_NO = #{custNo}
+		AND TCHP.OCCUR_GB IN ('G069_10','G069_21','G069_90','G069_99')
+		AND 0 <![CDATA[>]]> TCHP.PNT_AMT
+		GROUP BY CD_NM, PNT_AMT, GOODS_NM, CD,OCCUR_DTL_DESC, TCHP.UPD_DT
+		ORDER BY TCHP.UPD_DT DESC;
 	</select>
 </mapper>

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

@@ -42,7 +42,7 @@
 									<li><a href="javascript:void(0);" id="fnSetSearchUsedHistory">사용내역</a></li>
 								</ul>
 								<div class="form_field">
-									<select id="mounth">
+									<select id="mounth" name="searchDt">
 										<option value="hide">2020년 10월</option>
 										<option value="Test_SELECT_OPTION_1" rel="icon-temperature">2020년 9월</option>
 										<option value="Test_SELECT_OPTION_2">2020년 8월</option>
@@ -68,13 +68,7 @@
 													<th>일자</th>
 												</tr>
 											</thead>
-											<tbody>
-												<tr id="pointAjaxList" >
-													<td id="occurGb">구매사유</td>
-													<td class="t_l pl40" id="occurDtlDesc">남성 라그란 소매배색 싸이로 티셔츠</td>
-													<td class="c_blue" id="pntAmt">150P</td>
-													<td id="pntUploadDt">2020.10.06 22:50:14</td>
-												</tr>
+											<tbody id="pointAjaxList">
 											</tbody>
 										</table>
 									</div>
@@ -83,9 +77,6 @@
 						</div>
 					</div>
 <script th:inline="javascript">
-	let accumulatePointList = [[${accumulatePointList}]];
-	
-	console.log(accumulatePointList);
 	// 전체내역 조회
 	$("#fnSetSearchFullHistory").click(function(){
 		// Class제거 추가
@@ -97,6 +88,7 @@
 		
 	});
 	
+	
 	// 적립내역 조회
 	$("#fnSetSearchCollectHistory").click(function(){
 		// Class제거 추가
@@ -107,19 +99,45 @@
 		// 적립내역 포인트 블루
 		$("#pntAmt").removeClass("c_primary");
 		$("#pntAmt").addClass("c_blue");
-
+		
+		let data = {};
+		
+		data.searchDt = $('select[name=searchDt]').val();
+		
+		let jsonData = JSON.stringify(data);
+		
 		$.ajax(
 				{
 					type 	 : "POST",
-					url 	 : '',
-  					dataType : 'html',
+					data	 : jsonData,
+					url 	 : '/mypage/point/list',
+					contentType: 'application/json',
+  					dataType : 'json',
 					success  : function(result){
-						$("#pointAjaxList").html(result);
+						fnPointCollectListInfo(result);
 					}
 				}
 		)
 	});
 	
+	function fnPointCollectListInfo(result) {
+		
+		let pointList = result.accumulatePointList;
+		
+		let tmtbHtml = "";
+		for(let i=0; i<pointList.length; i++){
+			let point = pointList[i];
+			tmtbHtml +='<tr>';
+			tmtbHtml +='<td>'+ point.occurGb + '</td>';
+			tmtbHtml += '<td class="t_l pl40">'+ point.occurDtlDesc + '</td>';
+			tmtbHtml += '<td class="c_blue">'+ point.pntAmt + '</td>';
+			tmtbHtml += '<td>'+ point.pntUploadDt + '</td>';
+			tmtbHtml += '</tr>';
+		}
+		$("#pointAjaxList").html(tmtbHtml);
+	}
+	
+	
 	// 사용내역 조회
 	$("#fnSetSearchUsedHistory").click(function(){
 		// Class제거 추가
@@ -130,15 +148,52 @@
 		// 사용내역 포인트 블루
 		$("#pntAmt").removeClass("c_blue");
 		$("#pntAmt").addClass("c_primary");
+		
+		let data = {};
+		
+		data.searchDt = $('select[name=searchDt]').val();
+		
+		let jsonData = JSON.stringify(data);
+		
+		$.ajax(
+				{
+					type 	 : "POST",
+					data	 : jsonData,
+					url 	 : '/mypage/usepoint/list',
+					contentType: 'application/json',
+  					dataType : 'json',
+					success  : function(result){
+						fnUsePointListInfo(result);
+					}
+				}
+		)
 	});
 	
+	function fnUsePointListInfo(result) {
+		
+		let usePointList = result.usePointList;
+		
+		let tmtbHtml = "";
+		for(let i=0; i<usePointList.length; i++){
+			let point = usePointList[i];
+			tmtbHtml +='<tr>';
+			tmtbHtml +='<td>'+ usePointList.occurGb + '</td>';
+			tmtbHtml += '<td class="t_l pl40">'+ usePointList.occurDtlDesc + '</td>';
+			tmtbHtml += '<td class="c_primary">'+  usePointList.pntAmt + '</td>';
+			tmtbHtml += '<td>'+ usePointList.pntUploadDt + '</td>';
+			tmtbHtml += '</tr>';
+		}
+		$("#pointAjaxList").html(tmtbHtml);
+	}
+
+	
 	$(document).ready(function() {
 		// 마이페이지 LNB 설정
 		fnSetMypageLnbList(5);
 		
 		// 마이페이지 location 설정
 		fnSetMypageLocation('STYLE24 포인트', '_PAGE_MYPAGE_POINT');
-		
+
 	});
 
 </script>