itn 2023-07-25
회원상세 스팸회원 여부 변경
@ccb1dea5cb7976d7eff8002e21925f894b085e43
src/main/java/itn/let/uss/umt/service/EgovUserManageService.java
--- src/main/java/itn/let/uss/umt/service/EgovUserManageService.java
+++ src/main/java/itn/let/uss/umt/service/EgovUserManageService.java
@@ -192,6 +192,9 @@
 	// 알림톡 스미싱의심 온/오프
 	public void updateUserAtSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception;
 	
+	// 스팸회원 여부 변경
+	public void updateUserSpamYn(UserManageVO userManageVO) throws Exception;
+	
 	// 알림톡 스미싱의심 온/오프 - 상세에서 단일로
 	public void updateOneUserAtSmishingYn(UserManageVO userManageVO) throws Exception;	
 	
src/main/java/itn/let/uss/umt/service/MberManageVO.java
--- src/main/java/itn/let/uss/umt/service/MberManageVO.java
+++ src/main/java/itn/let/uss/umt/service/MberManageVO.java
@@ -502,7 +502,14 @@
 	
 	private String dormantYn;
 	private String dormantDate;
+	private String spamYn;
 	
+	public String getSpamYn() {
+		return spamYn;
+	}
+	public void setSpamYn(String spamYn) {
+		this.spamYn = spamYn;
+	}
 	public String getDormantYn() {
 		return dormantYn;
 	}
src/main/java/itn/let/uss/umt/service/UserManageVO.java
--- src/main/java/itn/let/uss/umt/service/UserManageVO.java
+++ src/main/java/itn/let/uss/umt/service/UserManageVO.java
@@ -205,7 +205,14 @@
 	private String blineCode;		// B라인코드
 	private String recommendId;		// 추천아이디
 	private String atSmishingYn;		// 알림톡 스미싱 의심여부
+	private String spamYn;
 	
+	public String getSpamYn() {
+		return spamYn;
+	}
+	public void setSpamYn(String spamYn) {
+		this.spamYn = spamYn;
+	}
 	public String getAtSmishingYn() {
 		return atSmishingYn;
 	}
src/main/java/itn/let/uss/umt/service/impl/EgovUserManageServiceImpl.java
--- src/main/java/itn/let/uss/umt/service/impl/EgovUserManageServiceImpl.java
+++ src/main/java/itn/let/uss/umt/service/impl/EgovUserManageServiceImpl.java
@@ -657,6 +657,15 @@
 		
 	}	
 	
+	// 스팸회원 여부 변경
+	public void updateUserSpamYn(UserManageVO userManageVO) throws Exception {
+		// 업데이트
+		userManageDAO.updateUserSpamYn(userManageVO);
+		
+		// 스팸회원 온/오프시 로직 추가
+		
+	}
+	
 	// 후불제 여부 저장
 	public void updateUserPrePaymentYn(UserManageVO userManageVO) throws Exception {
 		userManageDAO.updateUserPrePaymentYn(userManageVO);
src/main/java/itn/let/uss/umt/service/impl/UserManageDAO.java
--- src/main/java/itn/let/uss/umt/service/impl/UserManageDAO.java
+++ src/main/java/itn/let/uss/umt/service/impl/UserManageDAO.java
@@ -285,6 +285,11 @@
     	update("userManageDAO.updateUserAtSmishingYn",userManageVO);
     }
     
+	// 스팸회원 여부 변경
+    public void updateUserSpamYn(UserManageVO userManageVO){
+    	update("userManageDAO.updateUserSpamYn",userManageVO);
+    }	
+    
     // 후불제 여부 저장
     public void updateUserPrePaymentYn(UserManageVO userManageVO){
     	update("userManageDAO.updateUserPrePaymentYn",userManageVO);
src/main/java/itn/let/uss/umt/web/EgovUserManageController.java
--- src/main/java/itn/let/uss/umt/web/EgovUserManageController.java
+++ src/main/java/itn/let/uss/umt/web/EgovUserManageController.java
@@ -2506,6 +2506,37 @@
 		return modelAndView;
 	}	
 	
