+++ src/main/java/itn/let/mjo/msg/service/RefundDTO.java
... | ... | @@ -0,0 +1,20 @@ |
| 1 | +package itn.let.mjo.msg.service; | |
| 2 | + | |
| 3 | +import lombok.Getter; | |
| 4 | +import lombok.Setter; | |
| 5 | + | |
| 6 | +@Getter | |
| 7 | +@Setter | |
| 8 | +public class RefundDTO { | |
| 9 | + private String userId; | |
| 10 | + private String msgGroupId; | |
| 11 | + private int userData; | |
| 12 | + private String eachPrice ; // 전송문자 개별가격 | |
| 13 | + | |
| 14 | + public RefundDTO(String userId, String msgGroupId, int userData, String eachPrice) { | |
| 15 | + this.userId = userId; | |
| 16 | + this.msgGroupId = msgGroupId; | |
| 17 | + this.userData = userData; | |
| 18 | + this.eachPrice = eachPrice; | |
| 19 | + } | |
| 20 | +} |
--- src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java
+++ src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java
| This diff is too big to display. |
--- src/main/java/itn/let/mjo/test/web/TestController.java
+++ src/main/java/itn/let/mjo/test/web/TestController.java
... | ... | @@ -17,6 +17,7 @@ |
| 17 | 17 |
import java.util.HashMap; |
| 18 | 18 |
import java.util.List; |
| 19 | 19 |
import java.util.Map; |
| 20 |
+import java.util.stream.Collectors; |
|
| 20 | 21 |
|
| 21 | 22 |
import javax.annotation.Resource; |
| 22 | 23 |
import javax.imageio.ImageIO; |
... | ... | @@ -84,6 +85,7 @@ |
| 84 | 85 |
import itn.let.mjo.mjocommon.MjonHolidayApi; |
| 85 | 86 |
import itn.let.mjo.msg.service.MjonMsgService; |
| 86 | 87 |
import itn.let.mjo.msg.service.MjonMsgVO; |
| 88 |
+import itn.let.mjo.msg.service.RefundDTO; |
|
| 87 | 89 |
import itn.let.mjo.msgdata.service.MjonMsgDataService; |
| 88 | 90 |
import itn.let.mjo.msgdata.service.MjonMsgReturnVO; |
| 89 | 91 |
import itn.let.mjo.msgdata.service.impl.MjonMsgDataDAO; |
... | ... | @@ -3433,8 +3435,14 @@ |
| 3433 | 3435 |
// 10분 마다 1주일 데이터에서 환불 대상을 찾아서 환불 한다. |
| 3434 | 3436 |
//어플리케이션 트랜잭션 문제가 있어 Util 단으로 DB 호출을 가져옴 - 2024-03-14 |
| 3435 | 3437 |
//schdlrManageService.msgFailPayBack(); |
| 3436 |
- |
|
| 3438 |
+ |
|
| 3439 |
+ long forBeforeTime = System.currentTimeMillis(); // 코드 실행 전 시간 |
|
| 3437 | 3440 |
List<MjonMsgVO> msgFailList = mjonMsgDataDAO.selectMsgSentFailList(); |
| 3441 |
+ |
|
| 3442 |
+ |
|
| 3443 |
+ long forAfterTime1 = System.currentTimeMillis(); // 코드 실행 후 시간 |
|
| 3444 |
+ long forSecDiffTime1 = (forAfterTime1 - forBeforeTime)/1000; // 코드 실행 전후 시간 차이 계산(초 단위) |
|
| 3445 |
+ System.out.println("==PayBack list =============> 수량 : "+msgFailList.size()+" ===== " + forSecDiffTime1 +"초");
|
|
| 3438 | 3446 |
|
| 3439 | 3447 |
// 리스트가 비어있는 경우 종료 |
| 3440 | 3448 |
if (msgFailList == null || msgFailList.isEmpty()) {
|
... | ... | @@ -3443,29 +3451,22 @@ |
| 3443 | 3451 |
} |
| 3444 | 3452 |
|
| 3445 | 3453 |
|
| 3446 |
- long forBeforeTime = System.currentTimeMillis(); // 코드 실행 전 시간 |
|
| 3447 |
-// int count = 0; |
|
| 3448 | 3454 |
System.out.println("== msgFailList =============> : "+ msgFailList.size());
|
| 3449 |
-// for(MjonMsgVO vo : msgFailList) {
|
|
| 3450 |
-// System.out.println(count + " : "+ msgFailList.size()); |
|
| 3455 |
+ try {
|
|
| 3456 |
+ // 필요한 필드만 DTO로 매핑 |
|
| 3457 |
+ List<RefundDTO> dtoList = msgFailList.stream() |
|
| 3458 |
+ .map(msg -> new RefundDTO(msg.getUserId(), msg.getMsgGroupId(), Integer.parseInt(msg.getUserData()), msg.getEachPrice())) |
|
| 3459 |
+ .collect(Collectors.toList()); |
|
| 3460 |
+ // JSON 변환 |
|
| 3461 |
+ ObjectMapper objectMapper = new ObjectMapper(); |
|
| 3462 |
+ String msgFailListJson = objectMapper.writeValueAsString(dtoList); |
|
| 3463 |
+ |
|
| 3464 |
+ mjonMsgDataDAO.updateMsgSentFailPayBackBatch(msgFailListJson); |
|
| 3451 | 3465 |
|
| 3452 |
- try {
|
|
| 3453 |
- |
|
| 3454 |
- // JSON 변환 |
|
| 3455 |
- ObjectMapper objectMapper = new ObjectMapper(); |
|
| 3456 |
- String msgFailListJson = objectMapper.writeValueAsString(msgFailList); |
|
| 3457 |
- |
|
| 3458 |
- System.out.println("JSON Data: " + msgFailListJson);
|
|
| 3459 |
- |
|
| 3460 |
- |
|
| 3461 |
- mjonMsgDataDAO.updateMsgSentFailPayBackBatch(msgFailListJson); |
|
| 3462 |
- |
|
| 3463 |
-// mjonMsgDataDAO.updateMsgSentFailPayBack(vo); |
|
| 3464 |
- }catch(Exception ex) {
|
|
| 3465 |
- ex.printStackTrace(); |
|
| 3466 |
- } |
|
| 3466 |
+ }catch(Exception ex) {
|
|
| 3467 |
+ ex.printStackTrace(); |
|
| 3468 |
+ } |
|
| 3467 | 3469 |
|
| 3468 |
-// count = count + 1; |
|
| 3469 | 3470 |
// } |
| 3470 | 3471 |
long forAfterTime = System.currentTimeMillis(); // 코드 실행 후 시간 |
| 3471 | 3472 |
long forSecDiffTime = (forAfterTime - forBeforeTime)/1000; // 코드 실행 전후 시간 차이 계산(초 단위) |
--- src/main/java/itn/let/schdlr/service/SchdlrManageService.java
+++ src/main/java/itn/let/schdlr/service/SchdlrManageService.java
... | ... | @@ -52,4 +52,6 @@ |
| 52 | 52 |
|
| 53 | 53 |
//문자온 문자전송 실패 건수 환불 배치 |
| 54 | 54 |
public void payBack(String type, int limitCout) throws Exception; |
| 55 |
+ |
|
| 56 |
+ public void payBack_advc(String p_type) throws Exception; |
|
| 55 | 57 |
} |
--- src/main/java/itn/let/schdlr/service/SchedulerUtil.java
+++ src/main/java/itn/let/schdlr/service/SchedulerUtil.java
... | ... | @@ -92,8 +92,8 @@ |
| 92 | 92 |
* 10분 마다 1주일 데이터에서 환불 대상을 찾아서 환불 한다. |
| 93 | 93 |
* */ |
| 94 | 94 |
// Schdule Lock (10분동안) |
| 95 |
-// @Scheduled(cron = "0 0/10 * * * ?") |
|
| 96 |
-// @SchedulerLock(name = "runScenarioOneTime", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN) |
|
| 95 |
+ @Scheduled(cron = "0 0/10 * * * ?") |
|
| 96 |
+ @SchedulerLock(name = "runScenarioOneTime", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN) |
|
| 97 | 97 |
public void runScenarioOneTime() throws Exception {
|
| 98 | 98 |
|
| 99 | 99 |
// do something... |
... | ... | @@ -119,10 +119,10 @@ |
| 119 | 119 |
} |
| 120 | 120 |
|
| 121 | 121 |
/* |
| 122 |
- * 매일 5시20분에 31일전 데이터에서 환불 대상을 찾아서 환불 한다. |
|
| 122 |
+ * 매일 5시20분 20초에 31일전 데이터에서 환불 대상을 찾아서 환불 한다. |
|
| 123 | 123 |
* */ |
| 124 |
-// @Scheduled(cron = "20 20 5 * * ?") |
|
| 125 |
-// @SchedulerLock(name = "runScenarioOneTimeOneByDay", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN) |
|
| 124 |
+ @Scheduled(cron = "20 25 5 * * ?") |
|
| 125 |
+ @SchedulerLock(name = "runScenarioOneTimeOneByDay", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN) |
|
| 126 | 126 |
public void runScenarioOneTimeOneByDay() throws Exception {
|
| 127 | 127 |
|
| 128 | 128 |
// do something... |
... | ... | @@ -477,10 +477,14 @@ |
| 477 | 477 |
|
| 478 | 478 |
//환불 실행 |
| 479 | 479 |
private void PayBack(String p_type) throws Exception {
|
| 480 |
+ |
|
| 481 |
+ |
|
| 480 | 482 |
// 문자 환불 |
| 483 |
+ schdlrManageService.payBack_advc(p_type); |
|
| 484 |
+ |
|
| 485 |
+ /* |
|
| 481 | 486 |
if ("ONE".equals(p_type)) { //하루에 한번만 31일 대상으로 실행
|
| 482 | 487 |
schdlrManageService.msgFailPayBackOneByDay(); |
| 483 |
- |
|
| 484 | 488 |
}else {
|
| 485 | 489 |
// 10분 마다 1주일 데이터에서 환불 대상을 찾아서 환불 한다. |
| 486 | 490 |
//어플리케이션 트랜잭션 문제가 있어 Util 단으로 DB 호출을 가져옴 - 2024-03-14 |
... | ... | @@ -489,10 +493,8 @@ |
| 489 | 493 |
List<MjonMsgVO> msgFailList = mjonMsgDataDAO.selectMsgSentFailList(); |
| 490 | 494 |
|
| 491 | 495 |
long forBeforeTime = System.currentTimeMillis(); // 코드 실행 전 시간 |
| 492 |
- int count = 0; |
|
| 493 | 496 |
System.out.println("== msgFailList =============> : "+ msgFailList.size());
|
| 494 | 497 |
for(MjonMsgVO vo : msgFailList) {
|
| 495 |
- System.out.println(count + " : "+ msgFailList.size()); |
|
| 496 | 498 |
|
| 497 | 499 |
try {
|
| 498 | 500 |
mjonMsgDataDAO.updateMsgSentFailPayBack(vo); |
... | ... | @@ -502,15 +504,16 @@ |
| 502 | 504 |
ex.printStackTrace(); |
| 503 | 505 |
} |
| 504 | 506 |
|
| 505 |
- count = count + 1; |
|
| 506 | 507 |
} |
| 507 | 508 |
long forAfterTime = System.currentTimeMillis(); // 코드 실행 후 시간 |
| 508 | 509 |
long forSecDiffTime = (forAfterTime - forBeforeTime)/1000; // 코드 실행 전후 시간 차이 계산(초 단위) |
| 509 | 510 |
System.out.println("==PayBack for 2 =============> 수량 : "+msgFailList.size()+" ===== " + forSecDiffTime +"초");
|
| 510 | 511 |
} |
| 511 | 512 |
|
| 513 |
+ */ |
|
| 512 | 514 |
System.out.println("==== faxFailPayBack ====");
|
| 513 | 515 |
// 팩스 환불 |
| 514 |
- schdlrManageService.faxFailPayBack(); |
|
| 516 |
+ schdlrManageService.faxFailPayBack(); |
|
| 517 |
+ |
|
| 515 | 518 |
} |
| 516 | 519 |
} |
--- src/main/java/itn/let/schdlr/service/impl/SchdlrManageServiceImpl.java
+++ src/main/java/itn/let/schdlr/service/impl/SchdlrManageServiceImpl.java
... | ... | @@ -1,8 +1,10 @@ |
| 1 | 1 |
package itn.let.schdlr.service.impl; |
| 2 | 2 |
|
| 3 | 3 |
import java.io.File; |
| 4 |
+import java.util.ArrayList; |
|
| 4 | 5 |
import java.util.Date; |
| 5 | 6 |
import java.util.List; |
| 7 |
+import java.util.stream.Collectors; |
|
| 6 | 8 |
|
| 7 | 9 |
import javax.annotation.Resource; |
| 8 | 10 |
|
... | ... | @@ -10,7 +12,11 @@ |
| 10 | 12 |
import org.slf4j.Logger; |
| 11 | 13 |
import org.slf4j.LoggerFactory; |
| 12 | 14 |
import org.springframework.beans.factory.annotation.Value; |
| 15 |
+import org.springframework.http.HttpStatus; |
|
| 16 |
+import org.springframework.http.ResponseEntity; |
|
| 13 | 17 |
import org.springframework.stereotype.Service; |
| 18 |
+ |
|
| 19 |
+import com.fasterxml.jackson.databind.ObjectMapper; |
|
| 14 | 20 |
|
| 15 | 21 |
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; |
| 16 | 22 |
import egovframework.rte.fdl.idgnr.EgovIdGnrService; |
... | ... | @@ -19,8 +25,10 @@ |
| 19 | 25 |
import itn.com.cmm.service.impl.FileManageDAO; |
| 20 | 26 |
import itn.let.fax.user.service.impl.FaxDAO; |
| 21 | 27 |
import itn.let.kakao.user.kakaoAt.service.KakaoAlimTalkService; |
| 28 |
+import itn.let.mail.service.StatusResponse; |
|
| 22 | 29 |
import itn.let.mjo.mjocommon.MjonCommon; |
| 23 | 30 |
import itn.let.mjo.msg.service.MjonMsgVO; |
| 31 |
+import itn.let.mjo.msg.service.RefundDTO; |
|
| 24 | 32 |
import itn.let.mjo.msgdata.service.MjonMsgDataService; |
| 25 | 33 |
import itn.let.mjo.msgdata.service.impl.MjonMsgDataDAO; |
| 26 | 34 |
import itn.let.mjo.pay.service.MjonPayService; |
... | ... | @@ -40,21 +48,21 @@ |
| 40 | 48 |
|
| 41 | 49 |
@Resource(name = "egovItsmSchdlrGnrService") |
| 42 | 50 |
private EgovIdGnrService idgenSchdlrId; |
| 43 |
- |
|
| 51 |
+ |
|
| 44 | 52 |
@Resource(name = "egovItsmSchdlrConfigGnrService") |
| 45 | 53 |
private EgovIdGnrService idgenSchCfgId; |
| 46 |
- |
|
| 54 |
+ |
|
| 47 | 55 |
@Resource(name = "egovItsmSchdlrShareIdGnrService") |
| 48 | 56 |
private EgovIdGnrService idgenSchdlrShareId; |
| 49 |
- |
|
| 50 |
- @Resource(name="SchdlrManageDAO") |
|
| 57 |
+ |
|
| 58 |
+ @Resource(name = "SchdlrManageDAO") |
|
| 51 | 59 |
private SchdlrManageDAO schdlrManageDAO; |
| 52 |
- |
|
| 60 |
+ |
|
| 53 | 61 |
@Resource(name = "FileManageDAO") |
| 54 | 62 |
private FileManageDAO fileMngDAO; |
| 55 | 63 |
|
| 56 |
- @Resource(name="EgovFileMngService") |
|
| 57 |
- private EgovFileMngService fileMngService; |
|
| 64 |
+ @Resource(name = "EgovFileMngService") |
|
| 65 |
+ private EgovFileMngService fileMngService; |
|
| 58 | 66 |
|
| 59 | 67 |
@Resource(name = "egovMultiPartEmail") |
| 60 | 68 |
private EgovMultiPartEmail egovMultiPartEmail; |
... | ... | @@ -64,48 +72,48 @@ |
| 64 | 72 |
|
| 65 | 73 |
@Value("#{globalSettings['Globals.HOMPAGE_URL']}")
|
| 66 | 74 |
private String HOMPAGE_URL; |
| 67 |
- |
|
| 68 |
- @Resource(name="MjonMsgDataDAO") |
|
| 75 |
+ |
|
| 76 |
+ @Resource(name = "MjonMsgDataDAO") |
|
| 69 | 77 |
private MjonMsgDataDAO mjonMsgDataDAO; |
| 70 |
- |
|
| 71 |
- //문자온 카카오 알림톡 발송 서비스 |
|
| 78 |
+ |
|
| 79 |
+ // 문자온 카카오 알림톡 발송 서비스 |
|
| 72 | 80 |
@Resource(name = "kakaoAlimTalkService") |
| 73 | 81 |
private KakaoAlimTalkService kakaoAlimTalkService; |
| 74 |
- |
|
| 75 |
- //문자온 문자 발송 서비스 |
|
| 76 |
- @Resource(name = "MjonMsgDataService") |
|
| 77 |
- private MjonMsgDataService mjonMsgDataService; |
|
| 78 |
- |
|
| 79 |
- //세틀뱅크 입금전문 서비스 |
|
| 80 |
- @Resource(name = "vacsAhstService") |
|
| 81 |
- private VacsAhstService vacsAhstService; |
|
| 82 |
- |
|
| 83 |
- //문자온 결제 서비스 |
|
| 84 |
- @Resource(name = "mjonPayService") |
|
| 85 |
- private MjonPayService mjonPayService; |
|
| 86 | 82 |
|
| 87 |
- /** userManageService */ |
|
| 83 |
+ // 문자온 문자 발송 서비스 |
|
| 84 |
+ @Resource(name = "MjonMsgDataService") |
|
| 85 |
+ private MjonMsgDataService mjonMsgDataService; |
|
| 86 |
+ |
|
| 87 |
+ // 세틀뱅크 입금전문 서비스 |
|
| 88 |
+ @Resource(name = "vacsAhstService") |
|
| 89 |
+ private VacsAhstService vacsAhstService; |
|
| 90 |
+ |
|
| 91 |
+ // 문자온 결제 서비스 |
|
| 92 |
+ @Resource(name = "mjonPayService") |
|
| 93 |
+ private MjonPayService mjonPayService; |
|
| 94 |
+ |
|
| 95 |
+ /** userManageService */ |
|
| 88 | 96 |
@Resource(name = "userManageService") |
| 89 | 97 |
private EgovUserManageService userManageService; |
| 90 |
- |
|
| 91 |
- /** 사이트 설정 */ |
|
| 98 |
+ |
|
| 99 |
+ /** 사이트 설정 */ |
|
| 92 | 100 |
@Resource(name = "egovSiteManagerService") |
| 93 |
- EgovSiteManagerService egovSiteManagerService; |
|
| 94 |
- |
|
| 101 |
+ EgovSiteManagerService egovSiteManagerService; |
|
| 102 |
+ |
|
| 95 | 103 |
/** 알림전송 Util */ |
| 96 | 104 |
@Resource(name = "mjonNoticeSendUtil") |
| 97 |
- private MjonNoticeSendUtil mjonNoticeSendUtil; |
|
| 98 |
- |
|
| 99 |
- @Resource(name="MjonCommon") |
|
| 105 |
+ private MjonNoticeSendUtil mjonNoticeSendUtil; |
|
| 106 |
+ |
|
| 107 |
+ @Resource(name = "MjonCommon") |
|
| 100 | 108 |
private MjonCommon mjonCommon; |
| 101 |
- |
|
| 109 |
+ |
|
| 102 | 110 |
@Resource(name = "faxDAO") |
| 103 | 111 |
public FaxDAO faxDao; |
| 104 |
- |
|
| 112 |
+ |
|
| 105 | 113 |
private static final Logger LOGGER = LoggerFactory.getLogger(SchdlrManageServiceImpl.class); |
| 106 |
- |
|
| 114 |
+ |
|
| 107 | 115 |
// 스케줄달력 목록(월별) |
| 108 |
- public List<SchdlrVO> selectSchdlrList(SchdlrVO schdlrVO) throws Exception {
|
|
| 116 |
+ public List<SchdlrVO> selectSchdlrList(SchdlrVO schdlrVO) throws Exception {
|
|
| 109 | 117 |
return schdlrManageDAO.selectSchdlrList(schdlrVO); |
| 110 | 118 |
} |
| 111 | 119 |
|
... | ... | @@ -113,12 +121,12 @@ |
| 113 | 121 |
public void schdlrInsert(SchdlrVO schdlrVO) throws Exception {
|
| 114 | 122 |
schdlrVO.setSchdlrId(idgenSchdlrId.getNextStringId()); // 신규 키 |
| 115 | 123 |
schdlrManageDAO.schdlrInsert(schdlrVO); // 등록 |
| 116 |
- |
|
| 117 |
- if(schdlrVO.getSchdlrUserId() != null && schdlrVO.getSchdlrUserId().length() != 0) {
|
|
| 124 |
+ |
|
| 125 |
+ if (schdlrVO.getSchdlrUserId() != null && schdlrVO.getSchdlrUserId().length() != 0) {
|
|
| 118 | 126 |
String userId[] = schdlrVO.getSchdlrUserId().split(",");
|
| 119 | 127 |
String userName[] = schdlrVO.getSchdlrUserName().split(",");
|
| 120 |
- |
|
| 121 |
- for(int i=0; i <userId.length; i++ ) {
|
|
| 128 |
+ |
|
| 129 |
+ for (int i = 0; i < userId.length; i++) {
|
|
| 122 | 130 |
// System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@ userID : "+userId[i]);
|
| 123 | 131 |
// System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@ userName : "+userName[i]);
|
| 124 | 132 |
schdlrVO.setSchdlrUserId(userId[i]); |
... | ... | @@ -128,22 +136,22 @@ |
| 128 | 136 |
} |
| 129 | 137 |
} |
| 130 | 138 |
} |
| 131 |
- |
|
| 139 |
+ |
|
| 132 | 140 |
// 스케줄 수정 |
| 133 | 141 |
public void schdlrUpdate(SchdlrVO schdlrVO) throws Exception {
|
| 134 | 142 |
schdlrManageDAO.schdlrUpdate(schdlrVO); |
| 135 |
- |
|
| 136 |
- if(!("").equals(schdlrVO.getSchdlrUserId())) {
|
|
| 143 |
+ |
|
| 144 |
+ if (!("").equals(schdlrVO.getSchdlrUserId())) {
|
|
| 137 | 145 |
String userId[] = schdlrVO.getSchdlrUserId().split(",");
|
| 138 | 146 |
String userName[] = schdlrVO.getSchdlrUserName().split(",");
|
| 139 |
- |
|
| 147 |
+ |
|
| 140 | 148 |
int schdlrShareCount = schdlrManageDAO.selectSchdlrShareCount(schdlrVO); |
| 141 |
- |
|
| 142 |
- if(schdlrShareCount != 0) {
|
|
| 149 |
+ |
|
| 150 |
+ if (schdlrShareCount != 0) {
|
|
| 143 | 151 |
schdlrManageDAO.deleteSchdlrShare(schdlrVO.getSchdlrId()); |
| 144 | 152 |
} |
| 145 |
- |
|
| 146 |
- for(int i=0; i <userId.length; i++ ) {
|
|
| 153 |
+ |
|
| 154 |
+ for (int i = 0; i < userId.length; i++) {
|
|
| 147 | 155 |
// System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@ userID : "+userId[i]);
|
| 148 | 156 |
// System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@ userName : "+userName[i]);
|
| 149 | 157 |
schdlrVO.setSchdlrUserId(userId[i]); |
... | ... | @@ -153,38 +161,37 @@ |
| 153 | 161 |
} |
| 154 | 162 |
} |
| 155 | 163 |
} |
| 156 |
- |
|
| 164 |
+ |
|
| 157 | 165 |
// 일정 상세 조회 |
| 158 | 166 |
public SchdlrVO selectSchdlrDetail(SchdlrVO schdlrVO) throws Exception {
|
| 159 | 167 |
return schdlrManageDAO.selectSchdlrDetail(schdlrVO); |
| 160 | 168 |
} |
| 161 |
- |
|
| 169 |
+ |
|
| 162 | 170 |
@Override |
| 163 | 171 |
public List<SchdlrVO> selectSchdlrShare(SchdlrVO schdlrVO) throws Exception {
|
| 164 | 172 |
return schdlrManageDAO.selectSchdlrShare(schdlrVO); |
| 165 | 173 |
} |
| 166 |
- |
|
| 167 | 174 |
|
| 168 | 175 |
// 일정 목록 조회 |
| 169 |
- public List<SchdlrVO> selectSchList(SchdlrVO schdlrVO) throws Exception {
|
|
| 176 |
+ public List<SchdlrVO> selectSchList(SchdlrVO schdlrVO) throws Exception {
|
|
| 170 | 177 |
return schdlrManageDAO.selectSchList(schdlrVO); |
| 171 | 178 |
} |
| 172 |
- |
|
| 179 |
+ |
|
| 173 | 180 |
// 환경설정 등록 |
| 174 | 181 |
public void insertSchConfig(SchdlrVO schdlrVO) throws Exception {
|
| 175 | 182 |
schdlrVO.setSchdlrCfgId(idgenSchCfgId.getNextStringId()); // 신규 키 |
| 176 | 183 |
schdlrManageDAO.insertSchConfig(schdlrVO); // 등록 |
| 177 | 184 |
} |
| 178 |
- |
|
| 185 |
+ |
|
| 179 | 186 |
// 환경설정 수정 |
| 180 | 187 |
public void updateSchConfig(SchdlrVO schdlrVO) throws Exception {
|
| 181 | 188 |
schdlrManageDAO.updateSchConfig(schdlrVO); |
| 182 | 189 |
} |
| 183 |
- |
|
| 190 |
+ |
|
| 184 | 191 |
// 환경설정 상세 조회 |
| 185 | 192 |
public SchdlrVO selectSchConfigDetail(SchdlrVO schdlrVO) throws Exception {
|
| 186 | 193 |
SchdlrVO result = schdlrManageDAO.selectSchConfigDetail(schdlrVO); |
| 187 |
- |
|
| 194 |
+ |
|
| 188 | 195 |
if (result == null) { // 첫 조회시 기본값 등록
|
| 189 | 196 |
result = new SchdlrVO(); |
| 190 | 197 |
result.setSchdlrCfgId(idgenSchCfgId.getNextStringId()); |
... | ... | @@ -197,163 +204,174 @@ |
| 197 | 204 |
result.setSchdlrColorPerCd("03");
|
| 198 | 205 |
schdlrManageDAO.insertSchConfig(result); |
| 199 | 206 |
} |
| 200 |
- |
|
| 207 |
+ |
|
| 201 | 208 |
return result; |
| 202 | 209 |
} |
| 203 |
- |
|
| 210 |
+ |
|
| 204 | 211 |
// 일정 알림 메일 전송 |
| 205 | 212 |
public void schMailSend(String bgnDateTime) throws Exception {
|
| 206 | 213 |
List<SchdlrVO> mailList = schdlrManageDAO.selectMailSendList(bgnDateTime); |
| 207 |
- |
|
| 214 |
+ |
|
| 208 | 215 |
for (SchdlrVO vo : mailList) {
|
| 209 |
- if (("").equals(vo.getEmailAdres())) continue;
|
|
| 210 |
- |
|
| 216 |
+ if (("").equals(vo.getEmailAdres()))
|
|
| 217 |
+ continue; |
|
| 218 |
+ |
|
| 211 | 219 |
boolean result = sendMail(vo); |
| 212 | 220 |
LOGGER.debug("send succ update:", result);
|
| 213 |
- |
|
| 214 |
- if (result) schdlrManageDAO.updateMailSend(vo); |
|
| 221 |
+ |
|
| 222 |
+ if (result) |
|
| 223 |
+ schdlrManageDAO.updateMailSend(vo); |
|
| 215 | 224 |
} |
| 216 | 225 |
} |
| 217 |
- |
|
| 218 | 226 |
|
| 219 | 227 |
/** |
| 220 | 228 |
* 일정 알림 메일 전송 |
| 229 |
+ * |
|
| 221 | 230 |
* @param SchdlrVO schdlrVO |
| 222 | 231 |
* @return boolean |
| 223 |
- * @throws Exception |
|
| 232 |
+ * @throws Exception |
|
| 224 | 233 |
*/ |
| 225 | 234 |
private boolean sendMail(SchdlrVO schdlrVO) throws Exception {
|
| 226 | 235 |
boolean result = false; |
| 227 | 236 |
try {
|
| 228 |
- String mailSj = "["+schdlrVO.getSchdlrTitle()+"] N-CMS 스케줄러 일정 메일 알림입니다."; |
|
| 237 |
+ String mailSj = "[" + schdlrVO.getSchdlrTitle() + "] N-CMS 스케줄러 일정 메일 알림입니다."; |
|
| 229 | 238 |
String alram = ""; |
| 230 |
- |
|
| 239 |
+ |
|
| 231 | 240 |
// // 알림설정 표시 |
| 232 | 241 |
// if (Pattern.matches("^[0-9]*$", schdlrVO.getSchdlrAlarmCnd())) {
|
| 233 | 242 |
// alram = schdlrVO.getSchdlrAlarmCnd() + " 분전"; |
| 234 | 243 |
// } else if (schdlrVO.getSchdlrAlarmCnd().equals("etc")) {
|
| 235 | 244 |
// alram = schdlrVO.getSchdlrAlarmDatetime(); |
| 236 | 245 |
// } |
| 237 |
- switch(schdlrVO.getSchdlrAlarmCnd()) {
|
|
| 238 |
- case "0" : alram = "정시"; break; |
|
| 239 |
- case "10" : alram = "십분 전"; break; |
|
| 240 |
- case "30" : alram = "삼십분 전"; break; |
|
| 241 |
- case "60" : alram = "한시간 전"; break; |
|
| 242 |
- case "etc" : alram = schdlrVO.getSchdlrAlarmDatetime(); break; |
|
| 246 |
+ switch (schdlrVO.getSchdlrAlarmCnd()) {
|
|
| 247 |
+ case "0": |
|
| 248 |
+ alram = "정시"; |
|
| 249 |
+ break; |
|
| 250 |
+ case "10": |
|
| 251 |
+ alram = "십분 전"; |
|
| 252 |
+ break; |
|
| 253 |
+ case "30": |
|
| 254 |
+ alram = "삼십분 전"; |
|
| 255 |
+ break; |
|
| 256 |
+ case "60": |
|
| 257 |
+ alram = "한시간 전"; |
|
| 258 |
+ break; |
|
| 259 |
+ case "etc": |
|
| 260 |
+ alram = schdlrVO.getSchdlrAlarmDatetime(); |
|
| 261 |
+ break; |
|
| 243 | 262 |
} |
| 244 |
- |
|
| 245 |
- String mailContent = Jsoup.parse(new File(MAIL_CONTENT_PATH + "/direct/mail_template/sch_alrm_cont.html"), "UTF-8").toString(); |
|
| 263 |
+ |
|
| 264 |
+ String mailContent = Jsoup |
|
| 265 |
+ .parse(new File(MAIL_CONTENT_PATH + "/direct/mail_template/sch_alrm_cont.html"), "UTF-8") |
|
| 266 |
+ .toString(); |
|
| 246 | 267 |
mailContent = mailContent.replace("#일정명", schdlrVO.getSchdlrTitle());
|
| 247 |
- mailContent = mailContent.replace("#일시", schdlrVO.getSchdlrBgnDatetime() + " ~ " + schdlrVO.getSchdlrEndDatetime());
|
|
| 268 |
+ mailContent = mailContent.replace("#일시",
|
|
| 269 |
+ schdlrVO.getSchdlrBgnDatetime() + " ~ " + schdlrVO.getSchdlrEndDatetime()); |
|
| 248 | 270 |
mailContent = mailContent.replace("#장소", schdlrVO.getSchdlrPlace());
|
| 249 | 271 |
mailContent = mailContent.replace("#내용", schdlrVO.getSchdlrCn().replaceAll("(\r\n|\r|\n|\n\r)", "<br>"));
|
| 250 | 272 |
mailContent = mailContent.replace("#알림설정", alram);
|
| 251 |
- |
|
| 273 |
+ |
|
| 252 | 274 |
String resultMsg = egovMultiPartEmail.send(schdlrVO.getEmailAdres(), mailSj, "", mailContent); |
| 253 | 275 |
// egovMultiPartEmail.send(mailAddres, mailSj", mgs); // Simple Text Mail method |
| 254 |
- |
|
| 276 |
+ |
|
| 255 | 277 |
result = true; |
| 256 | 278 |
LOGGER.debug("mail send resultMsg: ", resultMsg);
|
| 257 | 279 |
} catch (Exception ex) {
|
| 258 | 280 |
LOGGER.error("Sending Mail Exception : {} [unknown Exception]", ex.getCause());
|
| 259 |
- //LOGGER.error(ex.getMessage()); |
|
| 281 |
+ // LOGGER.error(ex.getMessage()); |
|
| 260 | 282 |
} |
| 261 |
- |
|
| 283 |
+ |
|
| 262 | 284 |
return result; |
| 263 | 285 |
} |
| 264 |
- |
|
| 265 |
- |
|
| 286 |
+ |
|
| 266 | 287 |
// 메인화면 > 전체일정 |
| 267 |
- public List<SchdlrVO> selectMainSchList(SchdlrVO schdlrVO) throws Exception {
|
|
| 288 |
+ public List<SchdlrVO> selectMainSchList(SchdlrVO schdlrVO) throws Exception {
|
|
| 268 | 289 |
return schdlrManageDAO.selectMainSchList(schdlrVO); |
| 269 | 290 |
} |
| 270 |
- |
|
| 271 |
- //문자온 문자발송 실패 건수 환불 배치(1주 대상) |
|
| 272 |
- public void msgFailPayBack() throws Exception{
|
|
| 273 |
- |
|
| 291 |
+ |
|
| 292 |
+ // 문자온 문자발송 실패 건수 환불 배치(1주 대상) |
|
| 293 |
+ public void msgFailPayBack() throws Exception {
|
|
| 294 |
+ |
|
| 274 | 295 |
Date now = new Date(); |
| 275 | 296 |
System.out.println("문자온 실패 건수 환불 스케줄러 실행!!!(1weeks)" + now);
|
| 276 | 297 |
/* |
| 277 |
- * 문자발송 실패 건수 확인 및 캐시 환불 처리 |
|
| 278 |
- * */ |
|
| 298 |
+ * 문자발송 실패 건수 확인 및 캐시 환불 처리 |
|
| 299 |
+ */ |
|
| 279 | 300 |
mjonMsgDataService.selectMsgSentFailList(); |
| 280 |
- |
|
| 301 |
+ |
|
| 281 | 302 |
/* |
| 282 | 303 |
* 세틀뱅크 입금 확인 및 캐시 충전 배치 프로세스 |
| 283 |
- * */ |
|
| 284 |
- /*VacsAhstVO vacsAhstVO = new VacsAhstVO(); |
|
| 285 |
- List<VacsAhstVO> resultBeforCashList = vacsAhstService.selectBeforCashList(vacsAhstVO); |
|
| 286 |
- |
|
| 287 |
- if(resultBeforCashList != null) {
|
|
| 288 |
- |
|
| 289 |
- for(VacsAhstVO temp : resultBeforCashList) {
|
|
| 290 |
- |
|
| 291 |
- StVcVO stvcVO = new StVcVO(); |
|
| 292 |
- |
|
| 293 |
- stvcVO.setOrgCd(temp.getOrgCd()); |
|
| 294 |
- stvcVO.setBankCd(temp.getBankCd()); |
|
| 295 |
- stvcVO.setIacctNo(temp.getIacctNo()); |
|
| 296 |
- stvcVO.setTrNo(temp.getTrNo()); |
|
| 297 |
- stvcVO.setTrIl(temp.getTrIl()); |
|
| 298 |
- stvcVO.setTrAmt(temp.getTrAmt()); |
|
| 299 |
- stvcVO.setIacctNm(temp.getIacctNm()); |
|
| 300 |
- stvcVO.setMberId(temp.getMberId()); |
|
| 301 |
- |
|
| 302 |
- //세틀뱅크 입금 내역 자동 충전하기 |
|
| 303 |
- mjonPayService.insertVcCharge(stvcVO); |
|
| 304 |
- |
|
| 305 |
- //세틀뱅크 입금 내역 원장에 처리 완료 내용 입력해 주기 |
|
| 306 |
- vacsAhstService.updateVacsAhstCashComplete(temp); |
|
| 307 |
- |
|
| 308 |
- } |
|
| 309 |
- |
|
| 310 |
- }*/ |
|
| 311 |
- |
|
| 304 |
+ */ |
|
| 305 |
+ /* |
|
| 306 |
+ * VacsAhstVO vacsAhstVO = new VacsAhstVO(); List<VacsAhstVO> |
|
| 307 |
+ * resultBeforCashList = vacsAhstService.selectBeforCashList(vacsAhstVO); |
|
| 308 |
+ * |
|
| 309 |
+ * if(resultBeforCashList != null) {
|
|
| 310 |
+ * |
|
| 311 |
+ * for(VacsAhstVO temp : resultBeforCashList) {
|
|
| 312 |
+ * |
|
| 313 |
+ * StVcVO stvcVO = new StVcVO(); |
|
| 314 |
+ * |
|
| 315 |
+ * stvcVO.setOrgCd(temp.getOrgCd()); stvcVO.setBankCd(temp.getBankCd()); |
|
| 316 |
+ * stvcVO.setIacctNo(temp.getIacctNo()); stvcVO.setTrNo(temp.getTrNo()); |
|
| 317 |
+ * stvcVO.setTrIl(temp.getTrIl()); stvcVO.setTrAmt(temp.getTrAmt()); |
|
| 318 |
+ * stvcVO.setIacctNm(temp.getIacctNm()); stvcVO.setMberId(temp.getMberId()); |
|
| 319 |
+ * |
|
| 320 |
+ * //세틀뱅크 입금 내역 자동 충전하기 mjonPayService.insertVcCharge(stvcVO); |
|
| 321 |
+ * |
|
| 322 |
+ * //세틀뱅크 입금 내역 원장에 처리 완료 내용 입력해 주기 |
|
| 323 |
+ * vacsAhstService.updateVacsAhstCashComplete(temp); |
|
| 324 |
+ * |
|
| 325 |
+ * } |
|
| 326 |
+ * |
|
| 327 |
+ * } |
|
| 328 |
+ */ |
|
| 329 |
+ |
|
| 312 | 330 |
} |
| 313 |
- |
|
| 314 |
- //문자온 문자발송 실패 건수 환불 배치(31일) |
|
| 315 |
- public void msgFailPayBackOneByDay() throws Exception{
|
|
| 316 |
- |
|
| 331 |
+ |
|
| 332 |
+ // 문자온 문자발송 실패 건수 환불 배치(31일) |
|
| 333 |
+ public void msgFailPayBackOneByDay() throws Exception {
|
|
| 334 |
+ |
|
| 317 | 335 |
Date now = new Date(); |
| 318 | 336 |
System.out.println("문자온 실패 건수 환불 스케줄러 실행!!!(31days)" + now);
|
| 319 | 337 |
/* |
| 320 |
- * 문자발송 실패 건수 확인 및 캐시 환불 처리 |
|
| 321 |
- * */ |
|
| 322 |
- mjonMsgDataService.selectMsgSentFailListOneByDay(); |
|
| 323 |
- |
|
| 338 |
+ * 문자발송 실패 건수 확인 및 캐시 환불 처리 |
|
| 339 |
+ */ |
|
| 340 |
+// mjonMsgDataService.selectMsgSentFailListOneByDay(); |
|
| 341 |
+ |
|
| 324 | 342 |
} |
| 325 |
- |
|
| 343 |
+ |
|
| 326 | 344 |
// 팩스 발송 실패 건수 환불 배치 |
| 327 |
- public void faxFailPayBack() throws Exception{
|
|
| 328 |
- |
|
| 345 |
+ public void faxFailPayBack() throws Exception {
|
|
| 346 |
+ |
|
| 329 | 347 |
System.out.println("팩스 실패 건수 환불 스케줄러 실행!!!" + new Date());
|
| 330 |
- |
|
| 348 |
+ |
|
| 331 | 349 |
// 팩스 발송 실패 건수 확인 및 캐시 환불 처리 |
| 332 | 350 |
faxDao.selectFaxSentFailList(); |
| 333 | 351 |
} |
| 334 |
- |
|
| 335 |
- //전용계좌 자동 충전 배치 |
|
| 336 |
- public void vacsAutoCharge() throws Exception{
|
|
| 337 |
- |
|
| 352 |
+ |
|
| 353 |
+ // 전용계좌 자동 충전 배치 |
|
| 354 |
+ public void vacsAutoCharge() throws Exception {
|
|
| 355 |
+ |
|
| 338 | 356 |
Date now = new Date(); |
| 339 | 357 |
System.out.println("문자온 전용계좌 자동 충전 스케줄러 실행 !!!" + now);
|
| 340 | 358 |
/* |
| 341 |
- * 문자발송 실패 건수 확인 및 캐시 환불 처리 |
|
| 342 |
- * */ |
|
| 343 |
- //mjonMsgDataService.selectMsgSentFailList(); |
|
| 344 |
- |
|
| 359 |
+ * 문자발송 실패 건수 확인 및 캐시 환불 처리 |
|
| 360 |
+ */ |
|
| 361 |
+ // mjonMsgDataService.selectMsgSentFailList(); |
|
| 362 |
+ |
|
| 345 | 363 |
/* |
| 346 | 364 |
* 세틀뱅크 입금 확인 및 캐시 충전 배치 프로세스 |
| 347 |
- * */ |
|
| 365 |
+ */ |
|
| 348 | 366 |
VacsAhstVO vacsAhstVO = new VacsAhstVO(); |
| 349 | 367 |
List<VacsAhstVO> resultBeforCashList = vacsAhstService.selectBeforCashList(vacsAhstVO); |
| 350 |
- |
|
| 351 |
- if(resultBeforCashList != null) {
|
|
| 352 |
- |
|
| 353 |
- for(VacsAhstVO temp : resultBeforCashList) {
|
|
| 354 |
- |
|
| 368 |
+ |
|
| 369 |
+ if (resultBeforCashList != null) {
|
|
| 370 |
+ |
|
| 371 |
+ for (VacsAhstVO temp : resultBeforCashList) {
|
|
| 372 |
+ |
|
| 355 | 373 |
StVcVO stvcVO = new StVcVO(); |
| 356 |
- |
|
| 374 |
+ |
|
| 357 | 375 |
stvcVO.setOrgCd(temp.getOrgCd()); |
| 358 | 376 |
stvcVO.setBankCd(temp.getBankCd()); |
| 359 | 377 |
stvcVO.setIacctNo(temp.getIacctNo()); |
... | ... | @@ -362,115 +380,180 @@ |
| 362 | 380 |
stvcVO.setTrAmt(temp.getTrAmt()); |
| 363 | 381 |
stvcVO.setIacctNm(temp.getIacctNm()); |
| 364 | 382 |
stvcVO.setMberId(temp.getMberId()); |
| 365 |
- |
|
| 366 |
- //세틀뱅크 입금 내역 자동 충전하기 |
|
| 383 |
+ |
|
| 384 |
+ // 세틀뱅크 입금 내역 자동 충전하기 |
|
| 367 | 385 |
mjonPayService.insertVcCharge(stvcVO); |
| 368 |
- |
|
| 369 |
- //세틀뱅크 입금 내역 원장에 처리 완료 내용 입력해 주기 |
|
| 386 |
+ |
|
| 387 |
+ // 세틀뱅크 입금 내역 원장에 처리 완료 내용 입력해 주기 |
|
| 370 | 388 |
vacsAhstService.updateVacsAhstCashComplete(temp); |
| 371 |
- |
|
| 389 |
+ |
|
| 372 | 390 |
try {
|
| 373 | 391 |
String Userid = temp.getMberId(); |
| 374 | 392 |
String mberNm = ""; |
| 375 |
- |
|
| 376 |
- // 대상 : 휴대폰결제, 즉시이체, 전용계좌 |
|
| 377 |
- // Step 1. 스미싱의심 지정 여부 |
|
| 378 |
- JoinSettingVO joinSettingVO = new JoinSettingVO(); |
|
| 379 |
- joinSettingVO = egovSiteManagerService.selectAdminNotiDetail(); |
|
| 380 |
- if (joinSettingVO != null && joinSettingVO.getSmishingNoti().equals("Y")) {
|
|
| 381 |
- // Step 1. 개인회원 여부 체크 |
|
| 382 |
- int isPersnalMemberCnt = egovSiteManagerService.selectPersnalMemberCnt(Userid); |
|
| 383 |
- if (isPersnalMemberCnt == 1) {
|
|
| 384 |
- // Step 2. 첫결제 여부 체크 |
|
| 385 |
- int isFirstPayCnt = egovSiteManagerService.selectFirstPayCnt(Userid); |
|
| 386 |
- if (isFirstPayCnt == 1) {
|
|
| 387 |
- // SMS 체크 |
|
| 388 |
- if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
|
|
| 389 |
- // 스미싱의심 SMS 알림전송 |
|
| 390 |
- mjonNoticeSendUtil.smishingSmsNoticeSend("스미싱의심/전용계좌 첫결제", Userid, mberNm);
|
|
| 391 |
- } |
|
| 392 |
- |
|
| 393 |
- // SLACK 체크 |
|
| 394 |
- if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 395 |
- // Slack 메시지 발송(단순본문) |
|
| 396 |
- String msg = "[문자온] 스미싱의심/전용계좌 첫결제 - " + mberNm +"("+ Userid + ")";
|
|
| 397 |
- mjonCommon.sendSimpleSlackMsg(msg); |
|
| 398 |
- } |
|
| 399 |
- |
|
| 400 |
- // 스미싱 의심회원으로 변경 |
|
| 401 |
- UserManageVO userManageVO = new UserManageVO(); |
|
| 402 |
- userManageVO.setSmishingYn("Y");
|
|
| 403 |
- userManageVO.setMberId(Userid); |
|
| 404 |
- userManageService.updateOneUserSmishingYnNotAlert(userManageVO); |
|
| 405 |
- } |
|
| 406 |
- } |
|
| 407 |
- } |
|
| 408 | 393 |
|
| 409 |
- } |
|
| 410 |
- catch (Exception e) {
|
|
| 394 |
+ // 대상 : 휴대폰결제, 즉시이체, 전용계좌 |
|
| 395 |
+ // Step 1. 스미싱의심 지정 여부 |
|
| 396 |
+ JoinSettingVO joinSettingVO = new JoinSettingVO(); |
|
| 397 |
+ joinSettingVO = egovSiteManagerService.selectAdminNotiDetail(); |
|
| 398 |
+ if (joinSettingVO != null && joinSettingVO.getSmishingNoti().equals("Y")) {
|
|
| 399 |
+ // Step 1. 개인회원 여부 체크 |
|
| 400 |
+ int isPersnalMemberCnt = egovSiteManagerService.selectPersnalMemberCnt(Userid); |
|
| 401 |
+ if (isPersnalMemberCnt == 1) {
|
|
| 402 |
+ // Step 2. 첫결제 여부 체크 |
|
| 403 |
+ int isFirstPayCnt = egovSiteManagerService.selectFirstPayCnt(Userid); |
|
| 404 |
+ if (isFirstPayCnt == 1) {
|
|
| 405 |
+ // SMS 체크 |
|
| 406 |
+ if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
|
|
| 407 |
+ // 스미싱의심 SMS 알림전송 |
|
| 408 |
+ mjonNoticeSendUtil.smishingSmsNoticeSend("스미싱의심/전용계좌 첫결제", Userid, mberNm);
|
|
| 409 |
+ } |
|
| 410 |
+ |
|
| 411 |
+ // SLACK 체크 |
|
| 412 |
+ if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 413 |
+ // Slack 메시지 발송(단순본문) |
|
| 414 |
+ String msg = "[문자온] 스미싱의심/전용계좌 첫결제 - " + mberNm + "(" + Userid + ")";
|
|
| 415 |
+ mjonCommon.sendSimpleSlackMsg(msg); |
|
| 416 |
+ } |
|
| 417 |
+ |
|
| 418 |
+ // 스미싱 의심회원으로 변경 |
|
| 419 |
+ UserManageVO userManageVO = new UserManageVO(); |
|
| 420 |
+ userManageVO.setSmishingYn("Y");
|
|
| 421 |
+ userManageVO.setMberId(Userid); |
|
| 422 |
+ userManageService.updateOneUserSmishingYnNotAlert(userManageVO); |
|
| 423 |
+ } |
|
| 424 |
+ } |
|
| 425 |
+ } |
|
| 426 |
+ |
|
| 427 |
+ } catch (Exception e) {
|
|
| 411 | 428 |
System.out.println("#############################################################");
|
| 412 | 429 |
System.out.println("전용계좌 슬랙알림 & 스미싱의심 처리 Error");
|
| 413 | 430 |
System.out.println("전용계좌 TrNo : " + temp.getTrNo());
|
| 414 |
- System.out.println("전용계좌 e.getMessage() : " + e.getMessage());
|
|
| 415 |
- } |
|
| 416 |
- |
|
| 417 |
- |
|
| 431 |
+ System.out.println("전용계좌 e.getMessage() : " + e.getMessage());
|
|
| 432 |
+ } |
|
| 433 |
+ |
|
| 418 | 434 |
} |
| 419 |
- |
|
| 435 |
+ |
|
| 420 | 436 |
} |
| 421 |
- |
|
| 437 |
+ |
|
| 422 | 438 |
} |
| 423 | 439 |
|
| 424 |
- |
|
| 425 |
- //카카오 환불 처리 리스트 |
|
| 440 |
+ // 카카오 환불 처리 리스트 |
|
| 426 | 441 |
public void kakaoFailPayBack() throws Exception {
|
| 427 |
- |
|
| 428 |
- //카카오 알림톡 환불 처리 |
|
| 442 |
+ |
|
| 443 |
+ // 카카오 알림톡 환불 처리 |
|
| 429 | 444 |
kakaoAlimTalkService.selectKakaoAtSentRefundList(); |
| 430 |
- |
|
| 431 |
- //카카오 친구톡 환불 처리 |
|
| 445 |
+ |
|
| 446 |
+ // 카카오 친구톡 환불 처리 |
|
| 432 | 447 |
kakaoAlimTalkService.selectKakaoFtSentRefundList(); |
| 433 |
- |
|
| 448 |
+ |
|
| 434 | 449 |
} |
| 435 | 450 |
|
| 436 | 451 |
@Override |
| 437 | 452 |
public void payBack(String type, int limitCout) throws Exception {
|
| 438 | 453 |
// 문자 환불 |
| 439 |
- if ("ONE".equals(type)) { //하루에 한번만 31일 대상으로 실행
|
|
| 440 |
- msgFailPayBackOneByDay(); |
|
| 441 |
- |
|
| 442 |
- }else { //2분 마다는 7일을 대상으로 실행
|
|
| 454 |
+ if ("ONE".equals(type)) { // 하루에 한번만 31일 대상으로 실행
|
|
| 455 |
+ msgFailPayBackOneByDay(); |
|
| 456 |
+ |
|
| 457 |
+ } else { // 2분 마다는 7일을 대상으로 실행
|
|
| 443 | 458 |
MjonMsgVO mjonMsgVO = new MjonMsgVO(); |
| 444 | 459 |
mjonMsgVO.setRecordCountPerPage(limitCout); |
| 445 |
- |
|
| 446 |
- List<MjonMsgVO> msgFailList = mjonMsgDataDAO.selectMsgSentFailSchedulerList(mjonMsgVO); |
|
| 460 |
+ |
|
| 461 |
+ List<MjonMsgVO> msgFailList = mjonMsgDataDAO.selectMsgSentFailSchedulerList(mjonMsgVO); |
|
| 447 | 462 |
long forBeforeTime = System.currentTimeMillis(); // 코드 실행 전 시간 |
| 448 |
- int batchSize = 300; |
|
| 449 |
- int totalSize = msgFailList.size(); |
|
| 450 |
- int endj =0; |
|
| 451 |
- for (int i = 0; i < totalSize; i += batchSize) {
|
|
| 452 |
- int end = Math.min(i + batchSize, totalSize); |
|
| 453 |
- long beforeTime = System.currentTimeMillis(); // 코드 실행 전 시간 |
|
| 454 |
- for(int j=endj; j < end; j++) {
|
|
| 455 |
- System.out.println(j+" : "+ end); |
|
| 456 |
- try {
|
|
| 463 |
+ int batchSize = 300; |
|
| 464 |
+ int totalSize = msgFailList.size(); |
|
| 465 |
+ int endj = 0; |
|
| 466 |
+ for (int i = 0; i < totalSize; i += batchSize) {
|
|
| 467 |
+ int end = Math.min(i + batchSize, totalSize); |
|
| 468 |
+ long beforeTime = System.currentTimeMillis(); // 코드 실행 전 시간 |
|
| 469 |
+ for (int j = endj; j < end; j++) {
|
|
| 470 |
+ System.out.println(j + " : " + end); |
|
| 471 |
+ try {
|
|
| 457 | 472 |
mjonMsgDataDAO.updateMsgSentFailPayBack(msgFailList.get(j)); |
| 458 |
- }catch(Exception ex) {
|
|
| 473 |
+ } catch (Exception ex) {
|
|
| 459 | 474 |
System.out.println("=============SchedulerUtil=====PayBack Catch =============>");
|
| 460 |
- System.out.println(msgFailList.get(j).getUserId()+" : "+ msgFailList.get(j).getMsgGroupId() +" : "+ msgFailList.get(j).getUserData()); |
|
| 475 |
+ System.out.println(msgFailList.get(j).getUserId() + " : " |
|
| 476 |
+ + msgFailList.get(j).getMsgGroupId() + " : " + msgFailList.get(j).getUserData()); |
|
| 461 | 477 |
ex.printStackTrace(); |
| 462 | 478 |
} |
| 463 |
- } |
|
| 464 |
- endj = end; |
|
| 465 |
- |
|
| 466 |
- long afterTime = System.currentTimeMillis(); // 코드 실행 후 시간 |
|
| 467 |
- long secDiffTime = (afterTime - beforeTime)/1000; // 코드 실행 전후 시간 차이 계산(초 단위) |
|
| 468 |
- System.out.println("==PayBack for 1 =============> : " + secDiffTime +"초");
|
|
| 469 |
- } |
|
| 479 |
+ } |
|
| 480 |
+ endj = end; |
|
| 481 |
+ |
|
| 482 |
+ long afterTime = System.currentTimeMillis(); // 코드 실행 후 시간 |
|
| 483 |
+ long secDiffTime = (afterTime - beforeTime) / 1000; // 코드 실행 전후 시간 차이 계산(초 단위) |
|
| 484 |
+ System.out.println("==PayBack for 1 =============> : " + secDiffTime + "초");
|
|
| 485 |
+ } |
|
| 470 | 486 |
long forAfterTime = System.currentTimeMillis(); // 코드 실행 후 시간 |
| 471 |
- long forSecDiffTime = (forAfterTime - forBeforeTime)/1000; // 코드 실행 전후 시간 차이 계산(초 단위) |
|
| 472 |
- System.out.println("==PayBack for 2 =============> 수량 : "+msgFailList.size()+" ===== " + forSecDiffTime +"초");
|
|
| 473 |
- |
|
| 487 |
+ long forSecDiffTime = (forAfterTime - forBeforeTime) / 1000; // 코드 실행 전후 시간 차이 계산(초 단위) |
|
| 488 |
+ System.out.println( |
|
| 489 |
+ "==PayBack for 2 =============> 수량 : " + msgFailList.size() + " ===== " + forSecDiffTime + "초"); |
|
| 490 |
+ |
|
| 474 | 491 |
} |
| 475 | 492 |
} |
| 493 |
+ |
|
| 494 |
+ /** |
|
| 495 |
+ * @methodName : refundTest |
|
| 496 |
+ * @author : 이호영 |
|
| 497 |
+ * @date : 2024.12.12 |
|
| 498 |
+ * @description : 환불 데이터 |
|
| 499 |
+ * @param p_type |
|
| 500 |
+ * @param request |
|
| 501 |
+ * @param model |
|
| 502 |
+ * @return |
|
| 503 |
+ * @throws Exception |
|
| 504 |
+ */ |
|
| 505 |
+ @Override |
|
| 506 |
+ public void payBack_advc(String p_type) throws Exception {
|
|
| 507 |
+ List<MjonMsgVO> msgFailList = new ArrayList<>(); |
|
| 508 |
+ |
|
| 509 |
+ msgFailList = getMsgFailList(p_type); |
|
| 510 |
+ |
|
| 511 |
+ // 리스트가 비어있는 경우 종료 |
|
| 512 |
+ if (msgFailList == null || msgFailList.isEmpty()) {
|
|
| 513 |
+ System.out.println("No payBack messages empty.");
|
|
| 514 |
+ } |
|
| 515 |
+ |
|
| 516 |
+ try {
|
|
| 517 |
+ // 필요한 필드만 DTO로 매핑 |
|
| 518 |
+ List<RefundDTO> dtoList = msgFailList.stream().map(msg -> new RefundDTO(msg.getUserId(), |
|
| 519 |
+ msg.getMsgGroupId(), Integer.parseInt(msg.getUserData()), msg.getEachPrice())) |
|
| 520 |
+ .collect(Collectors.toList()); |
|
| 521 |
+ // JSON 변환 |
|
| 522 |
+ ObjectMapper objectMapper = new ObjectMapper(); |
|
| 523 |
+ String msgFailListJson = objectMapper.writeValueAsString(dtoList); |
|
| 524 |
+ |
|
| 525 |
+ mjonMsgDataDAO.updateMsgSentFailPayBackBatch(msgFailListJson); |
|
| 526 |
+ |
|
| 527 |
+ } catch (Exception ex) {
|
|
| 528 |
+ ex.printStackTrace(); |
|
| 529 |
+ } |
|
| 530 |
+ |
|
| 531 |
+ // TODO Auto-generated method stub |
|
| 532 |
+ |
|
| 533 |
+ } |
|
| 534 |
+ |
|
| 535 |
+ /** |
|
| 536 |
+ * @methodName : getMsgFailList |
|
| 537 |
+ * @author : 이호영 |
|
| 538 |
+ * @date : 2024.12.12 |
|
| 539 |
+ * @description : 파라미터에 따라 환불 데이터 가져오기 |
|
| 540 |
+ * @param p_type |
|
| 541 |
+ * @return |
|
| 542 |
+ * @throws Exception |
|
| 543 |
+ */ |
|
| 544 |
+ private List<MjonMsgVO> getMsgFailList(String p_type) throws Exception {
|
|
| 545 |
+ List<MjonMsgVO> msgFailList = new ArrayList<>(); |
|
| 546 |
+ // 문자 환불 |
|
| 547 |
+ if ("ONE".equals(p_type)) { // 하루에 한번만 31일 대상으로 실행
|
|
| 548 |
+ |
|
| 549 |
+ msgFailList = mjonMsgDataDAO.selectMsgSentFailListOneByDay(); |
|
| 550 |
+ } else {
|
|
| 551 |
+ // 10분 마다 1주일 데이터에서 환불 대상을 찾아서 환불 한다. |
|
| 552 |
+ // schdlrManageService.msgFailPayBack(); |
|
| 553 |
+ |
|
| 554 |
+ msgFailList = mjonMsgDataDAO.selectMsgSentFailList(); |
|
| 555 |
+ } |
|
| 556 |
+ |
|
| 557 |
+ return msgFailList; |
|
| 558 |
+ } |
|
| 476 | 559 |
} |
--- src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
... | ... | @@ -4040,28 +4040,38 @@ |
| 4040 | 4040 |
</update> |
| 4041 | 4041 |
<!-- 문자발송 실패건에 대한 환불 대상 리스트 : 발송 완료되었고, 결과코드가 실패이고, 예약 취소가 아닌건들 --> |
| 4042 | 4042 |
<select id="MjonMsgDataDAO.selectMsgSentFailList" resultClass="mjonMsgVO"> |
| 4043 |
+ /*MjonMsgDataDAO.selectMsgSentFailList*/ |
|
| 4043 | 4044 |
|
| 4044 |
- SELECT USER_ID AS userId, |
|
| 4045 |
- MSG_GROUP_ID AS msgGroupId, |
|
| 4046 |
- MSG_SEQ AS msgSeq, |
|
| 4047 |
- USERDATA AS userData, |
|
| 4048 |
- REFUND_YN AS refundYn, |
|
| 4049 |
- RSLT_CODE AS rsltCode, |
|
| 4050 |
- RSLT_CODE2 AS rsltCode2, |
|
| 4051 |
- AGENT_CODE AS agentCode, |
|
| 4052 |
- DATE_FORMAT(SENT_DATE,'%Y-%m-%d %T') AS sentDate, |
|
| 4053 |
- DATE_FORMAT(RSLT_DATE,'%Y-%m-%d %T') AS rsltDate |
|
| 4054 |
- FROM MJ_MSG_DATA MMD |
|
| 4055 |
- INNER JOIN LETTNGNRLMBER MB |
|
| 4056 |
- ON MMD.USER_ID = MB.MBER_ID |
|
| 4057 |
- WHERE 1=1 |
|
| 4058 |
- AND MMD.SENT_DATE > date_add(now(), interval -7 day) |
|
| 4059 |
- AND MMD.CUR_STATE = '3' |
|
| 4060 |
- AND MMD.REFUND_YN = 'N' |
|
| 4061 |
- AND MMD.RESERVE_C_YN = 'N' |
|
| 4062 |
- AND MMD.MSG_TYPE IN ('4','6')
|
|
| 4063 |
- AND MMD.USER_ID NOT IN ('hftest', 'itntest', 'imotest', 'itntestBatch')
|
|
| 4064 |
- AND |
|
| 4045 |
+ |
|
| 4046 |
+ SELECT MMD.USER_ID AS userId |
|
| 4047 |
+ , MMD.MSG_GROUP_ID AS msgGroupId |
|
| 4048 |
+ , MMD.MSG_SEQ AS msgSeq |
|
| 4049 |
+ , MMD.USERDATA AS userData |
|
| 4050 |
+ , MMD.REFUND_YN AS refundYn |
|
| 4051 |
+ , MMD.RSLT_CODE AS rsltCode |
|
| 4052 |
+ , MMD.RSLT_CODE2 AS rsltCode2 |
|
| 4053 |
+ , MMD.AGENT_CODE AS agentCode |
|
| 4054 |
+ , DATE_FORMAT(MMD.SENT_DATE,'%Y-%m-%d %T') AS sentDate |
|
| 4055 |
+ , DATE_FORMAT(MMD.RSLT_DATE,'%Y-%m-%d %T') AS rsltDate |
|
| 4056 |
+ , MGD.EACH_PRICE AS eachPrice |
|
| 4057 |
+ FROM MJ_MSG_DATA MMD |
|
| 4058 |
+ INNER JOIN LETTNGNRLMBER MB |
|
| 4059 |
+ ON MMD.USER_ID = MB.MBER_ID |
|
| 4060 |
+ LEFT JOIN MJ_MSG_GROUP_DATA MGD |
|
| 4061 |
+ ON MMD.MSG_GROUP_ID = MGD.MSG_GROUP_ID |
|
| 4062 |
+ LEFT JOIN MJ_CASH MC |
|
| 4063 |
+ ON MC.ORDER_ID = MMD.USERDATA |
|
| 4064 |
+ AND MC.USER_ID = MMD.USER_ID |
|
| 4065 |
+ WHERE 1=1 |
|
| 4066 |
+ AND MMD.SENT_DATE > date_add(now(), interval -7 day) |
|
| 4067 |
+ AND MMD.CUR_STATE = '3' |
|
| 4068 |
+ AND MMD.REFUND_YN = 'N' |
|
| 4069 |
+ AND MMD.RESERVE_C_YN = 'N' |
|
| 4070 |
+ AND MMD.MSG_TYPE IN ('4','6')
|
|
| 4071 |
+ AND MMD.USER_ID NOT IN ('hftest', 'itntest', 'imotest', 'itntestBatch')
|
|
| 4072 |
+ AND MGD.EACH_PRICE != 0 |
|
| 4073 |
+ AND MC.ORDER_ID IS NULL |
|
| 4074 |
+ AND |
|
| 4065 | 4075 |
(CASE |
| 4066 | 4076 |
WHEN MMD.AGENT_CODE = '01' AND ( MMD.RSLT_CODE = '100' AND (MMD.RSLT_CODE2 = '0')) |
| 4067 | 4077 |
THEN 'S' |
... | ... | @@ -4088,6 +4098,9 @@ |
| 4088 | 4098 |
THEN 'W' |
| 4089 | 4099 |
ELSE 'F' |
| 4090 | 4100 |
END) IN ('F')
|
| 4101 |
+ ORDER BY MMD.USER_ID |
|
| 4102 |
+ LIMIT 10000 |
|
| 4103 |
+ |
|
| 4091 | 4104 |
</select> |
| 4092 | 4105 |
|
| 4093 | 4106 |
<!-- 문자발송 실패건에 대한 환불 대상 리스트 : 발송 완료되었고, 결과코드가 실패이고, 예약 취소가 아닌건들 --> |
... | ... | @@ -4145,54 +4158,65 @@ |
| 4145 | 4158 |
|
| 4146 | 4159 |
<!-- 문자발송 실패건에 대한 환불 대상 리스트 : 발송 완료되었고, 결과코드가 실패이고, 예약 취소가 아닌건들(하루에 한번은 31일 실행) --> |
| 4147 | 4160 |
<select id="MjonMsgDataDAO.selectMsgSentFailListOneByDay" resultClass="mjonMsgVO"> |
| 4148 |
- |
|
| 4149 |
- SELECT USER_ID AS userId, |
|
| 4150 |
- MSG_GROUP_ID AS msgGroupId, |
|
| 4151 |
- MSG_SEQ AS msgSeq, |
|
| 4152 |
- USERDATA AS userData, |
|
| 4153 |
- REFUND_YN AS refundYn, |
|
| 4154 |
- RSLT_CODE AS rsltCode, |
|
| 4155 |
- RSLT_CODE2 AS rsltCode2, |
|
| 4156 |
- AGENT_CODE AS agentCode, |
|
| 4157 |
- DATE_FORMAT(SENT_DATE,'%Y-%m-%d %T') AS sentDate, |
|
| 4158 |
- DATE_FORMAT(RSLT_DATE,'%Y-%m-%d %T') AS rsltDate |
|
| 4159 |
- FROM MJ_MSG_DATA MMD |
|
| 4160 |
- INNER JOIN LETTNGNRLMBER MB |
|
| 4161 |
- ON MMD.USER_ID = MB.MBER_ID |
|
| 4162 |
- WHERE 1=1 |
|
| 4163 |
- AND MMD.SENT_DATE > date_add(now(), interval -40 day) |
|
| 4164 |
- AND MMD.CUR_STATE = '3' |
|
| 4165 |
- AND MMD.REFUND_YN = 'N' |
|
| 4166 |
- AND MMD.RESERVE_C_YN = 'N' |
|
| 4167 |
- AND MMD.MSG_TYPE IN ('4','6')
|
|
| 4168 |
- AND MMD.USER_ID NOT IN ('hftest', 'itntest', 'imotest', 'itntestBatch')
|
|
| 4169 |
- AND |
|
| 4170 |
- (CASE |
|
| 4171 |
- WHEN MMD.AGENT_CODE = '01' AND ( MMD.RSLT_CODE = '100' AND (MMD.RSLT_CODE2 = '0')) |
|
| 4172 |
- THEN 'S' |
|
| 4173 |
- WHEN MMD.AGENT_CODE = '02' AND (MMD.RSLT_CODE = '0') |
|
| 4174 |
- THEN 'S' |
|
| 4175 |
- 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') |
|
| 4176 |
- THEN 'S' |
|
| 4177 |
- WHEN MMD.AGENT_CODE = '04' AND (MMD.RSLT_CODE = '4100' OR MMD.RSLT_CODE = '6600') |
|
| 4178 |
- THEN 'S' |
|
| 4179 |
- WHEN MMD.AGENT_CODE = '05' AND (MMD.RSLT_CODE = '1000' OR MMD.RSLT_CODE = '1001') |
|
| 4180 |
- THEN 'S' |
|
| 4181 |
- WHEN MMD.AGENT_CODE = '07' AND (MMD.RSLT_CODE = '6' OR MMD.RSLT_CODE = '1000') |
|
| 4182 |
- THEN 'S' |
|
| 4183 |
- WHEN MMD.AGENT_CODE = '08' AND (MMD.RSLT_CODE = '1000' OR MMD.RSLT_CODE = '1001') |
|
| 4184 |
- THEN 'S' |
|
| 4185 |
- WHEN MMD.AGENT_CODE = '09' AND (MMD.RSLT_CODE = '1000' OR MMD.RSLT_CODE = '1001') |
|
| 4186 |
- THEN 'S' |
|
| 4187 |
- WHEN ( |
|
| 4188 |
- MMD.RSLT_CODE IS NULL |
|
| 4189 |
- AND MMD.RSLT_CODE2 IS NULL |
|
| 4190 |
- AND MMD.SENT_DATE IS NULL |
|
| 4191 |
- AND MMD.RSLT_DATE IS NULL |
|
| 4161 |
+ /*MjonMsgDataDAO.selectMsgSentFailListOneByDay*/ |
|
| 4162 |
+ |
|
| 4163 |
+ SELECT MMD.USER_ID AS userId |
|
| 4164 |
+ , MMD.MSG_GROUP_ID AS msgGroupId |
|
| 4165 |
+ , MMD.MSG_SEQ AS msgSeq |
|
| 4166 |
+ , MMD.USERDATA AS userData |
|
| 4167 |
+ , MMD.REFUND_YN AS refundYn |
|
| 4168 |
+ , MMD.RSLT_CODE AS rsltCode |
|
| 4169 |
+ , MMD.RSLT_CODE2 AS rsltCode2 |
|
| 4170 |
+ , MMD.AGENT_CODE AS agentCode |
|
| 4171 |
+ , DATE_FORMAT(MMD.SENT_DATE,'%Y-%m-%d %T') AS sentDate |
|
| 4172 |
+ , DATE_FORMAT(MMD.RSLT_DATE,'%Y-%m-%d %T') AS rsltDate |
|
| 4173 |
+ , MGD.EACH_PRICE AS eachPrice |
|
| 4174 |
+ FROM MJ_MSG_DATA MMD |
|
| 4175 |
+ INNER JOIN LETTNGNRLMBER MB |
|
| 4176 |
+ ON MMD.USER_ID = MB.MBER_ID |
|
| 4177 |
+ LEFT JOIN MJ_MSG_GROUP_DATA MGD |
|
| 4178 |
+ ON MMD.MSG_GROUP_ID = MGD.MSG_GROUP_ID |
|
| 4179 |
+ LEFT JOIN MJ_CASH MC |
|
| 4180 |
+ ON MC.ORDER_ID = MMD.USERDATA |
|
| 4181 |
+ AND MC.USER_ID = MMD.USER_ID |
|
| 4182 |
+ WHERE 1=1 |
|
| 4183 |
+ AND MMD.SENT_DATE > date_add(now(), interval -40 day) |
|
| 4184 |
+ AND MMD.CUR_STATE = '3' |
|
| 4185 |
+ AND MMD.REFUND_YN = 'N' |
|
| 4186 |
+ AND MMD.RESERVE_C_YN = 'N' |
|
| 4187 |
+ AND MMD.MSG_TYPE IN ('4','6')
|
|
| 4188 |
+ AND MMD.USER_ID NOT IN ('hftest', 'itntest', 'imotest', 'itntestBatch')
|
|
| 4189 |
+ AND MGD.EACH_PRICE != 0 |
|
| 4190 |
+ AND MC.ORDER_ID IS NULL |
|
| 4191 |
+ AND |
|
| 4192 |
+ (CASE |
|
| 4193 |
+ WHEN MMD.AGENT_CODE = '01' AND ( MMD.RSLT_CODE = '100' AND (MMD.RSLT_CODE2 = '0')) |
|
| 4194 |
+ THEN 'S' |
|
| 4195 |
+ WHEN MMD.AGENT_CODE = '02' AND (MMD.RSLT_CODE = '0') |
|
| 4196 |
+ THEN 'S' |
|
| 4197 |
+ 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') |
|
| 4198 |
+ THEN 'S' |
|
| 4199 |
+ WHEN MMD.AGENT_CODE = '04' AND (MMD.RSLT_CODE = '4100' OR MMD.RSLT_CODE = '6600') |
|
| 4200 |
+ THEN 'S' |
|
| 4201 |
+ WHEN MMD.AGENT_CODE = '05' AND (MMD.RSLT_CODE = '1000' OR MMD.RSLT_CODE = '1001') |
|
| 4202 |
+ THEN 'S' |
|
| 4203 |
+ WHEN MMD.AGENT_CODE = '07' AND (MMD.RSLT_CODE = '6' OR MMD.RSLT_CODE = '1000') |
|
| 4204 |
+ THEN 'S' |
|
| 4205 |
+ WHEN MMD.AGENT_CODE = '08' AND (MMD.RSLT_CODE = '1000' OR MMD.RSLT_CODE = '1001') |
|
| 4206 |
+ THEN 'S' |
|
| 4207 |
+ WHEN MMD.AGENT_CODE = '09' AND (MMD.RSLT_CODE = '1000' OR MMD.RSLT_CODE = '1001') |
|
| 4208 |
+ THEN 'S' |
|
| 4209 |
+ WHEN ( |
|
| 4210 |
+ MMD.RSLT_CODE IS NULL |
|
| 4211 |
+ AND MMD.RSLT_CODE2 IS NULL |
|
| 4212 |
+ AND MMD.SENT_DATE IS NULL |
|
| 4213 |
+ AND MMD.RSLT_DATE IS NULL |
|
| 4192 | 4214 |
) |
| 4193 | 4215 |
THEN 'W' |
| 4194 | 4216 |
ELSE 'F' |
| 4195 | 4217 |
END) IN ('F')
|
| 4218 |
+ ORDER BY MMD.USER_ID |
|
| 4219 |
+ LIMIT 10000 |
|
| 4196 | 4220 |
|
| 4197 | 4221 |
</select> |
| 4198 | 4222 |
|
--- src/main/webapp/js/MJUtill.js
+++ src/main/webapp/js/MJUtill.js
... | ... | @@ -55,12 +55,12 @@ |
| 55 | 55 |
|
| 56 | 56 |
위 번호로 시작하는 팩스 번호만 허용함. |
| 57 | 57 |
*/ |
| 58 |
-function checkFaxNum(str) {
|
|
| 59 |
- str = removeDash(str); |
|
| 60 |
- var subNum = str.substring(0,3); |
|
| 61 |
- var regExp = /^(02|0[3-6][1-4]|030|050|060|070|080|1\d{2})$/;
|
|
| 62 |
- return regExp.test(subNum); |
|
| 63 |
-} |
|
| 58 |
+ function checkFaxNum(str) {
|
|
| 59 |
+ str = removeDash(str); |
|
| 60 |
+ var subNum = str.substring(0,3); |
|
| 61 |
+ var regExp = /^(02|03[1-3]|04[1-4]|05[1-5]|06[1-4]|030|050|060|070|080|1\d{2})$/;
|
|
| 62 |
+ return regExp.test(subNum); |
|
| 63 |
+ } |
|
| 64 | 64 |
|
| 65 | 65 |
/* |
| 66 | 66 |
* 일반전화 유효성 체크 |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?