فهرست منبع

쿠폰조회팝업 수정

gagamel 5 سال پیش
والد
کامیت
4620bf3373

+ 20 - 4
style24.admin/src/main/java/com/style24/admin/biz/dao/TsaMarketingDao.java

@@ -1,12 +1,18 @@
 package com.style24.admin.biz.dao;
 
-import com.style24.core.support.annotation.ShopDs;
-import com.style24.persistence.domain.*;
-import org.springframework.stereotype.Component;
-
 import java.util.ArrayList;
 import java.util.Collection;
 
+import org.springframework.stereotype.Component;
+
+import com.style24.core.support.annotation.ShopDs;
+import com.style24.persistence.domain.Coupon;
+import com.style24.persistence.domain.FreeGoodsPromotion;
+import com.style24.persistence.domain.MoreBetter;
+import com.style24.persistence.domain.MoreBetterBurden;
+import com.style24.persistence.domain.MoreBetterGoods;
+import com.style24.persistence.domain.MoreBetterSection;
+
 /**
  * 마케팅 Dao
  *
@@ -122,4 +128,14 @@ public interface TsaMarketingDao {
 	 */
 	void deleteTmtbValList(MoreBetterSection sectionVal);
 	/* // CSB 진행 */
+
+	/**
+	 * 쿠폰조회 목록
+	 * @param coupon - 쿠폰 정보
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 1. 8
+	 */
+	public Collection<Coupon> getCouponRetrieveList(Coupon coupon);
+
 }

+ 39 - 34
style24.admin/src/main/java/com/style24/admin/biz/service/TsaMarketingService.java

@@ -1,33 +1,27 @@
 package com.style24.admin.biz.service;
 
-import com.fasterxml.jackson.core.type.TypeReference;
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.gagaframework.excel.GagaExcelUtil;
-import com.gagaframework.excel.env.GagaExcelConstants;
-import com.gagaframework.web.parameter.GagaMap;
-import com.gagaframework.web.util.GagaDateUtil;
-import com.gagaframework.web.util.GagaFileUtil;
-import com.gagaframework.web.util.GagaStringUtil;
-import com.style24.admin.biz.dao.TsaGoodsDao;
 import com.style24.admin.biz.dao.TsaMarketingDao;
-import com.style24.admin.support.env.TsaConstants;
 import com.style24.admin.support.security.session.TsaSession;
 import com.style24.core.biz.thirdparty.NaverLowestPriceApi;
 import com.style24.core.biz.thirdparty.SafetyKoreaApi;
 import com.style24.core.support.message.TscMessageByLocale;
-import com.style24.persistence.domain.*;
-import io.netty.util.internal.StringUtil;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.env.Environment;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.StringUtils;
+import com.style24.persistence.domain.Coupon;
+import com.style24.persistence.domain.FreeGoodsPromotion;
+import com.style24.persistence.domain.MoreBetter;
+import com.style24.persistence.domain.MoreBetterBurden;
+import com.style24.persistence.domain.MoreBetterGoods;
+import com.style24.persistence.domain.MoreBetterSection;
 
