휴면회원 SMS발송 기능 추가 작업중
@c5e2bcdfea272e72f67ca639a5a4b3d937464a1c
--- src/main/java/itn/let/mail/service/impl/MailTemplateServiceImpl.java
+++ src/main/java/itn/let/mail/service/impl/MailTemplateServiceImpl.java
... | ... | @@ -25,6 +25,7 @@ |
| 25 | 25 |
import itn.let.uat.uia.web.SendLogVO; |
| 26 | 26 |
import itn.let.uat.uia.web.SendMail; |
| 27 | 27 |
import itn.let.uss.umt.service.MberManageVO; |
| 28 |
+import itn.let.utl.user.service.MjonNoticeSendUtil; |
|
| 28 | 29 |
|
| 29 | 30 |
@Service("MailTemplateService")
|
| 30 | 31 |
public class MailTemplateServiceImpl extends EgovAbstractServiceImpl implements MailTemplateService {
|
... | ... | @@ -53,6 +54,10 @@ |
| 53 | 54 |
//문자발송 서비스 |
| 54 | 55 |
@Resource(name = "MjonMsgDataService") |
| 55 | 56 |
private MjonMsgDataService mjonMsgDataService; |
| 57 |
+ |
|
| 58 |
+ /** 알림전송 Util */ |
|
| 59 |
+ @Resource(name = "mjonNoticeSendUtil") |
|
| 60 |
+ private MjonNoticeSendUtil mjonNoticeSendUtil; |
|
| 56 | 61 |
|
| 57 | 62 |
// 휴면회원 메일발송 |
| 58 | 63 |
public void mailSendMemberDormant() throws Exception {
|
... | ... | @@ -121,6 +126,32 @@ |
| 121 | 126 |
|
| 122 | 127 |
} |
| 123 | 128 |
|
| 129 |
+ // 휴면회원 SMS발송 |
|
| 130 |
+ public void smsSendMemberDormant() throws Exception {
|
|
| 131 |
+ String mberId = ""; |
|
| 132 |
+ String mberNm = ""; |
|
| 133 |
+ String loginDt = ""; |
|
| 134 |
+ String moblphonNo = ""; |
|
| 135 |
+ |
|
| 136 |
+ // 로그인 안한지 1년되기 한달전 휴면회원 전환 안내메일 대상자 |
|
| 137 |
+ MberManageVO mberManageVO = new MberManageVO(); |
|
| 138 |
+ mberManageVO.setDormantDay(335); |
|
| 139 |
+ List<MberManageVO> mberDormantList = mberManageDAO.selectMberDormantList(mberManageVO); |
|
| 140 |
+ |
|
| 141 |
+ for (MberManageVO item : mberDormantList) {
|
|
| 142 |
+ mberId = item.getMberId(); |
|
| 143 |
+ mberNm = item.getMberNm(); |
|
| 144 |
+ loginDt = item.getLoginDt(); |
|
| 145 |
+ moblphonNo = item.getMoblphonNo(); |
|
| 146 |
+ |
|
| 147 |
+ // 시스템 문자발송 |
|
| 148 |
+ String callTo = moblphonNo; |
|
| 149 |
+ String smsTxt = "시스템발송 테스트"; |
|
| 150 |
+ //mjonNoticeSendUtil.userSmsSendBySystem(callTo, smsTxt); |
|
| 151 |
+ } |
|
| 152 |
+ } |
|
| 153 |
+ |
|
| 154 |
+ |
|
| 124 | 155 |
@Override |
| 125 | 156 |
public StatusResponse mailSendItnRecruitFile(MultipartFile multi) {
|
| 126 | 157 |
|
--- src/main/java/itn/let/mail/web/MailTemplateController.java
+++ src/main/java/itn/let/mail/web/MailTemplateController.java
... | ... | @@ -8,12 +8,17 @@ |
| 8 | 8 |
import org.springframework.web.servlet.ModelAndView; |
| 9 | 9 |
|
| 10 | 10 |
import itn.let.mail.service.MailTemplateService; |
| 11 |
+import itn.let.utl.user.service.MjonNoticeSendUtil; |
|
| 11 | 12 |
|
| 12 | 13 |
@Controller |
| 13 | 14 |
public class MailTemplateController {
|
| 14 | 15 |
|
| 15 | 16 |
@Resource (name = "MailTemplateService") |
| 16 | 17 |
private MailTemplateService mailTemplateService; |
| 18 |
+ |
|
| 19 |
+ /** 알림전송 Util */ |
|
| 20 |
+ @Resource(name = "mjonNoticeSendUtil") |
|
| 21 |
+ private MjonNoticeSendUtil mjonNoticeSendUtil; |
|
| 17 | 22 |
|
| 18 | 23 |
// 휴면회원 메일발송 |
| 19 | 24 |
@RequestMapping("/mail/mailTmplSendMemberDormantAjax.do")
|
... | ... | @@ -28,7 +33,11 @@ |
| 28 | 33 |
String msg = ""; |
| 29 | 34 |
|
| 30 | 35 |
try {
|
| 31 |
- |
|
| 36 |
+ // 시스템 문자발송 테스트 |
|
| 37 |
+ String callTo = "01087872615"; |
|
| 38 |
+ String smsTxt = "시스템발송 테스트"; |
|
| 39 |
+ mjonNoticeSendUtil.userSmsSendBySystem(callTo, smsTxt); |
|
| 40 |
+ |
|
| 32 | 41 |
// 휴면회원 메일발송 |
| 33 | 42 |
mailTemplateService.mailSendMemberDormant(); |
| 34 | 43 |
|
--- src/main/java/itn/let/utl/user/service/MjonNoticeSendUtil.java
+++ src/main/java/itn/let/utl/user/service/MjonNoticeSendUtil.java
... | ... | @@ -394,6 +394,82 @@ |
| 394 | 394 |
} |
| 395 | 395 |
|
| 396 | 396 |
/** |
| 397 |
+ * @Method Name : userSmsSystemSend |
|
| 398 |
+ * @작성일 : 2023. 07. 18. |
|
| 399 |
+ * @작성자 : JSP |
|
| 400 |
+ * @수정일 : 2023. 07. 18. |
|
| 401 |
+ * @작성자 : JSP |
|
| 402 |
+ * @Method 설명 : 사용자에게 System 문자 발송 |
|
| 403 |
+ */ |
|
| 404 |
+ public void userSmsSendBySystem(String callTo, String smsTxt) throws Exception{
|
|
| 405 |
+ |
|
| 406 |
+ try {
|
|
| 407 |
+ Date nowDate = new Date(); |
|
| 408 |
+ SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
|
|
| 409 |
+ |
|
| 410 |
+ MjonMsgVO mjonMsgVO = new MjonMsgVO(); |
|
| 411 |
+ |
|
| 412 |
+ int fileCount = 0; |
|
| 413 |
+ String msgType = "4"; // 단문 |
|
| 414 |
+ String msgDiv = "S"; // 단문 |
|
| 415 |
+ |
|
| 416 |
+ //문자열 길이 체크 해주기 |
|
| 417 |
+ String charset = "euc-kr"; //문자 바이트 계산에 필요한 캐릭터 셋 : 한글 2Byte로 계산 |
|
| 418 |
+ String smsCont = smsTxt.replace("\r\n", "\n");
|
|
| 419 |
+ int bytes = smsCont.getBytes(charset).length; |
|
| 420 |
+ if(bytes > 90) {//장문일 경우 문자타입을 변경해준다.
|
|
| 421 |
+ msgType = "6"; |
|
| 422 |
+ } |
|
| 423 |
+ |
|
| 424 |
+ // 문자타입 구분 |
|
| 425 |
+ if (msgType.equals("6")) {
|
|
| 426 |
+ if (fileCount > 0) {
|
|
| 427 |
+ msgDiv = "P"; // 그림 |
|
| 428 |
+ mjonMsgVO.setNeoType("4");
|
|
| 429 |
+ } |
|
| 430 |
+ else {
|
|
| 431 |
+ msgDiv = "L"; // 장문 |
|
| 432 |
+ } |
|
| 433 |
+ } |
|
| 434 |
+ |
|
| 435 |
+ mjonMsgVO.setMsgType(msgType); // 단문 : 4, 장문, 그림 : 6 |
|
| 436 |
+ mjonMsgVO.setMsgDiv(msgDiv); // 단문 : S, 장문 : L |
|
| 437 |
+ |
|
| 438 |
+ // 문자타입별 대표전송사 정보 |
|
| 439 |
+ MjonMsgVO mjonMsgVO2 = new MjonMsgVO(); |
|
| 440 |
+ mjonMsgVO2 = mjonMsgService.selectRepMsgAgetnInfo(mjonMsgVO); |
|
| 441 |
+ |
|
| 442 |
+ mjonMsgVO.setAgentCode(mjonMsgVO2.getAgentCode()); //전송사 선택 |
|
| 443 |
+ mjonMsgVO.setTotPrice(mjonMsgVO2.getAgentPrice().toString()); //총금액 |
|
| 444 |
+ mjonMsgVO.setEachPrice(mjonMsgVO2.getAgentPrice().toString()); //한건 금액 |
|
| 445 |
+ mjonMsgVO.setUserId("system"); // 문자전송 ID
|
|
| 446 |
+ mjonMsgVO.setMsgKind("S"); //문자종류 관리자가 발송하는 것은 msgKind : S 로 셋팅
|
|
| 447 |
+ mjonMsgVO.setFileCnt("0"); //첨부이미지 갯수
|
|
| 448 |
+ mjonMsgVO.setSmsTxt(smsTxt); // 문자 내용 |
|
| 449 |
+ mjonMsgVO.setReserveYn("N"); // 즉시 전송
|
|
| 450 |
+ mjonMsgVO.setCallFrom("01084329333"); // 시스템 문자발송 번호
|
|
| 451 |
+ mjonMsgVO.setUserId("system");
|
|
| 452 |
+ mjonMsgVO.setMsgPayCode("SMS");
|
|
| 453 |
+ mjonMsgVO.setMsgGroupCnt("0");
|
|
| 454 |
+ mjonMsgVO.setReqDate(simpleDateFormat2.format(nowDate)); |
|
| 455 |
+ |
|
| 456 |
+ // 받는사람 |
|
| 457 |
+ mjonMsgVO.setCallTo(callTo); |
|
| 458 |
+ |
|
| 459 |
+ MjonMsgReturnVO returnVO = mjonMsgDataService.insertSysMsgDataInfo(mjonMsgVO); |
|
| 460 |
+ returnVO.getSendMsgCnt(); |
|
| 461 |
+ returnVO.getSendMsgBlockCnt(); |
|
| 462 |
+ |
|
| 463 |
+ // 시스템 발송 로그 |
|
| 464 |
+ sendLogInsert(returnVO.getMsgGroupId(), "1" ,mjonMsgVO.getCallFrom() ,mjonMsgVO.getCallTo(), smsTxt); |
|
| 465 |
+ |
|
| 466 |
+ } |
|
| 467 |
+ catch (Exception e) {
|
|
| 468 |
+ |
|
| 469 |
+ } |
|
| 470 |
+ } |
|
| 471 |
+ |
|
| 472 |
+ /** |
|
| 397 | 473 |
* @Method Name : userAllTermsEmailSend |
| 398 | 474 |
* @작성일 : 2023. 3. 30. |
| 399 | 475 |
* @작성자 : JSP |
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?