Jelajahi Sumber

회원 상세 개발 중

jsshin 5 tahun lalu
induk
melakukan
f35f0a4234

+ 11 - 0
src/main/java/com/style24/admin/biz/dao/TsaCustomerDao.java

@@ -35,6 +35,14 @@ public interface TsaCustomerDao {
 	 */
 	Customer getCustomerInfo(String custNo);
 
+	/**
+	 * 회원정보 수정
+	 * @param customer - 고객정보
+	 * @author jsshin
+	 * @since 2020. 01. 20
+	 */
+	void updateCustomerInfo(Customer customer);
+
 	/**
 	 * 탈퇴회원 목록
 	 * @param customerSearch - 검색조건
@@ -52,4 +60,7 @@ public interface TsaCustomerDao {
 	 * @since 2020. 01. 14
 	 */
 	Collection<Customer> getCustomerDormantList(CustomerSearch customerSearch);
+
+	void createException();
+
 }

+ 19 - 1
src/main/java/com/style24/admin/biz/service/TsaCustomerService.java

@@ -1,11 +1,13 @@
 package com.style24.admin.biz.service;
 
 import com.style24.admin.biz.dao.TsaCustomerDao;
+import com.style24.admin.support.security.session.TsaSession;
 import com.style24.persistence.domain.Customer;
 import com.style24.persistence.domain.CustomerSearch;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Collection;
 
@@ -44,6 +46,23 @@ public class TsaCustomerService {
 		return customerDao.getCustomerInfo(custNo);
 	}
 