-import java.io.IOException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Collection;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  *상품관리 Service
@@ -66,7 +60,6 @@ public class TsaMarketingService {
 	@Autowired
 	private NaverLowestPriceApi naverLowestPriceApi;
 
-
 	@Autowired
 	private ObjectMapper mapper;
 
@@ -144,10 +137,10 @@ public class TsaMarketingService {
 		// 다다익선 적용대상 설정
 		// 공급업체
 		Collection<MoreBetterGoods> supplyCompList = tmtb.getSupplyCompListNew();
-		for(MoreBetterGoods regSupplyComp : supplyCompList){
+		for (MoreBetterGoods regSupplyComp : supplyCompList) {
 			// 다다익선 적용대상 설정(TB_TMTB_GOODS) 저장
 			// tmtbGoodsSq 생성
-			Integer tmtbGoodsSq =  commonService.getNextSequence("SEQ_TMTB_GOODS");
+			Integer tmtbGoodsSq = commonService.getNextSequence("SEQ_TMTB_GOODS");
 			regSupplyComp.setTmtbGoodsSq(tmtbGoodsSq);
 			regSupplyComp.setTmtbSq(tmtb.getTmtbSq());
 			regSupplyComp.setGoodsGb("G800_20");
@@ -160,10 +153,10 @@ public class TsaMarketingService {
 
 		// 브랜드
 		Collection<MoreBetterGoods> brandList = tmtb.getBrandListNew();
-		for(MoreBetterGoods regBrand : brandList){
+		for (MoreBetterGoods regBrand : brandList) {
 			// 다다익선 적용대상 설정(TB_TMTB_GOODS) 저장
 			// tmtbGoodsSq 생성
-			Integer tmtbGoodsSq =  commonService.getNextSequence("SEQ_TMTB_GOODS");
+			Integer tmtbGoodsSq = commonService.getNextSequence("SEQ_TMTB_GOODS");
 			regBrand.setTmtbGoodsSq(tmtbGoodsSq);
 			regBrand.setTmtbSq(tmtb.getTmtbSq());
 			regBrand.setGoodsGb("G800_20");
@@ -176,10 +169,10 @@ public class TsaMarketingService {
 
 		// 적용상품
 		Collection<MoreBetterGoods> applyGoodsList = tmtb.getApplyGoodsListNew();
-		for(MoreBetterGoods regApplyGoods : applyGoodsList){
+		for (MoreBetterGoods regApplyGoods : applyGoodsList) {
 			// 다다익선 적용대상 설정(TB_TMTB_GOODS) 저장
 			// tmtbGoodsSq 생성
-			Integer tmtbGoodsSq =  commonService.getNextSequence("SEQ_TMTB_GOODS");
+			Integer tmtbGoodsSq = commonService.getNextSequence("SEQ_TMTB_GOODS");
 			regApplyGoods.setTmtbGoodsSq(tmtbGoodsSq);
 			regApplyGoods.setTmtbSq(tmtb.getTmtbSq());
 			regApplyGoods.setTargetVal(regApplyGoods.getGoodsCd());
@@ -191,10 +184,10 @@ public class TsaMarketingService {
 
 		// 제외상품
 		Collection<MoreBetterGoods> exceptGoodsList = tmtb.getExceptGoodsListNew();
-		for(MoreBetterGoods regExceptGoods : exceptGoodsList){
+		for (MoreBetterGoods regExceptGoods : exceptGoodsList) {
 			// 다다익선 적용대상 설정(TB_TMTB_GOODS) 저장
 			// tmtbGoodsSq 생성
-			Integer tmtbGoodsSq =  commonService.getNextSequence("SEQ_TMTB_GOODS");
+			Integer tmtbGoodsSq = commonService.getNextSequence("SEQ_TMTB_GOODS");
 			regExceptGoods.setTmtbGoodsSq(tmtbGoodsSq);
 			regExceptGoods.setTmtbSq(tmtb.getTmtbSq());
 			regExceptGoods.setTargetVal(regExceptGoods.getGoodsCd());
@@ -206,15 +199,15 @@ public class TsaMarketingService {
 
 		// 다다익선 할인구간 저장
 		Collection<MoreBetterSection> sectionGbList = tmtb.getSectionGbListNew();
-		for(MoreBetterSection regSection : sectionGbList){
+		for (MoreBetterSection regSection : sectionGbList) {
 			// 다다익선 할인구간설정 2차조건(TB_TMTB_SECTION) 저장
 			// tmtbSectionSq 생성
-			Integer tmtbSectionSq =  commonService.getNextSequence("SEQ_TMTB_SECTION");
+			Integer tmtbSectionSq = commonService.getNextSequence("SEQ_TMTB_SECTION");
 			regSection.setTmtbSectionSq(tmtbSectionSq);
 
 			// 다다익선 조건에 따른 할인혜택(금액할인) 설정(TB_TMTB_VAL) 저장
 			// tmtbValSq 생성
-			Integer tmtbValSq =  commonService.getNextSequence("SEQ_TMTB_VAL");
+			Integer tmtbValSq = commonService.getNextSequence("SEQ_TMTB_VAL");
 			regSection.setTmtbValSq(tmtbValSq);
 			regSection.setTmtbSq(tmtb.getTmtbSq());
 			regSection.setRegNo(tmtb.getRegNo());
@@ -228,7 +221,7 @@ public class TsaMarketingService {
 		Collection<MoreBetterBurden> burdenList = tmtb.getBurdenListNew();
 		for (MoreBetterBurden regBurden : burdenList) {
 			// tmtbBurdenSq 생성
-			Integer tmtbBurdenSq =  commonService.getNextSequence("SEQ_TMTB_BURDEN");
+			Integer tmtbBurdenSq = commonService.getNextSequence("SEQ_TMTB_BURDEN");
 			regBurden.setTmtbBurdenSq(tmtbBurdenSq);
 			regBurden.setTmtbSq(tmtb.getTmtbSq());
 			regBurden.setRegNo(tmtb.getRegNo());
@@ -256,4 +249,16 @@ public class TsaMarketingService {
 		}
 	}
 	/* // CSB 진행 */
+
+	/**
+	 * 쿠폰조회 목록
+	 * @param coupon - 쿠폰 정보
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 1. 8
+	 */
+	public Collection<Coupon> getCouponRetrieveList(Coupon coupon) {
+		return marketingDao.getCouponRetrieveList(coupon);
+	}
+
 }

+ 114 - 48
style24.admin/src/main/java/com/style24/admin/biz/web/TsaMarketingController.java

@@ -1,27 +1,45 @@
 package com.style24.admin.biz.web;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
+
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.gagaframework.web.parameter.GagaMap;
-import com.gagaframework.web.rest.server.GagaResponse;
-import com.style24.admin.biz.service.*;
+import com.style24.admin.biz.service.TsaBusinessService;
+import com.style24.admin.biz.service.TsaCommonService;
+import com.style24.admin.biz.service.TsaMarketingService;
+import com.style24.admin.biz.service.TsaRendererService;
+import com.style24.admin.biz.service.TsaSystemService;
 import com.style24.admin.support.controller.TsaBaseController;
 import com.style24.admin.support.security.session.TsaSession;
 import com.style24.core.support.message.TscMessageByLocale;
 import com.style24.persistence.TsaPageRequest;
-import com.style24.persistence.domain.*;
+import com.style24.persistence.domain.CommonCode;
+import com.style24.persistence.domain.Coupon;
+import com.style24.persistence.domain.FreeGoodsPromotion;
+import com.style24.persistence.domain.MoreBetter;
+import com.style24.persistence.domain.MoreBetterBurden;
+import com.style24.persistence.domain.MoreBetterGoods;
+import com.style24.persistence.domain.MoreBetterSection;
 
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.env.Environment;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.ModelAndView;
 
-import java.lang.reflect.Array;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
+import com.gagaframework.web.parameter.GagaMap;
+import com.gagaframework.web.rest.server.GagaResponse;
+
 /**
  * 마케팅 Controller
  * @author xodud1202
@@ -76,7 +94,7 @@ public class TsaMarketingController extends TsaBaseController {
 	public GagaMap getFreeGoodsPromotionList(@RequestBody FreeGoodsPromotion param) {
 		GagaMap result = new GagaMap();
 
-		List<FreeGoodsPromotion> marketingList = (ArrayList<FreeGoodsPromotion>) marketingService.getFreeGoodsPromotionList(param);
+		List<FreeGoodsPromotion> marketingList = (ArrayList<FreeGoodsPromotion>)marketingService.getFreeGoodsPromotionList(param);
 
 		param.setRegNo(TsaSession.getInfo().getUserNo()); // 엑셀조회시 로그인 사용자의 엑셀 상품조회시 사용
 		param.setPageable(new TsaPageRequest(param.getPageNo() - 1, param.getPageSize()));
@@ -88,7 +106,6 @@ public class TsaMarketingController extends TsaBaseController {
 		return result;
 	}
 
-
 	/**
 	 * 사은품 프로모션 등록 팝업창
 	 * @param param
@@ -111,7 +128,6 @@ public class TsaMarketingController extends TsaBaseController {
 		return mav;
 	}
 
-
 	/* // xodud1202 진행 */
 
 	/* JSM 진행 */
@@ -121,15 +137,15 @@ public class TsaMarketingController extends TsaBaseController {
 	 * @since 2020-12-21
 	 */
 	@GetMapping("/coupon/form")
-	public ModelAndView couponListForm(){
+	public ModelAndView couponListForm() {
 		ModelAndView mav = new ModelAndView();
 
 		// 쿠폰 유형 조회
-		mav.addObject("cpnTypeList" ,  rendererService.getCommonCodeList("G230"));
+		mav.addObject("cpnTypeList", rendererService.getCommonCodeList("G230"));
 		// 할인 유형 조회
-		mav.addObject("dcWayList" , rendererService.getCommonCodeList("G240"));
+		mav.addObject("dcWayList", rendererService.getCommonCodeList("G240"));
 		// 사이트 조회
-		mav.addObject("siteCdList" , rendererService.getCommonCodeList("G000"));
+		mav.addObject("siteCdList", rendererService.getCommonCodeList("G000"));
 
 		mav.setViewName("marketing/CouponListForm");
 
@@ -145,8 +161,8 @@ public class TsaMarketingController extends TsaBaseController {
 	 */
 	@PostMapping("/coupon/list")
 	@ResponseBody
-	public GagaMap getCouponList(@RequestBody Coupon param){
-		GagaMap result =  new GagaMap();
+	public GagaMap getCouponList(@RequestBody Coupon param) {
+		GagaMap result = new GagaMap();
 
 		ArrayList<Coupon> cpnList = marketingService.getCouponList(param);
 		int cpnTotCnt = marketingService.getCouponListCnt(param);
@@ -155,9 +171,9 @@ public class TsaMarketingController extends TsaBaseController {
 		param.setPageable(new TsaPageRequest(param.getPageNo() - 1, param.getPageSize()));
 		param.getPageable().setTotalCount(cpnTotCnt);
 
-		result.set("pageing" , param);
-		result.set("cpnTotCnt" , cpnTotCnt);
-		result.set("cpnList" , cpnList);
+		result.set("pageing", param);
+		result.set("cpnTotCnt", cpnTotCnt);
+		result.set("cpnList", cpnList);
 
 		return result;
 	}
@@ -176,10 +192,10 @@ public class TsaMarketingController extends TsaBaseController {
 
 		// 일시 시 리스트 세팅
 		Collection<CommonCode> hhList = new ArrayList<CommonCode>();
-		for(int i = 0; i < 24; i++) {
+		for (int i = 0; i < 24; i++) {
 			num = "";
 			CommonCode temp = new CommonCode();
-			if(i < 10) {
+			if (i < 10) {
 				num = "0" + i;
 			} else {
 				num = String.valueOf(i);
@@ -190,44 +206,44 @@ public class TsaMarketingController extends TsaBaseController {
 			mav.addObject("goodsStatList", rendererService.getCommonCodeList("G008", "Y", exceptCds));
 
 			temp.setCd(num);
-			temp.setCdNm(num+"시");
+			temp.setCdNm(num + "시");
 
 			hhList.add(temp);
 		}
 		// 일시 분 리스트 세팅
 		Collection<CommonCode> mmList = new ArrayList<CommonCode>();
-		for(int i = 0 ; i < 60; i++) {
+		for (int i = 0; i < 60; i++) {
 			num = "";
 			CommonCode temp = new CommonCode();
-			if(i < 10) {
+			if (i < 10) {
 				num = "0" + i;
 			} else {
 				num = String.valueOf(i);
 			}
 			temp.setCd(num);
-			temp.setCdNm(num+"분");
+			temp.setCdNm(num + "분");
 
 			mmList.add(temp);
 		}
 
 		// 쿠폰 유형 조회
-		mav.addObject("cpnTypeList" ,  rendererService.getCommonCodeList("G230"));
+		mav.addObject("cpnTypeList", rendererService.getCommonCodeList("G230"));
 		// 사용가능 고객구분 조회
 		mav.addObject("usableCustGbList", rendererService.getCommonCodeList("G100"));
 		// 사용가능 고객등급 조회
 		mav.addObject("usableCustGradeList", rendererService.getCommonCodeList("G110"));
 		// 사이트코드 조회
-		mav.addObject("siteCdList" , rendererService.getCommonCodeList("G000"));
+		mav.addObject("siteCdList", rendererService.getCommonCodeList("G000"));
 		// 재발급 여부 조회
-		mav.addObject("reissuanceList" , rendererService.getCommonCodeList("G231"));
+		mav.addObject("reissuanceList", rendererService.getCommonCodeList("G231"));
 		// 할인방식 조회
-		mav.addObject("dcWayList" , rendererService.getCommonCodeList("G240"));
+		mav.addObject("dcWayList", rendererService.getCommonCodeList("G240"));
 		// 쿠폰다운로드 방식 조회
-		mav.addObject("dnGbList" , rendererService.getCommonCodeList("G058"));
+		mav.addObject("dnGbList", rendererService.getCommonCodeList("G058"));
 		// 시간 분 리스트 세팅
-		mav.addObject("mmList" , mmList);
+		mav.addObject("mmList", mmList);
 		// 시간 시 리스트 세팅
-		mav.addObject("hhList" , hhList);
+		mav.addObject("hhList", hhList);
 
 		mav.setViewName("marketing/CouponCreatePopupForm");
 		return mav;
@@ -258,7 +274,7 @@ public class TsaMarketingController extends TsaBaseController {
 	public GagaMap getMorebetterList(@RequestBody MoreBetter param) {
 		GagaMap result = new GagaMap();
 
-		List<MoreBetter> tmtbList = (ArrayList<MoreBetter>) marketingService.getMorebetterList(param);
+		List<MoreBetter> tmtbList = (ArrayList<MoreBetter>)marketingService.getMorebetterList(param);
 
 		param.setRegNo(TsaSession.getInfo().getUserNo()); // 엑셀조회시 로그인 사용자의 엑셀 상품조회시 사용
 		param.setPageable(new TsaPageRequest(param.getPageNo() - 1, param.getPageSize()));
@@ -286,23 +302,23 @@ public class TsaMarketingController extends TsaBaseController {
 		// 상품상태 : 등록일때는 '대기'
 		String[] exceptCds = {"G008_00"};
 		mav.addObject("goodsStatList", rendererService.getCommonCodeList("G008", "Y", exceptCds));
-		log.info("CHECK param goodsStatList>>"+rendererService.getCommonCodeList("G008", "Y", exceptCds));
+		log.info("CHECK param goodsStatList>>" + rendererService.getCommonCodeList("G008", "Y", exceptCds));
 
 		// 할인구간 목록
 		mav.addObject("sectionGbList", rendererService.getAvailCommonCodeList("G810"));
-		log.info("CHECK param sectionGbList>>"+rendererService.getAvailCommonCodeList("G810"));
+		log.info("CHECK param sectionGbList>>" + rendererService.getAvailCommonCodeList("G810"));
 		// 할인구분 목록
 		mav.addObject("dcWayList", rendererService.getAvailCommonCodeList("G240"));
-		log.info("CHECK param dcWayList>>"+rendererService.getAvailCommonCodeList("G240"));
+		log.info("CHECK param dcWayList>>" + rendererService.getAvailCommonCodeList("G240"));
 
 		// 적용 상품구분 목록
-		String[] exceptGoodsCds = {"G800_30","G800_40"};
+		String[] exceptGoodsCds = {"G800_30", "G800_40"};
 		mav.addObject("applyGoodsGbList", rendererService.getCommonCodeList("G800", "Y", exceptGoodsCds));
-		log.info("CHECK param applyGoodsGbList>>"+rendererService.getCommonCodeList("G800", "Y", exceptGoodsCds));
+		log.info("CHECK param applyGoodsGbList>>" + rendererService.getCommonCodeList("G800", "Y", exceptGoodsCds));
 
 		// 제외 상품구분 목록
 		mav.addObject("exceptGoodsGbList", rendererService.getAvailCommonCodeList("G800"));
-		log.info("CHECK param exceptGoodsGbList>>"+rendererService.getAvailCommonCodeList("G800"));
+		log.info("CHECK param exceptGoodsGbList>>" + rendererService.getAvailCommonCodeList("G800"));
 
 		// 이것도 리스트 받아와서 바꿔야함 ㅠㅠ
 		String tmtbStat = "G232_10";
@@ -310,11 +326,11 @@ public class TsaMarketingController extends TsaBaseController {
 
 		//tmtb sq 자동생성 추가해야함
 		Integer tmtbSq;
-		tmtbSq =  commonService.getNextSequence("SEQ_TMTB");
+		tmtbSq = commonService.getNextSequence("SEQ_TMTB");
 		tmtb.setTmtbSq(tmtbSq);
 
 		mav.addObject("params", tmtb);
-		log.info("CHECK param tmtbSq>>"+tmtb.getTmtbSq());
+		log.info("CHECK param tmtbSq>>" + tmtb.getTmtbSq());
 		mav.setViewName("marketing/MorebetterRegForm");
 		return mav;
 	}
@@ -397,7 +413,7 @@ public class TsaMarketingController extends TsaBaseController {
 			e.printStackTrace();
 		}
 
-		log.info("tmtb::"+tmtb);
+		log.info("tmtb::" + tmtb);
 
 		tmtb.setSupplyCompListNew(tmtbSupplyCompList);
 		tmtb.setBrandListNew(tmtbBrandList);
@@ -410,6 +426,7 @@ public class TsaMarketingController extends TsaBaseController {
 
 		return super.ok(message.getMessage("SUCC_0001"));
 	}
+
 	/**
 	 * 다다익선 할인구간 삭제
 	 *
@@ -428,4 +445,53 @@ public class TsaMarketingController extends TsaBaseController {
 	}
 
 	/* // CSB 진행 */
+
+	/**
+	 * 쿠폰조회 팝업
+	 * @param returnCode - 반환할코드. 필수
+	 * @param returnName - 반환할명칭. 필수
+	 * @param cpnNm - 쿠폰명. 옵션
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 1. 8
+	 */
+	@GetMapping("/coupon/retrieve/form")
+	@ResponseBody
+	public ModelAndView couponRetrieveForm(@RequestParam(value = "returnCode") String returnCode, @RequestParam(value = "returnName") String returnName, @RequestParam(value = "cpnNm", required = false) String cpnNm) {
+		ModelAndView mav = new ModelAndView();
+
+		mav.addObject("returnCode", returnCode);
+		mav.addObject("returnName", returnName);
+		mav.addObject("cpnNm", StringUtils.defaultString(cpnNm, ""));
+
+		// 사이트 목록
+		mav.addObject("siteList", rendererService.getAvailCommonCodeList("G000"));
+
+		// 사용가능고객구분 목록
+		mav.addObject("usableCustGbList", rendererService.getAvailCommonCodeList("G100"));
+
+		// 쿠폰유형 목록
+		mav.addObject("cpnTypeList", rendererService.getAvailCommonCodeList("G230"));
+
+		// 할인방식 목록
+		mav.addObject("dcWayList", rendererService.getAvailCommonCodeList("G240"));
+
+		mav.setViewName("marketing/CouponRetrieveForm");
+
+		return mav;
+	}
+
+	/**
+	 * 쿠폰조회 목록
+	 * @param coupon - 쿠폰 정보
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 1. 8
+	 */
+	@PostMapping("/coupon/retrieve/list")
+	@ResponseBody
+	public Collection<Coupon> getCouponRetrieveList(@RequestBody Coupon coupon) {
+		return marketingService.getCouponRetrieveList(coupon);
+	}
+
 }

+ 35 - 0
style24.admin/src/main/java/com/style24/persistence/mybatis/shop/TsaMarketing.xml

@@ -309,4 +309,39 @@
 					,UDT_DT = NOW()
 	</insert>
 	<!--// CSB 진행 -->
+	
+	<!-- 쿠폰조회 목록 -->
+	<select id="getCouponRetrieveList" parameterType="Coupon" resultType="Coupon">
+		/* TsaMarketing.getCouponRetrieveList */
+		SELECT A.CPN_ID                                               /*쿠폰ID*/
+		     , A.CPN_NM                                               /*쿠폰명*/
+		     , A.SITE_CD                                              /*사이트코드(공통코드G000)*/
+		     , A.USABLE_CUST_GB                                       /*사용가능고객구분(공통코드G100)*/
+		     , A.CPN_TYPE                                             /*쿠폰유형(공통코드G230)*/
+		     , A.DC_WAY                                               /*할인방식(공통코드G240)*/
+		     , A.DC_PVAL                                              /*할인값(PC). 할인방식이 금액이면 할인금액, 율이면 할인율*/
+		     , A.DC_MVAL                                              /*할인값(모바일). 할인방식이 금액이면 할인금액, 율이면 할인율*/
+		     , A.MAX_DC_AMT                                           /*최고할인값. 할인방식이 금액이면 최고할인금액, 율이면 최고할인율*/
+		     , A.PD_GB                                                /*기간/일수구분(P 기간, D 일수)*/
+		     , DATE_FORMAT(A.AVAIL_STDT,'%Y%m%d%H%i%S') AS AVAIL_STDT /*유효시작일시(기간/일수구분 "P 기간"일 때 사용됨)*/
+		     , DATE_FORMAT(A.AVAIL_EDDT,'%Y%m%d%H%i%S') AS AVAIL_EDDT /*유효종료일시(기간/일수구분 "P 기간"일 때 사용됨)*/
+		     , A.AVAIL_DAYS                                           /*유효일수(기간/일수구분 "D 일수"일 때 사용됨)*/
+		     , A.CUST_PUB_LIMIT_QTY                                   /*고객당발행제한수량(0은 무제한)*/
+		     , A.TOT_PUB_LIMIT_QTY                                    /*총발행제한수량(0은 무제한)*/
+		     , A.ONE_PUB_QTY                                          /*1회발행수량*/
+		     , A.DN_GB                                                /*다운로드구분(A:자동다운로드, D:직접다운로드). 다운로드가능여부가 "Y 다운로드가능"일 때만 사용됨*/
+		     , A.BUY_LIMIT_AMT                                        /*구매제한금액(0은 제한없음)*/
+		FROM   TB_COUPON A
+		WHERE  A.SITE_CD = #{siteCd}
+		<if test="cpnId !=null and cpnId !=''">
+		AND	   A.CPN_ID = #{cpnId}
+		</if>
+		<if test="cpnNm !=null and cpnNm !=''">
+		AND	   A.CPN_NM LIKE '%'||#{cpnNm}||'%'
+		</if>
+		<if test="cpnType !=null and cpnType !=''">
+		AND	   A.CPN_TYPE = #{cpnType}
+		</if>
+	</select>
+	
 </mapper>

+ 5 - 5
style24.admin/src/main/webapp/WEB-INF/views/marketing/CouponRetrieveForm.html

@@ -40,11 +40,11 @@
 								<select name="siteCd" required="required">
 									<option th:if="${siteList}" th:each="oneData, status : ${siteList}" th:value="${oneData.cd}" th:text="|[${oneData.cd}] ${oneData.cdNm}|"></option>
 								</select>
-								<input type="text" name="faqSq" maxlength="20" placeholder="자동생성" readonly="readonly"/>
 							</td>
 							<th>쿠폰유형</th>
 							<td>
 								<select name="cpnType">
+									<option value="">[전체]</option>
 									<option th:if="${cpnTypeList}" th:each="oneData, status : ${cpnTypeList}" th:value="${oneData.cd}" th:text="|[${oneData.cd}] ${oneData.cdNm}|"></option>
 								</select>
 							</td>
@@ -92,10 +92,10 @@
 	let returnCode = [[${returnCode}]];
 	let returnName = [[${returnName}]];
 
-	let siteList = cfnConvertToArray([[${siteList}]]);
-	let usableCustGbList = cfnConvertToArray([[${usableCustGbList}]]);
-	let cpnTypeList = cfnConvertToArray([[${cpnTypeList}]]);
-	let dcWayList = cfnConvertToArray([[${dcWayList}]]);
+	let siteList = gagajf.convertToArray([[${siteList}]]);
+	let usableCustGbList = gagajf.convertToArray([[${usableCustGbList}]]);
+	let cpnTypeList = gagajf.convertToArray([[${cpnTypeList}]]);
+	let dcWayList = gagajf.convertToArray([[${dcWayList}]]);
 	
 	let columnDefsCouponList = [
 		{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},