회원상세 알림톡 스미싱의심 기능추가

This commit is contained in:
itn 2023-06-21 11:25:48 +09:00
parent 7d73cf767a
commit 2a717788b8
9 changed files with 215 additions and 2 deletions

View File

@ -177,12 +177,20 @@ public interface EgovUserManageService {
public UserManageVO selectSmishingYnUserInfo(UserManageVO userManageVO) throws Exception; public UserManageVO selectSmishingYnUserInfo(UserManageVO userManageVO) throws Exception;
public UserManageVO selectAtSmishingYnUserInfo(UserManageVO userManageVO) throws Exception;
// 스미싱의심 /오프 // 스미싱의심 /오프
public void updateUserSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception; public void updateUserSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception;
// 스미싱의심 /오프 - 상세에서 단일로 // 스미싱의심 /오프 - 상세에서 단일로
public void updateOneUserSmishingYn(UserManageVO userManageVO) throws Exception; public void updateOneUserSmishingYn(UserManageVO userManageVO) throws Exception;
// 알림톡 스미싱의심 /오프
public void updateUserAtSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception;
// 알림톡 스미싱의심 /오프 - 상세에서 단일로
public void updateOneUserAtSmishingYn(UserManageVO userManageVO) throws Exception;
// 후불제 여부 저장 // 후불제 여부 저장
public void updateUserPrePaymentYn(UserManageVO userManageVO) throws Exception; public void updateUserPrePaymentYn(UserManageVO userManageVO) throws Exception;

View File

@ -532,7 +532,14 @@ public class MberManageVO extends UserDefaultVO{
private String smishingYn; // 스미싱 의심여부 private String smishingYn; // 스미싱 의심여부
private String vipYn; // VIP 여부 private String vipYn; // VIP 여부
private String atSmishingYn; // 알림톡 스미싱 의심여부
public String getAtSmishingYn() {
return atSmishingYn;
}
public void setAtSmishingYn(String atSmishingYn) {
this.atSmishingYn = atSmishingYn;
}
public String getPrePaymentYn() { public String getPrePaymentYn() {
return prePaymentYn; return prePaymentYn;
} }

View File

@ -204,7 +204,14 @@ public class UserManageVO extends UserDefaultVO{
private float cash; private float cash;
private String blineCode; // B라인코드 private String blineCode; // B라인코드
private String recommendId; // 추천아이디 private String recommendId; // 추천아이디
private String atSmishingYn; // 알림톡 스미싱 의심여부
public String getAtSmishingYn() {
return atSmishingYn;
}
public void setAtSmishingYn(String atSmishingYn) {
this.atSmishingYn = atSmishingYn;
}
public String getBlineCode() { public String getBlineCode() {
return blineCode; return blineCode;
} }

View File

@ -497,6 +497,11 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
return userManageDAO.selectSmishingYnUserInfo(userManageVO); return userManageDAO.selectSmishingYnUserInfo(userManageVO);
} }
@Override
public UserManageVO selectAtSmishingYnUserInfo(UserManageVO userManageVO) {
return userManageDAO.selectAtSmishingYnUserInfo(userManageVO);
}
// 스미싱의심 /오프 // 스미싱의심 /오프
public void updateUserSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception { public void updateUserSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception {
if(!"".equals(checkedIdForUpt)) { if(!"".equals(checkedIdForUpt)) {
@ -560,6 +565,69 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
} }
// 알림톡 스미싱의심 /오프
public void updateUserAtSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception {
if(!"".equals(checkedIdForUpt)) {
String [] uptIdAll = checkedIdForUpt.split(",");
String[] uptId = Arrays.stream(uptIdAll).distinct().toArray(String[]::new);
for (int i=0; i<uptId.length ; i++){
// 업데이트
userManageVO.setMberId(uptId[i]);
userManageDAO.updateUserAtSmishingYn(userManageVO);
// 법인폰 알림문자 발송
UserManageVO rtnVO = new UserManageVO();
rtnVO = selectAtSmishingYnUserInfo(userManageVO);
if (rtnVO.getAtSmishingYn().equals("Y")) {
// 법인폰 알람여부 체크
JoinSettingVO joinSettingVO = new JoinSettingVO();
joinSettingVO = egovSiteManagerService.selectAdminNotiDetail();
// SMS 체크
if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
// 스미싱의심 SMS 알림전송
mjonNoticeSendUtil.smishingSmsNoticeSend("알림톡 스미싱 의심!", rtnVO.getMberId(), rtnVO.getMberNm());
}
// SLACK 체크
if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
// Slack 메시지 발송(단순본문)
String msg = "[문자온] 알림톡 스미싱 의심! - " + rtnVO.getMberNm() +"("+ rtnVO.getMberId() + ")";
mjonCommon.sendSimpleSlackMsg(msg);
}
}
}
}
}
// 알림톡 스미싱의심 /오프 단일
public void updateOneUserAtSmishingYn(UserManageVO userManageVO) throws Exception {
// 업데이트
userManageDAO.updateUserAtSmishingYn(userManageVO);
// 법인폰 알림문자 발송
UserManageVO rtnVO = new UserManageVO();
rtnVO = selectAtSmishingYnUserInfo(userManageVO);
if (rtnVO.getAtSmishingYn().equals("Y")) {
// 법인폰 알람여부 체크
JoinSettingVO joinSettingVO = new JoinSettingVO();
joinSettingVO = egovSiteManagerService.selectAdminNotiDetail();
// SMS 체크
if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
// 스미싱의심 SMS 알림전송
mjonNoticeSendUtil.smishingSmsNoticeSend("알림톡 스미싱 의심!", rtnVO.getMberId(), rtnVO.getMberNm());
}
// SLACK 체크
if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
// Slack 메시지 발송(단순본문)
String msg = "[문자온] 알림톡 스미싱 의심! - " + rtnVO.getMberNm() +"("+ rtnVO.getMberId() + ")";
mjonCommon.sendSimpleSlackMsg(msg);
}
}
}
// 후불제 여부 저장 // 후불제 여부 저장
public void updateUserPrePaymentYn(UserManageVO userManageVO) throws Exception { public void updateUserPrePaymentYn(UserManageVO userManageVO) throws Exception {
userManageDAO.updateUserPrePaymentYn(userManageVO); userManageDAO.updateUserPrePaymentYn(userManageVO);

View File

@ -271,11 +271,20 @@ public class UserManageDAO extends EgovAbstractDAO{
return (UserManageVO) select("userManageDAO.selectSmishingYnUserInfo",userManageVO); return (UserManageVO) select("userManageDAO.selectSmishingYnUserInfo",userManageVO);
} }
public UserManageVO selectAtSmishingYnUserInfo(UserManageVO userManageVO) {
return (UserManageVO) select("userManageDAO.selectAtSmishingYnUserInfo",userManageVO);
}
// 스미싱의심 /오프 // 스미싱의심 /오프
public void updateUserSmishingYn(UserManageVO userManageVO){ public void updateUserSmishingYn(UserManageVO userManageVO){
update("userManageDAO.updateUserSmishingYn",userManageVO); update("userManageDAO.updateUserSmishingYn",userManageVO);
} }
// 알림톡 스미싱의심 /오프
public void updateUserAtSmishingYn(UserManageVO userManageVO){
update("userManageDAO.updateUserAtSmishingYn",userManageVO);
}
// 후불제 여부 저장 // 후불제 여부 저장
public void updateUserPrePaymentYn(UserManageVO userManageVO){ public void updateUserPrePaymentYn(UserManageVO userManageVO){
update("userManageDAO.updateUserPrePaymentYn",userManageVO); update("userManageDAO.updateUserPrePaymentYn",userManageVO);

View File

@ -2418,6 +2418,38 @@ public class EgovUserManageController {
return modelAndView; return modelAndView;
} }
// 알림톡 스미싱의심 여부 변경
@RequestMapping("/uss/umt/user/EgovGnrlUpdateUserAtSmishingAjax.do")
public ModelAndView EgovGnrlUpdateUserAtSmishingAjax(@ModelAttribute("userManageVO") UserManageVO userManageVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
Boolean isSuccess = true;
String msg = "";
try {
// 미인증 사용자에 대한 보안처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if(!isAuthenticated) {
isSuccess = false;
msg = "로그인이 필요합니다.";
}
else {
userManageService.updateOneUserAtSmishingYn(userManageVO);
}
} catch (Exception e) {
isSuccess = false;
msg = e.getMessage();
}
modelAndView.addObject("isSuccess", isSuccess);
modelAndView.addObject("msg", msg);
return modelAndView;
}
// VIP 여부 변경 // VIP 여부 변경
@RequestMapping("/uss/umt/user/EgovGnrlUpdateUserVIPAjax.do") @RequestMapping("/uss/umt/user/EgovGnrlUpdateUserVIPAjax.do")
public ModelAndView EgovGnrlUpdateUserVIPAjax(@ModelAttribute("userManageVO") UserManageVO userManageVO) throws Exception { public ModelAndView EgovGnrlUpdateUserVIPAjax(@ModelAttribute("userManageVO") UserManageVO userManageVO) throws Exception {

View File

@ -729,7 +729,8 @@
A.SMISHING_YN smishingYn, A.SMISHING_YN smishingYn,
A.VIP_YN vipYn, A.VIP_YN vipYn,
A.EXCEPT_SPAM_YN AS exceptSpamYn, A.EXCEPT_SPAM_YN AS exceptSpamYn,
A.HOTLINE_AGENT_CODE AS hotlineAgentCode A.HOTLINE_AGENT_CODE AS hotlineAgentCode,
A.AT_SMISHING_YN atSmishingYn
FROM LETTNGNRLMBER A FROM LETTNGNRLMBER A
LEFT JOIN MJ_CANDIDATE_INFO MCI LEFT JOIN MJ_CANDIDATE_INFO MCI
ON A.MBER_ID = MCI.MBER_ID ON A.MBER_ID = MCI.MBER_ID

View File

@ -1328,6 +1328,15 @@
WHERE MBER_ID = #mberId# WHERE MBER_ID = #mberId#
</select> </select>
<select id="userManageDAO.selectAtSmishingYnUserInfo" parameterClass="userVO" resultClass="userVO">
SELECT
MBER_ID AS mberId,
MBER_NM AS mberNm,
AT_SMISHING_YN AS atSmishingYn
FROM LETTNGNRLMBER
WHERE MBER_ID = #mberId#
</select>
<update id="userManageDAO.updateUserSmishingYn" parameterClass="userVO"> <update id="userManageDAO.updateUserSmishingYn" parameterClass="userVO">
UPDATE UPDATE
LETTNGNRLMBER LETTNGNRLMBER
@ -1337,6 +1346,15 @@
AND MBER_ID = #mberId# AND MBER_ID = #mberId#
</update> </update>
<update id="userManageDAO.updateUserAtSmishingYn" parameterClass="userVO">
UPDATE
LETTNGNRLMBER
SET
AT_SMISHING_YN = #atSmishingYn#
WHERE 1=1
AND MBER_ID = #mberId#
</update>
<update id="userManageDAO.updateUserPrePaymentYn" parameterClass="userVO"> <update id="userManageDAO.updateUserPrePaymentYn" parameterClass="userVO">
UPDATE UPDATE
LETTNGNRLMBER LETTNGNRLMBER

View File

@ -1182,6 +1182,45 @@ function fnMberSmishingYn(){
} }
} }
//알림톡 스미싱의심 여부
function fnMberAtSmishingYn(){
var form = document.mberManageVO;
var atSmishingYn = form.atSmishingYn.value;
if(confirm("알림톡 스미싱의심 여부를 변경하시겠습니까?")){
$.ajax({
type: "POST",
url: "/uss/umt/user/EgovGnrlUpdateUserAtSmishingAjax.do",
data: {"atSmishingYn" : atSmishingYn, "mberId" : "${mberManageVO.mberId}"},
dataType:'json',
async: false,
success: function (data, status) {
if (data.isSuccess) {
alert("변경 완료했습니다.");
}
else {
alert(data.msg);
}
},
beforeSend: function () {
//로딩창 show
$('.loading_layer').addClass('active');
},
complete: function () {
//로딩창 hide
$('.loading_layer').removeClass('active');
},
error: function (e) {
alert("에러가 발생했습니다."); console.log("ERROR : ", e);
}
});
}
}
// VIP 여부 // VIP 여부
function fnMberVIPYn(){ function fnMberVIPYn(){
var form = document.mberManageVO; var form = document.mberManageVO;
@ -2535,6 +2574,18 @@ function fnMberExceptSpamYn(){
</select> </select>
</td> </td>
</tr> </tr>
<tr>
<th>스미싱 의심(카톡)</th>
<td>
<select name="atSmishingYn" id="atSmishingYn" style="width:150px;" onFocus='this.initialSelect = this.selectedIndex;' onChange="javascript:fnMberAtSmishingYn();">
<option value="Y" <c:if test="${mberManageVO.atSmishingYn == 'Y'}">selected="selected"</c:if>>온(On)</option>
<option value="N" <c:if test="${mberManageVO.atSmishingYn == 'N'}">selected="selected"</c:if>>오프(Off)</option>
</select>
</td>
<th></th>
<td>
</td>
</tr>
<tr> <tr>
<th>전용 전송사</th> <th>전용 전송사</th>
<td> <td>
@ -2969,6 +3020,18 @@ function fnMberExceptSpamYn(){
</select> </select>
</td> </td>
</tr> </tr>
<tr>
<th>스미싱 의심(카톡)</th>
<td>
<select name="atSmishingYn" id="atSmishingYn" style="width:150px;" onFocus='this.initialSelect = this.selectedIndex;' onChange="javascript:fnMberAtSmishingYn();">
<option value="Y" <c:if test="${mberManageVO.atSmishingYn == 'Y'}">selected="selected"</c:if>>온(On)</option>
<option value="N" <c:if test="${mberManageVO.atSmishingYn == 'N'}">selected="selected"</c:if>>오프(Off)</option>
</select>
</td>
<th></th>
<td>
</td>
</tr>
<tr> <tr>
<th>전용 전송사</th> <th>전용 전송사</th>
<td> <td>