Kaynağa Gözat

Merge branch 'develop' of http://112.172.147.34:4936/style24/style24.admin.git into develop

eskim 4 yıl önce
ebeveyn
işleme
f6624725b7

+ 9 - 0
src/main/java/com/style24/admin/biz/dao/TsaEnvsetDao.java

@@ -32,6 +32,15 @@ public interface TsaEnvsetDao {
 	 */
 	Collection<Envset> getEnvsetList(Envset envset);
 
+	/**
+	 * 회원등급정책PK 건수
+	 * @param policy - 회원등급정책 정보
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 7. 25
+	 */
+	int getCustomerGradePolicyPrimaryKeyCount(CustGradePolicy policy);
+
 	/**
 	 * 회원등급정책 저장
 	 * @param policy - 회원등급정책 정보

+ 4 - 0
src/main/java/com/style24/admin/biz/service/TsaEnvsetService.java

@@ -79,6 +79,10 @@ public class TsaEnvsetService {
 	 * @since 2021. 1. 7
 	 */
 	public void createCustomerGradePolicy(CustGradePolicy policy) {
+		if (policy.getMode().equals("N") && envsetDao.getCustomerGradePolicyPrimaryKeyCount(policy) > 0) {
+			throw new IllegalStateException("이미 등록된 정책이 있습니다.(사이트: " + policy.getSiteCd() + ", 회원등급: " + policy.getGradeCd() + ")");
+		}
+
 		policy.setRegNo(TsaSession.getInfo().getUserNo());
 		policy.setUpdNo(TsaSession.getInfo().getUserNo());
 		envsetDao.createCustomerGradePolicy(policy);

+ 9 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsaEnvset.xml

@@ -61,6 +61,15 @@
 		ORDER  BY ENVSET_SQ DESC
 	</select>
 
+	<!-- 회원등급정책PK 건수 -->
+	<select id="getCustomerGradePolicyPrimaryKeyCount" parameterType="CustGradePolicy" resultType="int">
+		/* TsaSystem.getCustomerGradePolicyPrimaryKeyCount */
+		SELECT COUNT(*) AS CNT
+		FROM   TB_CUST_GRADE_POLICY
+		WHERE  SITE_CD = #{siteCd}
+		AND    GRADE_CD = #{gradeCd}
+	</select>
+	
 	<!-- 회원등급정책 생성 -->
 	<insert id="createCustomerGradePolicy" parameterType="CustGradePolicy">
 		/* TsaEnvset.createCustomerGradePolicy */

+ 4 - 0
src/main/webapp/WEB-INF/views/envset/CustomerGradePolicyForm.html

@@ -60,6 +60,8 @@
 		<!-- 등록/수정 -->
 		<div class="panelStyle">
 			<form id="detailForm" name="detailForm" action="#" th:action="@{'/envset/customer/grade/policy/create'}">
+				<input type="hidden" name="mode" value="N"/>
+				
 				<table class="frmStyle" aria-describedby="등록/상세폼">
 					<colgroup>
 						<col style="width:10%;"/>
@@ -223,6 +225,7 @@
 		if (event.colDef.field != 'gradeCd')
 			return;
 		
+		$('#detailForm input[name=mode]').val('U');
 		$('#detailForm select[name=siteCd]').val(event.data.siteCd);
 		$('#detailForm select[name=gradeCd]').val(event.data.gradeCd);
 		$('#detailForm input[name=iconNm]').val(event.data.iconNm);
@@ -264,6 +267,7 @@
 	// 신규
 	$('#btnNew').on('click', function() {
 		$('#detailForm')[0].reset();
+		$('#detailForm input[name=mode]').val('N');
 		$('#iconPrefix').html('');
 		$('#detailForm select[name=siteCd]').focus();
 	});