초기소스
This commit is contained in:
@@ -0,0 +1,171 @@
|
||||
package com.wb.domainserver.domain.crm.coupon.controller;
|
||||
|
||||
import com.wb.domainserver.common.msg.GconeMessageSource;
|
||||
import com.wb.domainserver.domain.crm.cnslt.vo.CrmCnsltVO;
|
||||
import com.wb.domainserver.domain.crm.coupon.vo.CrmCouponVO;
|
||||
import com.wb.domainserver.exception.WnbtRestException;
|
||||
import com.wb.domainserver.response.WnbtResponse;
|
||||
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
|
||||
import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
|
||||
import com.wb.domainserver.security.authorization.annotation.Policy;
|
||||
import com.wb.domainserver.util.communicate.RESRC;
|
||||
import com.wb.domainserver.util.communicate.ReplyFromResrc;
|
||||
import com.wb.domainserver.util.communicate.SendToResrc;
|
||||
import com.wb.domainserver.util.communicate.ValidateResultConverter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.CookieValue;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
|
||||
/**
|
||||
*
|
||||
* CRM 쿠폰
|
||||
* @author 추지훈
|
||||
* @since 2024-02-19
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* <pre>
|
||||
* == (Modification Information) == 개정이력
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2024-02-19 추지훈. 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/crm/coupon")
|
||||
@Slf4j
|
||||
public class CrmCouponController {
|
||||
|
||||
/** WebClient 호출을 위한 wrapper */
|
||||
@Autowired
|
||||
private WnbtWebClientResponseHandler responseHandler;
|
||||
|
||||
@Autowired
|
||||
private SendToResrc sendToResrc;
|
||||
|
||||
@Autowired
|
||||
private GconeMessageSource gconeMessageSource;
|
||||
|
||||
|
||||
/**
|
||||
* 쿠폰내역 목록 폼 이동
|
||||
* @return
|
||||
*/
|
||||
@Policy(AuthPolicy.RESTRICTED)
|
||||
@RequestMapping(value = "/selectHoldCouponDtlsForm")
|
||||
public String selectHoldCouponDtlsForm(CrmCnsltVO vo, CrmCouponVO couponVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||
couponVO.setSopmalCd(authSopmalCd);
|
||||
|
||||
responseHandler.handleResponse(
|
||||
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/coupon/selectBOHoldCouponDtlsForm", couponVO),
|
||||
model,
|
||||
"resultMap"
|
||||
);
|
||||
model.addAttribute("cnsltVO",vo);
|
||||
return "crm/coupon/HoldCouponDtlsRForm";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 쿠폰내역 목록 조회 ( 사용 가능 쿠폰 내역 )
|
||||
* @return
|
||||
*/
|
||||
@Policy(AuthPolicy.RESTRICTED)
|
||||
@RequestMapping(value = "/selectHoldCouponDtlsInqire")
|
||||
public String selectHoldCouponDtlsInqire(CrmCouponVO couponVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||
couponVO.setSopmalCd(authSopmalCd);
|
||||
|
||||
responseHandler.handleResponse(
|
||||
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/coupon/selectBOCouponUsePosblDtlsInqire", couponVO),
|
||||
model,
|
||||
"resultMap"
|
||||
);
|
||||
|
||||
return "crm/coupon/HoldCouponDtlsR";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 쿠폰 상세 팝업
|
||||
* @return
|
||||
*/
|
||||
@Policy(AuthPolicy.RESTRICTED)
|
||||
@RequestMapping(value = "/selectHoldCouponDtlPopupForm")
|
||||
public String selectHoldCouponDtlPopupForm(CrmCouponVO couponVO, ModelMap model) {
|
||||
|
||||
responseHandler.handleResponse(
|
||||
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/coupon/selectBOCouponInfoInqirePopup", couponVO),
|
||||
model,
|
||||
"resultMap"
|
||||
);
|
||||
|
||||
return "crm/coupon/HoldCouponDtlPopupR";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 쿠폰 유효기간 수정
|
||||
* @return
|
||||
*/
|
||||
@Policy(AuthPolicy.RESTRICTED)
|
||||
@RequestMapping(value = "/updateCouponPdUpdt", method = RequestMethod.POST)
|
||||
public ResponseEntity<WnbtResponse> updateCouponPdUpdt(@Validated CrmCouponVO couponVO, BindingResult bindingResult) {
|
||||
log.debug("couponVO info inqire {}", couponVO);
|
||||
// 정합성 검사
|
||||
if (bindingResult.hasErrors()) {
|
||||
throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource));
|
||||
}
|
||||
|
||||
return responseHandler.handleResponse(
|
||||
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/coupon/updateBOCouponValidPdUpdt", couponVO),
|
||||
ReplyFromResrc::getReply
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 쿠폰내역 목록 조회 ( 다운로드 가능 쿠폰 내역 )
|
||||
* @return
|
||||
*/
|
||||
@Policy(AuthPolicy.RESTRICTED)
|
||||
@RequestMapping(value = "/selectDwldPosblCouponDtlsInqire")
|
||||
public String selectDwldPosblCouponDtlsInqire(CrmCouponVO couponVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||
couponVO.setSopmalCd(authSopmalCd);
|
||||
|
||||
responseHandler.handleResponse(
|
||||
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/coupon/selectBODwldCouponDtlsInqire", couponVO),
|
||||
model,
|
||||
"resultMapDwld"
|
||||
);
|
||||
|
||||
return "crm/coupon/DwldPosblCouponDtlsR";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 쿠폰 다운로드
|
||||
* @return
|
||||
*/
|
||||
@Policy(AuthPolicy.RESTRICTED)
|
||||
@RequestMapping(value = "/insertCrmDwldCouponAllRegist")
|
||||
public ResponseEntity<WnbtResponse> insertCrmDwldCouponAllRegist(CrmCouponVO couponVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||
couponVO.setSopmalCd(authSopmalCd);
|
||||
log.debug("CRM 쿠폰 다운로드 : {}", couponVO);
|
||||
return responseHandler.handleResponse(
|
||||
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/coupon/insertBODwldCouponAllRegist", couponVO),
|
||||
ReplyFromResrc::getReply
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
package com.wb.domainserver.domain.crm.coupon.vo;
|
||||
|
||||
import com.wb.domainserver.domain.comm.vo.AbstractVO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* 해당 클래스에 대한 설명을 입력하세요.
|
||||
* @author 추지훈
|
||||
* @since 2024-02-27
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* <pre>
|
||||
* == (Modification Information) == 개정이력
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2024-02-27 추지훈 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class CrmCouponVO extends AbstractVO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 쿠폰정보
|
||||
*/
|
||||
|
||||
/** 다운로드 쿠폰 고유번호 */
|
||||
private BigInteger dwldCouponInnb;
|
||||
/** 쿠폰 고유번호 */
|
||||
private Integer couponInnb;
|
||||
/** 회원 고유번호 */
|
||||
private Integer mbrInnb;
|
||||
/** 회원 구분 코드 */
|
||||
private String mbrDvCd;
|
||||
/** 쿠폰팩 고유번호 */
|
||||
private Integer cupnpkInnb;
|
||||
/** 오프라인쿠폰 고유번호 */
|
||||
private Integer oflneCouponInnb;
|
||||
|
||||
/** 쿠폰 발송 고유번호 */
|
||||
private Integer couponSndngInnb;
|
||||
/** 쿠폰 발송 유형코드 */
|
||||
private String couponSndngTy;
|
||||
/** 발송구분 */
|
||||
private String sndngDv;
|
||||
/** 발송대상 구분 */
|
||||
private String sndngTrgetDv;
|
||||
/** 쇼핑몰 코드 */
|
||||
private String sopmalCd;
|
||||
/** 다운로드 쿠폰팩명 */
|
||||
private String cupnpkNm;
|
||||
/** 다운로드 쿠폰팩 설명 */
|
||||
private String cupnpkDc;
|
||||
/** 다운로드 쿠폰명 */
|
||||
private String coupNm;
|
||||
/** 다운로드 쿠폰 설명 */
|
||||
private String couponDc;
|
||||
/** 사용환경코드 */
|
||||
private String useEnvrnCd;
|
||||
/** 단독사용, 공동사용 */
|
||||
private String otrCouponSmtmUseAt;
|
||||
/** 중복다운로드여부 */
|
||||
private String dplctDwldAt;
|
||||
/** 중복할인여부 */
|
||||
private String dplctDscntAt;
|
||||
/** 사용가능금액 */
|
||||
private String usePosblAmt;
|
||||
/** 상품카테고리 제한구분( 전체상품(all), 상품/카테고리(issue) ) */
|
||||
private String goodsCtgryLmttDv;
|
||||
/** 유효기간시작일시 */
|
||||
private String validpdBgnDt;
|
||||
/** 유효기간시작일시 포맷 yyyy-mm-dd */
|
||||
private String validpdBgnDe;
|
||||
/** 유효기간종료일시 */
|
||||
private String validpdEndDt;
|
||||
/** 유효기간종료일시 포맷 yyyy-mm-dd */
|
||||
private String validpdEndDe;
|
||||
/** 유효기간 남은 일수 */
|
||||
private String validpdDay;
|
||||
/** 쿠폰 사용여부 */
|
||||
private String couponUseAt;
|
||||
/** 쿠폰 사용 일시 */
|
||||
private String couponUseDt;
|
||||
/** 오프라인쿠폰 인증번호 */
|
||||
private String oflneCouponCrtnb;
|
||||
/** 사용처구분 */
|
||||
private String useplcDv;
|
||||
/** 복원 원본쿠폰 */
|
||||
private String recovryOrginlCoupon;
|
||||
|
||||
|
||||
|
||||
// 쿠폰 혜택
|
||||
|
||||
/** 다운로드 쿠폰 혜택 고유번호 */
|
||||
private Integer dwldCouponBnefInnb;
|
||||
/** 혜택구분 */
|
||||
private String bnefDv;
|
||||
/** 상품할인구분 */
|
||||
private String goodsDscntDv;
|
||||
/** 추가할인금액 */
|
||||
private String aditDscntAmt;
|
||||
/** 추가할인비율 */
|
||||
private String aditDscntRt;
|
||||
/** 할인최대금액 */
|
||||
private String dscntMxmmAmt;
|
||||
/** 무료, 금액 */
|
||||
private String dlvyAmtDscntDv;
|
||||
/** 배송비할인금액 */
|
||||
private String dlvyAmtDscntAmt;
|
||||
/** 배송비최대할인금액 */
|
||||
private String dlvyAmtMxmmDscntAmt;
|
||||
|
||||
|
||||
|
||||
// 쿠폰 적용 상품
|
||||
|
||||
/** 쿠폰 적용상품 고유번호 */
|
||||
private Integer dwldCouponApplcGoodsInnb;
|
||||
/** 상품적용구분 */
|
||||
private String goodsApplcDv;
|
||||
/** 판매상품 고유번호 */
|
||||
private Integer sleGoodsInnb;
|
||||
/** 혜택 적용 판매상품 고유번호 리스트 */
|
||||
private List<Integer> sleGoodsInnbList;
|
||||
/** 혜택 제외 판매상품 고유번호 리스트 */
|
||||
private List<Integer> ExclSleGoodsInnbList;
|
||||
/** 카테고리 ID */
|
||||
private Integer ctgryId;
|
||||
/** 혜택 적용 카테고리 ID 리스트 */
|
||||
private List<Integer> ctgryIdList;
|
||||
/** 혜택 제외 카테고리 ID 리스트 */
|
||||
private List<Integer> ExclCtgryIdList;
|
||||
|
||||
// 검색조건
|
||||
|
||||
/** 검색_회원아이디, 회원명 */
|
||||
private String searchKeyword;
|
||||
/** 검색_발급일 시작 */
|
||||
private String srchStartDate;
|
||||
/** 검색_발급일 종료 */
|
||||
private String srchEndDate;
|
||||
/** 검색_다운로드쿠폰사용여부 */
|
||||
private String srchUseAt;
|
||||
|
||||
|
||||
/** 쿠폰 발급 혹은 쿠폰 등록 시 */
|
||||
// private String[] couponArray;
|
||||
|
||||
|
||||
private String couponArray;
|
||||
|
||||
|
||||
/** 그룹 코드 */
|
||||
private String groupCd;
|
||||
|
||||
/** 주문 고유번호 ( 주문 쿠폰 사용 내역 조회 ) */
|
||||
private String ordrInnb;
|
||||
|
||||
/** JSON 형태의 회원 리스트 ( 발급하기 ) */
|
||||
private String jsonMbrList;
|
||||
|
||||
|
||||
/**
|
||||
* 서버 구분
|
||||
*/
|
||||
private String serverDv;
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user