--- src/main/java/itn/let/cert/phone/web/CertPhoneController.java
+++ src/main/java/itn/let/cert/phone/web/CertPhoneController.java
... | ... | @@ -5,6 +5,7 @@ |
| 5 | 5 |
import java.util.Map; |
| 6 | 6 |
|
| 7 | 7 |
import javax.annotation.Resource; |
| 8 |
+import javax.servlet.http.HttpServletRequest; |
|
| 8 | 9 |
|
| 9 | 10 |
import org.apache.commons.lang3.StringUtils; |
| 10 | 11 |
import org.springframework.http.HttpStatus; |
... | ... | @@ -158,7 +159,8 @@ |
| 158 | 159 |
|
| 159 | 160 |
|
| 160 | 161 |
@RequestMapping(value = {"/cert/phone/sendSysMsgDataAjax.do"})
|
| 161 |
- public ResponseEntity<StatusResponse> sendSysMsgDataAjax(MberCertPhoneVO mberCertPhoneVO) throws Exception {
|
|
| 162 |
+ public ResponseEntity<StatusResponse> sendSysMsgDataAjax(MberCertPhoneVO mberCertPhoneVO, |
|
| 163 |
+ HttpServletRequest request) throws Exception {
|
|
| 162 | 164 |
|
| 163 | 165 |
|
| 164 | 166 |
//로그인 권한정보 불러오기 |
... | ... | @@ -178,7 +180,7 @@ |
| 178 | 180 |
|
| 179 | 181 |
MjonMsgVO mjonMsgVO = new MjonMsgVO(); |
| 180 | 182 |
mjonMsgVO.setCallTo(mberCertPhoneVO.getMbtlnum()); |
| 181 |
- MjonMsgReturnVO returnVO = mjonMsgDataService.sendSysMsgData(mjonMsgVO); |
|
| 183 |
+ MjonMsgReturnVO returnVO = mjonMsgDataService.sendSysMsgData(mjonMsgVO, request); |
|
| 182 | 184 |
|
| 183 | 185 |
String resultSts = returnVO.getSendMsgCnt(); |
| 184 | 186 |
String resultBlockSts = returnVO.getSendMsgBlockCnt(); |
--- src/main/java/itn/let/mjo/mjocommon/MjonCommon.java
+++ src/main/java/itn/let/mjo/mjocommon/MjonCommon.java
... | ... | @@ -63,16 +63,57 @@ |
| 63 | 63 |
|
| 64 | 64 |
|
| 65 | 65 |
|
| 66 |
- |
|
| 67 |
- |
|
| 68 | 66 |
/** |
| 69 |
- * @methodName : getAdminSandSlack |
|
| 67 |
+ * @methodName : getAdminMsgSandSlack |
|
| 70 | 68 |
* @author : 이호영 |
| 71 | 69 |
* @date : 2024.12.04 |
| 72 | 70 |
* @description : 기존 메소드 리펙토링 |
| 73 | 71 |
* @param mjonMsgVO |
| 74 | 72 |
*/ |
| 75 |
- public void getAdminSandSlack(MjonMsgVO mjonMsgVO) {
|
|
| 73 |
+ public void getAdminSandSlack(String smsTxt, String sandName) {
|
|
| 74 |
+ |
|
| 75 |
+ HttpClient client = new HttpClient(); |
|
| 76 |
+ PostMethod post = new PostMethod(SLACK_URL); |
|
| 77 |
+ |
|
| 78 |
+ try {
|
|
| 79 |
+ // 메시지 내용 설정 |
|
| 80 |
+ |
|
| 81 |
+ // Slack 메시지 생성 |
|
| 82 |
+ JSONObject json = new JSONObject(); |
|
| 83 |
+ json.put("channel", SLACK_CHANNEL);
|
|
| 84 |
+ json.put("text", smsTxt);
|
|
| 85 |
+ json.put("username", sandName);
|
|
| 86 |
+ |
|
| 87 |
+ // Slack 요청 |
|
| 88 |
+ post.addParameter("payload", json.toString());
|
|
| 89 |
+ post.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
|
|
| 90 |
+ |
|
| 91 |
+ // Slack 응답 처리 |
|
| 92 |
+ int responseCode = client.executeMethod(post); |
|
| 93 |
+ if (responseCode != HttpStatus.SC_OK) {
|
|
| 94 |
+ log.warn("Slack 메시지 전송 실패. Response: {}", post.getResponseBodyAsString());
|
|
| 95 |
+ } |
|
| 96 |
+ |
|
| 97 |
+ } catch (IllegalArgumentException e) {
|
|
| 98 |
+ log.error("Slack 메시지 전송 중 IllegalArgumentException 발생", e);
|
|
| 99 |
+ } catch (IOException e) {
|
|
| 100 |
+ log.error("Slack 메시지 전송 중 IOException 발생", e);
|
|
| 101 |
+ } catch (Exception e) {
|
|
| 102 |
+ log.error("Slack 메시지 전송 중 Exception 발생", e);
|
|
| 103 |
+ } finally {
|
|
| 104 |
+ post.releaseConnection(); |
|
| 105 |
+ } |
|
| 106 |
+ } |
|
| 107 |
+ |
|
| 108 |
+ |
|
| 109 |
+ /** |
|
| 110 |
+ * @methodName : getAdminMsgSandSlack |
|
| 111 |
+ * @author : 이호영 |
|
| 112 |
+ * @date : 2024.12.04 |
|
| 113 |
+ * @description : 기존 메소드 리펙토링 |
|
| 114 |
+ * @param mjonMsgVO |
|
| 115 |
+ */ |
|
| 116 |
+ public void getAdminMsgSandSlack(MjonMsgVO mjonMsgVO) {
|
|
| 76 | 117 |
|
| 77 | 118 |
HttpClient client = new HttpClient(); |
| 78 | 119 |
PostMethod post = new PostMethod(SLACK_URL); |
... | ... | @@ -116,7 +157,7 @@ |
| 116 | 157 |
* @작성자 : WYH |
| 117 | 158 |
* @Method 설명 : slack 메시지 전송 |
| 118 | 159 |
*/ |
| 119 |
- /*public void getAdminSandSlack(MjonMsgVO mjonMsgVO) {
|
|
| 160 |
+ /*public void getAdminMsgSandSlack(MjonMsgVO mjonMsgVO) {
|
|
| 120 | 161 |
|
| 121 | 162 |
HttpClient client = new HttpClient(); |
| 122 | 163 |
PostMethod post = new PostMethod(url); |
--- src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainDataController.java
+++ src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainDataController.java
... | ... | @@ -3289,7 +3289,7 @@ |
| 3289 | 3289 |
if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림설정 시간에 포함되지 않는 경우 슬랙 알림 발송
|
| 3290 | 3290 |
|
| 3291 | 3291 |
MjonCommon comm = new MjonCommon(); |
| 3292 |
- comm.getAdminSandSlack(mjonMsgVO); |
|
| 3292 |
+ comm.getAdminMsgSandSlack(mjonMsgVO); |
|
| 3293 | 3293 |
|
| 3294 | 3294 |
} |
| 3295 | 3295 |
|
--- src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainHGDataController.java
+++ src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainHGDataController.java
... | ... | @@ -1140,7 +1140,7 @@ |
| 1140 | 1140 |
if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림설정 시간에 포함되지 않는 경우 슬랙 알림 발송
|
| 1141 | 1141 |
|
| 1142 | 1142 |
MjonCommon comm = new MjonCommon(); |
| 1143 |
- comm.getAdminSandSlack(mjonMsgVO); |
|
| 1143 |
+ comm.getAdminMsgSandSlack(mjonMsgVO); |
|
| 1144 | 1144 |
|
| 1145 | 1145 |
} |
| 1146 | 1146 |
|
--- src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainTWDataController.java
+++ src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainTWDataController.java
... | ... | @@ -2124,7 +2124,7 @@ |
| 2124 | 2124 |
if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림설정 시간에 포함되지 않는 경우 슬랙 알림 발송
|
| 2125 | 2125 |
|
| 2126 | 2126 |
MjonCommon comm = new MjonCommon(); |
| 2127 |
- comm.getAdminSandSlack(mjonMsgVO); |
|
| 2127 |
+ comm.getAdminMsgSandSlack(mjonMsgVO); |
|
| 2128 | 2128 |
|
| 2129 | 2129 |
} |
| 2130 | 2130 |
|
--- src/main/java/itn/let/mjo/msgdata/service/MjonMsgDataService.java
+++ src/main/java/itn/let/mjo/msgdata/service/MjonMsgDataService.java
... | ... | @@ -188,7 +188,7 @@ |
| 188 | 188 |
|
| 189 | 189 |
public StatusResponse sendMsgData_advc(MjonMsgVO mjonMsgVO, HttpServletRequest request) throws Exception; |
| 190 | 190 |
|
| 191 |
- public MjonMsgReturnVO sendSysMsgData(MjonMsgVO mjonMsgVO) throws Exception; |
|
| 191 |
+ public MjonMsgReturnVO sendSysMsgData(MjonMsgVO mjonMsgVO, HttpServletRequest request) throws Exception; |
|
| 192 | 192 |
|
| 193 | 193 |
|
| 194 | 194 |
|
--- src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java
+++ src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java
... | ... | @@ -2,6 +2,7 @@ |
| 2 | 2 |
|
| 3 | 3 |
import java.math.BigDecimal; |
| 4 | 4 |
import java.math.RoundingMode; |
| 5 |
+import java.net.URI; |
|
| 5 | 6 |
import java.text.ParseException; |
| 6 | 7 |
import java.text.SimpleDateFormat; |
| 7 | 8 |
import java.util.ArrayList; |
... | ... | @@ -147,6 +148,7 @@ |
| 147 | 148 |
|
| 148 | 149 |
@Autowired |
| 149 | 150 |
private MjonCommon mjonCommon; |
| 151 |
+ |
|
| 150 | 152 |
|
| 151 | 153 |
public List<MjonMsgDataVO> selectCcmCmmCodeList() throws Exception {
|
| 152 | 154 |
|
... | ... | @@ -4172,7 +4174,7 @@ |
| 4172 | 4174 |
|
| 4173 | 4175 |
if (isNotified) {
|
| 4174 | 4176 |
System.out.println("스미싱 알림이 처리되었습니다.");
|
| 4175 |
- mjonCommon.getAdminSandSlack(mjonMsgVO); |
|
| 4177 |
+ mjonCommon.getAdminMsgSandSlack(mjonMsgVO); |
|
| 4176 | 4178 |
} else if("Y".equalsIgnoreCase(mjonMsgVO.getSpamStatus())){
|
| 4177 | 4179 |
System.out.println("==알림 예외 시간==");
|
| 4178 | 4180 |
mjonMsgDAO.insertSpamPassMsgData(mjonMsgVO); |
... | ... | @@ -5022,7 +5024,7 @@ |
| 5022 | 5024 |
} |
| 5023 | 5025 |
|
| 5024 | 5026 |
@Override |
| 5025 |
- public MjonMsgReturnVO sendSysMsgData(MjonMsgVO mjonMsgVO) throws Exception {
|
|
| 5027 |
+ public MjonMsgReturnVO sendSysMsgData(MjonMsgVO mjonMsgVO,HttpServletRequest request) throws Exception {
|
|
| 5026 | 5028 |
|
| 5027 | 5029 |
|
| 5028 | 5030 |
|
... | ... | @@ -5099,6 +5101,22 @@ |
| 5099 | 5101 |
|
| 5100 | 5102 |
mjonMsgDataService.insertSysMsgLog(sendLogVO); |
| 5101 | 5103 |
|
| 5104 |
+ |
|
| 5105 |
+ String fullUrl = request.getRequestURL().toString(); |
|
| 5106 |
+ try {
|
|
| 5107 |
+ URI uri = new URI(fullUrl); |
|
| 5108 |
+ String domain = uri.getHost(); // www.munjaon.co.kr 반환 |
|
| 5109 |
+ |
|
| 5110 |
+ if(domain.indexOf("munjaon.co.kr") < 0) {
|
|
| 5111 |
+ mjonCommon.getAdminSandSlack(contents, mjonMsgVO.getCallTo()); |
|
| 5112 |
+ } |
|
| 5113 |
+ |
|
| 5114 |
+ } catch (Exception e) {
|
|
| 5115 |
+ } |
|
| 5116 |
+ |
|
| 5117 |
+ |
|
| 5118 |
+ |
|
| 5119 |
+ |
|
| 5102 | 5120 |
return returnVO; |
| 5103 | 5121 |
} |
| 5104 | 5122 |
|
--- src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java
+++ src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java
... | ... | @@ -3449,7 +3449,7 @@ |
| 3449 | 3449 |
if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림 예외설정 시간에 포함되지 않는 경우 슬랙 알림 발송
|
| 3450 | 3450 |
|
| 3451 | 3451 |
MjonCommon comm = new MjonCommon(); |
| 3452 |
- comm.getAdminSandSlack(mjonMsgVO); |
|
| 3452 |
+ comm.getAdminMsgSandSlack(mjonMsgVO); |
|
| 3453 | 3453 |
|
| 3454 | 3454 |
} |
| 3455 | 3455 |
|
--- src/main/java/itn/let/mjo/test/web/TestController.java
+++ src/main/java/itn/let/mjo/test/web/TestController.java
... | ... | @@ -2175,14 +2175,14 @@ |
| 2175 | 2175 |
if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림설정 시간에 포함되지 않는 경우 슬랙 알림 발송
|
| 2176 | 2176 |
|
| 2177 | 2177 |
MjonCommon comm = new MjonCommon(); |
| 2178 |
- comm.getAdminSandSlack(mjonMsgVO); |
|
| 2178 |
+ comm.getAdminMsgSandSlack(mjonMsgVO); |
|
| 2179 | 2179 |
|
| 2180 | 2180 |
} |
| 2181 | 2181 |
|
| 2182 | 2182 |
//Slack으로 메세지 전송 처리 |
| 2183 | 2183 |
/*MjonCommon comm = new MjonCommon(); |
| 2184 | 2184 |
System.out.println("slack noti");
|
| 2185 |
- comm.getAdminSandSlack(mjonMsgVO);*/ |
|
| 2185 |
+ comm.getAdminMsgSandSlack(mjonMsgVO);*/ |
|
| 2186 | 2186 |
} |
| 2187 | 2187 |
} |
| 2188 | 2188 |
/*else {//야간스미싱 알림 비활성화인 경우 - 알림일정에 포함되지 않으면 슬랙 발송 처리(알림일정에 포함되면 슬랙발송 X - 알림 비활성화이기 때문에 발송X)
|
... | ... | @@ -2211,7 +2211,7 @@ |
| 2211 | 2211 |
if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림설정 시간에 포함되지 않는 경우 슬랙 알림 발송
|
| 2212 | 2212 |
|
| 2213 | 2213 |
MjonCommon comm = new MjonCommon(); |
| 2214 |
- comm.getAdminSandSlack(mjonMsgVO); |
|
| 2214 |
+ comm.getAdminMsgSandSlack(mjonMsgVO); |
|
| 2215 | 2215 |
|
| 2216 | 2216 |
} |
| 2217 | 2217 |
|
--- src/main/java/itn/let/uat/uia/web/EgovLoginController.java
+++ src/main/java/itn/let/uat/uia/web/EgovLoginController.java
... | ... | @@ -3632,7 +3632,7 @@ |
| 3632 | 3632 |
*/ |
| 3633 | 3633 |
@RequestMapping(value = { "/web/user/sendSysMsgDataAjax.do" })
|
| 3634 | 3634 |
public ModelAndView sendSysMsgDataAjax(@ModelAttribute("searchVO") MjonMsgVO mjonMsgVO,
|
| 3635 |
- RedirectAttributes redirectAttributes, ModelMap model) throws Exception {
|
|
| 3635 |
+ RedirectAttributes redirectAttributes, ModelMap model, HttpServletRequest request) throws Exception {
|
|
| 3636 | 3636 |
|
| 3637 | 3637 |
ModelAndView modelAndView = new ModelAndView(); |
| 3638 | 3638 |
modelAndView.setViewName("jsonView");
|
... | ... | @@ -3710,7 +3710,7 @@ |
| 3710 | 3710 |
|
| 3711 | 3711 |
|
| 3712 | 3712 |
|
| 3713 |
- MjonMsgReturnVO returnVO = mjonMsgDataService.sendSysMsgData(mjonMsgVO); |
|
| 3713 |
+ MjonMsgReturnVO returnVO = mjonMsgDataService.sendSysMsgData(mjonMsgVO, request); |
|
| 3714 | 3714 |
|
| 3715 | 3715 |
resultSts = returnVO.getSendMsgCnt(); |
| 3716 | 3716 |
resultBlockSts = returnVO.getSendMsgBlockCnt(); |
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?