관리자 B선회원 전환시 보유 포인트 차감, B선회원 일반회원 전환시 기존 보유 포인트로 복구 처리

This commit is contained in:
rosewiper 2023-10-25 15:37:47 +09:00
parent 06bb401936
commit d745102bfa
4 changed files with 75 additions and 1 deletions

View File

@ -11,6 +11,8 @@ import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
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 @@ public class MjonMsgAgentStsServiceImpl extends EgovAbstractServiceImpl implemen
@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,13 +181,57 @@ public class MjonMsgAgentStsServiceImpl extends EgovAbstractServiceImpl implemen
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 = "";
memo = "전용전송사 변경 : " + mberManageVO.getHotlineAgentName() + "(" + mberManageVO.getHotlineAgentCode() + ")";
@ -187,6 +240,7 @@ public class MjonMsgAgentStsServiceImpl extends EgovAbstractServiceImpl implemen
mberManageVO.setMemoCn(memo);
mberManageVO.setFrstRegisterId(mberManageVO.getAdmUserId());
mberManageDAO.insertMberMemo(mberManageVO);
} catch (Exception e) {
System.out.println("+++++++++++ updateMberHotlineAgentCodeInfo Service Imple Error!!! " + e);
}

View File

@ -291,4 +291,11 @@ public class MjonPayDAO extends EgovAbstractDAO {
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);
}
}

View File

@ -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>

View File

@ -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