Merge branch 'master' into wyh
@5cbbfb516974acbaa2a21ae1681fc9d2b84f09ea
--- src/main/java/itn/let/fax/user/web/FaxRestController.java
+++ src/main/java/itn/let/fax/user/web/FaxRestController.java
... | ... | @@ -198,7 +198,7 @@ |
| 198 | 198 |
|
| 199 | 199 |
} |
| 200 | 200 |
|
| 201 |
- |
|
| 201 |
+ |
|
| 202 | 202 |
|
| 203 | 203 |
|
| 204 | 204 |
} |
+++ src/main/java/itn/let/mjo/test/service/TestVO.java
... | ... | @@ -0,0 +1,18 @@ |
| 1 | +package itn.let.mjo.test.service; | |
| 2 | + | |
| 3 | +public class TestVO { | |
| 4 | + | |
| 5 | + private String fileNm; | |
| 6 | + | |
| 7 | + public String getFileNm() { | |
| 8 | + return fileNm; | |
| 9 | + } | |
| 10 | + | |
| 11 | + public void setFileNm(String fileNm) { | |
| 12 | + this.fileNm = fileNm; | |
| 13 | + } | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | +} |
--- src/main/java/itn/let/mjo/test/web/TestController.java
+++ src/main/java/itn/let/mjo/test/web/TestController.java
... | ... | @@ -1,7 +1,16 @@ |
| 1 | 1 |
package itn.let.mjo.test.web; |
| 2 | 2 |
|
| 3 |
+import java.awt.image.BufferedImage; |
|
| 4 |
+import java.io.File; |
|
| 5 |
+import java.io.IOException; |
|
| 6 |
+import java.io.UnsupportedEncodingException; |
|
| 3 | 7 |
import java.math.BigDecimal; |
| 4 | 8 |
import java.math.RoundingMode; |
| 9 |
+import java.net.URLEncoder; |
|
| 10 |
+import java.nio.charset.StandardCharsets; |
|
| 11 |
+import java.nio.file.Files; |
|
| 12 |
+import java.nio.file.Path; |
|
| 13 |
+import java.nio.file.Paths; |
|
| 5 | 14 |
import java.text.SimpleDateFormat; |
| 6 | 15 |
import java.time.LocalDateTime; |
| 7 | 16 |
import java.util.ArrayList; |
... | ... | @@ -13,25 +22,42 @@ |
| 13 | 22 |
import java.util.Map; |
| 14 | 23 |
|
| 15 | 24 |
import javax.annotation.Resource; |
| 25 |
+import javax.imageio.ImageIO; |
|
| 26 |
+import javax.mail.internet.ContentDisposition; |
|
| 16 | 27 |
import javax.servlet.http.HttpServletRequest; |
| 17 | 28 |
import javax.servlet.http.HttpServletResponse; |
| 18 | 29 |
import javax.servlet.http.HttpSession; |
| 19 | 30 |
|
| 31 |
+import org.apache.commons.lang.StringUtils; |
|
| 32 |
+import org.apache.pdfbox.pdmodel.PDDocument; |
|
| 33 |
+import org.apache.pdfbox.rendering.ImageType; |
|
| 34 |
+import org.apache.pdfbox.rendering.PDFRenderer; |
|
| 20 | 35 |
import org.slf4j.Logger; |
| 21 | 36 |
import org.slf4j.LoggerFactory; |
| 22 | 37 |
import org.springframework.beans.factory.annotation.Autowired; |
| 23 | 38 |
import org.springframework.beans.factory.annotation.Value; |
| 39 |
+import org.springframework.core.env.SystemEnvironmentPropertySource; |
|
| 40 |
+import org.springframework.core.io.ByteArrayResource; |
|
| 41 |
+import org.springframework.core.io.FileSystemResource; |
|
| 42 |
+import org.springframework.http.HttpEntity; |
|
| 43 |
+import org.springframework.http.HttpHeaders; |
|
| 44 |
+import org.springframework.http.HttpMethod; |
|
| 24 | 45 |
import org.springframework.http.HttpStatus; |
| 46 |
+import org.springframework.http.MediaType; |
|
| 25 | 47 |
import org.springframework.http.ResponseEntity; |
| 26 | 48 |
import org.springframework.stereotype.Controller; |
| 27 | 49 |
import org.springframework.ui.ModelMap; |
| 50 |
+import org.springframework.util.LinkedMultiValueMap; |
|
| 51 |
+import org.springframework.util.MultiValueMap; |
|
| 28 | 52 |
import org.springframework.web.bind.annotation.ModelAttribute; |
| 29 | 53 |
import org.springframework.web.bind.annotation.RequestBody; |
| 30 | 54 |
import org.springframework.web.bind.annotation.RequestMapping; |
| 55 |
+import org.springframework.web.client.RestTemplate; |
|
| 31 | 56 |
import org.springframework.web.multipart.MultipartFile; |
| 32 | 57 |
import org.springframework.web.multipart.MultipartHttpServletRequest; |
| 33 | 58 |
import org.springframework.web.servlet.ModelAndView; |
| 34 | 59 |
import org.springframework.web.servlet.mvc.support.RedirectAttributes; |
| 60 |
+import org.springframework.web.util.UriUtils; |
|
| 35 | 61 |
|
| 36 | 62 |
import egovframework.rte.fdl.idgnr.EgovIdGnrService; |
| 37 | 63 |
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; |
... | ... | @@ -82,6 +108,7 @@ |
| 82 | 108 |
import itn.let.utl.user.service.CheckFileUtil; |
| 83 | 109 |
import itn.let.utl.user.service.CheckLoginUtil; |
| 84 | 110 |
import itn.let.utl.user.service.CheckNoServiceCommon; |
| 111 |
+ |
|
| 85 | 112 |
|
| 86 | 113 |
@Controller |
| 87 | 114 |
public class TestController {
|
... | ... | @@ -1909,6 +1936,8 @@ |
| 1909 | 1936 |
//일괄변환에 의한 단문, 장문 별개로 전송을 했기 때문에 각각 전송 결과 건수를 합쳐준 후 결과를 modelAndView로 리턴해준다. |
| 1910 | 1937 |
String returnMessage = ""; |
| 1911 | 1938 |
String returnStatus = ""; |
| 1939 |
+ String msgGroupIdListComma = ""; |
|
| 1940 |
+ String msgTypeListComma = ""; |
|
| 1912 | 1941 |
|
| 1913 | 1942 |
//그림 결과 내용 |
| 1914 | 1943 |
if(!returnImgMap.isEmpty()) {
|
... | ... | @@ -1925,6 +1954,7 @@ |
| 1925 | 1954 |
|
| 1926 | 1955 |
returnMessage = returnImgMap.get("message");
|
| 1927 | 1956 |
returnStatus = returnImgMap.get("result");
|
| 1957 |
+ msgGroupIdListComma = returnImgMap.get("msgGroupId");
|
|
| 1928 | 1958 |
|
| 1929 | 1959 |
}else {
|
| 1930 | 1960 |
returnMessage = returnImgMap.get("message");
|
... | ... | @@ -1955,6 +1985,12 @@ |
| 1955 | 1985 |
|
| 1956 | 1986 |
returnMessage = returnLongMap.get("message");
|
| 1957 | 1987 |
returnStatus = returnLongMap.get("result");
|
| 1988 |
+ msgGroupIdListComma = StringUtils.isNotEmpty(msgGroupIdListComma) |
|
| 1989 |
+ ? msgGroupIdListComma+","+returnLongMap.get("msgGroupId")
|
|
| 1990 |
+ : returnLongMap.get("msgGroupId");
|
|
| 1991 |
+ msgTypeListComma = StringUtils.isNotEmpty(msgTypeListComma) |
|
| 1992 |
+ ? msgTypeListComma+","+"6" |
|
| 1993 |
+ : "6"; |
|
| 1958 | 1994 |
|
| 1959 | 1995 |
}else {
|
| 1960 | 1996 |
returnMessage = returnLongMap.get("message");
|
... | ... | @@ -1985,6 +2021,12 @@ |
| 1985 | 2021 |
|
| 1986 | 2022 |
returnMessage = returnShortMap.get("message");
|
| 1987 | 2023 |
returnStatus = returnShortMap.get("result");
|
| 2024 |
+ msgGroupIdListComma = StringUtils.isNotEmpty(msgGroupIdListComma) |
|
| 2025 |
+ ? msgGroupIdListComma+","+returnShortMap.get("msgGroupId")
|
|
| 2026 |
+ : returnShortMap.get("msgGroupId");
|
|
| 2027 |
+ msgTypeListComma = StringUtils.isNotEmpty(msgTypeListComma) |
|
| 2028 |
+ ? msgTypeListComma+","+"4" |
|
| 2029 |
+ : "4"; |
|
| 1988 | 2030 |
|
| 1989 | 2031 |
}else {
|
| 1990 | 2032 |
returnMessage = returnShortMap.get("message");
|
... | ... | @@ -2000,8 +2042,8 @@ |
| 2000 | 2042 |
|
| 2001 | 2043 |
} |
| 2002 | 2044 |
|
| 2003 |
- modelAndView.addObject("msgType", mjonMsgVO.getMsgType());
|
|
| 2004 |
- modelAndView.addObject("msgGroupId", mjonMsgVO.getMsgGroupId());
|
|
| 2045 |
+ modelAndView.addObject("msgType", msgTypeListComma);
|
|
| 2046 |
+ modelAndView.addObject("msgGroupId", msgGroupIdListComma);
|
|
| 2005 | 2047 |
modelAndView.addObject("message", returnMessage);
|
| 2006 | 2048 |
modelAndView.addObject("result", returnStatus);
|
| 2007 | 2049 |
modelAndView.addObject("resultSts", resultSts);
|
... | ... | @@ -2545,7 +2587,7 @@ |
| 2545 | 2587 |
} |
| 2546 | 2588 |
|
| 2547 | 2589 |
System.out.println("=========================================================================");
|
| 2548 |
- System.out.println("+++++++++++++++++++++++++++++++++++++++++++ resultSts ::: " + resultSts);
|
|
| 2590 |
+ System.out.println(" 25xx +++++++++++++++++++++++++++++++++++++++++++ resultSts ::: " + resultSts);
|
|
| 2549 | 2591 |
System.out.println("=========================================================================");
|
| 2550 | 2592 |
|
| 2551 | 2593 |
try {
|
... | ... | @@ -2645,6 +2687,8 @@ |
| 2645 | 2687 |
|
| 2646 | 2688 |
returnMap.put("message", "문자 전송이 완료되었습니다.");
|
| 2647 | 2689 |
returnMap.put("result", "success");
|
| 2690 |
+ returnMap.put("msgGroupId", mjonMsgVO.getMsgGroupId());
|
|
| 2691 |
+ returnMap.put("resultSts", Integer.toString(resultSts));
|
|
| 2648 | 2692 |
returnMap.put("resultSts", Integer.toString(resultSts));
|
| 2649 | 2693 |
returnMap.put("resultBlockSts", Integer.toString(resultBlockSts));
|
| 2650 | 2694 |
return returnMap; |
... | ... | @@ -3038,9 +3082,198 @@ |
| 3038 | 3082 |
|
| 3039 | 3083 |
|
| 3040 | 3084 |
|
| 3085 |
+ |
|
| 3086 |
+ @RequestMapping(value= {"/web/user/login/fileTest.do"})
|
|
| 3087 |
+ public void downloadAndSaveFile() throws Exception {
|
|
| 3088 |
+ |
|
| 3089 |
+ String downloadUrl = "http://192.168.0.11:5000/converHWPtoPDF"; |
|
| 3090 |
+ String filePath = "D:\\Development\\test_dev"; |
|
| 3091 |
+ String fileNm = "저작권분쟁조정규칙(20220516)"; |
|
| 3092 |
+// String fileNm = "testFileName(20220516)"; |
|
| 3093 |
+ String fileExt = ".pdf"; |
|
| 3094 |
+ String cnvtfileExt = ".jpg"; |
|
| 3095 |
+ |
|
| 3096 |
+ |
|
| 3097 |
+ |
|
| 3098 |
+ byte[] fileData = fileSendAnddownloadFile(downloadUrl, filePath + File.separator + fileNm + ".hwp"); |
|
| 3099 |
+// byte[] fileData = downloadFile(downloadUrl, fileNm); |
|
| 3100 |
+ this.saveFile(fileData, filePath, fileNm+fileExt); |
|
| 3101 |
+ this.pdfToJpg(filePath, fileNm, fileExt, cnvtfileExt); |
|
| 3102 |
+ } |
|
| 3103 |
+ |
|
| 3104 |
+ /** |
|
| 3105 |
+ * @methodName : fileSendAnddownloadFile |
|
| 3106 |
+ * @author : 이호영 |
|
| 3107 |
+ * @date : 2023.08.04 |
|
| 3108 |
+ * @description : 파일을 보내서 PFD로 변환한 파일을 받는다 |
|
| 3109 |
+ * @param downloadUrl |
|
| 3110 |
+ * @param filePathNm |
|
| 3111 |
+ * @return |
|
| 3112 |
+ * @throws IOException |
|
| 3113 |
+ */ |
|
| 3114 |
+ public byte[] fileSendAnddownloadFile(String downloadUrl, String filePathNm) throws IOException {
|
|
| 3115 |
+ RestTemplate restTemplate = new RestTemplate(); |
|
| 3116 |
+ |
|
| 3117 |
+ HttpHeaders headers = new HttpHeaders(); |
|
| 3118 |
+ headers.setContentType(MediaType.MULTIPART_FORM_DATA); |
|
| 3119 |
+ |
|
| 3120 |
+ // Create a ByteArrayResource to wrap the file content without relying on the file system |
|
| 3121 |
+ FileSystemResource fileResource = new FileSystemResource(filePathNm); |
|
| 3122 |
+ |
|
| 3123 |
+ // To ensure correct encoding for non-ASCII characters |
|
| 3124 |
+ String encodedFilename = UriUtils.encode(fileResource.getFilename(), "UTF-8"); |
|
| 3125 |
+ |
|
| 3126 |
+ // Create a new HttpEntity for file and use encoded filename |
|
| 3127 |
+ MultiValueMap<String, Object> body = new LinkedMultiValueMap<>(); |
|
| 3128 |
+ body.add("file", new ByteArrayResource(Files.readAllBytes(fileResource.getFile().toPath())) {
|
|
| 3129 |
+ @Override |
|
| 3130 |
+ public String getFilename() {
|
|
| 3131 |
+ return encodedFilename; |
|
| 3132 |
+ } |
|
| 3133 |
+ }); |
|
| 3134 |
+ |
|
| 3135 |
+ |
|
| 3136 |
+ |
|
| 3137 |
+ HttpEntity<MultiValueMap<String, Object>> entity = new HttpEntity<>(body, headers); |
|
| 3138 |
+ |
|
| 3139 |
+ ResponseEntity<byte[]> responseEntity = restTemplate.exchange(downloadUrl, HttpMethod.POST, entity, byte[].class); |
|
| 3140 |
+ |
|
| 3141 |
+ if (responseEntity.getStatusCodeValue() == 200) {
|
|
| 3142 |
+ return responseEntity.getBody(); |
|
| 3143 |
+ } else {
|
|
| 3144 |
+ throw new RuntimeException("Failed to download file from " + downloadUrl);
|
|
| 3145 |
+ } |
|
| 3146 |
+ } |
|
| 3147 |
+ |
|
| 3148 |
+ /** |
|
| 3149 |
+ * @methodName : downloadFile |
|
| 3150 |
+ * @author : 이호영 |
|
| 3151 |
+ * @date : 2023.08.04 |
|
| 3152 |
+ * @description : 서버에 파일을 요청해서 받는 형식 |
|
| 3153 |
+ * @param downloadUrl |
|
| 3154 |
+ * @param fileNm |
|
| 3155 |
+ * @return |
|
| 3156 |
+ public byte[] downloadFile(String downloadUrl, String fileNm) {
|
|
| 3157 |
+ RestTemplate restTemplate = new RestTemplate(); |
|
| 3158 |
+ |
|
| 3159 |
+ |
|
| 3160 |
+ HttpHeaders headers = new HttpHeaders(); |
|
| 3161 |
+ headers.setContentType(MediaType.MULTIPART_FORM_DATA); |
|
| 3162 |
+ |
|
| 3163 |
+ MultiValueMap<String, String> body = new LinkedMultiValueMap<>(); |
|
| 3164 |
+ body.add("fileNm", fileNm);
|
|
| 3165 |
+ HttpEntity<MultiValueMap<String, String>> entity = new HttpEntity<>(body, headers); |
|
| 3166 |
+ |
|
| 3167 |
+ |
|
| 3168 |
+ ResponseEntity<byte[]> responseEntity = restTemplate.exchange(downloadUrl, HttpMethod.POST, entity, byte[].class); |
|
| 3169 |
+ |
|
| 3170 |
+// System.out.println("responseEntity :: "+ responseEntity);
|
|
| 3171 |
+ if (responseEntity.getStatusCodeValue() == 200) {
|
|
| 3172 |
+ return responseEntity.getBody(); |
|
| 3173 |
+ } else {
|
|
| 3174 |
+ throw new RuntimeException("Failed to download file from " + downloadUrl);
|
|
| 3175 |
+ } |
|
| 3176 |
+ } |
|
| 3177 |
+ */ |
|
| 3041 | 3178 |
|
| 3042 | 3179 |
|
| 3180 |
+ /** |
|
| 3181 |
+ * @methodName : saveFile |
|
| 3182 |
+ * @author : 이호영 |
|
| 3183 |
+ * @date : 2023.08.04 |
|
| 3184 |
+ * @description : 파일 저장 |
|
| 3185 |
+ * @param fileData |
|
| 3186 |
+ * @param filePath |
|
| 3187 |
+ * @param fileNm |
|
| 3188 |
+ */ |
|
| 3189 |
+ public void saveFile(byte[] fileData, String filePath, String fileNm) {
|
|
| 3190 |
+ Path path = Paths.get(filePath, fileNm); |
|
| 3191 |
+ |
|
| 3192 |
+ try {
|
|
| 3193 |
+ Files.write(path, fileData); |
|
| 3194 |
+ } catch (IOException e) {
|
|
| 3195 |
+ throw new RuntimeException("Failed to save file to " + filePath, e);
|
|
| 3196 |
+ } |
|
| 3197 |
+ } |
|
| 3043 | 3198 |
|
| 3044 | 3199 |
|
| 3200 |
+ /** |
|
| 3201 |
+ * @methodName : pdfToJpg |
|
| 3202 |
+ * @author : 이호영 |
|
| 3203 |
+ * @date : 2023.08.04 |
|
| 3204 |
+ * @description : 저장한 파일을 불러와서 파일명의 폴더를 생성하여 jpg로 저장 |
|
| 3205 |
+ * @param filePath |
|
| 3206 |
+ * @param fileNm |
|
| 3207 |
+ * @param oriFileExt |
|
| 3208 |
+ * @param cnvtfileExt |
|
| 3209 |
+ * @throws Exception |
|
| 3210 |
+ */ |
|
| 3211 |
+ public void pdfToJpg(String filePath, String fileNm, String oriFileExt, String cnvtfileExt) throws Exception {
|
|
| 3212 |
+ |
|
| 3213 |
+ File file = new File(filePath + File.separator + fileNm + oriFileExt); |
|
| 3214 |
+ PDDocument document = PDDocument.load(file); |
|
| 3215 |
+ try {
|
|
| 3216 |
+ |
|
| 3217 |
+ int pageCount = document.getNumberOfPages(); |
|
| 3218 |
+ PDFRenderer pdfRenderer = new PDFRenderer(document); |
|
| 3219 |
+ |
|
| 3220 |
+ System.out.println("pageCount : "+ pageCount);
|
|
| 3221 |
+ |
|
| 3222 |
+ String saveFilePath = this.filePathChk(filePath + File.separator +fileNm); |
|
| 3223 |
+ |
|
| 3224 |
+ if(StringUtils.isNotEmpty(saveFilePath)) |
|
| 3225 |
+ {
|
|
| 3226 |
+ |
|
| 3227 |
+ for (int i = 0; i < pageCount; i++) {
|
|
| 3228 |
+ |
|
| 3229 |
+ BufferedImage imageObj = pdfRenderer.renderImageWithDPI(i, 100, ImageType.RGB); |
|
| 3230 |
+ File outputfile = new File(saveFilePath + File.separator + fileNm + i + cnvtfileExt); |
|
| 3231 |
+ ImageIO.write(imageObj, "jpg", outputfile); |
|
| 3232 |
+ } |
|
| 3233 |
+ } |
|
| 3234 |
+ |
|
| 3235 |
+ |
|
| 3236 |
+ } catch (Exception e) {
|
|
| 3237 |
+ e.printStackTrace(); |
|
| 3238 |
+ // TODO: handle exception |
|
| 3239 |
+ }finally {
|
|
| 3240 |
+ if (document != null) {
|
|
| 3241 |
+ document.close(); |
|
| 3242 |
+ } |
|
| 3243 |
+ } |
|
| 3244 |
+ |
|
| 3245 |
+ } |
|
| 3246 |
+ |
|
| 3247 |
+ /** |
|
| 3248 |
+ * @methodName : filePathChk |
|
| 3249 |
+ * @author : 이호영 |
|
| 3250 |
+ * @date : 2023.08.04 |
|
| 3251 |
+ * @description : jpg 파일 저장할 디렉토리 생성 |
|
| 3252 |
+ * @param filePath |
|
| 3253 |
+ * @return |
|
| 3254 |
+ */ |
|
| 3255 |
+ private String filePathChk(String filePath) {
|
|
| 3256 |
+ // TODO Auto-generated method stub |
|
| 3257 |
+ String directoryPath = filePath; |
|
| 3258 |
+ |
|
| 3259 |
+ Path path = Paths.get(directoryPath); |
|
| 3260 |
+ |
|
| 3261 |
+ if (!Files.exists(path)) {
|
|
| 3262 |
+ try {
|
|
| 3263 |
+ |
|
| 3264 |
+ Files.createDirectories(path); |
|
| 3265 |
+ System.out.println("Directory created");
|
|
| 3266 |
+ return directoryPath; |
|
| 3267 |
+ } catch (IOException e) {
|
|
| 3268 |
+ throw new RuntimeException("Failed to create directory!", e);
|
|
| 3269 |
+ } |
|
| 3270 |
+ } else {
|
|
| 3271 |
+ System.out.println("Directory already exists");
|
|
| 3272 |
+ } |
|
| 3273 |
+ |
|
| 3274 |
+ return null; |
|
| 3275 |
+ |
|
| 3276 |
+ } |
|
| 3277 |
+ |
|
| 3045 | 3278 |
|
| 3046 | 3279 |
} |
--- src/main/java/itn/let/sym/grd/service/MberGrdService.java
+++ src/main/java/itn/let/sym/grd/service/MberGrdService.java
... | ... | @@ -34,6 +34,9 @@ |
| 34 | 34 |
// 회원 등급제 대상여부 정보(사용자화면용) |
| 35 | 35 |
public MberGrdVO selectMberGrdInfo(String mberId) throws Exception; |
| 36 | 36 |
|
| 37 |
+ // 회원 등급 예외 정보 |
|
| 38 |
+ public MberGrdVO selectMberEtcInfo(String mberId) throws Exception; |
|
| 39 |
+ |
|
| 37 | 40 |
// 회원별 등급 누적결제액 상세 |
| 38 | 41 |
public MberGrdVO selectMberGrdAmtDetail(MberGrdVO mberGrdVO) throws Exception; |
| 39 | 42 |
|
--- src/main/java/itn/let/sym/grd/service/MberGrdVO.java
+++ src/main/java/itn/let/sym/grd/service/MberGrdVO.java
... | ... | @@ -48,6 +48,9 @@ |
| 48 | 48 |
private String grdPeriod; // 회원등급제 누적결제 계산기간 |
| 49 | 49 |
private String tempYn; |
| 50 | 50 |
private String moid; // 결제번호 |
| 51 |
+ private String isSalePrice; // 협의회원 |
|
| 52 |
+ private String blineCode; // B선회원 |
|
| 53 |
+ private String spamYn; // 스팸회원 |
|
| 51 | 54 |
|
| 52 | 55 |
// 검색필터 |
| 53 | 56 |
private String searchGrdStatus; |
... | ... | @@ -287,5 +290,23 @@ |
| 287 | 290 |
} |
| 288 | 291 |
public void setSearchGrdStatus(String searchGrdStatus) {
|
| 289 | 292 |
this.searchGrdStatus = searchGrdStatus; |
| 293 |
+ } |
|
| 294 |
+ public String getIsSalePrice() {
|
|
| 295 |
+ return isSalePrice; |
|
| 296 |
+ } |
|
| 297 |
+ public void setIsSalePrice(String isSalePrice) {
|
|
| 298 |
+ this.isSalePrice = isSalePrice; |
|
| 299 |
+ } |
|
| 300 |
+ public String getBlineCode() {
|
|
| 301 |
+ return blineCode; |
|
| 302 |
+ } |
|
| 303 |
+ public void setBlineCode(String blineCode) {
|
|
| 304 |
+ this.blineCode = blineCode; |
|
| 305 |
+ } |
|
| 306 |
+ public String getSpamYn() {
|
|
| 307 |
+ return spamYn; |
|
| 308 |
+ } |
|
| 309 |
+ public void setSpamYn(String spamYn) {
|
|
| 310 |
+ this.spamYn = spamYn; |
|
| 290 | 311 |
} |
| 291 | 312 |
} |
--- src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java
+++ src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java
... | ... | @@ -53,6 +53,11 @@ |
| 53 | 53 |
return (MberGrdVO) select("mberGrdDAO.selectMberGrdInfo", mberId);
|
| 54 | 54 |
} |
| 55 | 55 |
|
| 56 |
+ // 회원 등급 예외 정보 |
|
| 57 |
+ public MberGrdVO selectMberEtcInfo(String mberId) throws Exception{
|
|
| 58 |
+ return (MberGrdVO) select("mberGrdDAO.selectMberEtcInfo", mberId);
|
|
| 59 |
+ } |
|
| 60 |
+ |
|
| 56 | 61 |
// 회원별 등급 누적결제액 상세 |
| 57 | 62 |
public MberGrdVO selectMberGrdAmtDetail(MberGrdVO mberGrdVO) throws Exception{
|
| 58 | 63 |
return (MberGrdVO) select("mberGrdDAO.selectMberGrdAmtDetail", mberGrdVO);
|
--- src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java
+++ src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java
... | ... | @@ -130,6 +130,15 @@ |
| 130 | 130 |
return mberGrdDAO.selectMberGrdInfo(mberId); |
| 131 | 131 |
} |
| 132 | 132 |
|
| 133 |
+ // 회원 등급 예외 정보 |
|
| 134 |
+ @Override |
|
| 135 |
+ public MberGrdVO selectMberEtcInfo(String mberId) throws Exception {
|
|
| 136 |
+ // 공백제거 |
|
| 137 |
+ mberId = mberId.trim(); |
|
| 138 |
+ |
|
| 139 |
+ return mberGrdDAO.selectMberEtcInfo(mberId); |
|
| 140 |
+ } |
|
| 141 |
+ |
|
| 133 | 142 |
// 회원별 등급 누적결제액 상세 |
| 134 | 143 |
@Override |
| 135 | 144 |
public MberGrdVO selectMberGrdAmtDetail(MberGrdVO mberGrdVO) throws Exception {
|
--- src/main/java/itn/let/sym/grd/web/MberGrdController.java
+++ src/main/java/itn/let/sym/grd/web/MberGrdController.java
... | ... | @@ -43,7 +43,7 @@ |
| 43 | 43 |
HttpServletRequest request, |
| 44 | 44 |
ModelMap model) throws Exception{
|
| 45 | 45 |
|
| 46 |
- LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); |
|
| 46 |
+ LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; |
|
| 47 | 47 |
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
| 48 | 48 |
mberGrdVO.setMberId(userId); |
| 49 | 49 |
|
... | ... | @@ -78,7 +78,7 @@ |
| 78 | 78 |
return "/web/grd/MberGrdHistListAjax"; |
| 79 | 79 |
} |
| 80 | 80 |
|
| 81 |
- // 등급제 시행 ON/OFF 체크 |
|
| 81 |
+ // 등급제 시행 ON/OFF 체크(로그인 상태에서만 조회) |
|
| 82 | 82 |
@RequestMapping(value = "/web/grd/mberSettDetailAjax.do") |
| 83 | 83 |
public ModelAndView mberSettingDetailAjax( |
| 84 | 84 |
@ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception {
|
... | ... | @@ -90,11 +90,67 @@ |
| 90 | 90 |
String msg = ""; |
| 91 | 91 |
|
| 92 | 92 |
try{
|
| 93 |
- MberGrdVO mberGrdVO1 = new MberGrdVO(); |
|
| 94 |
- mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO); |
|
| 95 |
- if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) {
|
|
| 96 |
- isSuccess = true; |
|
| 97 |
- } |
|
| 93 |
+ LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; |
|
| 94 |
+ if (null != loginVO) {
|
|
| 95 |
+ MberGrdVO mberGrdVO1 = new MberGrdVO(); |
|
| 96 |
+ mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO); |
|
| 97 |
+ if (mberGrdVO1.getGrdNoti().equals("Y")) {
|
|
| 98 |
+ isSuccess = true; |
|
| 99 |
+ } |
|
| 100 |
+ } |
|
| 101 |
+ } |
|
| 102 |
+ catch(Exception e) {
|
|
| 103 |
+ msg = e.getMessage(); |
|
| 104 |
+ } |
|
| 105 |
+ |
|
| 106 |
+ modelAndView.addObject("isSuccess", isSuccess);
|
|
| 107 |
+ modelAndView.addObject("msg", msg);
|
|
| 108 |
+ |
|
| 109 |
+ return modelAndView; |
|
| 110 |
+ } |
|
| 111 |
+ |
|
| 112 |
+ // 등급제 시행 ON/OFF 체크(비로그인 상태에서 조회) |
|
| 113 |
+ @RequestMapping(value = "/web/grd/mberSettDetailByNotLoginAjax.do") |
|
| 114 |
+ public ModelAndView mberSettDetailByNotLoginAjax( |
|
| 115 |
+ @ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception {
|
|
| 116 |
+ |
|
| 117 |
+ ModelAndView modelAndView = new ModelAndView(); |
|
| 118 |
+ modelAndView.setViewName("jsonView");
|
|
| 119 |
+ |
|
| 120 |
+ boolean isSuccess = false; |
|
| 121 |
+ String msg = ""; |
|
| 122 |
+ MberGrdVO rtnMberGrdVO = new MberGrdVO(); |
|
| 123 |
+ |
|
| 124 |
+ try{
|
|
| 125 |
+ LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; |
|
| 126 |
+ String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
|
| 127 |
+ if (null != loginVO) {
|
|
| 128 |
+ mberGrdVO.setMberId(userId); |
|
| 129 |
+ |
|
| 130 |
+ // Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우) |
|
| 131 |
+ MberGrdVO mberGrdVO1 = new MberGrdVO(); |
|
| 132 |
+ mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO); |
|
| 133 |
+ if (mberGrdVO1.getGrdNoti().equals("Y")) {
|
|
| 134 |
+ // Step 2. 회원별 이벤트 진행여부 |
|
| 135 |
+ int mberEventPrgCnt = mberGrdService.selectMberEventPrgCnt(mberGrdVO.getMberId()); |
|
| 136 |
+ if (mberEventPrgCnt == 0) {
|
|
| 137 |
+ rtnMberGrdVO = mberGrdService.selectMberGrdInfo(mberGrdVO.getMberId()); |
|
| 138 |
+ if (null != rtnMberGrdVO) {
|
|
| 139 |
+ isSuccess = true; |
|
| 140 |
+ } |
|
| 141 |
+ else {
|
|
| 142 |
+ msg = "종료"; |
|
| 143 |
+ } |
|
| 144 |
+ } |
|
| 145 |
+ } |
|
| 146 |
+ } |
|
| 147 |
+ else {
|
|
| 148 |
+ MberGrdVO mberGrdVO1 = new MberGrdVO(); |
|
| 149 |
+ mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO); |
|
| 150 |
+ if (mberGrdVO1.getGrdNoti().equals("Y")) {
|
|
| 151 |
+ isSuccess = true; |
|
| 152 |
+ } |
|
| 153 |
+ } |
|
| 98 | 154 |
} |
| 99 | 155 |
catch(Exception e) {
|
| 100 | 156 |
msg = e.getMessage(); |
... | ... | @@ -115,7 +171,7 @@ |
| 115 | 171 |
modelAndView.setViewName("jsonView");
|
| 116 | 172 |
|
| 117 | 173 |
// 로그인VO에서 사용자 정보 가져오기 |
| 118 |
- LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); |
|
| 174 |
+ LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; |
|
| 119 | 175 |
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
| 120 | 176 |
|
| 121 | 177 |
|
... | ... | @@ -127,17 +183,22 @@ |
| 127 | 183 |
if (StringUtils.isNotEmpty(userId)) {
|
| 128 | 184 |
mberGrdVO.setMberId(userId); |
| 129 | 185 |
|
| 130 |
- // 회원별 이벤트 진행여부 |
|
| 131 |
- int mberEventPrgCnt = mberGrdService.selectMberEventPrgCnt(mberGrdVO.getMberId()); |
|
| 132 |
- if (mberEventPrgCnt == 0) {
|
|
| 133 |
- rtnMberGrdVO = mberGrdService.selectMberGrdInfo(mberGrdVO.getMberId()); |
|
| 134 |
- if (null != rtnMberGrdVO) {
|
|
| 135 |
- isSuccess = true; |
|
| 136 |
- } |
|
| 137 |
- else {
|
|
| 138 |
- msg = "종료"; |
|
| 139 |
- } |
|
| 140 |
- } |
|
| 186 |
+ // Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우) |
|
| 187 |
+ MberGrdVO mberGrdVO1 = new MberGrdVO(); |
|
| 188 |
+ mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO); |
|
| 189 |
+ if (mberGrdVO1.getGrdNoti().equals("Y")) {
|
|
| 190 |
+ // Step 2. 회원별 이벤트 진행여부 |
|
| 191 |
+ int mberEventPrgCnt = mberGrdService.selectMberEventPrgCnt(mberGrdVO.getMberId()); |
|
| 192 |
+ if (mberEventPrgCnt == 0) {
|
|
| 193 |
+ rtnMberGrdVO = mberGrdService.selectMberGrdInfo(mberGrdVO.getMberId()); |
|
| 194 |
+ if (null != rtnMberGrdVO) {
|
|
| 195 |
+ isSuccess = true; |
|
| 196 |
+ } |
|
| 197 |
+ else {
|
|
| 198 |
+ msg = "종료"; |
|
| 199 |
+ } |
|
| 200 |
+ } |
|
| 201 |
+ } |
|
| 141 | 202 |
} |
| 142 | 203 |
} |
| 143 | 204 |
catch(Exception e) {
|
--- src/main/java/itn/let/sym/grd/web/MberGrdMngController.java
+++ src/main/java/itn/let/sym/grd/web/MberGrdMngController.java
... | ... | @@ -4,6 +4,7 @@ |
| 4 | 4 |
|
| 5 | 5 |
import javax.annotation.Resource; |
| 6 | 6 |
|
| 7 |
+import org.apache.commons.lang.StringUtils; |
|
| 7 | 8 |
import org.springframework.stereotype.Controller; |
| 8 | 9 |
import org.springframework.ui.ModelMap; |
| 9 | 10 |
import org.springframework.web.bind.annotation.ModelAttribute; |
... | ... | @@ -182,7 +183,7 @@ |
| 182 | 183 |
// Step 1. 등급제 시행 ON 일경우 |
| 183 | 184 |
MberGrdVO mberGrdVO1 = new MberGrdVO(); |
| 184 | 185 |
mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO); |
| 185 |
- if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) {
|
|
| 186 |
+ if (mberGrdVO1.getGrdNoti().equals("Y")) {
|
|
| 186 | 187 |
mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate()); |
| 187 | 188 |
|
| 188 | 189 |
// 회원별 등급 초기화 |
... | ... | @@ -312,7 +313,7 @@ |
| 312 | 313 |
ModelAndView modelAndView = new ModelAndView(); |
| 313 | 314 |
modelAndView.setViewName("jsonView");
|
| 314 | 315 |
|
| 315 |
- boolean isSuccess = true; |
|
| 316 |
+ boolean isSuccess = false; |
|
| 316 | 317 |
String msg = ""; |
| 317 | 318 |
MberGrdVO rtnMberGrdVO = new MberGrdVO(); |
| 318 | 319 |
|
... | ... | @@ -320,25 +321,83 @@ |
| 320 | 321 |
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); |
| 321 | 322 |
String frstRegisterId = loginVO == null ? "" : loginVO.getId(); |
| 322 | 323 |
mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID |
| 323 |
- |
|
| 324 |
+ |
|
| 324 | 325 |
try{
|
| 325 |
- rtnMberGrdVO = mberGrdService.selectMberGrdInfo(mberGrdVO.getMberId()); |
|
| 326 |
- if (null != rtnMberGrdVO) {
|
|
| 327 |
- // 등급제 적용 |
|
| 328 |
- |
|
| 329 |
- } |
|
| 330 |
- else {
|
|
| 331 |
- isSuccess = false; |
|
| 332 |
- msg = "종료"; |
|
| 333 |
- } |
|
| 326 |
+ if (StringUtils.isNotEmpty(mberGrdVO.getMberId())) {
|
|
| 327 |
+ // Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우) |
|
| 328 |
+ MberGrdVO mberGrdVO1 = new MberGrdVO(); |
|
| 329 |
+ mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO); |
|
| 330 |
+ if (mberGrdVO1.getGrdNoti().equals("Y")) {
|
|
| 331 |
+ // Step 2. 회원별 이벤트 진행여부 |
|
| 332 |
+ int mberEventPrgCnt = mberGrdService.selectMberEventPrgCnt(mberGrdVO.getMberId()); |
|
| 333 |
+ if (mberEventPrgCnt == 0) {
|
|
| 334 |
+ rtnMberGrdVO = mberGrdService.selectMberGrdInfo(mberGrdVO.getMberId()); |
|
| 335 |
+ if (null != rtnMberGrdVO) {
|
|
| 336 |
+ isSuccess = true; |
|
| 337 |
+ } |
|
| 338 |
+ else {
|
|
| 339 |
+ msg = "종료"; |
|
| 340 |
+ } |
|
| 341 |
+ } |
|
| 342 |
+ } |
|
| 343 |
+ } |
|
| 334 | 344 |
} |
| 335 | 345 |
catch(Exception e) {
|
| 336 |
- isSuccess = false; |
|
| 337 | 346 |
msg = e.getMessage(); |
| 338 | 347 |
} |
| 339 | 348 |
|
| 340 | 349 |
modelAndView.addObject("rtnMberGrdVO", rtnMberGrdVO);
|
| 341 | 350 |
modelAndView.addObject("isSuccess", isSuccess);
|
| 351 |
+ modelAndView.addObject("msg", msg);
|
|
| 352 |
+ |
|
| 353 |
+ return modelAndView; |
|
| 354 |
+ } |
|
| 355 |
+ |
|
| 356 |
+ // 회원 등급 예외 정보 |
|
| 357 |
+ @RequestMapping(value = "/sym/grd/mberGrdEtcChkAjax.do") |
|
| 358 |
+ public ModelAndView mberGrdEtcChkAjax( |
|
| 359 |
+ @ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception {
|
|
| 360 |
+ |
|
| 361 |
+ ModelAndView modelAndView = new ModelAndView(); |
|
| 362 |
+ modelAndView.setViewName("jsonView");
|
|
| 363 |
+ |
|
| 364 |
+ boolean isSuccess = false; |
|
| 365 |
+ boolean isEvent = false; |
|
| 366 |
+ String msg = ""; |
|
| 367 |
+ MberGrdVO rtnMberGrdVO = new MberGrdVO(); |
|
| 368 |
+ |
|
| 369 |
+ // 로그인VO에서 사용자 정보 가져오기 |
|
| 370 |
+ LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); |
|
| 371 |
+ String frstRegisterId = loginVO == null ? "" : loginVO.getId(); |
|
| 372 |
+ mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID |
|
| 373 |
+ |
|
| 374 |
+ try{
|
|
| 375 |
+ if (StringUtils.isNotEmpty(mberGrdVO.getMberId())) {
|
|
| 376 |
+ |
|
| 377 |
+ // Step 2. 회원별 이벤트 진행여부 |
|
| 378 |
+ int mberEventPrgCnt = mberGrdService.selectMberEventPrgCnt(mberGrdVO.getMberId()); |
|
| 379 |
+ if (mberEventPrgCnt == 0) {
|
|
| 380 |
+ rtnMberGrdVO = mberGrdService.selectMberEtcInfo(mberGrdVO.getMberId()); |
|
| 381 |
+ if (null != rtnMberGrdVO) {
|
|
| 382 |
+ isSuccess = true; |
|
| 383 |
+ } |
|
| 384 |
+ else {
|
|
| 385 |
+ msg = "종료"; |
|
| 386 |
+ } |
|
| 387 |
+ } |
|
| 388 |
+ else {
|
|
| 389 |
+ isEvent = true; |
|
| 390 |
+ } |
|
| 391 |
+ |
|
| 392 |
+ } |
|
| 393 |
+ } |
|
| 394 |
+ catch(Exception e) {
|
|
| 395 |
+ msg = e.getMessage(); |
|
| 396 |
+ } |
|
| 397 |
+ |
|
| 398 |
+ modelAndView.addObject("rtnMberGrdVO", rtnMberGrdVO);
|
|
| 399 |
+ modelAndView.addObject("isSuccess", isSuccess);
|
|
| 400 |
+ modelAndView.addObject("isEvent", isEvent);
|
|
| 342 | 401 |
modelAndView.addObject("msg", msg);
|
| 343 | 402 |
|
| 344 | 403 |
return modelAndView; |
... | ... | @@ -433,7 +492,7 @@ |
| 433 | 492 |
// Step 1. 등급제 시행 ON 일경우 |
| 434 | 493 |
MberGrdVO mberGrdVO1 = new MberGrdVO(); |
| 435 | 494 |
mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO); |
| 436 |
- if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) {
|
|
| 495 |
+ if (mberGrdVO1.getGrdNoti().equals("Y")) {
|
|
| 437 | 496 |
mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate()); |
| 438 | 497 |
|
| 439 | 498 |
// 회원 등급 변경(환불후) => 기존등급 상관없이 업데이트 |
--- src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml
... | ... | @@ -303,6 +303,41 @@ |
| 303 | 303 |
]]> |
| 304 | 304 |
</select> |
| 305 | 305 |
|
| 306 |
+ <!-- 회원 등급 예외 정보 --> |
|
| 307 |
+ <select id="mberGrdDAO.selectMberEtcInfo" parameterClass="String" resultClass="mberGrdVO"> |
|
| 308 |
+ <![CDATA[ |
|
| 309 |
+ SELECT |
|
| 310 |
+ M.mberId |
|
| 311 |
+ , M.isSalePrice |
|
| 312 |
+ , M.blineCode |
|
| 313 |
+ , M.spamYn |
|
| 314 |
+ FROM ( |
|
| 315 |
+ SELECT |
|
| 316 |
+ A.MBER_ID AS mberId |
|
| 317 |
+ , IFNULL(A.BLINE_CODE, 'N') AS blineCode |
|
| 318 |
+ , IFNULL(A.SPAM_YN, 'N') AS spamYn |
|
| 319 |
+ , CASE |
|
| 320 |
+ WHEN |
|
| 321 |
+ (A.SHORT_PRICE > 0 |
|
| 322 |
+ AND (B.SHORT_PRICE > A.SHORT_PRICE |
|
| 323 |
+ OR B.LONG_PRICE > A.LONG_PRICE |
|
| 324 |
+ OR B.PICTURE_PRICE > A.PICTURE_PRICE |
|
| 325 |
+ OR B.PICTURE2_PRICE > A.PICTURE2_PRICE |
|
| 326 |
+ OR B.PICTURE3_PRICE > A.PICTURE3_PRICE) |
|
| 327 |
+ ) |
|
| 328 |
+ THEN 'Y' |
|
| 329 |
+ ELSE 'N' |
|
| 330 |
+ END isSalePrice |
|
| 331 |
+ FROM LETTNGNRLMBER A |
|
| 332 |
+ JOIN MJ_MBER_SETTING B |
|
| 333 |
+ WHERE 1=1 |
|
| 334 |
+ AND A.MBER_STTUS = 'Y' |
|
| 335 |
+ AND A.MBER_ID = #mberId# |
|
| 336 |
+ ) M |
|
| 337 |
+ LIMIT 1 |
|
| 338 |
+ ]]> |
|
| 339 |
+ </select> |
|
| 340 |
+ |
|
| 306 | 341 |
<!-- 회원별 등급 누적결제액 상세 --> |
| 307 | 342 |
<select id="mberGrdDAO.selectMberGrdAmtDetail" parameterClass="mberGrdVO" resultClass="mberGrdVO"> |
| 308 | 343 |
<![CDATA[ |
... | ... | @@ -887,6 +922,7 @@ |
| 887 | 922 |
AND A.MBER_ID = #mberId# |
| 888 | 923 |
AND IFNULL(TRIM(A.MOID), '') != '' |
| 889 | 924 |
AND A.TOT_AMT > 0 |
| 925 |
+ AND A.GRD_DATE >= (SELECT S.GRD_DATE FROM MJ_MBER_GRD_INFO S WHERE S.MBER_ID = #mberId#) |
|
| 890 | 926 |
ORDER BY A.REG_DATE DESC |
| 891 | 927 |
LIMIT #recordCountPerPage# OFFSET #firstIndex# |
| 892 | 928 |
</select> |
--- src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp
... | ... | @@ -169,8 +169,78 @@ |
| 169 | 169 |
$(this).val(value); |
| 170 | 170 |
}); |
| 171 | 171 |
|
| 172 |
+ //등급제 적용 테스트 |
|
| 173 |
+ getMberGrdChk(); |
|
| 172 | 174 |
}); |
| 173 | 175 |
|
| 176 |
+ |
|
| 177 |
+//등급제 적용 테스트 |
|
| 178 |
+function getMberGrdChk() {
|
|
| 179 |
+ $(".grdSetNm").html("");
|
|
| 180 |
+ |
|
| 181 |
+ var mberId = document.mberManageVO.mberSearchId.value; |
|
| 182 |
+ |
|
| 183 |
+ $.ajax({
|
|
| 184 |
+ type: "POST", |
|
| 185 |
+ url: "/sym/grd/mberGrdChkAjax.do", |
|
| 186 |
+ data: {"mberId" : mberId},
|
|
| 187 |
+ dataType:'json', |
|
| 188 |
+ async: false, |
|
| 189 |
+ success: function (data) {
|
|
| 190 |
+ if (data.isSuccess) {
|
|
| 191 |
+ $(".grdSetNm").html(data.rtnMberGrdVO.grdSetNm);
|
|
| 192 |
+ } |
|
| 193 |
+ else {
|
|
| 194 |
+ //회원 등급 예외 정보 |
|
| 195 |
+ getMberGrdEtc(); |
|
| 196 |
+ //alert("Msg : " + data.msg);
|
|
| 197 |
+ } |
|
| 198 |
+ }, |
|
| 199 |
+ error: function (e) {
|
|
| 200 |
+ //alert("ERROR : " + JSON.stringify(e));
|
|
| 201 |
+ } |
|
| 202 |
+ }); |
|
| 203 |
+} |
|
| 204 |
+ |
|
| 205 |
+//회원 등급 예외 정보 |
|
| 206 |
+function getMberGrdEtc() {
|
|
| 207 |
+ $(".grdSetNm").html("");
|
|
| 208 |
+ |
|
| 209 |
+ var mberId = document.mberManageVO.mberSearchId.value; |
|
| 210 |
+ |
|
| 211 |
+ $.ajax({
|
|
| 212 |
+ type: "POST", |
|
| 213 |
+ url: "/sym/grd/mberGrdEtcChkAjax.do", |
|
| 214 |
+ data: {"mberId" : mberId},
|
|
| 215 |
+ dataType:'json', |
|
| 216 |
+ async: false, |
|
| 217 |
+ success: function (data) {
|
|
| 218 |
+ if (data.isSuccess) {
|
|
| 219 |
+ var gradeNm = ""; |
|
| 220 |
+ if (data.isEvent) {
|
|
| 221 |
+ gradeNm += "(할인이벤트회원) "; |
|
| 222 |
+ } |
|
| 223 |
+ else if (data.rtnMberGrdVO.isSalePrice == "Y") {
|
|
| 224 |
+ gradeNm += "(단가협의회원) "; |
|
| 225 |
+ } |
|
| 226 |
+ else if (data.rtnMberGrdVO.blineCode == "Y") {
|
|
| 227 |
+ gradeNm += "(B선회원) "; |
|
| 228 |
+ } |
|
| 229 |
+ else if (data.rtnMberGrdVO.spamYn == "Y") {
|
|
| 230 |
+ gradeNm += "(스팸회원) "; |
|
| 231 |
+ } |
|
| 232 |
+ |
|
| 233 |
+ $(".grdSetNm").html(gradeNm);
|
|
| 234 |
+ } |
|
| 235 |
+ else {
|
|
| 236 |
+ //alert("Msg : " + data.msg);
|
|
| 237 |
+ } |
|
| 238 |
+ }, |
|
| 239 |
+ error: function (e) {
|
|
| 240 |
+ //alert("ERROR : " + JSON.stringify(e));
|
|
| 241 |
+ } |
|
| 242 |
+ }); |
|
| 243 |
+} |
|
| 174 | 244 |
|
| 175 | 245 |
function fnCheckAll(){
|
| 176 | 246 |
var checkField = document.delayForm.checkDelayField; |
... | ... | @@ -480,7 +550,7 @@ |
| 480 | 550 |
// 발송 금액 변경 |
| 481 | 551 |
if (obj == "price") {
|
| 482 | 552 |
//등급별 단가 정보 |
| 483 |
- //getMberGrdSettingList(); |
|
| 553 |
+ getMberGrdSettingList(); |
|
| 484 | 554 |
} |
| 485 | 555 |
} |
| 486 | 556 |
|
... | ... | @@ -3064,9 +3134,8 @@ |
| 3064 | 3134 |
<option value="N" <c:if test="${mberManageVO.spamYn == 'N'}">selected="selected"</c:if>>오프(Off)</option>
|
| 3065 | 3135 |
</select> |
| 3066 | 3136 |
</td> |
| 3067 |
- <th></th> |
|
| 3068 |
- <td> |
|
| 3069 |
- </td> |
|
| 3137 |
+ <th>등급</th> |
|
| 3138 |
+ <td><span class="grdSetNm"></span></td> |
|
| 3070 | 3139 |
</tr> |
| 3071 | 3140 |
<tr> |
| 3072 | 3141 |
<th>전화번호<button type="button" onclick="layerPopOpen('sms');">SMS</button></th>
|
... | ... | @@ -3461,9 +3530,8 @@ |
| 3461 | 3530 |
<option value="N" <c:if test="${mberManageVO.spamYn == 'N'}">selected="selected"</c:if>>오프(Off)</option>
|
| 3462 | 3531 |
</select> |
| 3463 | 3532 |
</td> |
| 3464 |
- <th></th> |
|
| 3465 |
- <td> |
|
| 3466 |
- </td> |
|
| 3533 |
+ <th>등급</th> |
|
| 3534 |
+ <td><span class="grdSetNm"></span></td> |
|
| 3467 | 3535 |
</tr> |
| 3468 | 3536 |
<tr> |
| 3469 | 3537 |
<th>전화번호<button type="button" onclick="layerPopOpen('sms');">SMS</button></th>
|
... | ... | @@ -5472,12 +5540,10 @@ |
| 5472 | 5540 |
<col style="width:auto;"> |
| 5473 | 5541 |
</colgroup> |
| 5474 | 5542 |
<tbody> |
| 5475 |
- <!-- |
|
| 5476 | 5543 |
<tr> |
| 5477 | 5544 |
<th id="mberGrdSettingTitle">등급단가 적용</th> |
| 5478 | 5545 |
<td><div id="mberGrdSettingCombo"></div></td> |
| 5479 | 5546 |
</tr> |
| 5480 |
- --> |
|
| 5481 | 5547 |
<tr> |
| 5482 | 5548 |
<th>단문 금액</th> |
| 5483 | 5549 |
<td><input type="text" name="shortPrice" id="shortPrice" value="<c:out value='${shortPrice}'/>"/></td>
|
--- src/main/webapp/WEB-INF/jsp/uss/ion/apikey/UserAPIKEYModify.jsp
+++ src/main/webapp/WEB-INF/jsp/uss/ion/apikey/UserAPIKEYModify.jsp
... | ... | @@ -649,8 +649,10 @@ |
| 649 | 649 |
</c:if> |
| 650 | 650 |
|
| 651 | 651 |
<c:if test="${apiKeyVO.useYn eq 'Y'}">
|
| 652 |
- <input type="button" class="btnType2 bg_888888" value="API KEY 미사용 처리" id="btn_fn_delete" |
|
| 652 |
+ <input type="button" class="btnType2 bg_888888" value="API 미사용 처리" id="btn_fn_delete" |
|
| 653 | 653 |
onclick="fn_delete('N'); return false;">
|
| 654 |
+ <input type="button" class="btnType2 bg_888888" value="API KEY 중지 처리" id="btn_fn_delete" |
|
| 655 |
+ onclick="fn_delete('W'); return false;">
|
|
| 654 | 656 |
<input type="button" class="btnType2 bg_888888" value="API 승인요청상태로" id="btn_fn_delete" |
| 655 | 657 |
onclick="fn_delete('A'); return false;">
|
| 656 | 658 |
</c:if> |
... | ... | @@ -667,6 +669,10 @@ |
| 667 | 669 |
onclick="fn_delete('Y'); return false;">
|
| 668 | 670 |
</c:if> |
| 669 | 671 |
|
| 672 |
+ <c:if test="${apiKeyVO.useYn eq 'W'}">
|
|
| 673 |
+ <input type="button" class="btnType2 bg_888888" value="API KEY 사용 처리" id="btn_fn_delete" |
|
| 674 |
+ onclick="fn_delete('Y'); return false;">
|
|
| 675 |
+ </c:if> |
|
| 670 | 676 |
<input type="button" class="btnType2 bg_888888" value="API KEY 사용자 삭제(실제)" id="btn_fn_delete" |
| 671 | 677 |
onclick="fn_delete_real(); return false;"> |
| 672 | 678 |
|
--- src/main/webapp/WEB-INF/jsp/web/api/appMgmt.jsp
+++ src/main/webapp/WEB-INF/jsp/web/api/appMgmt.jsp
... | ... | @@ -322,7 +322,7 @@ |
| 322 | 322 |
<button type="button" class="btnType btnType14" onclick="fn_delete('${apiVO.accessNo}','A'); return false;">재신청</button>
|
| 323 | 323 |
</td> |
| 324 | 324 |
</c:when> |
| 325 |
- <c:when test="${apiVO.useYn eq 'Y' or (apiVO.useYn eq 'N' and apiVO.accessKey ne '')}"><!-- API 사용 중 -->
|
|
| 325 |
+ <c:when test="${apiVO.useYn eq 'Y' or (apiVO.useYn eq 'N' and apiVO.accessKey ne '') or apiVO.useYn eq 'W' }"><!-- API 사용 중 -->
|
|
| 326 | 326 |
<td>${apiVO.frstRegistPnttm}</td>
|
| 327 | 327 |
<td>${apiVO.lastUpdtPnttm}</td>
|
| 328 | 328 |
<td>승인</td> |
... | ... | @@ -366,7 +366,7 @@ |
| 366 | 366 |
<tbody> |
| 367 | 367 |
<tr> |
| 368 | 368 |
<c:choose> |
| 369 |
- <c:when test="${apiVO.useYn eq 'Y'}">
|
|
| 369 |
+ <c:when test="${apiVO.useYn eq 'Y' }">
|
|
| 370 | 370 |
<td> |
| 371 | 371 |
${apiVO.lastUpdtPnttm}
|
| 372 | 372 |
</td> |
... | ... | @@ -377,11 +377,11 @@ |
| 377 | 377 |
사용 |
| 378 | 378 |
</td> |
| 379 | 379 |
<td> |
| 380 |
- <button type="button" class="btnType btnType23" onclick="fn_delete('${apiVO.accessNo}','N'); return false;">정지</button>
|
|
| 380 |
+ <button type="button" class="btnType btnType23" onclick="fn_delete('${apiVO.accessNo}','W'); return false;">정지</button>
|
|
| 381 | 381 |
<button type="button" class="btnType btnType14" onclick="fn_update_apikey('14'); return false;">재발급</button>
|
| 382 | 382 |
</td> |
| 383 | 383 |
</c:when> |
| 384 |
- <%-- <c:when test="${apiVO.useYn eq 'N'}">
|
|
| 384 |
+ <c:when test="${apiVO.useYn eq 'W' }">
|
|
| 385 | 385 |
<td> |
| 386 | 386 |
${apiVO.lastUpdtPnttm}
|
| 387 | 387 |
</td> |
... | ... | @@ -392,10 +392,9 @@ |
| 392 | 392 |
미사용 |
| 393 | 393 |
</td> |
| 394 | 394 |
<td> |
| 395 |
- <button type="button" class="btnType btnType23" onclick="fn_delete('${apiVO.accessNo}','Y'); return false;">사용처리</button>
|
|
| 396 |
- <button type="button" class="btnType btnType14" onclick="fn_update_apikey('${apiVO.accessNo}'); return false;">재발급</button>
|
|
| 395 |
+ <button type="button" class="btnType btnType14" onclick="fn_delete('${apiVO.accessNo}','Y'); return false;">사용</button>
|
|
| 397 | 396 |
</td> |
| 398 |
- </c:when> --%> |
|
| 397 |
+ </c:when> |
|
| 399 | 398 |
<c:otherwise> |
| 400 | 399 |
<td colspan="4">API KEY 발급 내역이 없습니다.</td> |
| 401 | 400 |
</c:otherwise> |
... | ... | @@ -427,7 +426,7 @@ |
| 427 | 426 |
</thead> |
| 428 | 427 |
<tbody> |
| 429 | 428 |
<c:choose> |
| 430 |
- <c:when test="${apiVO.useYn eq 'Y' or apiVO.useYn eq 'N'}">
|
|
| 429 |
+ <c:when test="${apiVO.useYn eq 'Y' or apiVO.useYn eq 'N' or apiVO.useYn eq 'W'}">
|
|
| 431 | 430 |
<c:forEach var="result" items="${apiCallInfoVOList}" varStatus="status">
|
| 432 | 431 |
<tr> |
| 433 | 432 |
<td>${result.frstRegistPnttm}</td>
|
... | ... | @@ -461,8 +460,9 @@ |
| 461 | 460 |
<!-- <p class="admin_info">* IP는 10개 까지만 등록 가능합니다.</p> --> |
| 462 | 461 |
</c:otherwise> |
| 463 | 462 |
</c:choose> |
| 464 |
- <p class="admin_info">* 대역 등록을 원하실 경우 상위 IP만 작성하시면 됩니다. ex) 92.168.255.0 ~ 192.168.255.255 대역을 등록할 경우 192.168. 255. 입력</p> |
|
| 465 |
- <p class="admin_info">* IP는 최대 10개까지 등록 가능합니다. 단, IP 대역은 1개의 IP로 계산합니다.<c:out value="${apiCallInfoVOListSize }" /></p>
|
|
| 463 |
+<!-- <p class="admin_info">* 대역 등록을 원하실 경우 상위 IP만 작성하시면 됩니다. ex) 192.168.255.0 ~ 192.168.255.255 대역을 등록할 경우 192.168. 255. 입력</p> --> |
|
| 464 |
+<!-- <p class="admin_info">* 대역 등록을 원하실 경우 상위 IP만 작성하시면 됩니다. ex) 192.168.255.0 입력</p> --> |
|
| 465 |
+ <p class="admin_info">* IP는 최대 10개까지 등록 가능합니다. 단, IP 대역은 1개의 IP로 계산합니다.</p> |
|
| 466 | 466 |
<!--//사용 승인 될 경우에만 노출--> |
| 467 | 467 |
</div> |
| 468 | 468 |
<!--// API 사용 IP 관리 : IP등록 전--> |
--- src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp
+++ src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp
... | ... | @@ -101,7 +101,71 @@ |
| 101 | 101 |
<c:if test="${!loginPage}">
|
| 102 | 102 |
getid(); |
| 103 | 103 |
</c:if> |
| 104 |
+ |
|
| 105 |
+ if(!${empty LoginVO}){
|
|
| 106 |
+ //등급제 대상 여부(헤더) |
|
| 107 |
+ getMberGrdChk_Header(); |
|
| 108 |
+ } |
|
| 109 |
+ |
|
| 110 |
+ var reqURL = "${pageContext.request.requestURL}";
|
|
| 111 |
+ var mainURL = "web/main/mainPage.do"; |
|
| 112 |
+ if (reqURL.lastIndexOf(mainURL) > -1) {
|
|
| 113 |
+ //등급제 시행 ON/OFF 체크(비로그인) |
|
| 114 |
+ getMberSettingDetailByNotLogin(); |
|
| 115 |
+ } |
|
| 116 |
+ else {
|
|
| 117 |
+ // 문자(등급별 요금 안내) |
|
| 118 |
+ $("#priceTopBanner").hide();
|
|
| 119 |
+ } |
|
| 120 |
+ |
|
| 104 | 121 |
}); |
| 122 |
+ |
|
| 123 |
+//등급제 시행 ON/OFF 체크(비로그인) |
|
| 124 |
+function getMberSettingDetailByNotLogin() {
|
|
| 125 |
+ $.ajax({
|
|
| 126 |
+ type: "POST", |
|
| 127 |
+ url: "/web/grd/mberSettDetailByNotLoginAjax.do", |
|
| 128 |
+ data: {},
|
|
| 129 |
+ dataType:'json', |
|
| 130 |
+ async: false, |
|
| 131 |
+ success: function (data) {
|
|
| 132 |
+ if (data.isSuccess) {
|
|
| 133 |
+ // 문자(등급별 요금 안내) |
|
| 134 |
+ $("#priceTopBanner").show();
|
|
| 135 |
+ } |
|
| 136 |
+ else {
|
|
| 137 |
+ //alert("Msg : " + data.msg);
|
|
| 138 |
+ } |
|
| 139 |
+ }, |
|
| 140 |
+ error: function (e) {
|
|
| 141 |
+ //alert("ERROR : " + JSON.stringify(e));
|
|
| 142 |
+ } |
|
| 143 |
+ }); |
|
| 144 |
+} |
|
| 145 |
+ |
|
| 146 |
+//등급제 대상 여부 |
|
| 147 |
+function getMberGrdChk_Header() {
|
|
| 148 |
+ $.ajax({
|
|
| 149 |
+ type: "POST", |
|
| 150 |
+ url: "/web/grd/mberGrdChkAjax.do", |
|
| 151 |
+ data: {},
|
|
| 152 |
+ dataType:'json', |
|
| 153 |
+ async: false, |
|
| 154 |
+ success: function (data) {
|
|
| 155 |
+ if (data.isSuccess) {
|
|
| 156 |
+ // 등급제 누적결제액 세부내역 |
|
| 157 |
+ var levelIcon = "/publish/images/level/level_icon/" + data.rtnMberGrdVO.grdSetIcon + "_icon.png"; |
|
| 158 |
+ $("#commonHeaderGradeIcon").attr("src", levelIcon);
|
|
| 159 |
+ } |
|
| 160 |
+ else {
|
|
| 161 |
+ //alert("Msg : " + data.msg);
|
|
| 162 |
+ } |
|
| 163 |
+ }, |
|
| 164 |
+ error: function (e) {
|
|
| 165 |
+ //alert("ERROR : " + JSON.stringify(e));
|
|
| 166 |
+ } |
|
| 167 |
+ }); |
|
| 168 |
+} |
|
| 105 | 169 |
|
| 106 | 170 |
//남은 시간 계산해주기(화면 새로고침해도 시간은 계속 유지됨) |
| 107 | 171 |
function getTimer(date) {
|
... | ... | @@ -1057,12 +1121,10 @@ |
| 1057 | 1121 |
<!-- 요금안내 top 배너 시작 --> |
| 1058 | 1122 |
<c:choose> |
| 1059 | 1123 |
<c:when test="${fn:contains(pageContext.request.requestURL , 'web/main/mainPage.do')}">
|
| 1060 |
- <!-- |
|
| 1061 |
- <img class="price_top_banner" src="/publish/images/level/top_banner.png" alt="최저 8.1원 요금안내" usemap="#topbanner"> |
|
| 1124 |
+ <img class="price_top_banner" id="priceTopBanner" style="display:none;" src="/publish/images/level/top_banner.png" alt="최저 8.1원 요금안내" usemap="#topbanner"> |
|
| 1062 | 1125 |
<map name="topbanner"> |
| 1063 | 1126 |
<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=""> |
| 1064 | 1127 |
</map> |
| 1065 |
- --> |
|
| 1066 | 1128 |
</c:when> |
| 1067 | 1129 |
</c:choose> |
| 1068 | 1130 |
|
... | ... | @@ -1534,7 +1596,7 @@ |
| 1534 | 1596 |
<div class="login_left"> |
| 1535 | 1597 |
<div class="login_info"> |
| 1536 | 1598 |
<input type="hidden" id="loginId" name="loginId" value="${LoginVO.id}">
|
| 1537 |
- <i></i> |
|
| 1599 |
+ <i><img src="/publish/images/mypageIcon2.png" id="commonHeaderGradeIcon" /></i> |
|
| 1538 | 1600 |
<div class="login2_name" onclick="location.href='/web/user/mberInfoChange.do'" style="cursor:pointer;"> |
| 1539 | 1601 |
<p><c:out value="${LoginVO.name}"/></p>
|
| 1540 | 1602 |
<c:choose> |
--- src/main/webapp/WEB-INF/jsp/web/grd/MberGrdHistListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/grd/MberGrdHistListAjax.jsp
... | ... | @@ -92,7 +92,7 @@ |
| 92 | 92 |
</c:when> |
| 93 | 93 |
<c:otherwise> |
| 94 | 94 |
<tr> |
| 95 |
- <td colspan="5"> |
|
| 95 |
+ <td colspan="5" style="text-align: center;"> |
|
| 96 | 96 |
검색 결과가 없습니다. |
| 97 | 97 |
</td> |
| 98 | 98 |
</tr> |
--- src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataSMLView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataSMLView.jsp
... | ... | @@ -297,6 +297,18 @@ |
| 297 | 297 |
$("#txtFile").val("");
|
| 298 | 298 |
} |
| 299 | 299 |
|
| 300 |
+//발송금액 단가표시 |
|
| 301 |
+function SetPriceWrapOpen() {
|
|
| 302 |
+ var loginVO = '${LoginVO}';
|
|
| 303 |
+ //로그인 체크 |
|
| 304 |
+ if(loginVO == "" || loginVO == null){
|
|
| 305 |
+ } |
|
| 306 |
+ else {
|
|
| 307 |
+ // 발송금액 가격안내 |
|
| 308 |
+ $("#myPriceWrap").show();
|
|
| 309 |
+ } |
|
| 310 |
+} |
|
| 311 |
+ |
|
| 300 | 312 |
//등급제 시행 ON/OFF 체크 |
| 301 | 313 |
function getMberSettingDetail() {
|
| 302 | 314 |
$.ajax({
|
... | ... | @@ -307,7 +319,7 @@ |
| 307 | 319 |
async: false, |
| 308 | 320 |
success: function (data) {
|
| 309 | 321 |
if (data.isSuccess) {
|
| 310 |
- // 발송금액 아래 등급별 가격안내 추가 |
|
| 322 |
+ // 발송금액 가격안내 |
|
| 311 | 323 |
$("#myPriceWrap").show();
|
| 312 | 324 |
} |
| 313 | 325 |
else {
|
... | ... | @@ -321,8 +333,8 @@ |
| 321 | 333 |
} |
| 322 | 334 |
|
| 323 | 335 |
$(document).ready(function (){
|
| 324 |
- //등급제 시행 ON/OFF 체크 |
|
| 325 |
- getMberSettingDetail(); |
|
| 336 |
+ // 발송금액 단가표시 |
|
| 337 |
+ SetPriceWrapOpen(); |
|
| 326 | 338 |
|
| 327 | 339 |
//미리보기 이미지 영역 숨김 처리 |
| 328 | 340 |
$('.preiew_img').hide();
|
--- src/main/webapp/WEB-INF/jsp/web/msgcampain/excel/MsgExcelDataSMLView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgcampain/excel/MsgExcelDataSMLView.jsp
... | ... | @@ -442,6 +442,18 @@ |
| 442 | 442 |
$("#txtFile").val("");
|
| 443 | 443 |
} |
| 444 | 444 |
|
| 445 |
+//발송금액 단가표시 |
|
| 446 |
+function SetPriceWrapOpen() {
|
|
| 447 |
+ var loginVO = '${LoginVO}';
|
|
| 448 |
+ //로그인 체크 |
|
| 449 |
+ if(loginVO == "" || loginVO == null){
|
|
| 450 |
+ } |
|
| 451 |
+ else {
|
|
| 452 |
+ // 발송금액 가격안내 |
|
| 453 |
+ $("#myPriceWrap").show();
|
|
| 454 |
+ } |
|
| 455 |
+} |
|
| 456 |
+ |
|
| 445 | 457 |
//등급제 시행 ON/OFF 체크 |
| 446 | 458 |
function getMberSettingDetail() {
|
| 447 | 459 |
$.ajax({
|
... | ... | @@ -452,7 +464,7 @@ |
| 452 | 464 |
async: false, |
| 453 | 465 |
success: function (data) {
|
| 454 | 466 |
if (data.isSuccess) {
|
| 455 |
- // 발송금액 아래 등급별 가격안내 추가 |
|
| 467 |
+ // 발송금액 가격안내 |
|
| 456 | 468 |
$("#myPriceWrap").show();
|
| 457 | 469 |
} |
| 458 | 470 |
else {
|
... | ... | @@ -466,8 +478,8 @@ |
| 466 | 478 |
} |
| 467 | 479 |
|
| 468 | 480 |
$(document).ready(function (){
|
| 469 |
- //등급제 시행 ON/OFF 체크 |
|
| 470 |
- getMberSettingDetail(); |
|
| 481 |
+ // 발송금액 단가표시 |
|
| 482 |
+ SetPriceWrapOpen(); |
|
| 471 | 483 |
|
| 472 | 484 |
$('.preiew_img').hide();
|
| 473 | 485 |
$('.prePhoto').hide();
|
--- src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp
... | ... | @@ -449,6 +449,18 @@ |
| 449 | 449 |
$("#txtFile").val("");
|
| 450 | 450 |
} |
| 451 | 451 |
|
| 452 |
+// 발송금액 단가표시 |
|
| 453 |
+function SetPriceWrapOpen() {
|
|
| 454 |
+ var loginVO = '${LoginVO}';
|
|
| 455 |
+ //로그인 체크 |
|
| 456 |
+ if(loginVO == "" || loginVO == null){
|
|
| 457 |
+ } |
|
| 458 |
+ else {
|
|
| 459 |
+ // 발송금액 가격안내 |
|
| 460 |
+ $("#myPriceWrap").show();
|
|
| 461 |
+ } |
|
| 462 |
+} |
|
| 463 |
+ |
|
| 452 | 464 |
//등급제 시행 ON/OFF 체크 |
| 453 | 465 |
function getMberSettingDetail() {
|
| 454 | 466 |
$.ajax({
|
... | ... | @@ -459,7 +471,7 @@ |
| 459 | 471 |
async: false, |
| 460 | 472 |
success: function (data) {
|
| 461 | 473 |
if (data.isSuccess) {
|
| 462 |
- // 발송금액 아래 등급별 가격안내 추가 |
|
| 474 |
+ // 발송금액 가격안내 |
|
| 463 | 475 |
$("#myPriceWrap").show();
|
| 464 | 476 |
} |
| 465 | 477 |
else {
|
... | ... | @@ -473,8 +485,8 @@ |
| 473 | 485 |
} |
| 474 | 486 |
|
| 475 | 487 |
$(document).ready(function (){
|
| 476 |
- //등급제 시행 ON/OFF 체크 |
|
| 477 |
- getMberSettingDetail(); |
|
| 488 |
+ // 발송금액 단가표시 |
|
| 489 |
+ SetPriceWrapOpen(); |
|
| 478 | 490 |
|
| 479 | 491 |
// Bline 확연 및 라디오 버튼 클릭 이벤트 추가 |
| 480 | 492 |
var blineCodeYn = $("#blineCode").val();
|
--- src/main/webapp/WEB-INF/jsp/web/msgdata/excel/MsgExcelDataSMLView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgdata/excel/MsgExcelDataSMLView.jsp
... | ... | @@ -593,6 +593,18 @@ |
| 593 | 593 |
$("#txtFile").val("");
|
| 594 | 594 |
} |
| 595 | 595 |
|
| 596 |
+//발송금액 단가표시 |
|
| 597 |
+function SetPriceWrapOpen() {
|
|
| 598 |
+ var loginVO = '${LoginVO}';
|
|
| 599 |
+ //로그인 체크 |
|
| 600 |
+ if(loginVO == "" || loginVO == null){
|
|
| 601 |
+ } |
|
| 602 |
+ else {
|
|
| 603 |
+ // 발송금액 가격안내 |
|
| 604 |
+ $("#myPriceWrap").show();
|
|
| 605 |
+ } |
|
| 606 |
+} |
|
| 607 |
+ |
|
| 596 | 608 |
//등급제 시행 ON/OFF 체크 |
| 597 | 609 |
function getMberSettingDetail() {
|
| 598 | 610 |
$.ajax({
|
... | ... | @@ -603,7 +615,7 @@ |
| 603 | 615 |
async: false, |
| 604 | 616 |
success: function (data) {
|
| 605 | 617 |
if (data.isSuccess) {
|
| 606 |
- // 발송금액 아래 등급별 가격안내 추가 |
|
| 618 |
+ // 발송금액 가격안내 |
|
| 607 | 619 |
$("#myPriceWrap").show();
|
| 608 | 620 |
} |
| 609 | 621 |
else {
|
... | ... | @@ -617,8 +629,8 @@ |
| 617 | 629 |
} |
| 618 | 630 |
|
| 619 | 631 |
$(document).ready(function (){
|
| 620 |
- //등급제 시행 ON/OFF 체크 |
|
| 621 |
- getMberSettingDetail(); |
|
| 632 |
+ // 발송금액 단가표시 |
|
| 633 |
+ SetPriceWrapOpen(); |
|
| 622 | 634 |
|
| 623 | 635 |
// Bline 확연 및 라디오 버튼 클릭 이벤트 추가 |
| 624 | 636 |
var blineCodeYn = $("#blineCode").val();
|
--- src/main/webapp/WEB-INF/jsp/web/pay/PayGuide.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayGuide.jsp
... | ... | @@ -65,8 +65,8 @@ |
| 65 | 65 |
$("#btnEstimate").trigger("click");
|
| 66 | 66 |
} |
| 67 | 67 |
|
| 68 |
- //등급제 시행 ON/OFF 체크 |
|
| 69 |
- getMberSettingDetail(); |
|
| 68 |
+ //등급제 시행 ON/OFF 체크(비로그인) |
|
| 69 |
+ getMberSettingDetailByNotLogin(); |
|
| 70 | 70 |
|
| 71 | 71 |
// 등급제 대상 여부 |
| 72 | 72 |
getMberGrdChk(); |
... | ... | @@ -341,11 +341,11 @@ |
| 341 | 341 |
} |
| 342 | 342 |
|
| 343 | 343 |
|
| 344 |
-//등급제 시행 ON/OFF 체크 |
|
| 345 |
-function getMberSettingDetail() {
|
|
| 344 |
+//등급제 시행 ON/OFF 체크(비로그인) |
|
| 345 |
+function getMberSettingDetailByNotLogin() {
|
|
| 346 | 346 |
$.ajax({
|
| 347 | 347 |
type: "POST", |
| 348 |
- url: "/web/grd/mberSettDetailAjax.do", |
|
| 348 |
+ url: "/web/grd/mberSettDetailByNotLoginAjax.do", |
|
| 349 | 349 |
data: {},
|
| 350 | 350 |
dataType:'json', |
| 351 | 351 |
async: false, |
--- src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp
... | ... | @@ -25,9 +25,6 @@ |
| 25 | 25 |
$("#btnDdedicatedAccount").trigger("click");
|
| 26 | 26 |
} |
| 27 | 27 |
|
| 28 |
- //등급제 시행 ON/OFF 체크 |
|
| 29 |
- getMberSettingDetail(); |
|
| 30 |
- |
|
| 31 | 28 |
// 등급제 대상 여부 |
| 32 | 29 |
getMberGrdChk(); |
| 33 | 30 |
}); |
... | ... | @@ -432,29 +429,6 @@ |
| 432 | 429 |
setPriceMake(); |
| 433 | 430 |
} |
| 434 | 431 |
|
| 435 |
-//등급제 시행 ON/OFF 체크 |
|
| 436 |
-function getMberSettingDetail() {
|
|
| 437 |
- $.ajax({
|
|
| 438 |
- type: "POST", |
|
| 439 |
- url: "/web/grd/mberSettDetailAjax.do", |
|
| 440 |
- data: {},
|
|
| 441 |
- dataType:'json', |
|
| 442 |
- async: false, |
|
| 443 |
- success: function (data) {
|
|
| 444 |
- if (data.isSuccess) {
|
|
| 445 |
- // 문자(등급별 요금 안내) |
|
| 446 |
- $("#mberGrdSettingArea").show();
|
|
| 447 |
- } |
|
| 448 |
- else {
|
|
| 449 |
- //alert("Msg : " + data.msg);
|
|
| 450 |
- } |
|
| 451 |
- }, |
|
| 452 |
- error: function (e) {
|
|
| 453 |
- //alert("ERROR : " + JSON.stringify(e));
|
|
| 454 |
- } |
|
| 455 |
- }); |
|
| 456 |
-} |
|
| 457 |
- |
|
| 458 | 432 |
// 등급제 대상 여부 |
| 459 | 433 |
function getMberGrdChk() {
|
| 460 | 434 |
$.ajax({
|
... | ... | @@ -471,7 +445,10 @@ |
| 471 | 445 |
sHtml += "(누적결제액 : <span>" + numberWithCommas(data.rtnMberGrdVO.totAmt) + "</span>원)</span></p>"; |
| 472 | 446 |
$("#grdShowArea").html(sHtml);
|
| 473 | 447 |
$("#grdShowArea").show();
|
| 474 |
- $("#levelSubTitle").html("(" + data.rtnMberGrdVO.grdDate + " ~ 현재)");
|
|
| 448 |
+ $("#levelSubTitle").html("(" + data.rtnMberGrdVO.grdDate + " ~ 현재)");
|
|
| 449 |
+ |
|
| 450 |
+ // 문자(등급별 요금 안내) |
|
| 451 |
+ $("#mberGrdSettingArea").show();
|
|
| 475 | 452 |
} |
| 476 | 453 |
else {
|
| 477 | 454 |
//alert("Msg : " + data.msg);
|
--- src/main/webapp/WEB-INF/jsp/web/pay/PayViewV2.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayViewV2.jsp
... | ... | @@ -29,9 +29,6 @@ |
| 29 | 29 |
$("#btnDdedicatedAccount").trigger("click");
|
| 30 | 30 |
} |
| 31 | 31 |
|
| 32 |
- //등급제 시행 ON/OFF 체크 |
|
| 33 |
- getMberSettingDetail(); |
|
| 34 |
- |
|
| 35 | 32 |
// 등급제 대상 여부 |
| 36 | 33 |
getMberGrdChk(); |
| 37 | 34 |
}); |
... | ... | @@ -618,30 +615,6 @@ |
| 618 | 615 |
setPriceMake(); |
| 619 | 616 |
} |
| 620 | 617 |
|
| 621 |
- |
|
| 622 |
-//등급제 시행 ON/OFF 체크 |
|
| 623 |
-function getMberSettingDetail() {
|
|
| 624 |
- $.ajax({
|
|
| 625 |
- type: "POST", |
|
| 626 |
- url: "/web/grd/mberSettDetailAjax.do", |
|
| 627 |
- data: {},
|
|
| 628 |
- dataType:'json', |
|
| 629 |
- async: false, |
|
| 630 |
- success: function (data) {
|
|
| 631 |
- if (data.isSuccess) {
|
|
| 632 |
- // 문자(등급별 요금 안내) |
|
| 633 |
- $("#mberGrdSettingArea").show();
|
|
| 634 |
- } |
|
| 635 |
- else {
|
|
| 636 |
- //alert("Msg : " + data.msg);
|
|
| 637 |
- } |
|
| 638 |
- }, |
|
| 639 |
- error: function (e) {
|
|
| 640 |
- //alert("ERROR : " + JSON.stringify(e));
|
|
| 641 |
- } |
|
| 642 |
- }); |
|
| 643 |
-} |
|
| 644 |
- |
|
| 645 | 618 |
// 등급제 대상 여부 |
| 646 | 619 |
function getMberGrdChk() {
|
| 647 | 620 |
$.ajax({
|
... | ... | @@ -658,7 +631,10 @@ |
| 658 | 631 |
sHtml += "(누적결제액 : <span>" + numberWithCommas(data.rtnMberGrdVO.totAmt) + "</span>원)</span></p>"; |
| 659 | 632 |
$("#grdShowArea").html(sHtml);
|
| 660 | 633 |
$("#grdShowArea").show();
|
| 661 |
- $("#levelSubTitle").html("(" + data.rtnMberGrdVO.grdDate + " ~ 현재)");
|
|
| 634 |
+ $("#levelSubTitle").html("(" + data.rtnMberGrdVO.grdDate + " ~ 현재)");
|
|
| 635 |
+ |
|
| 636 |
+ // 문자(등급별 요금 안내) |
|
| 637 |
+ $("#mberGrdSettingArea").show();
|
|
| 662 | 638 |
} |
| 663 | 639 |
else {
|
| 664 | 640 |
//alert("Msg : " + data.msg);
|
--- src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgAllListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgAllListAjax.jsp
... | ... | @@ -301,7 +301,7 @@ |
| 301 | 301 |
</c:when> |
| 302 | 302 |
<c:otherwise> |
| 303 | 303 |
<tr> |
| 304 |
- <td colspan="12">발송 내역이 없습니다.</td> |
|
| 304 |
+ <td colspan="13">발송 내역이 없습니다.</td> |
|
| 305 | 305 |
</tr> |
| 306 | 306 |
</c:otherwise> |
| 307 | 307 |
</c:choose> |
--- src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgCancelListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgCancelListAjax.jsp
... | ... | @@ -240,7 +240,7 @@ |
| 240 | 240 |
</c:when> |
| 241 | 241 |
<c:otherwise> |
| 242 | 242 |
<tr> |
| 243 |
- <td colspan="10">발송 내역이 없습니다.</td> |
|
| 243 |
+ <td colspan="11">발송 내역이 없습니다.</td> |
|
| 244 | 244 |
</tr> |
| 245 | 245 |
</c:otherwise> |
| 246 | 246 |
</c:choose> |
--- src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgCompleteListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgCompleteListAjax.jsp
... | ... | @@ -227,7 +227,7 @@ |
| 227 | 227 |
</c:when> |
| 228 | 228 |
<c:otherwise> |
| 229 | 229 |
<tr> |
| 230 |
- <td colspan="9">발송 내역이 없습니다.</td> |
|
| 230 |
+ <td colspan="10">발송 내역이 없습니다.</td> |
|
| 231 | 231 |
</tr> |
| 232 | 232 |
</c:otherwise> |
| 233 | 233 |
</c:choose> |
--- src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgReadyListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgReadyListAjax.jsp
... | ... | @@ -244,7 +244,7 @@ |
| 244 | 244 |
</c:when> |
| 245 | 245 |
<c:otherwise> |
| 246 | 246 |
<tr> |
| 247 |
- <td colspan="9">발송 내역이 없습니다.</td> |
|
| 247 |
+ <td colspan="10">발송 내역이 없습니다.</td> |
|
| 248 | 248 |
</tr> |
| 249 | 249 |
</c:otherwise> |
| 250 | 250 |
</c:choose> |
--- src/main/webapp/sample_mjon/jsp_example_send_msg_r1.jsp
+++ src/main/webapp/sample_mjon/jsp_example_send_msg_r1.jsp
... | ... | @@ -25,7 +25,7 @@ |
| 25 | 25 |
//회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용 |
| 26 | 26 |
//실제서비스용 |
| 27 | 27 |
final String mberId = "dudgusw"; //문자온 로그인 아이디 |
| 28 |
- final String apiKey = "769089bdd0363e0d0b1d20761a8d013bd"; //발급받은 api ke |
|
| 28 |
+ final String apiKey = "0096519c62100b9eea77c040a6045c"; //발급받은 api ke |
|
| 29 | 29 |
|
| 30 | 30 |
|
| 31 | 31 |
//테스트용 |
--- src/main/webapp/sample_mjon/jsp_example_send_msgs_r1.jsp
+++ src/main/webapp/sample_mjon/jsp_example_send_msgs_r1.jsp
... | ... | @@ -25,7 +25,7 @@ |
| 25 | 25 |
//회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용 |
| 26 | 26 |
//실제서비스용 |
| 27 | 27 |
final String mberId = "dudgusw"; //문자온 로그인 아이디 |
| 28 |
- final String apiKey = "769089bdd0363e0d0b1d20761a8d013bd"; //발급받은 api key |
|
| 28 |
+ final String apiKey = "0096519c62100b9eea77c040a6045c"; //발급받은 api ke |
|
| 29 | 29 |
|
| 30 | 30 |
|
| 31 | 31 |
//테스트용 |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?