rosewiper 2023-12-19
선거문자 20건 분할발송 받는사람 추가시 오래된 받는사람 데이터 삭제 처리 - send_flag 가 C로 되어있는 데이터 중 오래된 데이터들 삭제처리 - 현재 등록되는 call_seq 번호 보다 2 작은 번호 미만의 데이터 삭제 처리
 - send_flag 가 C로 되어있는 데이터 중 오래된 데이터들 삭제처리
 - 현재 등록되는 call_seq 번호 보다 2 작은 번호 미만의 데이터 삭제 처리
@805df9af58223d505dbe5a8aba93c7683a98226d
src/main/java/itn/let/mjo/msgcampain/service/impl/MjonCandidateDAO.java
--- src/main/java/itn/let/mjo/msgcampain/service/impl/MjonCandidateDAO.java
+++ src/main/java/itn/let/mjo/msgcampain/service/impl/MjonCandidateDAO.java
@@ -185,11 +185,27 @@
 			resultCnt = update("mjonCandidateDAO.updateMsgTWCallToListSendFlag", mjonCandidateTWVO);
 			
 		} catch (Exception e) {
-			System.out.println("updateMsgTWCallToListSendFlag Service Imple Error!!! " + e);
+			System.out.println("updateMsgTWCallToListSendFlag Service DAO Error!!! " + e);
 		}
 		
 		return resultCnt;
 		
 	}
 	
+	//회원의 오래된 받는사람 데이터 삭제 처리
+	public int deleteCandidateTWCallToOldData(MjonCandidateTWVO mjonCandidateTWVO) throws Exception {
+		
+		int resultCnt = 0;
+		
+		try {
+			
+			resultCnt = update("mjonCandidateDAO.deleteCandidateTWCallToOldData", mjonCandidateTWVO);
+			
+		} catch (Exception e) {
+			System.out.println("deleteCandidateTWCallToOldData Service DAO Error!!! " + e);
+		}
+		
+		return resultCnt;
+	}
+	
 }
src/main/java/itn/let/mjo/msgcampain/service/impl/MjonCandidateServiceImpl.java
--- src/main/java/itn/let/mjo/msgcampain/service/impl/MjonCandidateServiceImpl.java
+++ src/main/java/itn/let/mjo/msgcampain/service/impl/MjonCandidateServiceImpl.java
@@ -54,6 +54,21 @@
 			String mberId = mjonCandidateTWVO.get(0).getMberId();
 			mjonCandidateDAO.updateCandidateTWCallToDataCancel(mberId);
 			
+			//이전 데이터 삭제 처리 - 회원의 취소처리(send_flag = C)인 데이터 중, call_seq - 2보다 작은 데이터만 삭제
+			int callSeq = mjonCandidateTWVO.get(0).getCallSeq();
+			
+			if(callSeq > 3) {
+				
+				callSeq = callSeq -2;
+				MjonCandidateTWVO tmpMjonCandidateTWVO = new MjonCandidateTWVO();
+				tmpMjonCandidateTWVO.setMberId(mberId);
+				tmpMjonCandidateTWVO.setCallSeq(callSeq);
+				tmpMjonCandidateTWVO.setSendFlag("C");
+				
+				mjonCandidateDAO.deleteCandidateTWCallToOldData(tmpMjonCandidateTWVO);
+				
+			}
+			
 			resultCnt = mjonCandidateDAO.insertCandidateTWCallToData(mjonCandidateTWVO);
 			
 		} catch (Exception e) {
src/main/resources/egovframework/sqlmap/let/msg/MjonMsgCampainData_SQL_mysql.xml
--- src/main/resources/egovframework/sqlmap/let/msg/MjonMsgCampainData_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/msg/MjonMsgCampainData_SQL_mysql.xml
@@ -137,6 +137,7 @@
 			LAST_UPDUSR_ID = #mberId#,
 			LAST_UPDT_PNTTM = NOW()
 		WHERE MBER_ID = #mberId#
+		AND SEND_FLAG = 'N'
 	
 	</update>
 	
@@ -260,9 +261,18 @@
 				#callToArr[]#
 			</iterate>
 	
-	
 	</update>
 	
+	<delete id="mjonCandidateDAO.deleteCandidateTWCallToOldData" parameterClass="mjonCandidateTWVO">
+		
+		DELETE FROM MJ_CAMPAIN_TMP_CALLTO
+		WHERE MBER_ID = #mberId#
+		AND SEND_FLAG = #sendFlag#
+		<![CDATA[
+			AND CALL_SEQ < #callSeq#
+		]]>
+	</delete>
+	
 </sqlMap>  
 
 
Add a comment
List