rosewiper 2023-10-25
관리자 B선회원 전환시 보유 포인트 차감, B선회원 일반회원 전환시 기존 보유 포인트로 복구 처리
@d745102bfa62e7b668c517e5e1e44b54cb6034de
src/main/java/itn/let/mjo/msgagent/service/impl/MjonMsgAgentStsServiceImpl.java
--- src/main/java/itn/let/mjo/msgagent/service/impl/MjonMsgAgentStsServiceImpl.java
+++ src/main/java/itn/let/mjo/msgagent/service/impl/MjonMsgAgentStsServiceImpl.java
@@ -11,6 +11,8 @@
 import egovframework.rte.fdl.idgnr.EgovIdGnrService;
 import itn.let.mjo.msgagent.service.MjonMsgAgentStsService;
 import itn.let.mjo.msgagent.service.MjonMsgAgentStsVO;
+import itn.let.mjo.pay.service.MjonPayVO;
+import itn.let.mjo.pay.service.impl.MjonPayDAO;
 import itn.let.uat.uia.service.impl.MberManageDAO;
 import itn.let.uss.umt.service.MberManageVO;
 
@@ -24,12 +26,19 @@
 	@Resource(name="mberManageDAO")
 	private MberManageDAO mberManageDAO;
 	
+	@Resource(name="mjonPayDAO")
+	private MjonPayDAO mjonPayDAO;
+
 	@Resource(name = "mjonMsgAgentStsService")
 	private MjonMsgAgentStsService mjonMsgAgentStsService;	
 	
 	/** 메모 idgen */
 	@Resource(name="egovGnrlUserSelectMemoIdGnrService")
 	private EgovIdGnrService memoidgenService;
+	
+
+	@Resource(name = "egovMjonPointIdGnrService")
+    private EgovIdGnrService idgenMjonPointId;
 
 	@Override
 	public List<MjonMsgAgentStsVO> selectMjonMsgAgentStsList() throws Exception{
@@ -172,12 +181,56 @@
 		
 		int result = 0;
 		
+		
 		try {
+			
+			//회원의 전용 전송사 조회
+			String mberId = mberManageVO.getMberId();
+			MberManageVO tmpMberManageVO = mberManageDAO.selectMber(mberId);
+			String befHotLineCode = tmpMberManageVO.getHotlineAgentCode();			//수정 전 전용 전송사 정보
+			String afterHotLineCode = mberManageVO.getHotlineAgentCode();			//수정 후 전용 전송사 정보
+			String userPoint = tmpMberManageVO.getUserPoint();						//회원 보유 포인트 조회							
 			
 			result = mjonMsgAgentStsDAO.updateMberHotlineAgentCodeInfo(mberManageVO);
 			
 			// B선라인 일경우 회원테이블 업데이트
 			int uCnt = mberManageDAO.updateUserBlineCodeByAdm(mberManageVO);
+			
+			//B선 회원 전환에 따른 포인트 차감 처리 
+			MjonPayVO mjonPayVO = new MjonPayVO();
+			
+			if(!befHotLineCode.equals("08") && !befHotLineCode.equals("09") && (afterHotLineCode.equals("08") || afterHotLineCode.equals("09"))) {
+				System.out.println("일반 회원 --> B선 회원 전환");
+				//보유 포인트 0으로 차감
+				if(!userPoint.equals("0")) {
+					
+					mjonPayVO.setPointId(idgenMjonPointId.getNextStringId());
+					mjonPayVO.setUserId(mberId);
+					String point = "-"+ userPoint;
+					mjonPayVO.setPoint(Integer.parseInt(point));
+					mjonPayVO.setPointMemo("B선 회원 전환으로 인한 기존 포인트 차감");
+					mjonPayVO.setFrstRegisterId(mberManageVO.getAdmUserId());
+					
+					mjonPayDAO.insertPoint(mjonPayVO);  //POINT 테이블
+					mjonPayDAO.updateMemberPoint(mjonPayVO); //회원정보 업데이트
+					
+				}
+				
+			}else if((befHotLineCode.equals("08") || befHotLineCode.equals("09")) && (!afterHotLineCode.equals("08") && !afterHotLineCode.equals("09"))) {
+				System.out.println("B선 회원 --> 일반회원 전환");
+				
+				String lastPoint = mjonPayDAO.selectPointLatestOnePoint(mberId);
+				
+				mjonPayVO.setPointId(idgenMjonPointId.getNextStringId());
+				mjonPayVO.setUserId(mberId);
+				mjonPayVO.setPoint(Integer.parseInt(lastPoint.replace("-", "")));
+				mjonPayVO.setPointMemo("일반 회원 전환으로 인한 포인트 복구");
+				mjonPayVO.setFrstRegisterId(mberManageVO.getAdmUserId());
+				
+				mjonPayDAO.insertPoint(mjonPayVO);  //POINT 테이블
+				mjonPayDAO.updateMemberPoint(mjonPayVO); //회원정보 업데이트
+				
+			}
 			
 			//보내는 아이디 회원 메모 insert
 			String memo = "";
@@ -187,6 +240,7 @@
 			mberManageVO.setMemoCn(memo);
 			mberManageVO.setFrstRegisterId(mberManageVO.getAdmUserId());
 			mberManageDAO.insertMberMemo(mberManageVO);
+			
 		} catch (Exception e) {
 			System.out.println("+++++++++++ updateMberHotlineAgentCodeInfo Service Imple Error!!! " + e);
 		}
src/main/java/itn/let/mjo/pay/service/impl/MjonPayDAO.java
--- src/main/java/itn/let/mjo/pay/service/impl/MjonPayDAO.java
+++ src/main/java/itn/let/mjo/pay/service/impl/MjonPayDAO.java
@@ -291,4 +291,11 @@
 	public List<MjonPayVO> selectPointInfoList(String userId) throws Exception{
 		return (List<MjonPayVO>)list("mjonPayDAO.selectPointInfoList", userId);
 	}
+	
+	public String selectPointLatestOnePoint(String userId) {
+		
+		return (String) select("mjonPayDAO.selectPointLatestOnePoint", userId);
+		
+	}
+	
 }
src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml
--- src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml
@@ -2259,4 +2259,16 @@
 			MBER_ID = #userId#
 	]]>
 	</select>
+	
+	
+	<select id="mjonPayDAO.selectPointLatestOnePoint" parameterClass="String" resultClass="String">
+		
+		SELECT   POINT 
+		FROM     MJ_POINT
+		WHERE    USER_ID = #userId#
+		ORDER BY POINT_ID DESC
+		LIMIT    1
+	
+	</select>
+	
 </sqlMap>
(No newline at end of file)
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
@@ -759,7 +759,8 @@
 		       A.EXCEPT_SPAM_YN AS exceptSpamYn,
 		       A.HOTLINE_AGENT_CODE AS hotlineAgentCode,
 		       A.AT_SMISHING_YN atSmishingYn,
-		       A.SPAM_YN spamYn
+		       A.SPAM_YN spamYn,
+		       A.USER_POINT AS userPoint
 		FROM   LETTNGNRLMBER A
 		       LEFT JOIN MJ_CANDIDATE_INFO MCI
 		       ON     A.MBER_ID = MCI.MBER_ID
Add a comment
List