+	/**
+	 * 회원정보 수정
+	 * @param customer - 고객정보
+	 * @author jsshin
+	 * @since 2020. 01. 20
+	 */
+	@Transactional("shopTxnManager")
+	public void saveCustomerInfo(Customer customer) {
+		Integer userNo = TsaSession.getInfo().getUserNo();
+		customer.setRegNo(userNo);
+		customer.setUpdNo(userNo);
+
+		// 정보 수정
+		customerDao.updateCustomerInfo(customer);
+		customerDao.createException();
+	}
+
 	/**
 	 * 탈퇴회원 목록
 	 * @param customerSearch - 검색조건
@@ -66,5 +85,4 @@ public class TsaCustomerService {
 		return customerDao.getCustomerDormantList(customerSearch);
 	}
 
-
 }

+ 15 - 1
src/main/java/com/style24/admin/biz/web/TsaCustomerController.java

@@ -363,7 +363,7 @@ public class TsaCustomerController extends TsaBaseController {
 	}
 
 	/**
-	 * 회원 정보
+	 * 회원정보
 	 * @param custNo - 고객번호
 	 * @return Customer
 	 * @author jsshin
@@ -376,6 +376,20 @@ public class TsaCustomerController extends TsaBaseController {
 		return customerService.getCustomerInfo(custNo);
 	}
 
+	/**
+	 * 회원정보 수정
+	 * @param customer - 고객정보
+	 * @return Customer
+	 * @author jsshin
+	 * @since 2020. 01. 20
+	 */
+	@PostMapping("/info/save")
+	@ResponseBody
+	public GagaResponse saveCustomerInfo(@RequestBody Customer customer) {
+		customerService.saveCustomerInfo(customer);
+		return ok(message.getMessage("SUCC_0002"));
+	}
+
 	/**
 	 * 탈퇴회원
 	 * @return ModelAndView

+ 69 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsaCustomer.xml

@@ -162,6 +162,69 @@
 		WHERE  CUST_NO = #{custNo}
 	</select>
 
+	<!--회원정보 수정-->
+	<update id="updateCustomerInfo" parameterType="Customer">
+		/* TsaCustomer.updateCustomerInfo */
+		UPDATE TB_CUSTOMER
+		<set>
+		     <if test="custGb != null and custGb != ''">
+			     CUST_GB = #{custGb},
+		     </if>
+		     <if test="custGrade != null and custGrade !=''">
+		         CUST_GRADE = #{custGrade},
+		     </if>
+		     <if test="emailAgreeYn != null and emailAgreeYn != ''">
+		         EMAIL_AGREE_YN = #{emailAgreeYn} ,
+		         EMAIL_AGREE_DT = CASE WHEN EMAIL_AGREE_YN = #{emailAgreeYn}
+		                          THEN EMAIL_AGREE_DT
+		                          ELSE NOW(),
+		     </if>
+		     <if test="smsAgreeYn != null and smsAgreeYn != ''">
+		         SMS_AGREE_YN = #{smsAgreeYn},
+		         SMS_AGREE_DT = CASE WHEN SMS_AGREE_YN = #{smsAgreeDt}
+		                        THEN SMS_AGREE_DT
+		                        ELSE NOW(),
+		     </if>
+		     <if test="homePostNo != null and homePostNo != ''">
+		         HOME_POST_NO = #{homePostNo},
+		     </if>
+		     <if test="homeBaseAddr != null and homeBaseAddr != ''">
+		         HOME_BASE_ADDR = #{homeBaseAddr},
+		     </if>
+		     <if test="homeDtlAddr != null and homeDtlAddr != ''">
+		         HOME_DTL_ADDR = #{homeDtlAddr},
+		     </if>
+		     <if test="birthYmd != null and birthYmd != ''">
+		         BIRTH_YMD = REPLACE(#{birthYmd}, '-', ''),
+		     </if>
+		     <if test="cellPhnno != null and cellPhnno != ''">
+		         CELL_PHNNO = #{cellPhnno},
+		     </if>
+		     <if test="homeTelno != null and homeTelno != ''">
+		         HOME_TELNO = #{homeTelno},
+		     </if>
+		     <if test="email != null and email != ''">
+		         EMAIL = #{email},
+		     </if>
+		     <if test="managedRsn != null and managedRsn != ''">
+		         MANAGED_RSN = #{managedRsn},
+		         MANAGED_DTL_RSN = #{managedDtlRsn},
+		         MANAGED_DT = CASE WHEN MANAGED_RSN = #{managedRsn}
+		                           AND  MANAGED_DTL_RSN = #{managedDtlRsn}
+		                      THEN MANAGED_DT
+		                      ELSE NOW(),
+		     </if>
+		     <if test="managedRsn == null or managedRsn == ''">
+		         MANAGED_RSN = NULL,
+		         MANAGED_DTL_RSN =  NULL,
+		         MANAGED_DT = NULL
+		     </if>
+		         UPD_ID = #{updId},
+		         UPD_DT = NOW()
+		</set>
+		WHERE CUST_NO = #{custNo}
+	</update>
+
 	<!-- 탈퇴회원목록 -->
 	<select id="getCustomerSecedeList" parameterType="CustomerSearch" resultType="Customer">
 		/* TsaCustomer.getSecedeCustomerList */
@@ -328,4 +391,10 @@
 		</if>
 	</select>
 
+	<insert id="createException">
+		/* TsaCustomer.createException */
+		INSERT INTO TB_CUSTOMER (CUST_NO)
+		VALUES (NULL)
+	</insert>
+
 </mapper>

+ 14 - 31
src/main/webapp/WEB-INF/views/customer/CustomerDetailForm.html

@@ -92,14 +92,14 @@
 									<tr>
 										<th class="dashR">회원구분<i class="star"></i></th>
 										<td class="dashR">
-											<select name="custGb">
+											<select id="custGb" name="custGb">
 												<option th:if="${custGbList}" th:each="oneData, status : ${custGbList}" th:value="${oneData.cd}"
 														th:text="|${oneData.cdNm}|"></option>
 											</select>
 										</td>
 										<th class="dashR">회원등급<i class="star"></i></th>
 										<td class="dashR">
-											<select name="custGrade">
+											<select id="custGrade" name="custGrade">
 												<option th:if="${custGradeList}" th:each="oneData, status : ${custGradeList}" th:value="${oneData.cd}"
 														th:text="|${oneData.cdNm}|"></option>
 											</select>
@@ -108,7 +108,7 @@
 									<tr>
 										<th class="dashR">관리대상</th>
 										<td class="dashR">
-											<select name="managedRsn">
+											<select id="managedRsn" name="managedRsn">
 												<option value="">일반</option>
 												<option th:if="${managedRsnList}" th:each="oneData, status : ${managedRsnList}" th:value="${oneData.cd}"
 														th:text="|${oneData.cdNm}|"></option>
@@ -887,46 +887,29 @@
 		let email = $('#email1').val() + '@' + $('#email2').val();
 
 		//휴대폰번호
-		// if (!fnCheckValidationPhnno(cellPhnno))
-		// 	return false;
+		if (!fnCheckValidationPhnno(cellPhnno))
+			return false;
 
 		//이메일
-		// if (!fnCheckValidationEmail(email))
-		// 	return false;
+		if (!fnCheckValidationEmail(email))
+			return false;
+
 
-		let params = {};
-		// 관리대상 변경 여부 및 관리대상 지정 사유
 		let managedRsn = $('#managedRsn').val();
 		let	managedDtlRsn = $('#managedDtlRsn').val();
-		let	orgManagedRsn = orgData.managedRsn; 		// 기존 관리대상
-		let orgManagedDtlRsn = orgData.managedDtlRsn; 	// 기존 관리대상 사유
-
-		// 등급 변경 여부 판단
-		let custGrade = $('#custGrade').val();
-		let orgCustGrade = orgData.custGrade;
 
-		// 이메일
-		let orgEmail = orgData.maskingEmail;
 
 		if (!gagajf.isNull(managedRsn) && gagajf.isNull(managedDtlRsn)) {
 			mcxDialog.alert("관리대상 지정 사유를 입력해주세요");
 			return;
 		}
 
-		if (managedRsn !== orgManagedRsn && !gagajf.isNull(managedRsn)) { // 관리대상 값 변경시 체크
-			params.managedRsn = managedRsn;
-		}
-		if (managedDtlRsn !== orgManagedDtlRsn) {
-			params.managedDtlRsn = managedDtlRsn;
-		}
-		if (custGrade !== orgCustGrade) {
-			params.custGrade = custGrade;
-		}
-
-		// if (email !== orgEmail) {
-		// 	params.email = email;
-		// }
-
+		let params = {};
+		params.managedRsn = managedRsn;
+		params.managedDtlRsn = managedDtlRsn;
+		params.email = email;
+		params.custGb = $('#custGb').val();
+		params.custGrade = $('#custGrade').val();
 		params.birthYmd = $('#birthYmd').val();
 		params.homePostNo = $('#homePostNo').val();
 		params.homeBaseAddr = $('#homeBaseAddr').val();