Kaynağa Gözat

회원상세 개발 중

jsshin 5 yıl önce
ebeveyn
işleme
2b6f295827

+ 78 - 0
src/main/java/com/style24/admin/biz/dao/TsaCustomerDao.java

@@ -1,14 +1,22 @@
 package com.style24.admin.biz.dao;
 
 import com.style24.core.support.annotation.ShopDs;
+import com.style24.persistence.domain.Counsel;
 import com.style24.persistence.domain.Coupon;
+import com.style24.persistence.domain.CustContactHst;
+import com.style24.persistence.domain.CustGrade;
 import com.style24.persistence.domain.Customer;
 import com.style24.persistence.domain.CustomerSearch;
 import com.style24.persistence.domain.Delivery;
+import com.style24.persistence.domain.GiftCard;
 import com.style24.persistence.domain.Order;
+import com.style24.persistence.domain.Point;
+import com.style24.persistence.domain.Review;
+
 import org.springframework.stereotype.Repository;
 
 import java.util.Collection;
+import java.util.concurrent.CompletionException;
 
 /**
  * 회원 Dao
@@ -93,6 +101,76 @@ public interface TsaCustomerDao {
 	 */
 	Collection<Coupon> getCustomerCouponList(Integer custNo);
 
+	/**
+	 * 회원상세-포인트내역
+	 *
+	 * @param custNo -고객일련번호
+	 * @return Collection<Coupon>
+	 * @author jsshin
+	 * @since 2021. 01. 21
+	 */
+	Collection<Point> getCustomerPointList(Integer custNo);
+
+	/**
+	 * 회원상세-상품권내역
+	 *
+	 * @param custNo -고객일련번호
+	 * @return Collection<GiftCard>
+	 * @author jsshin
+	 * @since 2021. 01. 21
+	 */
+	Collection<GiftCard> getCustomerGiftCardList(Integer custNo);
+
+	/**
+	 * 회원상세-상품평내역
+	 *
+	 * @param custNo -고객일련번호
+	 * @return Collection<Review>
+	 * @author jsshin
+	 * @since 2021. 01. 21
+	 */
+	Collection<Review> getCustomerReviewList(Integer custNo);
+
+	/**
+	 * 회원상세- 1:1문의 내역
+	 *
+	 * @param custNo -고객일련번호
+	 * @return Collection<Counsel>
+	 * @author jsshin
+	 * @since 2021. 01. 21
+	 */
+	Collection<Counsel> getCustomerCounselList(Integer custNo);
+
+	/**
+	 * 회원상세- 상품문의 내역
+	 *
+	 * @param custNo -고객일련번호
+	 * @return Collection<Counsel>
+	 * @author jsshin
+	 * @since 2021. 01. 21
+	 */
+	Collection<Counsel> getCustomerGoodsQnaList(Integer custNo);
+
+	/**
+	 * 회원상세- 등급변경 내역
+	 *
+	 * @param custNo -고객일련번호
+	 * @return Collection<Counsel>
+	 * @author jsshin
+	 * @since 2021. 01. 21
+	 */
+	Collection<CustGrade> getCustomerChangeGradeList(Integer custNo);
+
+	/**
+	 * 회원상세- 접촉내역
+	 *
+	 * @param custNo -고객일련번호
+	 * @return Collection<Counsel>
+	 * @author jsshin
+	 * @since 2021. 01. 21
+	 */
+	Collection<CustContactHst> getCustomerContactList(Integer custNo);
+
 	/**
 	 * 탈퇴회원 목록
 	 * @param customerSearch - 검색조건

+ 92 - 0
src/main/java/com/style24/admin/biz/service/TsaCustomerService.java

@@ -4,11 +4,18 @@ import com.style24.admin.biz.dao.TsaCustomerDao;
 import com.style24.admin.support.security.session.TsaSession;
 import com.style24.core.biz.dao.TscCustomerDao;
 import com.style24.core.biz.service.TscCustomerService;
+import com.style24.persistence.domain.Counsel;
 import com.style24.persistence.domain.Coupon;
+import com.style24.persistence.domain.CustContactHst;
+import com.style24.persistence.domain.CustGrade;
 import com.style24.persistence.domain.Customer;
 import com.style24.persistence.domain.CustomerSearch;
 import com.style24.persistence.domain.Delivery;
+import com.style24.persistence.domain.GiftCard;
 import com.style24.persistence.domain.Order;
+import com.style24.persistence.domain.Point;
+import com.style24.persistence.domain.Review;
+
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -135,6 +142,91 @@ public class TsaCustomerService {
 		return customerDao.getCustomerCouponList(custNo);
 	}
 
+	/**
+	 * 회원상세-포인트내역
+	 *
+	 * @param custNo -고객일련번호
+	 * @return Collection<Coupon>
+	 * @author jsshin
+	 * @since 2021. 01. 21
+	 */
+	public Collection<Point> getCustomerPointList(Integer custNo) {
+		return customerDao.getCustomerPointList(custNo);
+	}
+
+	/**
+	 * 회원상세-상품권내역
+	 *
+	 * @param custNo -고객일련번호
+	 * @return Collection<GiftCard>
+	 * @author jsshin
+	 * @since 2021. 01. 21
+	 */
+	public Collection<GiftCard> getCustomerGiftCardList(Integer custNo) {
+		return customerDao.getCustomerGiftCardList(custNo);
+	}
+
+	/**
+	 * 회원상세-상품평내역
+	 *
+	 * @param custNo -고객일련번호
+	 * @return Collection<Review>
+	 * @author jsshin
+	 * @since 2021. 01. 21
+	 */
+	public Collection<Review> getCustomerReviewList(Integer custNo) {
+		return customerDao.getCustomerReviewList(custNo);
+	}
+
+	/**
+	 * 회원상세- 1:1문의 내역
+	 *
+	 * @param custNo -고객일련번호
+	 * @return Collection<Counsel>
+	 * @author jsshin
+	 * @since 2021. 01. 21
+	 */
+	public Collection<Counsel> getCustomerCounselList(Integer custNo) {
+		return customerDao.getCustomerCounselList(custNo);
+	}
+
+	/**
+	 * 회원상세- 상품문의 내역
+	 *
+	 * @param custNo -고객일련번호
+	 * @return Collection<Counsel>
+	 * @author jsshin
+	 * @since 2021. 01. 21
+	 */
+	public Collection<Counsel> getCustomerGoodsQnaList(Integer custNo) {
+		return customerDao.getCustomerGoodsQnaList(custNo);
+	}
+
+	/**
+	 * 회원상세- 등급변경 내역
+	 *
+	 * @param custNo -고객일련번호
+	 * @return Collection<Counsel>
+	 * @author jsshin
+	 * @since 2021. 01. 21
+	 */
+	public Collection<CustGrade> getCustomerChangeGradeList(Integer custNo) {
+		return customerDao.getCustomerChangeGradeList(custNo);
+	}
+
+	/**
+	 * 회원상세- 접촉내역
+	 *
+	 * @param custNo -고객일련번호
+	 * @return Collection<Counsel>
+	 * @author jsshin
+	 * @since 2021. 01. 21
+	 */
+	public Collection<CustContactHst> getCustomerContactList(Integer custNo) {
+		return customerDao.getCustomerContactList(custNo);
+	}
+
+
 	/**
 	 * 탈퇴회원 목록
 	 * @param customerSearch - 검색조건

+ 52 - 53
src/main/java/com/style24/admin/biz/web/TsaCustomerController.java

@@ -10,9 +10,12 @@ import com.style24.core.support.env.TscConstants;
 import com.style24.core.support.session.TscSession;
 import com.style24.core.support.util.CryptoUtils;
 import com.style24.persistence.domain.Coupon;
+import com.style24.persistence.domain.CustContactHst;
+import com.style24.persistence.domain.CustGrade;
 import com.style24.persistence.domain.Customer;
 import com.style24.persistence.domain.CustomerSearch;
 import com.style24.persistence.domain.Delivery;
+import com.style24.persistence.domain.GiftCard;
 import com.style24.persistence.domain.Order;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -38,6 +41,8 @@ import com.style24.persistence.domain.Counsel;
 import lombok.extern.slf4j.Slf4j;
 
 import com.gagaframework.web.rest.server.GagaResponse;
+import com.style24.persistence.domain.Point;
+import com.style24.persistence.domain.Review;
 
 /**
  * 고객 Controller
@@ -373,6 +378,8 @@ public class TsaCustomerController extends TsaBaseController {
 		// 포인트반영상태
 		mav.addObject("pntUploadStatList", rendererService.getCommonCodeList("G070"));
 
+		// 상품권유형
+		mav.addObject("giftCardOccurGbList", rendererService.getCommonCodeList("G074"));
 
 		mav.addObject("custNo", custNo);
 
@@ -658,80 +665,74 @@ public class TsaCustomerController extends TsaBaseController {
 	}
 
 	/**
-	 * 회원상세-1:1문의내역
+	 * 회원상세-포인트
 	 *
 	 * @param custNo -고객일련번호
-	 * @return Collection<Counsel>
+	 * @return TsaPoint
 	 * @author jsshin
 	 * @since 2021. 01. 21
 	 */
