사용자
- 카카오 친구톡 템플릿 관리 화면 리스트 페이징 오류 수정 관리자 - 채널아이디 목록 화면 템플릿 항목 추가 및 알림톡, 친구톡 템블릿 팝업 기능 추가 - 친구톡 등록 템플릿 리스트 및 상세화면 팝업 추가 - 기존 알림톡 템플릿 리스트 오류 수정
This commit is contained in:
parent
e7e0c04430
commit
a32df2c7dc
@ -851,6 +851,7 @@ public class MjonKakaoATController {
|
|||||||
kakaoVO.setPage(Integer.toString(channelIDVO.getPageIndex()));
|
kakaoVO.setPage(Integer.toString(channelIDVO.getPageIndex()));
|
||||||
kakaoVO.setKeyword(channelIDVO.getSearchKeyword());
|
kakaoVO.setKeyword(channelIDVO.getSearchKeyword());
|
||||||
kakaoVO.setUserId(channelIDVO.getUserId());
|
kakaoVO.setUserId(channelIDVO.getUserId());
|
||||||
|
kakaoVO.setYellowId(channelIDVO.getYellowId());
|
||||||
|
|
||||||
String templateStatus = channelIDVO.getTemplateStatus();
|
String templateStatus = channelIDVO.getTemplateStatus();
|
||||||
String keyword = channelIDVO.getSearchKeyword();
|
String keyword = channelIDVO.getSearchKeyword();
|
||||||
|
|||||||
@ -13,14 +13,21 @@ 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.servlet.HandlerMapping;
|
import org.springframework.web.servlet.HandlerMapping;
|
||||||
|
|
||||||
|
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
||||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||||
|
import itn.com.cmm.LoginVO;
|
||||||
import itn.com.cmm.service.FileVO;
|
import itn.com.cmm.service.FileVO;
|
||||||
import itn.com.cmm.util.StringUtil;
|
import itn.com.cmm.util.StringUtil;
|
||||||
|
import itn.let.kakao.admin.kakaoAt.service.ChannelIDVO;
|
||||||
import itn.let.kakao.admin.kakaoFt.service.MjonKakaoFTService;
|
import itn.let.kakao.admin.kakaoFt.service.MjonKakaoFTService;
|
||||||
import itn.let.kakao.admin.kakaoFt.service.MjonKakaoFTVO;
|
import itn.let.kakao.admin.kakaoFt.service.MjonKakaoFTVO;
|
||||||
|
import itn.let.kakao.kakaoComm.KakaoVO;
|
||||||
|
import itn.let.kakao.kakaoComm.kakaoApi.service.KakaoApiService;
|
||||||
|
import itn.let.kakao.user.kakaoFt.service.KakaoFriendsTalkTemplateService;
|
||||||
import itn.let.mjo.msg.service.MjonMsgResultCodeVO;
|
import itn.let.mjo.msg.service.MjonMsgResultCodeVO;
|
||||||
import itn.let.mjo.msg.service.MjonMsgService;
|
import itn.let.mjo.msg.service.MjonMsgService;
|
||||||
import itn.let.mjo.reservmsg.service.MjonReservMsgService;
|
import itn.let.mjo.reservmsg.service.MjonReservMsgService;
|
||||||
|
import itn.let.utl.fcc.service.EgovStringUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -52,6 +59,12 @@ public class MjonKakaoFTController {
|
|||||||
@Resource(name = "MjonReservMsgService")
|
@Resource(name = "MjonReservMsgService")
|
||||||
private MjonReservMsgService mjonReservMsgService;
|
private MjonReservMsgService mjonReservMsgService;
|
||||||
|
|
||||||
|
@Resource(name = "kakaoFriendsTalkTemplateService")
|
||||||
|
private KakaoFriendsTalkTemplateService kakaoFtTemplateService;
|
||||||
|
|
||||||
|
@Resource(name = "kakaoApiService")
|
||||||
|
private KakaoApiService kakaoApiService;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@Resource(name = "EgovCmmUseService")
|
@Resource(name = "EgovCmmUseService")
|
||||||
private EgovCmmUseService cmmUseService;
|
private EgovCmmUseService cmmUseService;
|
||||||
@ -501,6 +514,125 @@ public class MjonKakaoFTController {
|
|||||||
return "/uss/ion/kakaoft/ReserveKakaoFTModify";
|
return "/uss/ion/kakaoft/ReserveKakaoFTModify";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 채널 아이디별 등록 친구톡 템플릿 목록 팝업화면 관리자페이지
|
||||||
|
* @param ChannelIDVO
|
||||||
|
* @param request
|
||||||
|
* @param model
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@RequestMapping("/uss/ion/kakaoft/KakaoFTChannelIDTemplateListPopupAjax.do")
|
||||||
|
public String KakaoFTChannelIDTemplateListPopupAjax(@ModelAttribute("searchVO") ChannelIDVO channelIDVO,
|
||||||
|
HttpServletRequest request ,
|
||||||
|
ModelMap model) throws Exception {
|
||||||
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||||
|
String id = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||||
|
if(id == "") {
|
||||||
|
return "redirect:/uat/uia/EgovLoginUsr.do";
|
||||||
|
}
|
||||||
|
|
||||||
|
KakaoVO kakaoVO = new KakaoVO();
|
||||||
|
|
||||||
|
//페이징 처리
|
||||||
|
PaginationInfo paginationInfo = new PaginationInfo();
|
||||||
|
paginationInfo.setCurrentPageNo(channelIDVO.getPageIndex());
|
||||||
|
paginationInfo.setRecordCountPerPage(9);
|
||||||
|
paginationInfo.setPageSize(channelIDVO.getPageSize());
|
||||||
|
|
||||||
|
kakaoVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
|
||||||
|
kakaoVO.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||||
|
kakaoVO.setRecordCountPerPage(9);
|
||||||
|
|
||||||
|
kakaoVO.setSenderKey(channelIDVO.getSenderKey());
|
||||||
|
kakaoVO.setPage(Integer.toString(channelIDVO.getPageIndex()));
|
||||||
|
kakaoVO.setSearchKeyword(channelIDVO.getSearchKeyword());
|
||||||
|
kakaoVO.setUserId(channelIDVO.getUserId());
|
||||||
|
|
||||||
|
String templateStatus = channelIDVO.getTemplateStatus();
|
||||||
|
String keyword = channelIDVO.getSearchKeyword();
|
||||||
|
|
||||||
|
/*if(keyword != null && keyword != "") {
|
||||||
|
kakaoVO.setSearchKeyword(keyword);
|
||||||
|
}else {
|
||||||
|
kakaoVO.setSearchKeyword("");
|
||||||
|
}*/
|
||||||
|
|
||||||
|
if("".equals(kakaoVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||||
|
kakaoVO.setSearchSortCnd("friendId");
|
||||||
|
kakaoVO.setSearchSortOrd("desc");
|
||||||
|
}
|
||||||
|
|
||||||
|
//채널 아이디 정보
|
||||||
|
String yellowId = kakaoVO.getYellowId();
|
||||||
|
|
||||||
|
kakaoVO.setCount("9"); //페이지 별 템플릿 개수 9개로
|
||||||
|
List<KakaoVO> kakaoTemplateInfoList = new ArrayList<KakaoVO>();
|
||||||
|
kakaoTemplateInfoList = kakaoFtTemplateService.selectKakaoFriendsTemplateList(kakaoVO);
|
||||||
|
|
||||||
|
model.addAttribute("kakaoVO", kakaoVO);
|
||||||
|
model.addAttribute("paginationInfo", paginationInfo);
|
||||||
|
model.addAttribute("kakaoTemplateInfoList", kakaoTemplateInfoList); //친구톡 템플릿 리스트
|
||||||
|
paginationInfo.setTotalRecordCount(kakaoTemplateInfoList.size() > 0 ? ((KakaoVO)kakaoTemplateInfoList.get(0)).getTotCnt() : 0);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("KakaoFTChannelIDTemplateListPopupAjax Contrller Error ::: " + e);
|
||||||
|
}
|
||||||
|
|
||||||
|
return "uss/ion/kakaoft/popup/KakaoFTChannelIDTemplateListPop";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 채널 아이디별 등록 친구톡 템플릿 상세내용 팝업화면 관리자페이지
|
||||||
|
* @param ChannelIDVO
|
||||||
|
* @param request
|
||||||
|
* @param model
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@RequestMapping("/uss/ion/kakaoft/KakaoFTChannelIDTemplateDetailPopupAjax.do")
|
||||||
|
public String KakaoFTChannelIDTemplateDetailPopupAjax(@ModelAttribute("searchVO") ChannelIDVO channelIDVO,
|
||||||
|
HttpServletRequest request ,
|
||||||
|
ModelMap model) throws Exception {
|
||||||
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||||
|
String id = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||||
|
if(id == "") {
|
||||||
|
return "redirect:/uat/uia/EgovLoginUsr.do";
|
||||||
|
}
|
||||||
|
|
||||||
|
KakaoVO kakaoVO = new KakaoVO();
|
||||||
|
kakaoVO.setSenderKey(channelIDVO.getSenderKey());
|
||||||
|
kakaoVO.setFriendId(channelIDVO.getTemplateCode());
|
||||||
|
kakaoVO.setUserId(channelIDVO.getUserId());
|
||||||
|
|
||||||
|
String senderKey = kakaoVO.getSenderKey();
|
||||||
|
model.addAttribute("senderKey", senderKey);
|
||||||
|
|
||||||
|
//친구톡 템플릿 조회하기
|
||||||
|
KakaoVO resultTemplateVO = kakaoFtTemplateService.selectKakaoFriendsTemplateDetail(kakaoVO);
|
||||||
|
model.addAttribute("resultTemplateVO", resultTemplateVO);
|
||||||
|
|
||||||
|
// 사용자 아이디를 이용한 발신프로필 조회
|
||||||
|
kakaoVO.setUserId(channelIDVO.getUserId());
|
||||||
|
List<KakaoVO> selectKakaoProfileList = kakaoApiService.selectKakaoProfileList(kakaoVO);
|
||||||
|
model.addAttribute("kakaoProfileList", selectKakaoProfileList);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("KakaoFTChannelIDTemplateDetailPopupAjax Contrller Error ::: " + e);
|
||||||
|
}
|
||||||
|
|
||||||
|
return "uss/ion/kakaoft/popup/KakaoFTChannelIDTemplateDetailPop";
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 카톡 전송사 발송 결과 코드 리스트
|
* 카톡 전송사 발송 결과 코드 리스트
|
||||||
* @param MjonMsgResultCodeVO
|
* @param MjonMsgResultCodeVO
|
||||||
|
|||||||
@ -31,9 +31,13 @@ import itn.let.kakao.kakaoComm.kakaoApi.service.KakaoApiService;
|
|||||||
import itn.let.kakao.user.kakaoAt.service.KakaoAlimTalkService;
|
import itn.let.kakao.user.kakaoAt.service.KakaoAlimTalkService;
|
||||||
import itn.let.kakao.user.kakaoFt.service.KakaoFriendsTalkTemplateService;
|
import itn.let.kakao.user.kakaoFt.service.KakaoFriendsTalkTemplateService;
|
||||||
import itn.let.mjo.mjocommon.MjonCommon;
|
import itn.let.mjo.mjocommon.MjonCommon;
|
||||||
|
import itn.let.mjo.mjocommon.MjonHolidayApi;
|
||||||
import itn.let.mjo.msgdata.service.MjonMsgDataService;
|
import itn.let.mjo.msgdata.service.MjonMsgDataService;
|
||||||
import itn.let.mjo.msgdata.service.MjonMsgDataVO;
|
import itn.let.mjo.msgdata.service.MjonMsgDataVO;
|
||||||
import itn.let.mjo.msgdata.service.MjonMsgReturnVO;
|
import itn.let.mjo.msgdata.service.MjonMsgReturnVO;
|
||||||
|
import itn.let.mjo.msgholiday.service.MsgAlarmSetVO;
|
||||||
|
import itn.let.mjo.msgholiday.service.MsgHolidayService;
|
||||||
|
import itn.let.mjo.msgholiday.service.MsgHolidayVO;
|
||||||
import itn.let.mjo.symbol.service.MjonSymbolService;
|
import itn.let.mjo.symbol.service.MjonSymbolService;
|
||||||
import itn.let.mjo.symbol.service.MjonSymbolVO;
|
import itn.let.mjo.symbol.service.MjonSymbolVO;
|
||||||
import itn.let.sym.site.service.EgovSiteManagerService;
|
import itn.let.sym.site.service.EgovSiteManagerService;
|
||||||
@ -75,6 +79,9 @@ public class KakaoFriendsTalkSendController {
|
|||||||
@Resource(name = "egovSiteManagerService")
|
@Resource(name = "egovSiteManagerService")
|
||||||
EgovSiteManagerService egovSiteManagerService;
|
EgovSiteManagerService egovSiteManagerService;
|
||||||
|
|
||||||
|
@Resource(name = "MsgHolidayService")
|
||||||
|
private MsgHolidayService msgHolidayService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
KakaoSendUtil kakaoSendUtil;
|
KakaoSendUtil kakaoSendUtil;
|
||||||
|
|
||||||
@ -624,12 +631,52 @@ public class KakaoFriendsTalkSendController {
|
|||||||
JoinSettingVO joinSettingVO = new JoinSettingVO();
|
JoinSettingVO joinSettingVO = new JoinSettingVO();
|
||||||
joinSettingVO = egovSiteManagerService.selectAdminNotiDetail();
|
joinSettingVO = egovSiteManagerService.selectAdminNotiDetail();
|
||||||
|
|
||||||
|
String holiSmishingNoti = joinSettingVO.getHoliSmishingNoti();
|
||||||
|
|
||||||
|
//야간 스미싱의심 알림이 활성화 되어있는 경우 예외 알림 시간대가 아닌경우 슬랙 알림 발송 처리한다.
|
||||||
|
if(holiSmishingNoti.equals("Y")) {
|
||||||
|
|
||||||
|
// SLACK 체크
|
||||||
|
if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
||||||
|
|
||||||
|
MsgAlarmSetVO msgAlarmSetVO = new MsgAlarmSetVO();
|
||||||
|
|
||||||
|
msgAlarmSetVO.setUseYn("Y");
|
||||||
|
msgAlarmSetVO.setFirstIndex(0);
|
||||||
|
|
||||||
|
List<MsgAlarmSetVO> resultAlarmList = msgHolidayService.selectAlarmSettingList(msgAlarmSetVO);
|
||||||
|
|
||||||
|
Calendar calendar = Calendar.getInstance();
|
||||||
|
int year = calendar.get(Calendar.YEAR);
|
||||||
|
|
||||||
|
MsgHolidayVO msgHolidayVO = new MsgHolidayVO();
|
||||||
|
msgHolidayVO.setFirstIndex(0);
|
||||||
|
msgHolidayVO.setRecordCountPerPage(100);
|
||||||
|
msgHolidayVO.setSearchHoliYear(Integer.toString(year));
|
||||||
|
|
||||||
|
List<MsgHolidayVO> resultHolidayList = msgHolidayService.selectMsgHolidayList(msgHolidayVO);
|
||||||
|
|
||||||
|
MjonHolidayApi mjonHolidayApi = new MjonHolidayApi();
|
||||||
|
|
||||||
|
boolean smishingAlarmPassSts = mjonHolidayApi.getHolidaySmishingPassStatus(resultAlarmList, resultHolidayList);
|
||||||
|
|
||||||
|
if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림설정 시간에 포함되지 않는 경우 슬랙 알림 발송
|
||||||
|
|
||||||
|
MjonCommon comm = new MjonCommon();
|
||||||
|
comm.getAdminKakaoAtSandSlack(kakaoVO);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// SLACK 체크
|
// SLACK 체크
|
||||||
if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
/*if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
||||||
//Slack으로 메세지 전송 처리
|
//Slack으로 메세지 전송 처리
|
||||||
MjonCommon comm = new MjonCommon();
|
MjonCommon comm = new MjonCommon();
|
||||||
comm.getAdminKakaoAtSandSlack(kakaoVO);
|
comm.getAdminKakaoAtSandSlack(kakaoVO);
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
@ -373,12 +373,12 @@ public class KakaoFriendsTalkTemplateController {
|
|||||||
/** pageing */
|
/** pageing */
|
||||||
PaginationInfo paginationInfo = new PaginationInfo();
|
PaginationInfo paginationInfo = new PaginationInfo();
|
||||||
paginationInfo.setCurrentPageNo(searchVO.getPageIndex());
|
paginationInfo.setCurrentPageNo(searchVO.getPageIndex());
|
||||||
paginationInfo.setRecordCountPerPage(searchVO.getPageUnit());
|
paginationInfo.setRecordCountPerPage(9);
|
||||||
paginationInfo.setPageSize(searchVO.getPageSize());
|
paginationInfo.setPageSize(searchVO.getPageSize());
|
||||||
|
|
||||||
searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
|
searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
|
||||||
searchVO.setLastIndex(paginationInfo.getLastRecordIndex());
|
searchVO.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||||
searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
searchVO.setRecordCountPerPage(9);
|
||||||
|
|
||||||
if("".equals(searchVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
if("".equals(searchVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||||
searchVO.setSearchSortCnd("FRIEND_ID");
|
searchVO.setSearchSortCnd("FRIEND_ID");
|
||||||
|
|||||||
@ -265,7 +265,12 @@ public class MjonCommon {
|
|||||||
String smisingSmsTxt = "";
|
String smisingSmsTxt = "";
|
||||||
//예약문자를 발송하는 경우 문자 내용 앞에 "[예약]" 표시되도록 처리
|
//예약문자를 발송하는 경우 문자 내용 앞에 "[예약]" 표시되도록 처리
|
||||||
if(reserveYn.equals("Y")) {
|
if(reserveYn.equals("Y")) {
|
||||||
reservSmsTxt = "[예약]" + smsTxt;
|
|
||||||
|
if(atDelayYn.equals("Y")) {//예약문자 중 스미싱의심 일 경우
|
||||||
|
reservSmsTxt = "[스미싱의심][예약]" + smsTxt;
|
||||||
|
}else {
|
||||||
|
reservSmsTxt = "[예약]" + smsTxt;
|
||||||
|
}
|
||||||
smsTxt = reservSmsTxt;
|
smsTxt = reservSmsTxt;
|
||||||
}else if(atDelayYn.equals("Y")) {
|
}else if(atDelayYn.equals("Y")) {
|
||||||
|
|
||||||
@ -280,7 +285,7 @@ public class MjonCommon {
|
|||||||
if(kakaoVO.getMsgType().equals("8")) {
|
if(kakaoVO.getMsgType().equals("8")) {
|
||||||
msgType = "[알림톡]";
|
msgType = "[알림톡]";
|
||||||
}else if(kakaoVO.getMsgType().equals("9")){
|
}else if(kakaoVO.getMsgType().equals("9")){
|
||||||
msgType = "[테스트중][친구톡]";
|
msgType = "[친구톡]";
|
||||||
}
|
}
|
||||||
sandName = "[" + userId + "]" + "[" + sandName + "]" + msgType;
|
sandName = "[" + userId + "]" + "[" + sandName + "]" + msgType;
|
||||||
|
|
||||||
|
|||||||
@ -83,13 +83,27 @@ function fnSetCalMonth(val) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//선택 채널 알림톡 템플릿 리스트 불러오기
|
//선택 채널 알림톡 템플릿 리스트 불러오기
|
||||||
function fnTemplateListPop(senderKey, userId){
|
function fnAtTemplateListPop(yellowId, senderKey, userId){
|
||||||
|
|
||||||
|
document.popupForm.senderKey.value = senderKey;
|
||||||
|
document.popupForm.userId.value = userId;
|
||||||
|
document.popupForm.yellowId.value = yellowId;
|
||||||
|
|
||||||
|
window.open("about:blank", 'listPopup', 'width=930, height=860, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=yes');
|
||||||
|
document.popupForm.action = "<c:url value='/uss/ion/kakaoat/KakaoATChannelIDTemplateListPopupAjax.do'/>";
|
||||||
|
document.popupForm.target = "listPopup";
|
||||||
|
document.popupForm.submit();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//선택 채널 친구톡 템플릿 리스트 불러오기
|
||||||
|
function fnFtTemplateListPop(senderKey, userId){
|
||||||
|
|
||||||
document.popupForm.senderKey.value = senderKey;
|
document.popupForm.senderKey.value = senderKey;
|
||||||
document.popupForm.userId.value = userId;
|
document.popupForm.userId.value = userId;
|
||||||
|
|
||||||
window.open("about:blank", 'listPopup', 'width=930, height=860, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=yes');
|
window.open("about:blank", 'listPopup', 'width=930, height=860, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=yes');
|
||||||
document.popupForm.action = "<c:url value='/uss/ion/kakaoat/KakaoATChannelIDTemplateListPopupAjax.do'/>";
|
document.popupForm.action = "<c:url value='/uss/ion/kakaoft/KakaoFTChannelIDTemplateListPopupAjax.do'/>";
|
||||||
document.popupForm.target = "listPopup";
|
document.popupForm.target = "listPopup";
|
||||||
document.popupForm.submit();
|
document.popupForm.submit();
|
||||||
|
|
||||||
@ -118,6 +132,7 @@ function fnSelectMber(mberId) {
|
|||||||
<input type="hidden" name="mberId"/>
|
<input type="hidden" name="mberId"/>
|
||||||
<input type="hidden" id="senderKey" name="senderKey" value=""/>
|
<input type="hidden" id="senderKey" name="senderKey" value=""/>
|
||||||
<input type="hidden" name="userId" value=""/>
|
<input type="hidden" name="userId" value=""/>
|
||||||
|
<input type="hidden" name="yellowId" value=""/>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|
||||||
@ -193,6 +208,7 @@ function fnSelectMber(mberId) {
|
|||||||
<col style="width: 19%">
|
<col style="width: 19%">
|
||||||
<col style="width: 24%">
|
<col style="width: 24%">
|
||||||
<col style="width: 10%">
|
<col style="width: 10%">
|
||||||
|
<col style="width: 10%">
|
||||||
<col style="width: 11%">
|
<col style="width: 11%">
|
||||||
<col style="width: 11%">
|
<col style="width: 11%">
|
||||||
<col style="width: 10%">
|
<col style="width: 10%">
|
||||||
@ -204,6 +220,7 @@ function fnSelectMber(mberId) {
|
|||||||
<th>채널ID<input type="button" class="sort sortBtn" id="sort_yellowId"></th>
|
<th>채널ID<input type="button" class="sort sortBtn" id="sort_yellowId"></th>
|
||||||
<th>채널명<input type="button" class="sort sortBtn" id="sort_yellowId"></th>
|
<th>채널명<input type="button" class="sort sortBtn" id="sort_yellowId"></th>
|
||||||
<th>등록상태</th>
|
<th>등록상태</th>
|
||||||
|
<th>템플릿</th>
|
||||||
<th>채널생성일</th>
|
<th>채널생성일</th>
|
||||||
<th>채널등록일<input type="button" class="sort sortBtn" id="sort_lastUpdtPnttm"></th>
|
<th>채널등록일<input type="button" class="sort sortBtn" id="sort_lastUpdtPnttm"></th>
|
||||||
<th>삭제여부<input type="button" class="sort sortBtn" id="sort_deleteYn"></th>
|
<th>삭제여부<input type="button" class="sort sortBtn" id="sort_deleteYn"></th>
|
||||||
@ -226,7 +243,7 @@ function fnSelectMber(mberId) {
|
|||||||
<td onClick="fnTemplateListPop('<c:out value="${result.senderKey}"/>', '<c:out value="${result.userId}"/>');" style="cursor:pointer;">
|
<td onClick="fnTemplateListPop('<c:out value="${result.senderKey}"/>', '<c:out value="${result.userId}"/>');" style="cursor:pointer;">
|
||||||
<c:out value="${result.uuid}"/>
|
<c:out value="${result.uuid}"/>
|
||||||
</td>
|
</td>
|
||||||
<td onClick="fnTemplateListPop('<c:out value="${result.senderKey}"/>', '<c:out value="${result.userId}"/>');" style="cursor:pointer;">
|
<td>
|
||||||
<c:out value="${result.name}"/>
|
<c:out value="${result.name}"/>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
@ -250,6 +267,10 @@ function fnSelectMber(mberId) {
|
|||||||
</c:otherwise>
|
</c:otherwise>
|
||||||
</c:choose>
|
</c:choose>
|
||||||
</td>
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="button" class="btnType1" onClick="fnAtTemplateListPop('<c:out value="${result.uuid}"/>','<c:out value="${result.senderKey}"/>', '<c:out value="${result.userId}"/>');" value="AT"/>
|
||||||
|
<input type="button" class="btnType1" onClick="fnFtTemplateListPop('<c:out value="${result.senderKey}"/>', '<c:out value="${result.userId}"/>');" value="FT"/>
|
||||||
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<fmt:parseDate value="${result.createdAt}" var="dateValue" pattern="yyyy-MM-dd HH:mm:ss"/>
|
<fmt:parseDate value="${result.createdAt}" var="dateValue" pattern="yyyy-MM-dd HH:mm:ss"/>
|
||||||
<fmt:formatDate value="${dateValue}" pattern="yyyy-MM-dd"/>
|
<fmt:formatDate value="${dateValue}" pattern="yyyy-MM-dd"/>
|
||||||
@ -342,14 +363,14 @@ function fnSelectMber(mberId) {
|
|||||||
</tr>
|
</tr>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
<c:if test="${empty resultChannelList}">
|
<c:if test="${empty resultChannelList}">
|
||||||
<tr><td colspan="14"><spring:message code="common.nodata.msg" /></td></tr>
|
<tr><td colspan="9"><spring:message code="common.nodata.msg" /></td></tr>
|
||||||
</c:if>
|
</c:if>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="btnWrap">
|
<div class="btnWrap">
|
||||||
<input type="button" class="btnType2" onclick="javascript:fnSttusYAll(); return false;" value="일괄승인">
|
<!-- <input type="button" class="btnType2" onclick="javascript:fnSttusYAll(); return false;" value="일괄승인"> -->
|
||||||
</div> -->
|
</div>
|
||||||
<!-- 페이지 네비게이션 시작 -->
|
<!-- 페이지 네비게이션 시작 -->
|
||||||
<c:if test="${!empty resultChannelList}">
|
<c:if test="${!empty resultChannelList}">
|
||||||
<div class="page">
|
<div class="page">
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,190 @@
|
|||||||
|
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||||
|
<% pageContext.setAttribute("newLineChar", "\r\n"); %>
|
||||||
|
<% pageContext.setAttribute("newLineChar2", "\n"); %>
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<title>친구톡 템플릿 등록</title>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap"
|
||||||
|
rel="stylesheet">
|
||||||
|
<link rel="stylesheet" href="/publish/css/reset.css">
|
||||||
|
<link rel="stylesheet" href="/publish/css/jquery.mCustomScrollbar.css">
|
||||||
|
<link rel="stylesheet" href="/publish/css/common.css">
|
||||||
|
<link rel="stylesheet" href="/publish/css/button.css">
|
||||||
|
<link rel="stylesheet" href="/publish/css/content.css?date=202301160001">
|
||||||
|
<link rel="stylesheet" href="/publish/css/mem.css">
|
||||||
|
<link rel="stylesheet" href="/publish/css/font.css">
|
||||||
|
<link rel="stylesheet" href="/publish/css/popupLayer.css">
|
||||||
|
|
||||||
|
<script src="/publish/js/jquery-3.5.0.js"></script>
|
||||||
|
<script src="/publish/js/jquery.mCustomScrollbar.concat.min.js"></script>
|
||||||
|
<script src="/publish/js/common.js"></script>
|
||||||
|
<script src="/publish/js/content.js?date=202211070003"></script>
|
||||||
|
<script src="/publish/js/popupLayer.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
function linkPage(page){
|
||||||
|
|
||||||
|
form = document.listForm;
|
||||||
|
|
||||||
|
form.pageIndex.value=page;
|
||||||
|
form.action="<c:url value='/uss/ion/kakaoft/KakaoFTChannelIDTemplateListPopupAjax.do'/>";
|
||||||
|
form.submit();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function fnSearch(){
|
||||||
|
|
||||||
|
var templateStatus = $("select[name=selectTemplateStatus]").val();
|
||||||
|
var searchKeyword = $("input[name=inputSearchKeyword]").val();
|
||||||
|
|
||||||
|
if(searchKeyword != ''){
|
||||||
|
|
||||||
|
if(searchKeyword.length < 2 || searchKeyword.length > 50){
|
||||||
|
|
||||||
|
alert("검색어는 최소 2자 이상 50자 이내로 입력해야 합니다.");
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var form = document.listForm;
|
||||||
|
|
||||||
|
form.searchKeyword.value = searchKeyword;
|
||||||
|
form.templateStatus.value = templateStatus;
|
||||||
|
|
||||||
|
linkPage(1);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function fnTemplateDetail(friendId){
|
||||||
|
|
||||||
|
var form = document.templateForm;
|
||||||
|
|
||||||
|
form.templateCode.value = friendId;
|
||||||
|
|
||||||
|
window.open("about:blank", 'popupTemplateDetail', 'width=1240, height=1080, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbar=no');
|
||||||
|
form.action = "<c:url value='/uss/ion/kakaoft/KakaoFTChannelIDTemplateDetailPopupAjax.do'/>";
|
||||||
|
form.target = "popupTemplateDetail";
|
||||||
|
form.submit();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="loading_layer">
|
||||||
|
<div class="loading_container">
|
||||||
|
<div class="bar"></div>
|
||||||
|
<div class="text">Loading</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="top_content kakaotalkset_cont current pay_tab_wrap">
|
||||||
|
<form id="templateForm" name="templateForm" method="post">
|
||||||
|
<input type="hidden" name="SenderKey" value="<c:out value="${kakaoVO.senderKey }"/>">
|
||||||
|
<input type="hidden" id="templateCode" name="templateCode" value="">
|
||||||
|
<input type="hidden" id="tmpUserId" name="userId" value="<c:out value="${kakaoVO.userId}"/>">
|
||||||
|
</form>
|
||||||
|
<form id="listForm" name="listForm" method="post">
|
||||||
|
<input type="hidden" name="SenderKey" value="<c:out value="${kakaoVO.senderKey }"/>">
|
||||||
|
<input type="hidden" name="yellowId" value="<c:out value="${kakaoVO.yellowId }"/>">
|
||||||
|
<input type="hidden" id="page" name="page" value="">
|
||||||
|
<input type="hidden" id="pageIndex" name="pageIndex" value="">
|
||||||
|
<input type="hidden" id="searchKeyword" name="searchKeyword" value="">
|
||||||
|
<input type="hidden" id="templateStatus" name="templateStatus" value="">
|
||||||
|
<input type="hidden" id="templateCode" name="templateCode" value="">
|
||||||
|
<input type="hidden" id="listUserId" name="userId" value="<c:out value="${kakaoVO.userId}"/>">
|
||||||
|
</form>
|
||||||
|
<div class="info_popup ad_layer template_choice_popup adpopup01" style="width:930px; margin-left:45px;">
|
||||||
|
<div class="top_content kakaotalkset_cont current pay_tab_wrap" style="width:930px;">
|
||||||
|
<div class="popup_heading">
|
||||||
|
<p>친구톡 템플릿 선택</p>
|
||||||
|
</div>
|
||||||
|
<div class="layer_in">
|
||||||
|
<div class="popup_search_wrap type2 grayborder grayfill">
|
||||||
|
<input type="text" name="inputSearchKeyword" id="inputSearchKeyword" placeholder="템플릿명을 입력해주세요." class="inputType template_name" value="<c:out value='${kakaoVO.keyword}'/>">
|
||||||
|
<button type="button" class="popup_button_type bluefill" onclick="fnSearch(); return false;">검색</button>
|
||||||
|
</div>
|
||||||
|
<div class="template_list">
|
||||||
|
<ul class="kakao_template_list thumbnail_list">
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${not empty kakaoTemplateInfoList}">
|
||||||
|
<c:forEach var="templatInfoList" items="${kakaoTemplateInfoList}" varStatus="status">
|
||||||
|
<li>
|
||||||
|
<div class="kakao_template_wrap">
|
||||||
|
<div class="template_cont">
|
||||||
|
<div class="title">
|
||||||
|
<div class="check">
|
||||||
|
</div>
|
||||||
|
<p title="친구톡 템플릿 내용" onclick="javascript:fnTemplateDetail('<c:out value="${templatInfoList.friendId}"/>'); return false;" style="cursor:pointer;">
|
||||||
|
<c:if test="${templatInfoList.adFlag eq 'Y'}">(광고)</c:if>
|
||||||
|
<c:out value="${fn:replace(templatInfoList.yellowId, '@', '')}"/>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="allimtalk_content" onclick="javascript:fnTemplateDetail('<c:out value="${templatInfoList.friendId}"/>'); return false;" style="cursor:pointer;">
|
||||||
|
<!-- 템플릿에 이미지가 있는경우 이미지 표시 -->
|
||||||
|
<c:if test="${not empty templatInfoList.imageType}">
|
||||||
|
<div class="img_box">
|
||||||
|
<img src="<c:url value='${templatInfoList.templateImageUrl}'/>" alt="">
|
||||||
|
</div>
|
||||||
|
</c:if>
|
||||||
|
|
||||||
|
<p class="template_text"><c:out value="${fn:replace(fn:replace(templatInfoList.templateContent, newLineChar, '<br/>'), newLineChar2, '<br/>')}" escapeXml="false"/></p>
|
||||||
|
<!-- 채널 추가형을 선택한 경우 자동으로 버튼이 하나 추가됨, 버튼을 추가한 경우 버튼 정보 표시 -->
|
||||||
|
<c:forEach var="templatInfoButtonList" items="${templatInfoList.buttonVOList}" varStatus="status">
|
||||||
|
<button type="button" class="btn_kakao_type"><c:out value="${templatInfoButtonList.name}"/></button>
|
||||||
|
</c:forEach>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<c:if test="${templatInfoList.adFlag eq 'Y'}">
|
||||||
|
<p class="cf_text">수신거부 | 홈 > 채널차단</p>
|
||||||
|
</c:if>
|
||||||
|
</div>
|
||||||
|
<div class="kakao_template_info">
|
||||||
|
<dl>
|
||||||
|
<dt>템플릿명</dt>
|
||||||
|
<dd>
|
||||||
|
<c:out value="${templatInfoList.templateName}"/>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl>
|
||||||
|
<dt>등록일</dt>
|
||||||
|
<dd><c:out value="${templatInfoList.frstRegistPnttm}"/>
|
||||||
|
<%-- <div class="btn_wrap">
|
||||||
|
<button type="button" class="btn_template_edit" title="템플릿 수정" onclick="javascript:fnTemplateDetail('<c:out value="${templatInfoList.friendId}"/>'); return false;"><img src="/publish/images/content/btn_template_edit.png" alt=""></button>
|
||||||
|
<button type="button" class="btn_template_delete" title="템플릿 삭제" onclick="javascript:fnTemplateDelBtn('<c:out value="${templatInfoList.friendId}"/>'); return false;"><img src="/publish/images/content/btn_template_delete.png" alt=""></button>
|
||||||
|
</div> --%>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</c:forEach>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<li class="template_none">등록된 템플릿이 없습니다.</li>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- pagination -->
|
||||||
|
<c:if test="${not empty kakaoTemplateInfoList}">
|
||||||
|
<ul class="pagination">
|
||||||
|
<ui:pagination paginationInfo = "${paginationInfo}" type="imageWeb" jsFunction="linkPage" />
|
||||||
|
</ul><!-- //pageWrap -->
|
||||||
|
</c:if>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -41,7 +41,7 @@ function selectTemplateListLoad(page){
|
|||||||
|
|
||||||
//화면 로딩바 보여주기
|
//화면 로딩바 보여주기
|
||||||
$('.loading_layer').addClass('active');
|
$('.loading_layer').addClass('active');
|
||||||
$("#templateList").load("/web/mjon/kakao/template/selectKakaoFriendsTemplateListAjax.do", {"senderKey":selectAgentCode, "categoryCode" : selectTemplateSecondCatagory, "templateStatus" : selectTemplateStatus, "searchKeyword" : keyword, "page" : page, "yellowId" : yellowId, "formListType" : formListType} ,function(){
|
$("#templateList").load("/web/mjon/kakao/template/selectKakaoFriendsTemplateListAjax.do", {"senderKey":selectAgentCode, "categoryCode" : selectTemplateSecondCatagory, "templateStatus" : selectTemplateStatus, "searchKeyword" : keyword, "pageIndex" : page, "yellowId" : yellowId, "formListType" : formListType} ,function(){
|
||||||
|
|
||||||
//썸네일 박스 스크롤 적용해주기
|
//썸네일 박스 스크롤 적용해주기
|
||||||
$(".kakao_template_wrap").mCustomScrollbar({
|
$(".kakao_template_wrap").mCustomScrollbar({
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user