Merge branch 'master' into wyh

This commit is contained in:
name 2023-08-08 15:53:32 +09:00
commit 5cbbfb5169
28 changed files with 720 additions and 140 deletions

View File

@ -198,7 +198,7 @@ public class FaxRestController {
}
}

View File

@ -0,0 +1,18 @@
package itn.let.mjo.test.service;
public class TestVO {
private String fileNm;
public String getFileNm() {
return fileNm;
}
public void setFileNm(String fileNm) {
this.fileNm = fileNm;
}
}

View File

@ -1,7 +1,16 @@
package itn.let.mjo.test.web;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.ArrayList;
@ -13,25 +22,42 @@ import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.imageio.ImageIO;
import javax.mail.internet.ContentDisposition;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang.StringUtils;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.ImageType;
import org.apache.pdfbox.rendering.PDFRenderer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.env.SystemEnvironmentPropertySource;
import org.springframework.core.io.ByteArrayResource;
import org.springframework.core.io.FileSystemResource;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.springframework.web.util.UriUtils;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
@ -83,6 +109,7 @@ import itn.let.utl.user.service.CheckFileUtil;
import itn.let.utl.user.service.CheckLoginUtil;
import itn.let.utl.user.service.CheckNoServiceCommon;
@Controller
public class TestController {
@ -1909,6 +1936,8 @@ public class TestController {
//일괄변환에 의한 단문, 장문 별개로 전송을 했기 때문에 각각 전송 결과 건수를 합쳐준 결과를 modelAndView로 리턴해준다.
String returnMessage = "";
String returnStatus = "";
String msgGroupIdListComma = "";
String msgTypeListComma = "";
//그림 결과 내용
if(!returnImgMap.isEmpty()) {
@ -1925,6 +1954,7 @@ public class TestController {
returnMessage = returnImgMap.get("message");
returnStatus = returnImgMap.get("result");
msgGroupIdListComma = returnImgMap.get("msgGroupId");
}else {
returnMessage = returnImgMap.get("message");
@ -1955,6 +1985,12 @@ public class TestController {
returnMessage = returnLongMap.get("message");
returnStatus = returnLongMap.get("result");
msgGroupIdListComma = StringUtils.isNotEmpty(msgGroupIdListComma)
? msgGroupIdListComma+","+returnLongMap.get("msgGroupId")
: returnLongMap.get("msgGroupId");
msgTypeListComma = StringUtils.isNotEmpty(msgTypeListComma)
? msgTypeListComma+","+"6"
: "6";
}else {
returnMessage = returnLongMap.get("message");
@ -1985,6 +2021,12 @@ public class TestController {
returnMessage = returnShortMap.get("message");
returnStatus = returnShortMap.get("result");
msgGroupIdListComma = StringUtils.isNotEmpty(msgGroupIdListComma)
? msgGroupIdListComma+","+returnShortMap.get("msgGroupId")
: returnShortMap.get("msgGroupId");
msgTypeListComma = StringUtils.isNotEmpty(msgTypeListComma)
? msgTypeListComma+","+"4"
: "4";
}else {
returnMessage = returnShortMap.get("message");
@ -2000,8 +2042,8 @@ public class TestController {
}
modelAndView.addObject("msgType", mjonMsgVO.getMsgType());
modelAndView.addObject("msgGroupId", mjonMsgVO.getMsgGroupId());
modelAndView.addObject("msgType", msgTypeListComma);
modelAndView.addObject("msgGroupId", msgGroupIdListComma);
modelAndView.addObject("message", returnMessage);
modelAndView.addObject("result", returnStatus);
modelAndView.addObject("resultSts", resultSts);
@ -2545,7 +2587,7 @@ public class TestController {
}
System.out.println("=========================================================================");
System.out.println("+++++++++++++++++++++++++++++++++++++++++++ resultSts ::: " + resultSts);
System.out.println(" 25xx +++++++++++++++++++++++++++++++++++++++++++ resultSts ::: " + resultSts);
System.out.println("=========================================================================");
try {
@ -2645,6 +2687,8 @@ public class TestController {
returnMap.put("message", "문자 전송이 완료되었습니다.");
returnMap.put("result", "success");
returnMap.put("msgGroupId", mjonMsgVO.getMsgGroupId());
returnMap.put("resultSts", Integer.toString(resultSts));
returnMap.put("resultSts", Integer.toString(resultSts));
returnMap.put("resultBlockSts", Integer.toString(resultBlockSts));
return returnMap;
@ -3038,9 +3082,198 @@ public class TestController {
@RequestMapping(value= {"/web/user/login/fileTest.do"})
public void downloadAndSaveFile() throws Exception {
String downloadUrl = "http://192.168.0.11:5000/converHWPtoPDF";
String filePath = "D:\\Development\\test_dev";
String fileNm = "저작권분쟁조정규칙(20220516)";
// String fileNm = "testFileName(20220516)";
String fileExt = ".pdf";
String cnvtfileExt = ".jpg";
byte[] fileData = fileSendAnddownloadFile(downloadUrl, filePath + File.separator + fileNm + ".hwp");
// byte[] fileData = downloadFile(downloadUrl, fileNm);
this.saveFile(fileData, filePath, fileNm+fileExt);
this.pdfToJpg(filePath, fileNm, fileExt, cnvtfileExt);
}
/**
* @methodName : fileSendAnddownloadFile
* @author : 이호영
* @date : 2023.08.04
* @description : 파일을 보내서 PFD로 변환한 파일을 받는다
* @param downloadUrl
* @param filePathNm
* @return
* @throws IOException
*/
public byte[] fileSendAnddownloadFile(String downloadUrl, String filePathNm) throws IOException {
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
// Create a ByteArrayResource to wrap the file content without relying on the file system
FileSystemResource fileResource = new FileSystemResource(filePathNm);
// To ensure correct encoding for non-ASCII characters
String encodedFilename = UriUtils.encode(fileResource.getFilename(), "UTF-8");
// Create a new HttpEntity for file and use encoded filename
MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
body.add("file", new ByteArrayResource(Files.readAllBytes(fileResource.getFile().toPath())) {
@Override
public String getFilename() {
return encodedFilename;
}
});
HttpEntity<MultiValueMap<String, Object>> entity = new HttpEntity<>(body, headers);
ResponseEntity<byte[]> responseEntity = restTemplate.exchange(downloadUrl, HttpMethod.POST, entity, byte[].class);
if (responseEntity.getStatusCodeValue() == 200) {
return responseEntity.getBody();
} else {
throw new RuntimeException("Failed to download file from " + downloadUrl);
}
}
/**
* @methodName : downloadFile
* @author : 이호영
* @date : 2023.08.04
* @description : 서버에 파일을 요청해서 받는 형식
* @param downloadUrl
* @param fileNm
* @return
public byte[] downloadFile(String downloadUrl, String fileNm) {
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
MultiValueMap<String, String> body = new LinkedMultiValueMap<>();
body.add("fileNm", fileNm);
HttpEntity<MultiValueMap<String, String>> entity = new HttpEntity<>(body, headers);
ResponseEntity<byte[]> responseEntity = restTemplate.exchange(downloadUrl, HttpMethod.POST, entity, byte[].class);
// System.out.println("responseEntity :: "+ responseEntity);
if (responseEntity.getStatusCodeValue() == 200) {
return responseEntity.getBody();
} else {
throw new RuntimeException("Failed to download file from " + downloadUrl);
}
}
*/
/**
* @methodName : saveFile
* @author : 이호영
* @date : 2023.08.04
* @description : 파일 저장
* @param fileData
* @param filePath
* @param fileNm
*/
public void saveFile(byte[] fileData, String filePath, String fileNm) {
Path path = Paths.get(filePath, fileNm);
try {
Files.write(path, fileData);
} catch (IOException e) {
throw new RuntimeException("Failed to save file to " + filePath, e);
}
}
/**
* @methodName : pdfToJpg
* @author : 이호영
* @date : 2023.08.04
* @description : 저장한 파일을 불러와서 파일명의 폴더를 생성하여 jpg로 저장
* @param filePath
* @param fileNm
* @param oriFileExt
* @param cnvtfileExt
* @throws Exception
*/
public void pdfToJpg(String filePath, String fileNm, String oriFileExt, String cnvtfileExt) throws Exception {
File file = new File(filePath + File.separator + fileNm + oriFileExt);
PDDocument document = PDDocument.load(file);
try {
int pageCount = document.getNumberOfPages();
PDFRenderer pdfRenderer = new PDFRenderer(document);
System.out.println("pageCount : "+ pageCount);
String saveFilePath = this.filePathChk(filePath + File.separator +fileNm);
if(StringUtils.isNotEmpty(saveFilePath))
{
for (int i = 0; i < pageCount; i++) {
BufferedImage imageObj = pdfRenderer.renderImageWithDPI(i, 100, ImageType.RGB);
File outputfile = new File(saveFilePath + File.separator + fileNm + i + cnvtfileExt);
ImageIO.write(imageObj, "jpg", outputfile);
}
}
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}finally {
if (document != null) {
document.close();
}
}
}
/**
* @methodName : filePathChk
* @author : 이호영
* @date : 2023.08.04
* @description : jpg 파일 저장할 디렉토리 생성
* @param filePath
* @return
*/
private String filePathChk(String filePath) {
// TODO Auto-generated method stub
String directoryPath = filePath;
Path path = Paths.get(directoryPath);
if (!Files.exists(path)) {
try {
Files.createDirectories(path);
System.out.println("Directory created");
return directoryPath;
} catch (IOException e) {
throw new RuntimeException("Failed to create directory!", e);
}
} else {
System.out.println("Directory already exists");
}
return null;
}
}

View File

@ -34,6 +34,9 @@ public interface MberGrdService {
// 회원 등급제 대상여부 정보(사용자화면용)
public MberGrdVO selectMberGrdInfo(String mberId) throws Exception;
// 회원 등급 예외 정보
public MberGrdVO selectMberEtcInfo(String mberId) throws Exception;
// 회원별 등급 누적결제액 상세
public MberGrdVO selectMberGrdAmtDetail(MberGrdVO mberGrdVO) throws Exception;

View File

@ -48,6 +48,9 @@ public class MberGrdVO extends UserDefaultVO {
private String grdPeriod; // 회원등급제 누적결제 계산기간
private String tempYn;
private String moid; // 결제번호
private String isSalePrice; // 협의회원
private String blineCode; // B선회원
private String spamYn; // 스팸회원
// 검색필터
private String searchGrdStatus;
@ -287,5 +290,23 @@ public class MberGrdVO extends UserDefaultVO {
}
public void setSearchGrdStatus(String searchGrdStatus) {
this.searchGrdStatus = searchGrdStatus;
}
public String getIsSalePrice() {
return isSalePrice;
}
public void setIsSalePrice(String isSalePrice) {
this.isSalePrice = isSalePrice;
}
public String getBlineCode() {
return blineCode;
}
public void setBlineCode(String blineCode) {
this.blineCode = blineCode;
}
public String getSpamYn() {
return spamYn;
}
public void setSpamYn(String spamYn) {
this.spamYn = spamYn;
}
}

View File

@ -53,6 +53,11 @@ public class MberGrdDAO extends EgovAbstractDAO {
return (MberGrdVO) select("mberGrdDAO.selectMberGrdInfo", mberId);
}
// 회원 등급 예외 정보
public MberGrdVO selectMberEtcInfo(String mberId) throws Exception{
return (MberGrdVO) select("mberGrdDAO.selectMberEtcInfo", mberId);
}
// 회원별 등급 누적결제액 상세
public MberGrdVO selectMberGrdAmtDetail(MberGrdVO mberGrdVO) throws Exception{
return (MberGrdVO) select("mberGrdDAO.selectMberGrdAmtDetail", mberGrdVO);

View File

@ -130,6 +130,15 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
return mberGrdDAO.selectMberGrdInfo(mberId);
}
// 회원 등급 예외 정보
@Override
public MberGrdVO selectMberEtcInfo(String mberId) throws Exception {
// 공백제거
mberId = mberId.trim();
return mberGrdDAO.selectMberEtcInfo(mberId);
}
// 회원별 등급 누적결제액 상세
@Override
public MberGrdVO selectMberGrdAmtDetail(MberGrdVO mberGrdVO) throws Exception {

View File

@ -43,7 +43,7 @@ public class MberGrdController {
HttpServletRequest request,
ModelMap model) throws Exception{
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
mberGrdVO.setMberId(userId);
@ -78,7 +78,7 @@ public class MberGrdController {
return "/web/grd/MberGrdHistListAjax";
}
// 등급제 시행 ON/OFF 체크
// 등급제 시행 ON/OFF 체크(로그인 상태에서만 조회)
@RequestMapping(value = "/web/grd/mberSettDetailAjax.do")
public ModelAndView mberSettingDetailAjax(
@ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception {
@ -90,11 +90,67 @@ public class MberGrdController {
String msg = "";
try{
MberGrdVO mberGrdVO1 = new MberGrdVO();
mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO);
if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) {
isSuccess = true;
}
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
if (null != loginVO) {
MberGrdVO mberGrdVO1 = new MberGrdVO();
mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO);
if (mberGrdVO1.getGrdNoti().equals("Y")) {
isSuccess = true;
}
}
}
catch(Exception e) {
msg = e.getMessage();
}
modelAndView.addObject("isSuccess", isSuccess);
modelAndView.addObject("msg", msg);
return modelAndView;
}
// 등급제 시행 ON/OFF 체크(비로그인 상태에서 조회)
@RequestMapping(value = "/web/grd/mberSettDetailByNotLoginAjax.do")
public ModelAndView mberSettDetailByNotLoginAjax(
@ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
boolean isSuccess = false;
String msg = "";
MberGrdVO rtnMberGrdVO = new MberGrdVO();
try{
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
if (null != loginVO) {
mberGrdVO.setMberId(userId);
// Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)
MberGrdVO mberGrdVO1 = new MberGrdVO();
mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO);
if (mberGrdVO1.getGrdNoti().equals("Y")) {
// Step 2. 회원별 이벤트 진행여부
int mberEventPrgCnt = mberGrdService.selectMberEventPrgCnt(mberGrdVO.getMberId());
if (mberEventPrgCnt == 0) {
rtnMberGrdVO = mberGrdService.selectMberGrdInfo(mberGrdVO.getMberId());
if (null != rtnMberGrdVO) {
isSuccess = true;
}
else {
msg = "종료";
}
}
}
}
else {
MberGrdVO mberGrdVO1 = new MberGrdVO();
mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO);
if (mberGrdVO1.getGrdNoti().equals("Y")) {
isSuccess = true;
}
}
}
catch(Exception e) {
msg = e.getMessage();
@ -115,7 +171,7 @@ public class MberGrdController {
modelAndView.setViewName("jsonView");
// 로그인VO에서 사용자 정보 가져오기
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
@ -127,17 +183,22 @@ public class MberGrdController {
if (StringUtils.isNotEmpty(userId)) {
mberGrdVO.setMberId(userId);
// 회원별 이벤트 진행여부
int mberEventPrgCnt = mberGrdService.selectMberEventPrgCnt(mberGrdVO.getMberId());
if (mberEventPrgCnt == 0) {
rtnMberGrdVO = mberGrdService.selectMberGrdInfo(mberGrdVO.getMberId());
if (null != rtnMberGrdVO) {
isSuccess = true;
}
else {
msg = "종료";
}
}
// Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)
MberGrdVO mberGrdVO1 = new MberGrdVO();
mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO);
if (mberGrdVO1.getGrdNoti().equals("Y")) {
// Step 2. 회원별 이벤트 진행여부
int mberEventPrgCnt = mberGrdService.selectMberEventPrgCnt(mberGrdVO.getMberId());
if (mberEventPrgCnt == 0) {
rtnMberGrdVO = mberGrdService.selectMberGrdInfo(mberGrdVO.getMberId());
if (null != rtnMberGrdVO) {
isSuccess = true;
}
else {
msg = "종료";
}
}
}
}
}
catch(Exception e) {

View File

@ -4,6 +4,7 @@ import java.util.List;
import javax.annotation.Resource;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
@ -182,7 +183,7 @@ public class MberGrdMngController {
// Step 1. 등급제 시행 ON 일경우
MberGrdVO mberGrdVO1 = new MberGrdVO();
mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO);
if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) {
if (mberGrdVO1.getGrdNoti().equals("Y")) {
mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate());
// 회원별 등급 초기화
@ -312,7 +313,7 @@ public class MberGrdMngController {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
boolean isSuccess = true;
boolean isSuccess = false;
String msg = "";
MberGrdVO rtnMberGrdVO = new MberGrdVO();
@ -320,20 +321,28 @@ public class MberGrdMngController {
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
String frstRegisterId = loginVO == null ? "" : loginVO.getId();
mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID
try{
rtnMberGrdVO = mberGrdService.selectMberGrdInfo(mberGrdVO.getMberId());
if (null != rtnMberGrdVO) {
// 등급제 적용
}
else {
isSuccess = false;
msg = "종료";
}
if (StringUtils.isNotEmpty(mberGrdVO.getMberId())) {
// Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)
MberGrdVO mberGrdVO1 = new MberGrdVO();
mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO);
if (mberGrdVO1.getGrdNoti().equals("Y")) {
// Step 2. 회원별 이벤트 진행여부
int mberEventPrgCnt = mberGrdService.selectMberEventPrgCnt(mberGrdVO.getMberId());
if (mberEventPrgCnt == 0) {
rtnMberGrdVO = mberGrdService.selectMberGrdInfo(mberGrdVO.getMberId());
if (null != rtnMberGrdVO) {
isSuccess = true;
}
else {
msg = "종료";
}
}
}
}
}
catch(Exception e) {
isSuccess = false;
msg = e.getMessage();
}
@ -344,6 +353,56 @@ public class MberGrdMngController {
return modelAndView;
}
// 회원 등급 예외 정보
@RequestMapping(value = "/sym/grd/mberGrdEtcChkAjax.do")
public ModelAndView mberGrdEtcChkAjax(
@ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
boolean isSuccess = false;
boolean isEvent = false;
String msg = "";
MberGrdVO rtnMberGrdVO = new MberGrdVO();
// 로그인VO에서 사용자 정보 가져오기
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
String frstRegisterId = loginVO == null ? "" : loginVO.getId();
mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID
try{
if (StringUtils.isNotEmpty(mberGrdVO.getMberId())) {
// Step 2. 회원별 이벤트 진행여부
int mberEventPrgCnt = mberGrdService.selectMberEventPrgCnt(mberGrdVO.getMberId());
if (mberEventPrgCnt == 0) {
rtnMberGrdVO = mberGrdService.selectMberEtcInfo(mberGrdVO.getMberId());
if (null != rtnMberGrdVO) {
isSuccess = true;
}
else {
msg = "종료";
}
}
else {
isEvent = true;
}
}
}
catch(Exception e) {
msg = e.getMessage();
}
modelAndView.addObject("rtnMberGrdVO", rtnMberGrdVO);
modelAndView.addObject("isSuccess", isSuccess);
modelAndView.addObject("isEvent", isEvent);
modelAndView.addObject("msg", msg);
return modelAndView;
}
// 회원 등급제 종료
@RequestMapping(value = "/sym/grd/mberGrdEndByUserAjax.do")
public ModelAndView mberGrdEndByUserAjax(
@ -433,7 +492,7 @@ public class MberGrdMngController {
// Step 1. 등급제 시행 ON 일경우
MberGrdVO mberGrdVO1 = new MberGrdVO();
mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO);
if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) {
if (mberGrdVO1.getGrdNoti().equals("Y")) {
mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate());
// 회원 등급 변경(환불후) => 기존등급 상관없이 업데이트

View File

@ -303,6 +303,41 @@
]]>
</select>
<!-- 회원 등급 예외 정보 -->
<select id="mberGrdDAO.selectMberEtcInfo" parameterClass="String" resultClass="mberGrdVO">
<![CDATA[
SELECT
M.mberId
, M.isSalePrice
, M.blineCode
, M.spamYn
FROM (
SELECT
A.MBER_ID AS mberId
, IFNULL(A.BLINE_CODE, 'N') AS blineCode
, IFNULL(A.SPAM_YN, 'N') AS spamYn
, CASE
WHEN
(A.SHORT_PRICE > 0
AND (B.SHORT_PRICE > A.SHORT_PRICE
OR B.LONG_PRICE > A.LONG_PRICE
OR B.PICTURE_PRICE > A.PICTURE_PRICE
OR B.PICTURE2_PRICE > A.PICTURE2_PRICE
OR B.PICTURE3_PRICE > A.PICTURE3_PRICE)
)
THEN 'Y'
ELSE 'N'
END isSalePrice
FROM LETTNGNRLMBER A
JOIN MJ_MBER_SETTING B
WHERE 1=1
AND A.MBER_STTUS = 'Y'
AND A.MBER_ID = #mberId#
) M
LIMIT 1
]]>
</select>
<!-- 회원별 등급 누적결제액 상세 -->
<select id="mberGrdDAO.selectMberGrdAmtDetail" parameterClass="mberGrdVO" resultClass="mberGrdVO">
<![CDATA[
@ -887,6 +922,7 @@
AND A.MBER_ID = #mberId#
AND IFNULL(TRIM(A.MOID), '') != ''
AND A.TOT_AMT > 0
AND A.GRD_DATE >= (SELECT S.GRD_DATE FROM MJ_MBER_GRD_INFO S WHERE S.MBER_ID = #mberId#)
ORDER BY A.REG_DATE DESC
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>

View File

@ -169,9 +169,79 @@ $(document).ready(function(){
$(this).val(value);
});
//등급제 적용 테스트
getMberGrdChk();
});
//등급제 적용 테스트
function getMberGrdChk() {
$(".grdSetNm").html("");
var mberId = document.mberManageVO.mberSearchId.value;
$.ajax({
type: "POST",
url: "/sym/grd/mberGrdChkAjax.do",
data: {"mberId" : mberId},
dataType:'json',
async: false,
success: function (data) {
if (data.isSuccess) {
$(".grdSetNm").html(data.rtnMberGrdVO.grdSetNm);
}
else {
//회원 등급 예외 정보
getMberGrdEtc();
//alert("Msg : " + data.msg);
}
},
error: function (e) {
//alert("ERROR : " + JSON.stringify(e));
}
});
}
//회원 등급 예외 정보
function getMberGrdEtc() {
$(".grdSetNm").html("");
var mberId = document.mberManageVO.mberSearchId.value;
$.ajax({
type: "POST",
url: "/sym/grd/mberGrdEtcChkAjax.do",
data: {"mberId" : mberId},
dataType:'json',
async: false,
success: function (data) {
if (data.isSuccess) {
var gradeNm = "";
if (data.isEvent) {
gradeNm += "(할인이벤트회원) ";
}
else if (data.rtnMberGrdVO.isSalePrice == "Y") {
gradeNm += "(단가협의회원) ";
}
else if (data.rtnMberGrdVO.blineCode == "Y") {
gradeNm += "(B선회원) ";
}
else if (data.rtnMberGrdVO.spamYn == "Y") {
gradeNm += "(스팸회원) ";
}
$(".grdSetNm").html(gradeNm);
}
else {
//alert("Msg : " + data.msg);
}
},
error: function (e) {
//alert("ERROR : " + JSON.stringify(e));
}
});
}
function fnCheckAll(){
var checkField = document.delayForm.checkDelayField;
@ -480,7 +550,7 @@ function layerPopOpen(obj){
// 발송 금액 변경
if (obj == "price") {
//등급별 단가 정보
//getMberGrdSettingList();
getMberGrdSettingList();
}
}
@ -3064,9 +3134,8 @@ function kakaoATDelayCancel(msgGroupId){
<option value="N" <c:if test="${mberManageVO.spamYn == 'N'}">selected="selected"</c:if>>오프(Off)</option>
</select>
</td>
<th></th>
<td>
</td>
<th>등급</th>
<td><span class="grdSetNm"></span></td>
</tr>
<tr>
<th>전화번호<button type="button" onclick="layerPopOpen('sms');">SMS</button></th>
@ -3461,9 +3530,8 @@ function kakaoATDelayCancel(msgGroupId){
<option value="N" <c:if test="${mberManageVO.spamYn == 'N'}">selected="selected"</c:if>>오프(Off)</option>
</select>
</td>
<th></th>
<td>
</td>
<th>등급</th>
<td><span class="grdSetNm"></span></td>
</tr>
<tr>
<th>전화번호<button type="button" onclick="layerPopOpen('sms');">SMS</button></th>
@ -5472,12 +5540,10 @@ function kakaoATDelayCancel(msgGroupId){
<col style="width:auto;">
</colgroup>
<tbody>
<!--
<tr>
<th id="mberGrdSettingTitle">등급단가 적용</th>
<td><div id="mberGrdSettingCombo"></div></td>
</tr>
-->
<tr>
<th>단문 금액</th>
<td><input type="text" name="shortPrice" id="shortPrice" value="<c:out value='${shortPrice}'/>"/></td>

View File

@ -649,8 +649,10 @@ function fnSelectMber(mberId) {
</c:if>
<c:if test="${apiKeyVO.useYn eq 'Y'}">
<input type="button" class="btnType2 bg_888888" value="API KEY 미사용 처리" id="btn_fn_delete"
<input type="button" class="btnType2 bg_888888" value="API 미사용 처리" id="btn_fn_delete"
onclick="fn_delete('N'); return false;">
<input type="button" class="btnType2 bg_888888" value="API KEY 중지 처리" id="btn_fn_delete"
onclick="fn_delete('W'); return false;">
<input type="button" class="btnType2 bg_888888" value="API 승인요청상태로" id="btn_fn_delete"
onclick="fn_delete('A'); return false;">
</c:if>
@ -667,6 +669,10 @@ function fnSelectMber(mberId) {
onclick="fn_delete('Y'); return false;">
</c:if>
<c:if test="${apiKeyVO.useYn eq 'W'}">
<input type="button" class="btnType2 bg_888888" value="API KEY 사용 처리" id="btn_fn_delete"
onclick="fn_delete('Y'); return false;">
</c:if>
<input type="button" class="btnType2 bg_888888" value="API KEY 사용자 삭제(실제)" id="btn_fn_delete"
onclick="fn_delete_real(); return false;">

View File

@ -322,7 +322,7 @@ function fn_reg_user_4_apikey(){
<button type="button" class="btnType btnType14" onclick="fn_delete('${apiVO.accessNo}','A'); return false;">재신청</button>
</td>
</c:when>
<c:when test="${apiVO.useYn eq 'Y' or (apiVO.useYn eq 'N' and apiVO.accessKey ne '')}"><!-- API 사용 중 -->
<c:when test="${apiVO.useYn eq 'Y' or (apiVO.useYn eq 'N' and apiVO.accessKey ne '') or apiVO.useYn eq 'W' }"><!-- API 사용 중 -->
<td>${apiVO.frstRegistPnttm}</td>
<td>${apiVO.lastUpdtPnttm}</td>
<td>승인</td>
@ -366,7 +366,7 @@ function fn_reg_user_4_apikey(){
<tbody>
<tr>
<c:choose>
<c:when test="${apiVO.useYn eq 'Y'}">
<c:when test="${apiVO.useYn eq 'Y' }">
<td>
${apiVO.lastUpdtPnttm}
</td>
@ -377,11 +377,11 @@ function fn_reg_user_4_apikey(){
사용
</td>
<td>
<button type="button" class="btnType btnType23" onclick="fn_delete('${apiVO.accessNo}','N'); return false;">정지</button>
<button type="button" class="btnType btnType23" onclick="fn_delete('${apiVO.accessNo}','W'); return false;">정지</button>
<button type="button" class="btnType btnType14" onclick="fn_update_apikey('14'); return false;">재발급</button>
</td>
</c:when>
<%-- <c:when test="${apiVO.useYn eq 'N'}">
<c:when test="${apiVO.useYn eq 'W' }">
<td>
${apiVO.lastUpdtPnttm}
</td>
@ -392,10 +392,9 @@ function fn_reg_user_4_apikey(){
미사용
</td>
<td>
<button type="button" class="btnType btnType23" onclick="fn_delete('${apiVO.accessNo}','Y'); return false;">사용처리</button>
<button type="button" class="btnType btnType14" onclick="fn_update_apikey('${apiVO.accessNo}'); return false;">재발급</button>
<button type="button" class="btnType btnType14" onclick="fn_delete('${apiVO.accessNo}','Y'); return false;">사용</button>
</td>
</c:when> --%>
</c:when>
<c:otherwise>
<td colspan="4">API KEY 발급 내역이 없습니다.</td>
</c:otherwise>
@ -427,7 +426,7 @@ function fn_reg_user_4_apikey(){
</thead>
<tbody>
<c:choose>
<c:when test="${apiVO.useYn eq 'Y' or apiVO.useYn eq 'N'}">
<c:when test="${apiVO.useYn eq 'Y' or apiVO.useYn eq 'N' or apiVO.useYn eq 'W'}">
<c:forEach var="result" items="${apiCallInfoVOList}" varStatus="status">
<tr>
<td>${result.frstRegistPnttm}</td>
@ -461,8 +460,9 @@ function fn_reg_user_4_apikey(){
<!-- <p class="admin_info">* IP는 10개 까지만 등록 가능합니다.</p> -->
</c:otherwise>
</c:choose>
<p class="admin_info">* 대역 등록을 원하실 경우 상위 IP만 작성하시면 됩니다. ex&#65289; 92.168.255.0 ~ 192.168.255.255 대역을 등록할 경우 192.168. 255. 입력</p>
<p class="admin_info">* IP는 최대 10개까지 등록 가능합니다. 단, IP 대역은 1개의 IP로 계산합니다.<c:out value="${apiCallInfoVOListSize }" /></p>
<!-- <p class="admin_info">* 대역 등록을 원하실 경우 상위 IP만 작성하시면 됩니다. ex&#65289; 192.168.255.0 ~ 192.168.255.255 대역을 등록할 경우 192.168. 255. 입력</p> -->
<!-- <p class="admin_info">* 대역 등록을 원하실 경우 상위 IP만 작성하시면 됩니다. ex&#65289; 192.168.255.0 입력</p> -->
<p class="admin_info">* IP는 최대 10개까지 등록 가능합니다. 단, IP 대역은 1개의 IP로 계산합니다.</p>
<!--//사용 승인 될 경우에만 노출-->
</div>
<!--// API 사용 IP 관리 : IP등록 전-->

View File

@ -101,8 +101,72 @@ $(document).ready(function (){
<c:if test="${!loginPage}">
getid();
</c:if>
if(!${empty LoginVO}){
//등급제 대상 여부(헤더)
getMberGrdChk_Header();
}
var reqURL = "${pageContext.request.requestURL}";
var mainURL = "web/main/mainPage.do";
if (reqURL.lastIndexOf(mainURL) > -1) {
//등급제 시행 ON/OFF 체크(비로그인)
getMberSettingDetailByNotLogin();
}
else {
// 문자(등급별 요금 안내)
$("#priceTopBanner").hide();
}
});
//등급제 시행 ON/OFF 체크(비로그인)
function getMberSettingDetailByNotLogin() {
$.ajax({
type: "POST",
url: "/web/grd/mberSettDetailByNotLoginAjax.do",
data: {},
dataType:'json',
async: false,
success: function (data) {
if (data.isSuccess) {
// 문자(등급별 요금 안내)
$("#priceTopBanner").show();
}
else {
//alert("Msg : " + data.msg);
}
},
error: function (e) {
//alert("ERROR : " + JSON.stringify(e));
}
});
}
//등급제 대상 여부
function getMberGrdChk_Header() {
$.ajax({
type: "POST",
url: "/web/grd/mberGrdChkAjax.do",
data: {},
dataType:'json',
async: false,
success: function (data) {
if (data.isSuccess) {
// 등급제 누적결제액 세부내역
var levelIcon = "/publish/images/level/level_icon/" + data.rtnMberGrdVO.grdSetIcon + "_icon.png";
$("#commonHeaderGradeIcon").attr("src", levelIcon);
}
else {
//alert("Msg : " + data.msg);
}
},
error: function (e) {
//alert("ERROR : " + JSON.stringify(e));
}
});
}
//남은 시간 계산해주기(화면 새로고침해도 시간은 계속 유지됨)
function getTimer(date) {
var _vDate = new Date(date);
@ -1057,12 +1121,10 @@ function actionLogin() {
<!-- 요금안내 top 배너 시작 -->
<c:choose>
<c:when test="${fn:contains(pageContext.request.requestURL , 'web/main/mainPage.do')}">
<!--
<img class="price_top_banner" src="/publish/images/level/top_banner.png" alt="최저 8.1원 요금안내" usemap="#topbanner">
<img class="price_top_banner" id="priceTopBanner" style="display:none;" src="/publish/images/level/top_banner.png" alt="최저 8.1원 요금안내" usemap="#topbanner">
<map name="topbanner">
<area shape="poly" coords="45,165,194,164,182,183,155,200,124,208,85,202,63,187,46,167" href="/web/pay/PayGuide.do" alt="">
</map>
-->
</c:when>
</c:choose>
@ -1534,7 +1596,7 @@ function actionLogin() {
<div class="login_left">
<div class="login_info">
<input type="hidden" id="loginId" name="loginId" value="${LoginVO.id}">
<i></i>
<i><img src="/publish/images/mypageIcon2.png" id="commonHeaderGradeIcon" /></i>
<div class="login2_name" onclick="location.href='/web/user/mberInfoChange.do'" style="cursor:pointer;">
<p><c:out value="${LoginVO.name}"/></p>
<c:choose>

View File

@ -92,7 +92,7 @@ $(document).ready(function(){
</c:when>
<c:otherwise>
<tr>
<td colspan="5">
<td colspan="5" style="text-align: center;">
검색 결과가 없습니다.
</td>
</tr>

View File

@ -297,6 +297,18 @@ function txtExport(event){
$("#txtFile").val("");
}
//발송금액 단가표시
function SetPriceWrapOpen() {
var loginVO = '${LoginVO}';
//로그인 체크
if(loginVO == "" || loginVO == null){
}
else {
// 발송금액 가격안내
$("#myPriceWrap").show();
}
}
//등급제 시행 ON/OFF 체크
function getMberSettingDetail() {
$.ajax({
@ -307,7 +319,7 @@ function getMberSettingDetail() {
async: false,
success: function (data) {
if (data.isSuccess) {
// 발송금액 아래 등급별 가격안내 추가
// 발송금액 가격안내
$("#myPriceWrap").show();
}
else {
@ -321,8 +333,8 @@ function getMberSettingDetail() {
}
$(document).ready(function (){
//등급제 시행 ON/OFF 체크
getMberSettingDetail();
// 발송금액 단가표시
SetPriceWrapOpen();
//미리보기 이미지 영역 숨김 처리
$('.preiew_img').hide();

View File

@ -442,6 +442,18 @@ function txtExport(event){
$("#txtFile").val("");
}
//발송금액 단가표시
function SetPriceWrapOpen() {
var loginVO = '${LoginVO}';
//로그인 체크
if(loginVO == "" || loginVO == null){
}
else {
// 발송금액 가격안내
$("#myPriceWrap").show();
}
}
//등급제 시행 ON/OFF 체크
function getMberSettingDetail() {
$.ajax({
@ -452,7 +464,7 @@ function getMberSettingDetail() {
async: false,
success: function (data) {
if (data.isSuccess) {
// 발송금액 아래 등급별 가격안내 추가
// 발송금액 가격안내
$("#myPriceWrap").show();
}
else {
@ -466,8 +478,8 @@ function getMberSettingDetail() {
}
$(document).ready(function (){
//등급제 시행 ON/OFF 체크
getMberSettingDetail();
// 발송금액 단가표시
SetPriceWrapOpen();
$('.preiew_img').hide();
$('.prePhoto').hide();

View File

@ -449,6 +449,18 @@ function txtExport(event){
$("#txtFile").val("");
}
// 발송금액 단가표시
function SetPriceWrapOpen() {
var loginVO = '${LoginVO}';
//로그인 체크
if(loginVO == "" || loginVO == null){
}
else {
// 발송금액 가격안내
$("#myPriceWrap").show();
}
}
//등급제 시행 ON/OFF 체크
function getMberSettingDetail() {
$.ajax({
@ -459,7 +471,7 @@ function getMberSettingDetail() {
async: false,
success: function (data) {
if (data.isSuccess) {
// 발송금액 아래 등급별 가격안내 추가
// 발송금액 가격안내
$("#myPriceWrap").show();
}
else {
@ -473,8 +485,8 @@ function getMberSettingDetail() {
}
$(document).ready(function (){
//등급제 시행 ON/OFF 체크
getMberSettingDetail();
// 발송금액 단가표시
SetPriceWrapOpen();
// Bline 확연 및 라디오 버튼 클릭 이벤트 추가
var blineCodeYn = $("#blineCode").val();

View File

@ -593,6 +593,18 @@ function txtExport(event){
$("#txtFile").val("");
}
//발송금액 단가표시
function SetPriceWrapOpen() {
var loginVO = '${LoginVO}';
//로그인 체크
if(loginVO == "" || loginVO == null){
}
else {
// 발송금액 가격안내
$("#myPriceWrap").show();
}
}
//등급제 시행 ON/OFF 체크
function getMberSettingDetail() {
$.ajax({
@ -603,7 +615,7 @@ function getMberSettingDetail() {
async: false,
success: function (data) {
if (data.isSuccess) {
// 발송금액 아래 등급별 가격안내 추가
// 발송금액 가격안내
$("#myPriceWrap").show();
}
else {
@ -617,8 +629,8 @@ function getMberSettingDetail() {
}
$(document).ready(function (){
//등급제 시행 ON/OFF 체크
getMberSettingDetail();
// 발송금액 단가표시
SetPriceWrapOpen();
// Bline 확연 및 라디오 버튼 클릭 이벤트 추가
var blineCodeYn = $("#blineCode").val();

View File

@ -65,8 +65,8 @@ $(document).ready(function () {
$("#btnEstimate").trigger("click");
}
//등급제 시행 ON/OFF 체크
getMberSettingDetail();
//등급제 시행 ON/OFF 체크(비로그인)
getMberSettingDetailByNotLogin();
// 등급제 대상 여부
getMberGrdChk();
@ -341,11 +341,11 @@ function infoPop(pageUrl){
}
//등급제 시행 ON/OFF 체크
function getMberSettingDetail() {
//등급제 시행 ON/OFF 체크(비로그인)
function getMberSettingDetailByNotLogin() {
$.ajax({
type: "POST",
url: "/web/grd/mberSettDetailAjax.do",
url: "/web/grd/mberSettDetailByNotLoginAjax.do",
data: {},
dataType:'json',
async: false,

View File

@ -25,9 +25,6 @@ $(document).ready(function(){
$("#btnDdedicatedAccount").trigger("click");
}
//등급제 시행 ON/OFF 체크
getMberSettingDetail();
// 등급제 대상 여부
getMberGrdChk();
});
@ -432,29 +429,6 @@ function TabTypePay(obj, tabId) {
setPriceMake();
}
//등급제 시행 ON/OFF 체크
function getMberSettingDetail() {
$.ajax({
type: "POST",
url: "/web/grd/mberSettDetailAjax.do",
data: {},
dataType:'json',
async: false,
success: function (data) {
if (data.isSuccess) {
// 문자(등급별 요금 안내)
$("#mberGrdSettingArea").show();
}
else {
//alert("Msg : " + data.msg);
}
},
error: function (e) {
//alert("ERROR : " + JSON.stringify(e));
}
});
}
// 등급제 대상 여부
function getMberGrdChk() {
$.ajax({
@ -471,7 +445,10 @@ function getMberGrdChk() {
sHtml += "(누적결제액 : &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span>" + numberWithCommas(data.rtnMberGrdVO.totAmt) + "</span>원)</span></p>";
$("#grdShowArea").html(sHtml);
$("#grdShowArea").show();
$("#levelSubTitle").html("(" + data.rtnMberGrdVO.grdDate + " ~ 현재)");
$("#levelSubTitle").html("(" + data.rtnMberGrdVO.grdDate + " ~ 현재)");
// 문자(등급별 요금 안내)
$("#mberGrdSettingArea").show();
}
else {
//alert("Msg : " + data.msg);

View File

@ -29,9 +29,6 @@ $(document).ready(function(){
$("#btnDdedicatedAccount").trigger("click");
}
//등급제 시행 ON/OFF 체크
getMberSettingDetail();
// 등급제 대상 여부
getMberGrdChk();
});
@ -618,30 +615,6 @@ function TabTypePay(obj, tabId) {
setPriceMake();
}
//등급제 시행 ON/OFF 체크
function getMberSettingDetail() {
$.ajax({
type: "POST",
url: "/web/grd/mberSettDetailAjax.do",
data: {},
dataType:'json',
async: false,
success: function (data) {
if (data.isSuccess) {
// 문자(등급별 요금 안내)
$("#mberGrdSettingArea").show();
}
else {
//alert("Msg : " + data.msg);
}
},
error: function (e) {
//alert("ERROR : " + JSON.stringify(e));
}
});
}
// 등급제 대상 여부
function getMberGrdChk() {
$.ajax({
@ -658,7 +631,10 @@ function getMberGrdChk() {
sHtml += "(누적결제액 : &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span>" + numberWithCommas(data.rtnMberGrdVO.totAmt) + "</span>원)</span></p>";
$("#grdShowArea").html(sHtml);
$("#grdShowArea").show();
$("#levelSubTitle").html("(" + data.rtnMberGrdVO.grdDate + " ~ 현재)");
$("#levelSubTitle").html("(" + data.rtnMberGrdVO.grdDate + " ~ 현재)");
// 문자(등급별 요금 안내)
$("#mberGrdSettingArea").show();
}
else {
//alert("Msg : " + data.msg);

View File

@ -301,7 +301,7 @@ $(document).ready(function(){
</c:when>
<c:otherwise>
<tr>
<td colspan="12">발송 내역이 없습니다.</td>
<td colspan="13">발송 내역이 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>

View File

@ -240,7 +240,7 @@ $(document).ready(function(){
</c:when>
<c:otherwise>
<tr>
<td colspan="10">발송 내역이 없습니다.</td>
<td colspan="11">발송 내역이 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>

View File

@ -227,7 +227,7 @@ $(document).ready(function(){
</c:when>
<c:otherwise>
<tr>
<td colspan="9">발송 내역이 없습니다.</td>
<td colspan="10">발송 내역이 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>

View File

@ -244,7 +244,7 @@ function fnSearch(pageNo){
</c:when>
<c:otherwise>
<tr>
<td colspan="9">발송 내역이 없습니다.</td>
<td colspan="10">발송 내역이 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>

View File

@ -25,7 +25,7 @@
//회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용
//실제서비스용
final String mberId = "dudgusw"; //문자온 로그인 아이디
final String apiKey = "769089bdd0363e0d0b1d20761a8d013bd"; //발급받은 api ke
final String apiKey = "0096519c62100b9eea77c040a6045c"; //발급받은 api ke
//테스트용

View File

@ -25,7 +25,7 @@
//회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용
//실제서비스용
final String mberId = "dudgusw"; //문자온 로그인 아이디
final String apiKey = "769089bdd0363e0d0b1d20761a8d013bd"; //발급받은 api key
final String apiKey = "0096519c62100b9eea77c040a6045c"; //발급받은 api ke
//테스트용