문자발송 실패건에 대한 환불 대상 리스트 스케줄 쿼리 추가

This commit is contained in:
wyh 2024-11-06 17:53:33 +09:00
parent 7e2b27f673
commit 3cc2f03f16
4 changed files with 62 additions and 5 deletions

View File

@ -260,11 +260,17 @@ public class MjonMsgDataDAO extends EgovAbstractDAO {
//문자검색 전송 실패 리스트 불러오기
@SuppressWarnings("unchecked")
public List<MjonMsgVO> selectMsgSentFailList(MjonMsgVO mjonMsgVO)throws Exception{
public List<MjonMsgVO> selectMsgSentFailList()throws Exception{
return (List<MjonMsgVO>) list("MjonMsgDataDAO.selectMsgSentFailList", mjonMsgVO);
return (List<MjonMsgVO>) list("MjonMsgDataDAO.selectMsgSentFailList");
}
@SuppressWarnings("unchecked")
public List<MjonMsgVO> selectMsgSentFailSchedulerList(MjonMsgVO mjonMsgVO)throws Exception{
return (List<MjonMsgVO>) list("MjonMsgDataDAO.selectMsgSentFailSchedulerList", mjonMsgVO);
}
@SuppressWarnings("unchecked")
public List<MjonMsgVO> selectMsgSentFailListOneByDay()throws Exception{

View File

@ -486,7 +486,7 @@ public class SchedulerUtil {
//schdlrManageService.msgFailPayBack();
MjonMsgVO mjonMsgVO = new MjonMsgVO();
mjonMsgVO.setRecordCountPerPage(1000);
List<MjonMsgVO> msgFailList = mjonMsgDataDAO.selectMsgSentFailList(mjonMsgVO);
List<MjonMsgVO> msgFailList = mjonMsgDataDAO.selectMsgSentFailSchedulerList(mjonMsgVO);
long forBeforeTime = System.currentTimeMillis(); // 코드 실행 시간
int batchSize = 300;
int totalSize = msgFailList.size();

View File

@ -439,7 +439,7 @@ public class SchdlrManageServiceImpl extends EgovAbstractServiceImpl implements
MjonMsgVO mjonMsgVO = new MjonMsgVO();
mjonMsgVO.setRecordCountPerPage(limitCout);
List<MjonMsgVO> msgFailList = mjonMsgDataDAO.selectMsgSentFailList(mjonMsgVO);
List<MjonMsgVO> msgFailList = mjonMsgDataDAO.selectMsgSentFailSchedulerList(mjonMsgVO);
long forBeforeTime = System.currentTimeMillis(); // 코드 실행 시간
int batchSize = 300;
int totalSize = msgFailList.size();

View File

@ -3900,9 +3900,60 @@
WHERE SEARCH_WORD = #searchKeyword#
</update>
<!-- 문자발송 실패건에 대한 환불 대상 리스트 : 발송 완료되었고, 결과코드가 실패이고, 예약 취소가 아닌건들 -->
<select id="MjonMsgDataDAO.selectMsgSentFailList">
SELECT USER_ID AS userId,
MSG_GROUP_ID AS msgGroupId,
MSG_SEQ AS msgSeq,
USERDATA AS userData,
REFUND_YN AS refundYn,
RSLT_CODE AS rsltCode,
RSLT_CODE2 AS rsltCode2,
AGENT_CODE AS agentCode,
DATE_FORMAT(SENT_DATE,'%Y-%m-%d %T') AS sentDate,
DATE_FORMAT(RSLT_DATE,'%Y-%m-%d %T') AS rsltDate
FROM MJ_MSG_DATA MMD
INNER JOIN LETTNGNRLMBER MB
ON MMD.USER_ID = MB.MBER_ID
WHERE 1=1
AND MMD.SENT_DATE > date_add(now(), interval -7 day)
AND MMD.CUR_STATE = '3'
AND MMD.REFUND_YN = 'N'
AND MMD.RESERVE_C_YN = 'N'
AND MMD.MSG_TYPE IN ('4','6')
AND MMD.USER_ID NOT IN ('hftest', 'itntest', 'imotest', 'itntestBatch')
AND
(CASE
WHEN MMD.AGENT_CODE = '01' AND ( MMD.RSLT_CODE = '100' AND (MMD.RSLT_CODE2 = '0'))
THEN 'S'
WHEN MMD.AGENT_CODE = '02' AND (MMD.RSLT_CODE = '0')
THEN 'S'
WHEN MMD.AGENT_CODE = '03' AND (MMD.RSLT_CODE = '100' OR MMD.RSLT_CODE = '101' OR MMD.RSLT_CODE = '110' OR MMD.RSLT_CODE = '800')
THEN 'S'
WHEN MMD.AGENT_CODE = '04' AND (MMD.RSLT_CODE = '4100' OR MMD.RSLT_CODE = '6600')
THEN 'S'
WHEN MMD.AGENT_CODE = '05' AND (MMD.RSLT_CODE = '1000' OR MMD.RSLT_CODE = '1001')
THEN 'S'
WHEN MMD.AGENT_CODE = '07' AND (MMD.RSLT_CODE = '6' OR MMD.RSLT_CODE = '1000')
THEN 'S'
WHEN MMD.AGENT_CODE = '08' AND (MMD.RSLT_CODE = '1000' OR MMD.RSLT_CODE = '1001')
THEN 'S'
WHEN MMD.AGENT_CODE = '09' AND (MMD.RSLT_CODE = '1000' OR MMD.RSLT_CODE = '1001')
THEN 'S'
WHEN (
MMD.RSLT_CODE IS NULL
AND MMD.RSLT_CODE2 IS NULL
AND MMD.SENT_DATE IS NULL
AND MMD.RSLT_DATE IS NULL
)
THEN 'W'
ELSE 'F'
END) IN ('F')
</select>
<!-- 문자발송 실패건에 대한 환불 대상 리스트 : 발송 완료되었고, 결과코드가 실패이고, 예약 취소가 아닌건들 -->
<select id="MjonMsgDataDAO.selectMsgSentFailList" resultClass="mjonMsgVO">
<select id="MjonMsgDataDAO.selectMsgSentFailSchedulerList" resultClass="mjonMsgVO">
SELECT USER_ID AS userId,
MSG_GROUP_ID AS msgGroupId,