이준호 전자조정시스템 고도화 커밋
- 발송수단별 사용여부 커밋
This commit is contained in:
parent
1be2cb475d
commit
c04943cdc4
@ -1,5 +1,7 @@
|
|||||||
package kcc.kccadr.cmm.service;
|
package kcc.kccadr.cmm.service;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||||
import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO;
|
import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO;
|
||||||
|
|
||||||
@ -43,4 +45,8 @@ public interface SMSOracleService {
|
|||||||
public String insertSmsOtpCertNumSend(AdjReqMgrVO adjReqMgrVO) throws Exception;
|
public String insertSmsOtpCertNumSend(AdjReqMgrVO adjReqMgrVO) throws Exception;
|
||||||
|
|
||||||
public String selectAdrOtpCertNumSmsLog(AdjReqMgrVO adjReqMgrVO) throws Exception;
|
public String selectAdrOtpCertNumSmsLog(AdjReqMgrVO adjReqMgrVO) throws Exception;
|
||||||
|
|
||||||
|
public EgovMap selectAdrSendType() throws Exception;
|
||||||
|
|
||||||
|
public void updateAdrSendType(Map<String, Object> map) throws Exception;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -173,7 +173,7 @@ public class SMSOracleServiceImpl extends EgovAbstractServiceImpl implements SM
|
|||||||
apiVO.setMessage(sendMsg);
|
apiVO.setMessage(sendMsg);
|
||||||
|
|
||||||
if("Y".equals(alrimtalkYn)) {
|
if("Y".equals(alrimtalkYn)) {
|
||||||
// kakaoAtSendDAO.insertKakaoAtSendBatch(apiVO);
|
kakaoAtSendDAO.insertKakaoAtSendBatch(apiVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
result = "succ";
|
result = "succ";
|
||||||
@ -779,4 +779,15 @@ public class SMSOracleServiceImpl extends EgovAbstractServiceImpl implements SM
|
|||||||
return msgMgrDAO.selectAdrOtpCertNumSmsLog(adjReqMgrVO);
|
return msgMgrDAO.selectAdrOtpCertNumSmsLog(adjReqMgrVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EgovMap selectAdrSendType() throws Exception {
|
||||||
|
//전송 수단별 발송여부
|
||||||
|
EgovMap sendTypeMap = msgMgrDAO.selectAdrSendType();
|
||||||
|
return sendTypeMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateAdrSendType(Map<String, Object> map) throws Exception {
|
||||||
|
msgMgrDAO.updateAdrSendType(map);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,7 +23,7 @@ import net.javacrumbs.shedlock.spring.annotation.EnableSchedulerLock;
|
|||||||
|
|
||||||
@Service("SchedulerUtil")
|
@Service("SchedulerUtil")
|
||||||
@EnableScheduling
|
@EnableScheduling
|
||||||
@EnableSchedulerLock(defaultLockAtMostFor = "PT30S") // Scheduler Lock 사용 가능 설정 (기본 30초동안 Lock)
|
//@EnableSchedulerLock(defaultLockAtMostFor = "PT30S") // Scheduler Lock 사용 가능 설정 (기본 30초동안 Lock)
|
||||||
public class SchedulerUtil {
|
public class SchedulerUtil {
|
||||||
|
|
||||||
@Value("#{globalSettings['Globals.BizPpurio.siteUrl']}")
|
@Value("#{globalSettings['Globals.BizPpurio.siteUrl']}")
|
||||||
@ -47,7 +47,7 @@ public class SchedulerUtil {
|
|||||||
|
|
||||||
//10분마다 실행
|
//10분마다 실행
|
||||||
@Scheduled(cron = "0 0/10 * * * *")
|
@Scheduled(cron = "0 0/10 * * * *")
|
||||||
@SchedulerLock(name = "kakaoAtSendPrcs", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN)
|
// @SchedulerLock(name = "kakaoAtSendPrcs", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN)
|
||||||
public void kakaoAtSendPrcs() throws Exception {
|
public void kakaoAtSendPrcs() throws Exception {
|
||||||
|
|
||||||
String ip = null;
|
String ip = null;
|
||||||
@ -82,8 +82,8 @@ public class SchedulerUtil {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
// @Bean
|
||||||
public LockProvider lockProvider(DataSource dataSource) {
|
// public LockProvider lockProvider(DataSource dataSource) {
|
||||||
return new JdbcTemplateLockProvider(dataSource);
|
// return new JdbcTemplateLockProvider(dataSource);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package kcc.kccadr.msg.service.impl;
|
package kcc.kccadr.msg.service.impl;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
@ -96,4 +97,8 @@ public class MsgMgrDAO extends EgovAbstractDAO {
|
|||||||
return (EgovMap) select("MsgMgrDAO.selectAdrSendType");
|
return (EgovMap) select("MsgMgrDAO.selectAdrSendType");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void updateAdrSendType(Map<String, Object> map) throws Exception {
|
||||||
|
update("msgMgrDAO.updateAdrSendType", map);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package kcc.kccadr.msg.web;
|
package kcc.kccadr.msg.web;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
@ -10,15 +11,20 @@ import org.springframework.stereotype.Controller;
|
|||||||
import org.springframework.ui.ModelMap;
|
import org.springframework.ui.ModelMap;
|
||||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||||
|
|
||||||
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
||||||
|
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||||
import kcc.com.cmm.LoginVO;
|
import kcc.com.cmm.LoginVO;
|
||||||
import kcc.com.cmm.service.EgovCmmUseService;
|
import kcc.com.cmm.service.EgovCmmUseService;
|
||||||
import kcc.com.utl.fcc.service.EgovStringUtil;
|
import kcc.com.utl.fcc.service.EgovStringUtil;
|
||||||
|
import kcc.kccadr.cmm.service.SMSOracleService;
|
||||||
import kcc.kccadr.msg.service.MsgMgrService;
|
import kcc.kccadr.msg.service.MsgMgrService;
|
||||||
import kcc.kccadr.msg.service.MsgMgrVO;
|
import kcc.kccadr.msg.service.MsgMgrVO;
|
||||||
import kcc.kccadr.msg.service.SmsMgrVO;
|
import kcc.kccadr.msg.service.SmsMgrVO;
|
||||||
@ -39,6 +45,9 @@ public class MsgMgrController {
|
|||||||
@Resource(name = "egovCryptoUtil")
|
@Resource(name = "egovCryptoUtil")
|
||||||
EgovCryptoUtil egovCryptoUtil;
|
EgovCryptoUtil egovCryptoUtil;
|
||||||
|
|
||||||
|
@Resource(name = "SMSOracleService")
|
||||||
|
private SMSOracleService sMSOracleService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* auth : 우영두
|
* auth : 우영두
|
||||||
* 전자조정 발송문구 목록 화면
|
* 전자조정 발송문구 목록 화면
|
||||||
@ -281,6 +290,46 @@ public class MsgMgrController {
|
|||||||
return "kccadr/msg/sendMsgMgrList";
|
return "kccadr/msg/sendMsgMgrList";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* auth : 이준호
|
||||||
|
* 전자조정 발송수단별 사용여부
|
||||||
|
* date : 2022.12.07
|
||||||
|
*/
|
||||||
|
@RequestMapping("/kccadr/msg/sendTypeSelectList.do")
|
||||||
|
public String sendTypeSelectList(ModelMap model) throws Exception {
|
||||||
|
|
||||||
|
EgovMap sendTypeSelect = sMSOracleService.selectAdrSendType();
|
||||||
|
|
||||||
|
model.addAttribute("sendTypeSelect", sendTypeSelect);
|
||||||
|
|
||||||
|
return "kccadr/msg/sendTypeSelectList";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* auth : 이준호
|
||||||
|
* 전자조정 발송수단별 사용여부
|
||||||
|
* date : 2022.12.07
|
||||||
|
*/
|
||||||
|
@ResponseBody
|
||||||
|
@RequestMapping(value = "/kccadr/msg/sendTypeSelectUpdateAjax.do", method = { RequestMethod.POST })
|
||||||
|
public ModelAndView sendTypeSelectUpdateAjax(
|
||||||
|
@RequestParam Map<String, Object> map,
|
||||||
|
ModelMap model ) throws Exception {
|
||||||
|
|
||||||
|
ModelAndView modelAndView = new ModelAndView();
|
||||||
|
modelAndView.setViewName("jsonView");
|
||||||
|
try {
|
||||||
|
sMSOracleService.updateAdrSendType(map);
|
||||||
|
|
||||||
|
modelAndView.addObject("result", "SUCCESS");
|
||||||
|
modelAndView.addObject("message", "변경되었습니다.");
|
||||||
|
} catch (Exception e) {
|
||||||
|
modelAndView.addObject("result", "FAIL");
|
||||||
|
}
|
||||||
|
|
||||||
|
return modelAndView;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void decryptInfomation(List<SmsMgrVO> list, SmsMgrVO info){
|
public void decryptInfomation(List<SmsMgrVO> list, SmsMgrVO info){
|
||||||
if(CollectionUtils.isNotEmpty(list)){
|
if(CollectionUtils.isNotEmpty(list)){
|
||||||
|
|||||||
@ -397,9 +397,9 @@ public class EgovLoginController {
|
|||||||
//if (ProfileUtil.isProd()) {
|
//if (ProfileUtil.isProd()) {
|
||||||
LOGGER.debug("@ prod @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Start");
|
LOGGER.debug("@ prod @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Start");
|
||||||
//sMSOracleService.selectOracleTest(); // 연동 테스트. 콘솔 로그 확인
|
//sMSOracleService.selectOracleTest(); // 연동 테스트. 콘솔 로그 확인
|
||||||
//AdjReqMgrVO adjReqMgrVO = new AdjReqMgrVO();
|
AdjReqMgrVO adjReqMgrVO = new AdjReqMgrVO();
|
||||||
//sMSOracleService.insertSmsSend(adjReqMgrVO);
|
sMSOracleService.insertSmsSend(adjReqMgrVO);
|
||||||
sMSOracleService.insertSmsSendTest();
|
// sMSOracleService.insertSmsSendTest();
|
||||||
LOGGER.debug("@ prod @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@End");
|
LOGGER.debug("@ prod @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@End");
|
||||||
//}
|
//}
|
||||||
//
|
//
|
||||||
|
|||||||
@ -284,4 +284,19 @@
|
|||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<update id="msgMgrDAO.updateAdrSendType" parameterClass="java.util.Map">
|
||||||
|
|
||||||
|
UPDATE adr_slct_send_type
|
||||||
|
SET
|
||||||
|
<isEqual property="type" compareValue="emailYn">
|
||||||
|
email_yn = #value#
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="type" compareValue="smsYn">
|
||||||
|
sms_yn = #value#
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="type" compareValue="alrimtalkYn">
|
||||||
|
alrimtalk_yn = #value#
|
||||||
|
</isEqual>
|
||||||
|
</update>
|
||||||
|
|
||||||
</sqlMap>
|
</sqlMap>
|
||||||
147
src/main/webapp/WEB-INF/jsp/kccadr/msg/sendTypeSelectList.jsp
Normal file
147
src/main/webapp/WEB-INF/jsp/kccadr/msg/sendTypeSelectList.jsp
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
|
||||||
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
|
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
||||||
|
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||||
|
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||||
|
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||||
|
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : sendMsgMgrList.jsp
|
||||||
|
* @Description : 발송문자 리스트
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2022.12.7 이준호 최초 생성
|
||||||
|
* @author 이준호
|
||||||
|
* @since 2022.12.7
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<style>
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
$(document).ready(function(){
|
||||||
|
$("input[name$='Yn']:radio").change(function () {
|
||||||
|
|
||||||
|
var url = "/kccadr/msg/sendTypeSelectUpdateAjax.do";
|
||||||
|
var data = {
|
||||||
|
"type": $(this).attr('name'),
|
||||||
|
"value": $(this).val()
|
||||||
|
}
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: url,
|
||||||
|
type: 'POST',
|
||||||
|
data: data,
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (returnData, status) {
|
||||||
|
console.log(returnData.result);
|
||||||
|
if(returnData.result == 'SUCCESS'){
|
||||||
|
alert(returnData.message)
|
||||||
|
}else{
|
||||||
|
alert("요청에 실패하였습니다.");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (e) { alert("요청에 실패하였습니다."); console.log("ERROR : ", e); }
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
linkPage(1);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<title>발송수단별 사용여부</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form id="listForm" name="listForm" method="post">
|
||||||
|
<div class="cont_wrap">
|
||||||
|
<div class="box">
|
||||||
|
<!-- cont_tit -->
|
||||||
|
<div class="cont_tit">
|
||||||
|
<h2>발송문자 목록</h2>
|
||||||
|
<ul class="cont_nav">
|
||||||
|
<li class="home">
|
||||||
|
<a href="/">
|
||||||
|
<i></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>발송 관리</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>발송문자 관리</p>
|
||||||
|
</li>
|
||||||
|
<li><span class="cur_nav">발송문자 목록</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- //cont_tit -->
|
||||||
|
|
||||||
|
<div class="cont">
|
||||||
|
<div class="list tbType01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 25%">
|
||||||
|
<col style="width: 25%">
|
||||||
|
<col style="width: 25%">
|
||||||
|
<col style="width: 25%">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>구분</th>
|
||||||
|
<th>이메일발송</th>
|
||||||
|
<th>문자발송</th>
|
||||||
|
<th>알림톡발송</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
사용여부
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="radio_wrap">
|
||||||
|
<input ${sendTypeSelect.emailYn eq 'Y' ? 'checked' : ''} value="Y" type="radio" name="emailYn" id="emailY">
|
||||||
|
<label for="emailY">사용</label>
|
||||||
|
<input ${sendTypeSelect.emailYn eq 'N' ? 'checked' : ''} value="N" type="radio" name="emailYn" id="emailN">
|
||||||
|
<label for="emailN">미사용</label>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="radio_wrap">
|
||||||
|
<input ${sendTypeSelect.smsYn eq 'Y' ? 'checked' : ''} value="Y" type="radio" name="smsYn" id="smsY">
|
||||||
|
<label for="smsY">사용</label>
|
||||||
|
<input ${sendTypeSelect.smsYn eq 'N' ? 'checked' : ''} value="N" type="radio" name="smsYn" id="smsN">
|
||||||
|
<label for="smsN">미사용</label>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="radio_wrap">
|
||||||
|
<input ${sendTypeSelect.alrimtalkYn eq 'Y' ? 'checked' : ''} value="Y" type="radio" name="alrimtalkYn" id="alrimtalkY">
|
||||||
|
<label for="alrimtalkY">사용</label>
|
||||||
|
<input ${sendTypeSelect.alrimtalkYn eq 'N' ? 'checked' : ''} value="N" type="radio" name="alrimtalkYn" id="alrimtalkN">
|
||||||
|
<label for="alrimtalkN">미사용</label>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -276,6 +276,12 @@ table select+button{vertical-align: middle;}
|
|||||||
|
|
||||||
.dir_input{width: 200px; margin-left: 5px;}
|
.dir_input{width: 200px; margin-left: 5px;}
|
||||||
|
|
||||||
|
.tbType01 .check_wrap,.tbType01 .radio_wrap{display: inline-flex; max-width: calc(100% - 120px); vertical-align: middle; text-align: left; align-items: center; flex-wrap: wrap;}
|
||||||
|
.tbType01 .check_wrap:only-child,.tbType01 .radio_wrap:only-child{max-width: 100%;}
|
||||||
|
.tbType01 .check_wrap span,.tbType01 .radio_wrap span{margin-right: 30px; display: inline-block;}
|
||||||
|
.tbType01 .check_wrap input,.tbType01 .radio_wrap input{margin: 0; vertical-align: middle; margin-top: 1.5px;}
|
||||||
|
.tbType01 .check_wrap label,.tbType01 .radio_wrap label{width: auto; height: auto; clip: unset; font-size: 18px; position:static; font-weight: 300; color: #666; vertical-align: middle; margin: 0; margin-left: 5px; margin-right:10px; line-height: 2;}
|
||||||
|
|
||||||
.tbType02{border-top: 1px solid #000; border-bottom: 1px solid #cccccc;}
|
.tbType02{border-top: 1px solid #000; border-bottom: 1px solid #cccccc;}
|
||||||
.tbType02 table{width: 100%; table-layout: fixed}
|
.tbType02 table{width: 100%; table-layout: fixed}
|
||||||
.tbType02 tr{border-bottom: 0.01em solid #e5e5e5;}
|
.tbType02 tr{border-bottom: 0.01em solid #e5e5e5;}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user