+	// 스팸회원 여부 변경
+	@RequestMapping("/uss/umt/user/EgovGnrlUpdateUserSpamAjax.do")
+	public ModelAndView EgovGnrlUpdateUserSpamAjax(@ModelAttribute("userManageVO") UserManageVO userManageVO) throws Exception {
+		
+		ModelAndView modelAndView = new ModelAndView();
+		modelAndView.setViewName("jsonView");
+		
+		Boolean isSuccess = true;
+		String msg = "";
+		
+		try {
+			// 미인증 사용자에 대한 보안처리
+			Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
+			if(!isAuthenticated) {
+				isSuccess = false;
+				msg = "로그인이 필요합니다.";    		
+			}
+			else {
+				userManageService.updateUserSpamYn(userManageVO);
+			}
+		} catch (Exception e) {
+			isSuccess = false;
+			msg = e.getMessage();
+		}
+		
+		modelAndView.addObject("isSuccess", isSuccess);
+		modelAndView.addObject("msg", msg);
+		
+		return modelAndView;
+	}
+	
 	// VIP 여부 변경
 	@RequestMapping("/uss/umt/user/EgovGnrlUpdateUserVIPAjax.do")
 	public ModelAndView EgovGnrlUpdateUserVIPAjax(@ModelAttribute("userManageVO") UserManageVO userManageVO) throws Exception {
src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml
--- src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml
@@ -758,7 +758,8 @@
 		       A.VIP_YN vipYn,
 		       A.EXCEPT_SPAM_YN AS exceptSpamYn,
 		       A.HOTLINE_AGENT_CODE AS hotlineAgentCode,
-		       A.AT_SMISHING_YN atSmishingYn
+		       A.AT_SMISHING_YN atSmishingYn,
+		       A.SPAM_YN spamYn
 		FROM   LETTNGNRLMBER A
 		       LEFT JOIN MJ_CANDIDATE_INFO MCI
 		       ON     A.MBER_ID = MCI.MBER_ID
src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml
--- src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml
@@ -1357,6 +1357,15 @@
 			AND MBER_ID			= #mberId#
 	</update>
 			
+	<update id="userManageDAO.updateUserSpamYn" parameterClass="userVO">
+		UPDATE
+			LETTNGNRLMBER
+		SET  
+			SPAM_YN	= #spamYn#
+		WHERE 1=1
+			AND MBER_ID			= #mberId#
+	</update>
+				
 	<update id="userManageDAO.updateUserPrePaymentYn" parameterClass="userVO">
 		UPDATE
 			LETTNGNRLMBER
src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp
--- src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp
@@ -2423,6 +2423,43 @@
 	}
 }
 
+//스팸회원 여부 변경
+function fnMberSpamYn(){
+	var form = document.mberManageVO;
+	var spamYn = form.spamYn.value;
+	
+	if(confirm("스팸회원 여부를 변경하시겠습니까?")){
+		
+		$.ajax({
+	        type: "POST",
+	        url: "/uss/umt/user/EgovGnrlUpdateUserSpamAjax.do",
+	        data: {"spamYn" : spamYn, "mberId" : "${mberManageVO.mberId}"},
+	        dataType:'json',
+	        async: false,
+	        success: function (data, status) {
+				if (data.isSuccess) {
+					alert("변경 완료했습니다.");
+				}
+				else {
+					alert(data.msg);
+				}
+			},
+	        beforeSend: function () {
+	        	//로딩창 show
+	        	$('.loading_layer').addClass('active');
+	        }, 
+	        complete: function () {
+	        	//로딩창 hide
+	        	$('.loading_layer').removeClass('active');
+	        },
+	        error: function (e) { 
+	        	alert("에러가 발생했습니다."); console.log("ERROR : ", e); 
+	        }
+	    });
+		
+	}
+}
+
 //지연 알림톡 전체선택
 function kakaoATDelayCheckAll(){
 	var checkField = document.kakaoATDelayForm.kakaoATCheckDelayField;
@@ -2948,6 +2985,18 @@
 											</tr>
 										</c:if>
 										<tr>
+											<th>스팸회원 여부</th>
+											<td>
+												<select name="spamYn" id="spamYn" style="width:150px;" onFocus='this.initialSelect = this.selectedIndex;' onChange="javascript:fnMberSpamYn();">
+													<option value="Y" <c:if test="${mberManageVO.spamYn == 'Y'}">selected="selected"</c:if>>온(On)</option>
+													<option value="N" <c:if test="${mberManageVO.spamYn == 'N'}">selected="selected"</c:if>>오프(Off)</option>
+												</select>
+											</td>
+											<th></th>
+											<td>
+											</td>											
+										</tr>										
+										<tr>
 											<th>전화번호<button type="button" onclick="layerPopOpen('sms');">SMS</button></th>
 											<td><c:out value="${mberManageVO.moblphonNo}"/></td>
 											<th>이메일<button type="button" onclick="layerPopOpen('email');">EMAIL</button></th>
@@ -3333,6 +3382,18 @@
 											<td><c:if test="${mberManageVO.blineCode != 'N'}"><c:out value='${mberManageVO.recommendId}'/></c:if></td>
 										</tr>
 										<tr>
+											<th>스팸회원 여부</th>
+											<td>
+												<select name="spamYn" id="spamYn" style="width:150px;" onFocus='this.initialSelect = this.selectedIndex;' onChange="javascript:fnMberSpamYn();">
+													<option value="Y" <c:if test="${mberManageVO.spamYn == 'Y'}">selected="selected"</c:if>>온(On)</option>
+													<option value="N" <c:if test="${mberManageVO.spamYn == 'N'}">selected="selected"</c:if>>오프(Off)</option>
+												</select>
+											</td>
+											<th></th>
+											<td>
+											</td>											
+										</tr>										
+										<tr>
 											<th>전화번호<button type="button" onclick="layerPopOpen('sms');">SMS</button></th>
 											<td><c:out value="${mberManageVO.moblphonNo}"/></td>
 											<th>이메일<button type="button" onclick="layerPopOpen('email');">EMAIL</button></th>
Add a comment
List