-	@GetMapping("/counsel/list/{custNo}")
-	@ResponseBody
-	public Collection<Counsel> getCustomerCounselList(@PathVariable Integer custNo) {
-		//return customerService.getCustomerCounselList(custNo);
-		return null;
-	}
+	//	@GetMapping("/point/{custNo}")
+	//	@ResponseBody
+	//	public Point getCustomerPoint(@PathVariable Integer custNo) {
+	//		return customerService.getCustomerPoint(custNo);
+	//	}
 
 	/**
-	 * 회원상세-상품문의내역
+	 * 회원상세-포인트내역
 	 *
 	 * @param custNo -고객일련번호
-	 * @return Collection<Counsel>
+	 * @return Collection<TsaPoint>
 	 * @author jsshin
 	 * @since 2021. 01. 21
 	 */
-	@GetMapping("/goodsQna/list/{custNo}")
+	@GetMapping("/point/list/{custNo}")
 	@ResponseBody
-	public Collection<Counsel> getCustomerGoodsQnaList(@PathVariable Integer custNo) {
-		//return customerService.getCustomerGoodsQnaList(custNo);
-		return null;
+	public Collection<Point> getCustomerPointList(@PathVariable Integer custNo) {
+		return customerService.getCustomerPointList(custNo);
 	}
 
 	/**
-	 * 회원상세-상품문의 상세화면
+	 * 회원상세-1:1문의내역
 	 *
-	 * @param counselSq -상담일련번호
-	 * @return ModelAndView
+	 * @param custNo -고객일련번호
+	 * @return Collection<Counsel>
 	 * @author jsshin
 	 * @since 2021. 01. 21
 	 */
-	@GetMapping("/goodsQna/detail/form/{counselSq}")
-	public ModelAndView goodsQnaDetailForm(@PathVariable String counselSq) {
-		ModelAndView mav = new ModelAndView();
-		// 문의상세
-		//mav.addObject("goodsQna", customerService.getGoodsQnaDetail(counselSq));
-		mav.setViewName("customer/GoodsQnaPopupForm");
-		return mav;
+	@GetMapping("/giftcard/list/{custNo}")
+	@ResponseBody
+	public Collection<GiftCard> getCustomerGiftCardList(@PathVariable Integer custNo) {
+		return customerService.getCustomerGiftCardList(custNo);
 	}
 
-
 	/**
-	 * 회원상세-포인트
+	 * 회원상세-1:1문의내역
 	 *
 	 * @param custNo -고객일련번호
-	 * @return TsaPoint
+	 * @return Collection<Counsel>
 	 * @author jsshin
 	 * @since 2021. 01. 21
 	 */
-//	@GetMapping("/point/{custNo}")
-//	@ResponseBody
-//	public Point getCustomerPoint(@PathVariable Integer custNo) {
-//		return customerService.getCustomerPoint(custNo);
-//	}
+	@GetMapping("/counsel/list/{custNo}")
+	@ResponseBody
+	public Collection<Counsel> getCustomerCounselList(@PathVariable Integer custNo) {
+		return customerService.getCustomerCounselList(custNo);
+	}
 
 	/**
-	 * 회원상세-포인트내역
+	 * 회원상세-상품문의내역
 	 *
 	 * @param custNo -고객일련번호
-	 * @return Collection<TsaPoint>
+	 * @return Collection<Counsel>
 	 * @author jsshin
 	 * @since 2021. 01. 21
 	 */
-//	@GetMapping("/point/list/{custNo}")
-//	@ResponseBody
-//	public Collection<TsaPoint> getCustomerPointList(@PathVariable Integer custNo) {
-//		return customerService.getCustomerPointList(custNo);
-//	}
+	@GetMapping("/goodsQna/list/{custNo}")
+	@ResponseBody
+	public Collection<Counsel> getCustomerGoodsQnaList(@PathVariable Integer custNo) {
+		return customerService.getCustomerGoodsQnaList(custNo);
+	}
 
 	/**
 	 * 회원상세-상품평내역
@@ -741,11 +742,11 @@ public class TsaCustomerController extends TsaBaseController {
 	 * @author jsshin
 	 * @since 2021. 01. 21
 	 */
-//	@GetMapping("/review/list/{custNo}")
-//	@ResponseBody
-//	public Collection<Review> getCustomerReviewList(@PathVariable Integer custNo) {
-//		return customerService.getCustomerReviewList(custNo);
-//	}
+		@GetMapping("/review/list/{custNo}")
+		@ResponseBody
+		public Collection<Review> getCustomerReviewList(@PathVariable Integer custNo) {
+			return customerService.getCustomerReviewList(custNo);
+		}
 
 	/**
 	 * 회원상세-회원등급변경이력
@@ -755,12 +756,11 @@ public class TsaCustomerController extends TsaBaseController {
 	 * @author jsshin
 	 * @since 2021. 01. 21
 	 */
-//	@GetMapping("/change/grade/list/{custNo}")
-//	@ResponseBody
-//	public Collection<TsaCustomer> getCustomerChageGradeList(@PathVariable Integer custNo) {
-//		return customerService.getCustomerChangeGradeList(custNo);
-//	}
-
+		@GetMapping("/change/grade/list/{custNo}")
+		@ResponseBody
+		public Collection<CustGrade> getCustomerChageGradeList(@PathVariable Integer custNo) {
+			return customerService.getCustomerChangeGradeList(custNo);
+		}
 
 	/**
 	 * 회원상세-회원접촉이력
@@ -772,9 +772,8 @@ public class TsaCustomerController extends TsaBaseController {
 	 */
 	@GetMapping("/contact/list/{custNo}")
 	@ResponseBody
-	public Collection<Customer> getCustomerContactList(@PathVariable Integer custNo) {
-		//return customerService.getCustomerContactList(custNo);
-		return null;
+	public Collection<CustContactHst> getCustomerContactList(@PathVariable Integer custNo) {
+		return customerService.getCustomerContactList(custNo);
 	}
 
 	/**

+ 63 - 51
src/main/java/com/style24/persistence/mybatis/shop/TsaCustomer.xml

@@ -459,12 +459,23 @@
 	<!-- 회원 상품권이력 -->
 	<select id="getCustomerGiftCardList" parameterType="Integer" resultType="GiftCard">
 		/* TsaCustomer.getCustomerGiftCardList */
-		SELECT *
-		FROM  TB_CUST_GIFTCARD_HST CGH
+		SELECT CGH.GFCD_HST_SQ
+		     , CGH.CUST_NO
+		     , CGH.OCCUR_GB
+		     , CGH.OCCUR_DTL_DESC
+		     , CGH.GFCD_AMT
+		     , CGH.CUST_GFCD_SQ
+		     , CGH.ORD_NO
+		     , CGH.ORD_DTL_NO
+		     , CGH.REG_NO
+		     , CGH.REG_DT
+		     , CGH.UPD_NO
+		     , CGH.UPD_DT
+		FROM   TB_CUST_GIFTCARD_HST CGH
 		INNER JOIN
-		      TB_CUSTOMER C
-		ON    CGH.CUST_NO = C.CUST_NO
-		WHERE CGH.CUST_NO = #{custNo}
+		       TB_CUSTOMER C
+		ON     CGH.CUST_NO = C.CUST_NO
+		WHERE  CGH.CUST_NO = #{custNo}
 	</select>
 
 	<!--회원 상품평내역  -->
@@ -505,9 +516,10 @@
 		     , R.ADM_RPL_REG_NO
 		     , R.ADM_RPL_DT
 		FROM   TB_REVIEW R
-		     , TB_CUSTOMER C
-		WHERE  R.CUST_NO = C.CUST_NO
-		AND    R.CUST_NO = #{custNo}
+		INNER  JOIN
+		       TB_CUSTOMER C
+		ON     R.CUST_NO = C.CUST_NO
+		WHERE  R.CUST_NO = #{custNo}
 		ORDER BY R.REG_DT DESC
 	</select>
 
@@ -545,7 +557,7 @@
 		     , CS.ASSIGNED_HMS
 		     , CS.ANS_TITLE
 		     , CS.ANS_CONTENT
-		     , CS.ANS_NO
+		     , FN_GET_USER_NM(CS.ANS_NO) AS ANS_NM
 		     , CS.ANS_DT
 		     , CS.SECRET_YN
 		FROM  TB_COUNSEL CS
@@ -553,56 +565,56 @@
 		      TB_CUSTOMER C
 		ON    CS.CUST_NO = C.CUST_NO
 		WHERE CS.COUNSEL_TYPE = 'C'
-		AND  CS.CUST_NO = #{custNo}
+		AND   CS.CUST_NO = #{custNo}
 	</select>
 
 	<!--회원 상품문의 내역  -->
 	<select id="getCustomerGoodsQnaList" parameterType="Integer" resultType="Counsel">
 		/* TsaCustomer.getCustomerGoodsQnaList */
 		SELECT CS.CUST_NO
-			 , CS.SITE_CD
-			 , CS.COUNSEL_CLSF
-			 , CS.COUNSEL_DCLSF
-			 , CS.CUST_NO
-			 , CS.CELL_PHNNO
-			 , CS.EMAIL
-			 , CS.EMAIL_REQ_YN
-			 , CS.EMAIL_SEND_YN
-			 , CS.SMS_REQ_YN
-			 , CS.SMS_SEND_YN
-			 , CS.REL_ORD_NO
-			 , CS.REL_GOODS_CD
-			 , CS.COUNSEL_TYPE
-			 , CS.QUEST_TITLE
-			 , CS.QUEST_CONTENT
-			 , CS.QUEST_DT
-			 , CS.ORG_FILE_NM1
-			 , CS.SYS_FILE_NM1
-			 , CS.ORG_FILE_NM2
-			 , CS.SYS_FILE_NM2
-			 , CS.ANS_STAT
-			 , CS.ANS_TRANS_YN
-			 , CS.ANS_COMP_CD
-			 , CS.ANS_TRANS_NO
-			 , CS.ANS_TRANS_DT
-			 , CS.ASSIGNED_CS_NO
-			 , CS.ASSIGNED_YMD
-			 , CS.ASSIGNED_HMS
-			 , CS.ANS_TITLE
-			 , CS.ANS_CONTENT
-			 , CS.ANS_NO
-			 , CS.ANS_DT
-			 , CS.SECRET_YN
+		     , CS.SITE_CD
+		     , CS.COUNSEL_CLSF
+		     , CS.COUNSEL_DCLSF
+		     , CS.CUST_NO
+		     , CS.CELL_PHNNO
+		     , CS.EMAIL
+		     , CS.EMAIL_REQ_YN
+		     , CS.EMAIL_SEND_YN
+		     , CS.SMS_REQ_YN
+		     , CS.SMS_SEND_YN
+		     , CS.REL_ORD_NO
+		     , CS.REL_GOODS_CD
+		     , CS.COUNSEL_TYPE
+		     , CS.QUEST_TITLE
+		     , CS.QUEST_CONTENT
+		     , CS.QUEST_DT
+		     , CS.ORG_FILE_NM1
+		     , CS.SYS_FILE_NM1
+		     , CS.ORG_FILE_NM2
+		     , CS.SYS_FILE_NM2
+		     , CS.ANS_STAT
+		     , CS.ANS_TRANS_YN
+		     , CS.ANS_COMP_CD
+		     , CS.ANS_TRANS_NO
+		     , CS.ANS_TRANS_DT
+		     , CS.ASSIGNED_CS_NO
+		     , CS.ASSIGNED_YMD
+		     , CS.ASSIGNED_HMS
+		     , CS.ANS_TITLE
+		     , CS.ANS_CONTENT
+		     , FN_GET_USER_NM(CS.ANS_NO) AS ANS_NM
+		     , CS.ANS_DT
+		     , CS.SECRET_YN
 		FROM  TB_COUNSEL CS
-			      INNER JOIN
+		INNER JOIN
 		      TB_CUSTOMER C
-		      ON    CS.CUST_NO = C.CUST_NO
+		ON    CS.CUST_NO = C.CUST_NO
 		WHERE CS.COUNSEL_TYPE = 'G'
-		  AND  CS.CUST_NO = #{custNo}
+		AND   CS.CUST_NO = #{custNo}
 	</select>
 
 	<!--회원등급 변경내역  -->
-	<select id="getCustomerChangeGradeList" parameterType="Integer" resultType="Customer">
+	<select id="getCustomerChangeGradeList" parameterType="Integer" resultType="CustGrade">
 		/* TsaCustomer.getCustomerChangeGradeList */
 		SELECT CGH.CUST_NO
 		     , CGH.APPLY_YMD
@@ -615,11 +627,11 @@
 		FROM   TB_CUST_GRADE_HST CGH
 		INNER JOIN
 		       TB_CUSTOMER C
-		ON    CGH.CUST_NO = C.CUST_NO
-		WHERE CGH.CUST_NO = 1000001
+		ON     CGH.CUST_NO = C.CUST_NO
+		WHERE  CGH.CUST_NO = #{custNo}
 	</select>
 
-	<!-- 회원접촉이력 -->
+	<!-- 회원접촉내역 -->
 	<select id="getCustomerContactList" parameterType="Integer" resultType="CustContactHst">
 		/* TsaCustomer.getCustomerContactList */
 		SELECT CONTACT_HST_SQ
@@ -633,7 +645,7 @@
 		     , DATE_FORMAT(REG_DT, '%Y%m%d%H%i%S')  AS REG_DT
 		FROM   TB_CUST_CONTACT_HST
 		WHERE  RECEIVER_NO = #{custNo}
-		ORDER  BY REG_DT DESC
+		ORDER BY REG_DT DESC
 	</select>
 
 	<!-- 탈퇴회원목록 -->

+ 45 - 7
src/main/webapp/WEB-INF/views/customer/CustomerDetailForm.html

@@ -64,7 +64,7 @@
 						<li><a href="#tab3" onclick="fnSearchDelivery();">배송지정보</a></li>
 						<li><a href="#tab4" onclick="fnSearchCoupon();">쿠폰내역</a></li>
 						<li><a href="#tab5" onclick="fnSearchPoint();">포인트내역</a></li>
-						<li><a href="#tab6" onclick="">상품권내역</a></li>
+						<li><a href="#tab6" onclick="fnSearchGiftCard()">상품권내역</a></li>
 						<li><a href="#tab7" onclick="fnSearchReview();">상품평내역</a></li>
 						<li><a href="#tab8" onclick="fnSearchCounsel();">1:1문의내역</a></li>
 						<li><a href="#tab9" onclick="fnSearchGoodsQna();">상품문의내역</a></li>
@@ -518,6 +518,7 @@
 	const pubReasonList = gagajf.convertToArray([[${pubReasonList}]]);				//쿠폰발행사유
 	const pntOccurGbList = gagajf.convertToArray([[${pntOccurGbList}]]);			//포인트반영구분
 	const pntUploadStatList = gagajf.convertToArray([[${pntUploadStatList}]]);		//포인트반영상태
+	const giftCardOccurGbList = gagajf.convertToArray([[${giftCardOccurGbList}]]);	//상품권유형
 	const counselClsfList = gagajf.convertToArray([[${counselClsfList}]]);			//상담분류
 	const contactTypeList = gagajf.convertToArray([[${contactTypeList}]]);			//회원접촉유형
 	const contactMethodList = gagajf.convertToArray([[${contactMethodList}]]);		//회원접촉방법
@@ -706,6 +707,34 @@
 		{headerName: "등록자", field: "regId", width: 100, cellClass: 'text-center'}
 	];
 
+	//상품권내역 그리드
+	const columnGiftCardDefs = [
+		{
+			headerName: "등록일시", field: "regDt", width: 150, cellClass: 'text-center',
+			cellRenderer: function (params) {
+				return gagaAgGrid.toDateTimeFormat(params.value);
+			}
+		},
+		{headerName: "주문번호", field: "ordNo", width: 100, cellClass: 'text-center'},
+		{
+			headerName: "금액", field: "gfcdAmt", width: 100, cellClass: 'text-center',
+			cellRenderer: function (params) {
+				return !gagajf.isNull(params.value) ? params.value.addComma() : '0';
+			}
+		},
+		{
+			headerName: "발생구분", field: "occurGb", width: 100, cellClass: 'text-center',
+			valueFormatter: function (params) { return gagaAgGrid.lookupValue(giftCardOccurGbList, params.value); }
+		},
+		{
+			headerName: "발생상세설명", field: "occurDtlDesc", width: 300, cellClass: 'text-center',
+			valueFormatter: function (params) {
+				return gagaAgGrid.lookupValue(pntOccurGbList, params.value);
+			}
+		},
+		{headerName: "등록자", field: "regNo", width: 100, cellClass: 'text-center'}
+	];
+
 	//상품평 그리드
 	const columnReviewDefs = [
 		{headerName: "상품코드", field: "goodsCd", width: 100, cellClass: 'text-center'},
@@ -728,7 +757,7 @@
 				return gagaAgGrid.toDateTimeFormat(params.value);
 			}
 		},
-		{headerName: "지급ID", field: "confirmId", width: 130, cellClass: 'text-center'},
+		{headerName: "지급No", field: "confirmNo", width: 130, cellClass: 'text-center'},
 		{headerName: "게시여부", field: "dispYn", width: 100, cellClass: 'text-center'},
 		{
 			headerName: "지급예정포인트", field: "giveDuePnt", width: 120, cellClass: 'text-center',
@@ -833,6 +862,7 @@
 	let gridCounselOptions = gagaAgGrid.getGridOptions(columnCounselDefs);	//1:1문의내역 그리드
 	let gridGoodsQnaOptions = gagaAgGrid.getGridOptions(columnGoodsQnaDefs);//상품문의내역 그리드
 	let gridCouponOptions = gagaAgGrid.getGridOptions(columnCouponDefs);	//쿠폰내역 그리드
+	let gridGiftCardOptions = gagaAgGrid.getGridOptions(columnGiftCardDefs);//상품권내역 그리드
 	let gridPointOptions = gagaAgGrid.getGridOptions(columnPointDefs);		//포인트내역 그리드
 	let gridReviewOptions = gagaAgGrid.getGridOptions(columnReviewDefs);	//상품평 그리드
 	let gridGradeOptions = gagaAgGrid.getGridOptions(columnGradeDefs);		//등급변경 그리드
@@ -1181,6 +1211,12 @@
 		gagaAgGrid.fetch(actionUrl, gridPointOptions);
 	};
 
+	// 상품권 조회
+	var fnSearchGiftCard = function () {
+		const actionUrl = "/customer/giftcard/list/" + custNo;
+		gagaAgGrid.fetch(actionUrl, gridGiftCardOptions);
+	};
+
 	// 상품평내역 조회
 	var fnSearchReview = function () {
 		const actionUrl = "/customer/review/list/" + custNo;
@@ -1413,20 +1449,22 @@
 
 		gagaAgGrid.createGrid('custOrderList', gridOrderOptions);		// 주문내역
 
-		gagaAgGrid.createGrid('custCounselList', gridCounselOptions);	// 1:1문의 내역
-
-		gagaAgGrid.createGrid('custGoodsQnaList', gridGoodsQnaOptions);	// 상품문의 내역
+		gagaAgGrid.createGrid('custAddrList', gridAddrOptions);			// 주소정보 그리드
 
 		gagaAgGrid.createGrid('custCouponList', gridCouponOptions);		// 쿠폰내역
 
 		gagaAgGrid.createGrid('custPointList', gridPointOptions);		// 포인트내역 그리드
 
+		gagaAgGrid.createGrid('custGiftCardList', gridGiftCardOptions);	// 상품권내역 그리드
+
+		gagaAgGrid.createGrid('custCounselList', gridCounselOptions);	// 1:1문의 내역
+
+		gagaAgGrid.createGrid('custGoodsQnaList', gridGoodsQnaOptions);	// 상품문의 내역
+
 		gagaAgGrid.createGrid('custReviewList', gridReviewOptions);		// 상품평 그리드
 
 		gagaAgGrid.createGrid('custGradeList', gridGradeOptions);		// 등급변경 그리드
 
-		gagaAgGrid.createGrid('custAddrList', gridAddrOptions);			// 주소정보 그리드
-
 		gagaAgGrid.createGrid('custContactList', gridContactOptions);	// 회원접촉이력 그리드
 	});