|
|
@@ -4,19 +4,10 @@ import java.util.ArrayList;
|
|
|
import java.util.Collection;
|
|
|
import java.util.List;
|
|
|
|
|
|
-import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
-import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
-import com.gagaframework.web.util.GagaDateUtil;
|
|
|
-import com.gagaframework.web.util.GagaFileUtil;
|
|
|
-import com.style24.persistence.TscPageRequest;
|
|
|
-import com.style24.persistence.domain.*;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.core.env.Environment;
|
|
|
-import org.springframework.core.io.InputStreamResource;
|
|
|
-import org.springframework.http.ResponseEntity;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
-import org.springframework.ui.Model;
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
@@ -25,24 +16,32 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
|
|
|
|
-import com.style24.admin.biz.service.TsaBusinessService;
|
|
|
import com.style24.admin.biz.service.TsaCommonService;
|
|
|
import com.style24.admin.biz.service.TsaCouponService;
|
|
|
import com.style24.admin.biz.service.TsaFreegiftPromotionService;
|
|
|
import com.style24.admin.biz.service.TsaMorebetterService;
|
|
|
import com.style24.admin.biz.service.TsaRendererService;
|
|
|
-import com.style24.admin.biz.service.TsaSystemService;
|
|
|
+import com.style24.admin.biz.service.TsaReviewService;
|
|
|
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.TscPageRequest;
|
|
|
+import com.style24.persistence.domain.CommonCode;
|
|
|
+import com.style24.persistence.domain.Coupon;
|
|
|
+import com.style24.persistence.domain.CouponRefval;
|
|
|
+import com.style24.persistence.domain.CustCoupon;
|
|
|
+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 com.style24.persistence.domain.Review;
|
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
|
import com.gagaframework.web.parameter.GagaMap;
|
|
|
import com.gagaframework.web.rest.server.GagaResponse;
|
|
|
|
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
-
|
|
|
/**
|
|
|
* 마케팅 Controller
|
|
|
* @author xodud1202
|
|
|
@@ -62,24 +61,99 @@ public class TsaMarketingController extends TsaBaseController {
|
|
|
@Autowired
|
|
|
private TsaFreegiftPromotionService freegiftService;
|
|
|
|
|
|
- @Autowired
|
|
|
- private TsaBusinessService businessService;
|
|
|
-
|
|
|
@Autowired
|
|
|
private TsaRendererService rendererService;
|
|
|
|
|
|
@Autowired
|
|
|
private TsaCommonService commonService;
|
|
|
|
|
|
- @Autowired
|
|
|
- private TsaSystemService systemService;
|
|
|
-
|
|
|
@Autowired
|
|
|
private TsaMorebetterService morebetterService;
|
|
|
|
|
|
@Autowired
|
|
|
private TsaCouponService couponService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private TsaReviewService reviewService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 상품평관리 화면
|
|
|
+ * @return
|
|
|
+ * @author gagamel
|
|
|
+ * @since 2021. 1. 25
|
|
|
+ */
|
|
|
+ @GetMapping("/review/form")
|
|
|
+ public ModelAndView reviewForm() {
|
|
|
+ ModelAndView mav = new ModelAndView("marketing/ReviewForm");
|
|
|
+
|
|
|
+ // 사이즈점수
|
|
|
+ mav.addObject("scoreSizeList", rendererService.getAvailCommonCodeList("G040"));
|
|
|
+
|
|
|
+ // 색상점수
|
|
|
+ mav.addObject("scoreColorList", rendererService.getAvailCommonCodeList("G039"));
|
|
|
+
|
|
|
+ // 핏점수
|
|
|
+ mav.addObject("scoreFitList", rendererService.getAvailCommonCodeList("G042"));
|
|
|
+
|
|
|
+ // 두께감점수
|
|
|
+ mav.addObject("scoreThickList", rendererService.getAvailCommonCodeList("G079"));
|
|
|
+
|
|
|
+ // 무게감점수
|
|
|
+ mav.addObject("scoreWeightList", rendererService.getAvailCommonCodeList("G080"));
|
|
|
+
|
|
|
+ // 발볼넓이점수(G041)
|
|
|
+ mav.addObject("scoreBallList", rendererService.getAvailCommonCodeList("G041"));
|
|
|
+
|
|
|
+ // 포인트지급상태
|
|
|
+ mav.addObject("pntGiveStatList", rendererService.getAvailCommonCodeList("G043"));
|
|
|
+
|
|
|
+// // 품목
|
|
|
+// mav.addObject("itemkindList", rendererService.getAllItemkindList());
|
|
|
+//
|
|
|
+// // 브랜드그룹
|
|
|
+// mav.addObject("brandGrpNmList", rendererService.getBrandGroupList());
|
|
|
+//
|
|
|
+// // MD
|
|
|
+// mav.addObject("brandMdList", rendererService.getBrandMdList());
|
|
|
+//
|
|
|
+// // 카테고리
|
|
|
+// mav.addObject("tCateList", rendererService.getTCategoryList(""));
|
|
|
+//
|
|
|
+// // 브랜드 조회
|
|
|
+// mav.addObject("brandList", rendererService.getSupplyCompanyBrandList(""));
|
|
|
+
|
|
|
+ return mav;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 상품평 목록
|
|
|
+ * @param review - 상품평 정보
|
|
|
+ * @return
|
|
|
+ * @author gagamel
|
|
|
+ * @since 2021. 1. 25
|
|
|
+ */
|
|
|
+ @PostMapping("/review/list")
|
|
|
+ @ResponseBody
|
|
|
+ public GagaMap getReviewList(@RequestBody Review review) {
|
|
|
+ GagaMap result = new GagaMap();
|
|
|
+
|
|
|
+ // multi row 검색관련 처리
|
|
|
+ if (StringUtils.isNotBlank(review.getGoodsCd())) {
|
|
|
+ review.setGoodsCds(review.getGoodsCd().replaceAll("\r", "").split("\n"));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 상품평 목록
|
|
|
+ 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);
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
/* xodud1202 진행 */
|
|
|
/**
|
|
|
* 사은품 프로모션 관리 화면
|
|
|
@@ -160,7 +234,7 @@ public class TsaMarketingController extends TsaBaseController {
|
|
|
public GagaResponse freeGoodsPromotionSave(@RequestBody FreeGoodsPromotion param) {
|
|
|
try {
|
|
|
freegiftService.saveFreegoodsPromotionInfo(param);
|
|
|
- } catch(Exception e) {
|
|
|
+ } catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
return super.error(message.getMessage("FAIL_0001"));
|
|
|
}
|
|
|
@@ -180,7 +254,7 @@ public class TsaMarketingController extends TsaBaseController {
|
|
|
public GagaResponse freeGoodsPromotionChangeStat(@RequestBody FreeGoodsPromotion param) {
|
|
|
try {
|
|
|
freegiftService.updateFreegoodsPromotionStat(param);
|
|
|
- } catch(Exception e) {
|
|
|
+ } catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
return super.error(message.getMessage("FAIL_0001"));
|
|
|
}
|
|
|
@@ -188,7 +262,6 @@ public class TsaMarketingController extends TsaBaseController {
|
|
|
return super.ok(message.getMessage("SUCC_0001"));
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/* // xodud1202 진행 */
|
|
|
|
|
|
/* JSM 진행 */
|
|
|
@@ -249,7 +322,7 @@ public class TsaMarketingController extends TsaBaseController {
|
|
|
*/
|
|
|
@GetMapping("/coupon/popup/form")
|
|
|
@ResponseBody
|
|
|
- public ModelAndView couponCreatePopup(@RequestParam(value="cpnId") String cpnId ) {
|
|
|
+ public ModelAndView couponCreatePopup(@RequestParam(value = "cpnId") String cpnId) {
|
|
|
ModelAndView mav = new ModelAndView();
|
|
|
String num = "";
|
|
|
String mode = "N";
|
|
|
@@ -297,17 +370,17 @@ public class TsaMarketingController extends TsaBaseController {
|
|
|
// 입점업체 조회
|
|
|
mav.addObject("ibSupplyCompList", rendererService.getSupplyCompanyList("", "N"));
|
|
|
// 정상/이월 조회
|
|
|
- mav.addObject("formalGbList" , rendererService.getCommonCodeList("G009"));
|
|
|
+ mav.addObject("formalGbList", rendererService.getCommonCodeList("G009"));
|
|
|
// 카테고리 구분 조회
|
|
|
- mav.addObject("cateGbList" , rendererService.getCommonCodeList("G032"));
|
|
|
+ mav.addObject("cateGbList", rendererService.getCommonCodeList("G032"));
|
|
|
// 자사 브랜드 조회
|
|
|
- mav.addObject("selfBrandList" , couponService.getSelfBrandList());
|
|
|
+ mav.addObject("selfBrandList", couponService.getSelfBrandList());
|
|
|
// 사이트코드 조회
|
|
|
mav.addObject("siteCdList", rendererService.getCommonCodeList("G000"));
|
|
|
// 쿠폰상태 조회
|
|
|
mav.addObject("cpnStatList", rendererService.getCommonCodeList("G232"));
|
|
|
// 쿠폰 유형 조회
|
|
|
- mav.addObject("cpnTypeList", rendererService.getCommonCodeList("G230" , "Y"));
|
|
|
+ mav.addObject("cpnTypeList", rendererService.getCommonCodeList("G230", "Y"));
|
|
|
// 사용가능 고객구분 조회
|
|
|
mav.addObject("usableCustGbList", rendererService.getCommonCodeList("G100"));
|
|
|
// 사용가능 고객등급 조회
|
|
|
@@ -324,29 +397,29 @@ public class TsaMarketingController extends TsaBaseController {
|
|
|
mav.addObject("upperAfLinkCdList", rendererService.getCommonCodeList("G053"));
|
|
|
|
|
|
// 이미 쿠폰 아이디가 있으면 적용대상 조회
|
|
|
- if(!StringUtils.isBlank(cpnId)) {
|
|
|
+ if (!StringUtils.isBlank(cpnId)) {
|
|
|
mode = "U";
|
|
|
issueCnt = couponService.getCouponIssueCnt(cpnId);
|
|
|
// 쿠폰상세조회
|
|
|
- mav.addObject("cpnDetail" , couponService.getCouponDetail(cpnId));
|
|
|
+ mav.addObject("cpnDetail", couponService.getCouponDetail(cpnId));
|
|
|
// 쿠폰적용대상 - 공급업체 조회
|
|
|
- mav.addObject("cpnDtlRefvalSupplyCompList" , couponService.getCouponRefvalSupplyCompList(cpnId));
|
|
|
+ mav.addObject("cpnDtlRefvalSupplyCompList", couponService.getCouponRefvalSupplyCompList(cpnId));
|
|
|
// 쿠폰적용대상 - 적용상품 조회
|
|
|
- mav.addObject("cpnDtlRefvalApplyGoodsList" , couponService.getCouponRefvalGoodsList(cpnId , "G260_10"));
|
|
|
+ mav.addObject("cpnDtlRefvalApplyGoodsList", couponService.getCouponRefvalGoodsList(cpnId, "G260_10"));
|
|
|
// 쿠폰적용대상 - 카테고리 조회
|
|
|
- mav.addObject("cpnDtlRefvalCateList" , couponService.getCouponRefvalCategoryList(cpnId));
|
|
|
+ mav.addObject("cpnDtlRefvalCateList", couponService.getCouponRefvalCategoryList(cpnId));
|
|
|
// 쿠폰적용대상 - 브랜드 조회
|
|
|
- mav.addObject("cpnDtlRefvalBrandList" , couponService.getCouponRefvalBrandList(cpnId));
|
|
|
+ mav.addObject("cpnDtlRefvalBrandList", couponService.getCouponRefvalBrandList(cpnId));
|
|
|
// 쿠폰적용대상 - 제외상품 조회
|
|
|
- mav.addObject("cpnDtlRefvalExceptGoodsList" , couponService.getCouponRefvalGoodsList(cpnId , "G260_14"));
|
|
|
+ mav.addObject("cpnDtlRefvalExceptGoodsList", couponService.getCouponRefvalGoodsList(cpnId, "G260_14"));
|
|
|
// 쿠폰 입점업체분담율 조회
|
|
|
- mav.addObject("cpnDtlBurdenList" , couponService.getCouponBurdenList(cpnId));
|
|
|
+ mav.addObject("cpnDtlBurdenList", couponService.getCouponBurdenList(cpnId));
|
|
|
}
|
|
|
|
|
|
//issueCnt = 3;
|
|
|
|
|
|
- mav.addObject("mode" , mode);
|
|
|
- mav.addObject("issueCnt" , issueCnt);
|
|
|
+ mav.addObject("mode", mode);
|
|
|
+ mav.addObject("issueCnt", issueCnt);
|
|
|
|
|
|
mav.setViewName("marketing/CouponPopupForm");
|
|
|
return mav;
|
|
|
@@ -386,7 +459,6 @@ public class TsaMarketingController extends TsaBaseController {
|
|
|
return super.ok(message.getMessage("SUCC_0001"));
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* 쿠폰발행팝업
|
|
|
* @param
|
|
|
@@ -439,14 +511,14 @@ public class TsaMarketingController extends TsaBaseController {
|
|
|
// 시간 시 리스트 세팅
|
|
|
mav.addObject("hhList", hhList);
|
|
|
// 사이트조회
|
|
|
- mav.addObject("siteCdList" , rendererService.getCommonCodeList("G000"));
|
|
|
+ mav.addObject("siteCdList", rendererService.getCommonCodeList("G000"));
|
|
|
// 사용가능 고객구분 조회
|
|
|
mav.addObject("usableCustGbList", rendererService.getCommonCodeList("G100"));
|
|
|
// 사용가능 고객등급 조회
|
|
|
mav.addObject("usableCustGradeList", rendererService.getCommonCodeList("G110"));
|
|
|
// 쿠폰발행사유 조회
|
|
|
mav.addObject("cpnPubReasonList", rendererService.getCommonCodeList("G068"));
|
|
|
-
|
|
|
+
|
|
|
mav.setViewName("marketing/CouponPubForCustPopupForm");
|
|
|
|
|
|
return mav;
|
|
|
@@ -461,7 +533,7 @@ public class TsaMarketingController extends TsaBaseController {
|
|
|
*/
|
|
|
@PostMapping("/coupon/insertCustPub")
|
|
|
@ResponseBody
|
|
|
- public GagaResponse saveCouponCustPub(@RequestBody CustCoupon custCoupon ){
|
|
|
+ public GagaResponse saveCouponCustPub(@RequestBody CustCoupon custCoupon) {
|
|
|
couponService.saveCouponCustPub(custCoupon);
|
|
|
|
|
|
return super.ok(message.getMessage("SUCC_0006"));
|
|
|
@@ -582,7 +654,7 @@ public class TsaMarketingController extends TsaBaseController {
|
|
|
*/
|
|
|
@PostMapping("/morebetter/save")
|
|
|
@ResponseBody
|
|
|
- public GagaMap saveMorebetterDetail(@RequestBody MoreBetter moreBetter){
|
|
|
+ public GagaMap saveMorebetterDetail(@RequestBody MoreBetter moreBetter) {
|
|
|
String result = "";
|
|
|
GagaMap map = new GagaMap();
|
|
|
|
|
|
@@ -595,7 +667,7 @@ public class TsaMarketingController extends TsaBaseController {
|
|
|
moreBetterGoods.setMultiSupplyCompCd(multiSupplyCompCd);
|
|
|
moreBetterGoods.setMultiBrand(multiBrand);
|
|
|
moreBetterGoods.setMultiGoods(multiGoods);
|
|
|
- log.info("[1 saveMorebetterDetail moreBetterGoods]{}",moreBetterGoods);
|
|
|
+ log.info("[1 saveMorebetterDetail moreBetterGoods]{}", moreBetterGoods);
|
|
|
|
|
|
// TMTB_GOODS_TEMP TABLE TRUNCATE -> 다른 다다에서 사용중인 상품 조회 -> INSERT
|
|
|
morebetterService.createMorebetterGoodsTemp(moreBetterGoods);
|
|
|
@@ -603,18 +675,18 @@ public class TsaMarketingController extends TsaBaseController {
|
|
|
// 다른 다다에서 사용중인 상품 조회
|
|
|
Collection<MoreBetterGoods> duplicateGoodsList = morebetterService.getMorebetterDuplicateList(moreBetterGoods);
|
|
|
|
|
|
- log.info("[1 duplicateGoodsList size]{}",duplicateGoodsList.size());
|
|
|
+ log.info("[1 duplicateGoodsList size]{}", duplicateGoodsList.size());
|
|
|
|
|
|
// SELECT -> 지금 내가 선택한 업체&브랜드 + 적용상품에 해당하는 상품 조회 MINUS TMTB_GOODS_TEMP 상품
|
|
|
// 조회 건수 있으면 -> 해당 상품코드 엑셀로 던져주기
|
|
|
- if(duplicateGoodsList.size() > 0){
|
|
|
- map.set("duplicateYn","Y");
|
|
|
+ if (duplicateGoodsList.size() > 0) {
|
|
|
+ map.set("duplicateYn", "Y");
|
|
|
map.set("msg", result);
|
|
|
- map.set("duplicateGoodsList",duplicateGoodsList);
|
|
|
- }else{
|
|
|
+ map.set("duplicateGoodsList", duplicateGoodsList);
|
|
|
+ } else {
|
|
|
// 조회 건수 없으면 -> 저장으로 넘어감
|
|
|
//morebetterService.saveMoreBetterDetail(moreBetter);
|
|
|
- map.set("duplicateYn","N");
|
|
|
+ map.set("duplicateYn", "N");
|
|
|
map.set("msg", message.getMessage("SUCC_0001"));
|
|
|
}
|
|
|
|
|
|
@@ -623,7 +695,7 @@ public class TsaMarketingController extends TsaBaseController {
|
|
|
|
|
|
@PostMapping("/morebetter/save2")
|
|
|
@ResponseBody
|
|
|
- public GagaResponse saveMorebetterDetail2(@RequestBody MoreBetter moreBetter){
|
|
|
+ public GagaResponse saveMorebetterDetail2(@RequestBody MoreBetter moreBetter) {
|
|
|
String[] multiSupplyCompCd = moreBetter.getSupplyCompArr().split(",");
|
|
|
String[] multiBrand = moreBetter.getBrandArr().split(",");
|
|
|
String[] multiGoods = moreBetter.getGoodsArr().split(",");
|
|
|
@@ -633,7 +705,7 @@ public class TsaMarketingController extends TsaBaseController {
|
|
|
moreBetterGoods.setMultiSupplyCompCd(multiSupplyCompCd);
|
|
|
moreBetterGoods.setMultiBrand(multiBrand);
|
|
|
moreBetterGoods.setMultiGoods(multiGoods);
|
|
|
- log.info("[saveMorebetterDetail moreBetterGoods]{}",moreBetterGoods);
|
|
|
+ log.info("[saveMorebetterDetail moreBetterGoods]{}", moreBetterGoods);
|
|
|
|
|
|
// TMTB_GOODS_TEMP TABLE TRUNCATE -> 다른 다다에서 사용중인 상품 조회 -> INSERT
|
|
|
morebetterService.createMorebetterGoodsTemp(moreBetterGoods);
|
|
|
@@ -641,13 +713,12 @@ public class TsaMarketingController extends TsaBaseController {
|
|
|
// 다른 다다에서 사용중인 상품 조회
|
|
|
Collection<MoreBetterGoods> duplicateGoodsList = morebetterService.getMorebetterDuplicateList(moreBetterGoods);
|
|
|
|
|
|
- log.info("[duplicateGoodsList size]{}",duplicateGoodsList.size());
|
|
|
+ log.info("[duplicateGoodsList size]{}", duplicateGoodsList.size());
|
|
|
|
|
|
// SELECT -> 지금 내가 선택한 업체&브랜드에 해당하는 상품 조회 MINUS TMTB_GOODS_TEMP 상품
|
|
|
// 조회 건수 있으면 -> 해당 상품코드 엑셀로 던져주기
|
|
|
// 조회 건수 없으면 -> 저장으로 넘어감
|
|
|
|
|
|
-
|
|
|
//morebetterService.saveMoreBetterDetail(moreBetter);
|
|
|
return super.ok(message.getMessage("SUCC_0001"));
|
|
|
}
|