fix : 설정 > 마일리지 설정 - 마일리지 사용조건 추가
This commit is contained in:
@@ -28,6 +28,24 @@ import lombok.EqualsAndHashCode;
|
||||
public class BOSetupOrdrVO extends AbstractVO {
|
||||
/** 쇼핑몰 코드 */
|
||||
private String sopmalCd;
|
||||
|
||||
// 여러 곳 배송
|
||||
/** 여러곳배송여부 */
|
||||
private String multiDlvyAt;
|
||||
/** 정기배송여부 */
|
||||
private String fdrmDlvyAt;
|
||||
|
||||
// 선물하기
|
||||
/** 선물하기여부 */
|
||||
private String giftDlvyAt;
|
||||
/** 선물하기자동취소기간 */
|
||||
private String giftDlvyAtmcCanclPd;
|
||||
|
||||
// GC 머니
|
||||
/** 충전형마일리지 사용여부 */
|
||||
private String cashAt;
|
||||
|
||||
// 마일리지 지급
|
||||
/** 마일리지 지급 사용여부 */
|
||||
private String mlgPymntAt;
|
||||
/** 마일리지 지급 구분코드 */
|
||||
@@ -42,14 +60,16 @@ public class BOSetupOrdrVO extends AbstractVO {
|
||||
private String mlgValidPd;
|
||||
/** 마일리지 유효기간 사용여부 */
|
||||
private String mlgValidPdAt;
|
||||
/**여러곳배송여부*/
|
||||
private String multiDlvyAt;
|
||||
/**정기배송여부*/
|
||||
private String fdrmDlvyAt;
|
||||
/**선물하기여부*/
|
||||
private String giftDlvyAt;
|
||||
/**선물하기자동취소기간*/
|
||||
private String giftDlvyAtmcCanclPd;
|
||||
/*충전형마일리지 사용여부*/
|
||||
private String cashAt;
|
||||
|
||||
// 마일리지 사용 조건
|
||||
/** 마일리지 보유 사용 금액 */
|
||||
private String mlgHoldUseAmt;
|
||||
/** 마일리지 결제금액 사용 금액 */
|
||||
private String mlgSetleAmtUseAmt;
|
||||
/** 마일리지 최소 사용 금액 */
|
||||
private String mlgMummUseAmt;
|
||||
/** 마일리지 최대 사용 구분(MLG_MXMM_USE_DV) */
|
||||
private String mlgMxmmUseDv;
|
||||
/** 마일리지 최대 사용 금액 */
|
||||
private String mlgMxmmUseAmt;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.wb.domainserver.domain.mngr.setup.ordr.controller;
|
||||
|
||||
import com.wb.domainserver.common.msg.GconeMessageSource;
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.service.BOMaSopmalService;
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||
import com.wb.domainserver.domain.gcone.setup.ordrmngr.service.BOOrdrMngrService;
|
||||
import com.wb.domainserver.domain.gcone.setup.ordrmngr.vo.BOSetupOrdrVO;
|
||||
import com.wb.domainserver.exception.WnbtRestException;
|
||||
@@ -13,6 +15,7 @@ import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
|
||||
import com.wb.domainserver.security.authorization.annotation.Policy;
|
||||
import com.wb.domainserver.util.communicate.SendToResrc;
|
||||
import com.wb.domainserver.util.communicate.ValidateResultConverter;
|
||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||
import com.wb.domainserver.util.string.StringUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -63,6 +66,8 @@ public class SetupOrdrController {
|
||||
|
||||
@Autowired
|
||||
private BOOrdrMngrService service;
|
||||
@Autowired
|
||||
private BOMaSopmalService bOMaSopmalService;
|
||||
|
||||
|
||||
/**
|
||||
@@ -73,15 +78,14 @@ public class SetupOrdrController {
|
||||
@Policy(AuthPolicy.RESTRICTED)
|
||||
@RequestMapping(value="/selectOrdrSetupList")
|
||||
public String selectOrdrSetupList(ModelMap model, BOSetupOrdrVO boOrdrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||
DataMap content = new DataMap();
|
||||
|
||||
boOrdrVO.setSopmalCd(authSopmalCd);
|
||||
content.put("ordrSetupList", service.selectBOOrdrSetupList(boOrdrVO));
|
||||
|
||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||
if("01".equals(user.getSysDvCd())){
|
||||
boOrdrVO.setSopmalCd(user.getSopmalCd());
|
||||
}
|
||||
|
||||
Map<String, Object> content = service.selectBOOrdrSetupList(boOrdrVO);
|
||||
BOMaSopmalVO boMaSopmalVO = new BOMaSopmalVO();
|
||||
boMaSopmalVO.setSopmalCd(authSopmalCd);
|
||||
content.put("sopmalDetailList", bOMaSopmalService.selectBOSopmalUpdtForm(boMaSopmalVO));
|
||||
|
||||
model.addAttribute("resultMap", content);
|
||||
// responseHandler.handleResponse(
|
||||
@@ -154,6 +158,19 @@ public class SetupOrdrController {
|
||||
vo.setMlgMxmmPymntAmt(null);
|
||||
}
|
||||
|
||||
//마일리지 사용 조건 파라미터 정제
|
||||
if(!StringUtil.isEmpty(vo.getMlgHoldUseAmt()))
|
||||
vo.setMlgHoldUseAmt(StringUtil.removeCommaChar(vo.getMlgHoldUseAmt()));
|
||||
|
||||
if(!StringUtil.isEmpty(vo.getMlgSetleAmtUseAmt()))
|
||||
vo.setMlgSetleAmtUseAmt(StringUtil.removeCommaChar(vo.getMlgSetleAmtUseAmt()));
|
||||
|
||||
if(!StringUtil.isEmpty(vo.getMlgMummUseAmt()))
|
||||
vo.setMlgMummUseAmt(StringUtil.removeCommaChar(vo.getMlgMummUseAmt()));
|
||||
|
||||
if(!StringUtil.isEmpty(vo.getMlgMxmmUseAmt()))
|
||||
vo.setMlgMxmmUseAmt(StringUtil.removeCommaChar(vo.getMlgMxmmUseAmt()));
|
||||
|
||||
//등록자 수정자 set
|
||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||
if("01".equals(user.getSysDvCd())){
|
||||
|
||||
@@ -42,7 +42,12 @@
|
||||
<!--주문 설정 수정-->
|
||||
<update id="updateBOOrdrSetup">
|
||||
UPDATE GC_SHOP
|
||||
SET MLG_PYMNT_AT = #{mlgPymntAt},
|
||||
SET CASH_AT = IFNULL(#{cashAt},'N'),
|
||||
MULTI_DLVY_AT = IFNULL(#{multiDlvyAt},'N'),
|
||||
FDRM_DLVY_AT = IFNULL(#{fdrmDlvyAt},'N'),
|
||||
GIFT_DLVY_AT = IFNULL(#{giftDlvyAt},'N'),
|
||||
GIFT_DLVY_ATMC_CANCL_PD = #{giftDlvyAtmcCanclPd},
|
||||
MLG_PYMNT_AT = #{mlgPymntAt},
|
||||
MLG_PYMNT_DV_CD = #{mlgPymntDvCd},
|
||||
MLG_PYMNT_RT = REPLACE(#{mlgPymntRt},',',''),
|
||||
MLG_MXMM_PYMNT_AMT = REPLACE(#{mlgMxmmPymntAmt},',',''),
|
||||
@@ -63,11 +68,13 @@
|
||||
MLG_VALID_PD_AT = 'Y',
|
||||
</otherwise>
|
||||
</choose>
|
||||
CASH_AT = IFNULL(#{cashAt},'N'),
|
||||
MULTI_DLVY_AT = IFNULL(#{multiDlvyAt},'N'),
|
||||
FDRM_DLVY_AT = IFNULL(#{fdrmDlvyAt},'N'),
|
||||
GIFT_DLVY_AT = IFNULL(#{giftDlvyAt},'N'),
|
||||
GIFT_DLVY_ATMC_CANCL_PD = #{giftDlvyAtmcCanclPd}
|
||||
MLG_HOLD_USE_AMT = #{mlgHoldUseAmt},
|
||||
MLG_SETLE_AMT_USE_AMT = #{mlgSetleAmtUseAmt},
|
||||
MLG_MUMM_USE_AMT = #{mlgMummUseAmt},
|
||||
MLG_MXMM_USE_DV = #{mlgMxmmUseDv},
|
||||
MLG_MXMM_USE_AMT = #{mlgMxmmUseAmt},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = SYSDATE()
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
<%--
|
||||
Class Name : OrdrListR.jsp
|
||||
Description : 주문설정 jsp
|
||||
@@ -102,6 +103,34 @@
|
||||
$("#mlgPymntRt").val("0");
|
||||
});
|
||||
});
|
||||
|
||||
/* ********************************************************
|
||||
* 마일리지 사용 조건 disabled 처리
|
||||
******************************************************** */
|
||||
const fn_set_mlgDisabled = function(_target) {
|
||||
|
||||
if (_target === 'other') {
|
||||
|
||||
$('#maxPct').prop('disabled', true);
|
||||
$('#maxPct').val('0');
|
||||
$('#maxMlg').prop('disabled', true);
|
||||
$('#maxMlg').val('0');
|
||||
|
||||
} else if (_target === 'maxPct') {
|
||||
|
||||
$('#maxPct').prop('disabled', false);
|
||||
$('#maxMlg').prop('disabled', true);
|
||||
$('#maxMlg').val('0');
|
||||
|
||||
} else if (_target === 'maxMlg') {
|
||||
|
||||
$('#maxPct').prop('disabled', true);
|
||||
$('#maxPct').val('0');
|
||||
$('#maxMlg').prop('disabled', false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**************************************************************
|
||||
hidden form 생성 함수
|
||||
****************************************************************/
|
||||
@@ -122,13 +151,12 @@
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<c:set var = "ordrSetupInfo" value="${resultMap.ordrSetupInfo}"/>
|
||||
<c:set var = "ordrSetupInfo" value="${resultMap.ordrSetupList.ordrSetupInfo}"/>
|
||||
<%-- 상단메뉴 공통화 적용 : 2023-11-30 / 박철민 추가 --%>
|
||||
<%@include file="/WEB-INF/views/comm/mngr/Header.jsp" %>
|
||||
<main class="main">
|
||||
<%-- 좌측메뉴 공통화 적용 : 2023-11-30 / 박철민 추가 --%>
|
||||
<%@include file="/WEB-INF/views/comm/mngr/Left.jsp" %>
|
||||
<form id = "updtForm">
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
@@ -139,6 +167,7 @@
|
||||
<spring:message code="button.save"/></button>
|
||||
</div>
|
||||
</div>
|
||||
<form id = "updtForm">
|
||||
<section class="content-section content-fold">
|
||||
<div class="content-fold__header">
|
||||
</div>
|
||||
@@ -322,7 +351,7 @@
|
||||
</span>
|
||||
<div class="select-box mr-10 ">
|
||||
<select id="accmlUnitDv" name="mlgPymntDvCd" class="short" title="마일리지 단위 선택">
|
||||
<c:forEach var="accmlUnitDv" items="${resultMap.accmlUnitDv}">
|
||||
<c:forEach var="accmlUnitDv" items="${resultMap.ordrSetupList.accmlUnitDv}">
|
||||
<option value="<c:out value='${accmlUnitDv.cd}'/>"
|
||||
<c:if test = "${ordrSetupInfo.mlgPymntDvCd eq accmlUnitDv.cd}">selected</c:if>>
|
||||
<c:out value="${accmlUnitDv.cdNm}"/>
|
||||
@@ -397,10 +426,105 @@
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="content-section content-fold">
|
||||
<h3 class="content-section__inner-title">마일리지 사용 조건</h3>
|
||||
<div class="table-wrapper">
|
||||
<table class="table ">
|
||||
<caption>마일리지 사용 조건</caption>
|
||||
<colgroup>
|
||||
<col style="width: 14%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>보유 마일리지 조건</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<span class="mr-10">보유 마일리지가</span>
|
||||
<input type="text" class="input-text sm right number" name="mlgHoldUseAmt" title="보유 마일리지가" maxlength="7" value="${resultMap.sopmalDetailList[0].mlgHoldUseAmt }">
|
||||
<span class="input-unit-text mr-8">원</span>
|
||||
<span>이상이면 마일리지 사용 가능</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>상품 금액 조건</th>
|
||||
<td>
|
||||
<div class="td-inner vertical">
|
||||
<div class="input-container">
|
||||
<span class="gray-7 mr-10">{상품 실 결제금액} + {좌동} + {좌동} ···</span>
|
||||
<input type="text" class="input-text sm right number" name="mlgSetleAmtUseAmt" title="사용가능 마일리지" maxlength="7" value="${resultMap.sopmalDetailList[0].mlgSetleAmtUseAmt }">
|
||||
<span class="input-unit-text mr-8">원</span>
|
||||
<span>이상이면 마일리지 사용 가능</span>
|
||||
</div>
|
||||
<p class="blue-7 fyi">상품 실 결제 금액 = {상품 할인가(판매가) x 수량} - 할인(쿠폰, 등급, 좋아요, 모바일, 프로모션 코드)</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>마일리지 사용한도 조건</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<span class="mr-10">마일리지는 최소</span>
|
||||
<input type="text" class="input-text sm right number" name="mlgMummUseAmt" title="마일리지는 최소" maxlength="7" value="${resultMap.sopmalDetailList[0].mlgMummUseAmt }">
|
||||
<span class="input-unit-text">원 이상</span>
|
||||
</div>
|
||||
<span class="tilde">~</span>
|
||||
<div class="input-container">
|
||||
<span class="mr-10">최대</span>
|
||||
<div class="custom-radio-container vertical storeCondition">
|
||||
<div class=" custom-radio">
|
||||
<input type="radio" id="mlgMxmmUse-a" name="mlgMxmmUseDv" value="01" onclick="fn_set_mlgDisabled('other');" ${f:setChecked(resultMap.sopmalDetailList[0].mlgMxmmUseDv, '01') }>
|
||||
<label for="mlgMxmmUse-a">1회 사용한도 제한 없이 사용 가능
|
||||
</label>
|
||||
</div>
|
||||
<c:set var="mlgMxmmUseAmt_2" value="0" />
|
||||
<c:set var="mlgMxmmUseAmt_Disabled_2" value="disabled" />
|
||||
<c:set var="mlgMxmmUseAmt_3" value="0" />
|
||||
<c:set var="mlgMxmmUseAmt_Disabled_3" value="disabled" />
|
||||
<c:if test="${resultMap.sopmalDetailList[0].mlgMxmmUseDv eq '02'}" >
|
||||
<c:set var="mlgMxmmUseAmt_2" value="${resultMap.sopmalDetailList[0].mlgMxmmUseAmt }" />
|
||||
<c:set var="mlgMxmmUseAmt_Disabled_2" value="" />
|
||||
</c:if>
|
||||
<c:if test="${resultMap.sopmalDetailList[0].mlgMxmmUseDv eq '03'}" >
|
||||
<c:set var="mlgMxmmUseAmt_3" value="${resultMap.sopmalDetailList[0].mlgMxmmUseAmt }" />
|
||||
<c:set var="mlgMxmmUseAmt_Disabled_3" value="" />
|
||||
</c:if>
|
||||
<div class="custom-radio inner-input">
|
||||
<input type="radio" id="mlgMxmmUse-b" name="mlgMxmmUseDv" value="02" onclick="fn_set_mlgDisabled('maxPct');" ${f:setChecked(resultMap.sopmalDetailList[0].mlgMxmmUseDv, '02') }>
|
||||
<label for="mlgMxmmUse-b">
|
||||
<span class="gray-7">{상품 실 결제금액} + {좌동} + {좌동} ···</span> 의
|
||||
</label>
|
||||
<div>
|
||||
<input type="text" class="input-text xxsm ml-5 number right" name="mlgMxmmUseAmt" id="maxPct" title="마일리지 최대사용 %" maxlength="3" value="${mlgMxmmUseAmt_2 }" ${mlgMxmmUseAmt_Disabled_2 }>
|
||||
<span class="input-unit-text mr-8">%</span>금액까지 사용 가능
|
||||
</div>
|
||||
</div>
|
||||
<div class="custom-radio inner-input">
|
||||
<input type="radio" id="mlgMxmmUse-c" name="mlgMxmmUseDv" value="03" onclick="fn_set_mlgDisabled('maxMlg');" ${f:setChecked(resultMap.sopmalDetailList[0].mlgMxmmUseDv, '03') } >
|
||||
<label for="mlgMxmmUse-c">
|
||||
</label>
|
||||
<div>
|
||||
<input class="input-text sm ml-5 number right" name="mlgMxmmUseAmt" id="maxMlg" title="마일리지 최대사용 금액" maxlength="7" value="${mlgMxmmUseAmt_3 }" ${mlgMxmmUseAmt_Disabled_3 }>
|
||||
<span class="input-unit-text mr-8">원</span>까지 사용 가능
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user