diff --git a/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtController.java b/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtController.java index 9e00c8e..ee0a497 100644 --- a/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtController.java +++ b/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtController.java @@ -28,6 +28,7 @@ import org.springframework.security.core.userdetails.UserDetails; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; @@ -426,14 +427,48 @@ public class SysMgtController { return sysService.notiList(notiListReqDto); } + + /** + * 서비스 점검 이력 인서트 + * @param setWorkParam + * @param bindingResult + * @return + */ @RequestMapping(value = "/setWorkState", method = {RequestMethod.POST}) @ResponseBody - public SetWorkStateResDto setWorkState(@RequestBody @Valid SetWorkStateReqDto setWorkParam, BindingResult bindingResult) { + public SetWorkStateResDto setWorkState(@RequestBody @Valid SetWorkStateReqDto setWorkParam, BindingResult bindingResult, + HttpServletRequest request) { if (validComponents.validParameter(bindingResult)) { return new SetWorkStateResDto(ApiResponseCode.CM_PARAMETER_ERROR); } + String ip = request.getHeader("X-Forwarded-For"); + logger.info("> X-FORWARDED-FOR : " + ip); + + if (ip == null) { + ip = request.getHeader("Proxy-Client-IP"); + logger.info("> Proxy-Client-IP : " + ip); + } + if (ip == null) { + ip = request.getHeader("WL-Proxy-Client-IP"); + logger.info("> WL-Proxy-Client-IP : " + ip); + } + if (ip == null) { + ip = request.getHeader("HTTP_CLIENT_IP"); + logger.info("> HTTP_CLIENT_IP : " + ip); + } + if (ip == null) { + ip = request.getHeader("HTTP_X_FORWARDED_FOR"); + logger.info("> HTTP_X_FORWARDED_FOR : " + ip); + } + if (ip == null) { + ip = request.getRemoteAddr(); + logger.info("> getRemoteAddr : "+ip); + } + logger.info("> Result : IP Address : "+ip); + setWorkParam.setIp(ip); + return sysService.setWorkState(setWorkParam); } diff --git a/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtService.java b/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtService.java index 3b35137..94d70de 100644 --- a/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtService.java +++ b/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtService.java @@ -26,7 +26,9 @@ import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; +import java.net.InetAddress; import java.net.MalformedURLException; +import java.net.UnknownHostException; import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; @@ -55,7 +57,12 @@ public class SysMgtService { FileService fileService; // 파일위치 - @Value("${hubeasy_file_info.work-location}") private String dirWorkState; + @Value("${hubeasy_file_info.work-home}") + private String dirWorkState; + + // 파일위치 + @Value("${hubeasy_file_info.work-admin}") + private String dirWorkStateAdmin; // @Value("${spring.servlet.multipart.location}") private String uploadPath = "/efs/admin"; @@ -552,10 +559,15 @@ public class SysMgtService { } + /** + * 서비스 점검 이력 인서트 + * @param setWorkParam + * @return + */ public SetWorkStateResDto setWorkState(SetWorkStateReqDto setWorkParam) { - File file = new File("C:\\efs\\home\\workState\\workStatefile.txt"); - File fileList = new File("C:\\efs\\admin\\workState\\workStatefile.txt"); + File file = new File(dirWorkState); + File fileList = new File(dirWorkStateAdmin); String[] workParamArr = setWorkParam.getStartDate().split("-"); @@ -573,10 +585,12 @@ public class SysMgtService { setWorkState += setWorkParam.getStartTimeT() + "@"; setWorkState += setWorkParam.getStartTimeM() + "@"; setWorkState += setWorkParam.getEndTimeT() + "@"; - setWorkState += setWorkParam.getEndTimeM(); + setWorkState += setWorkParam.getEndTimeM() + "@"; + setWorkState += setWorkParam.getIp(); try { + /* 홈페이지 상태 인서트 Start*/ //1. workState 파일이 없다면? 만들어라 if(!file.exists()) { file.createNewFile(); @@ -595,12 +609,14 @@ public class SysMgtService { //4. Buffer writer.close(); + /* 홈페이지 상태 인서트 End*/ //5. admin파일에 저장 + /* 어드민 이력 등록 */ String workStateData = ""; - Resource filethree = fileService.loadAsResource(dirWorkState); + Resource filethree = fileService.loadAsResource(dirWorkStateAdmin); BufferedReader reader = new BufferedReader(new FileReader(filethree.getFile())); StringBuilder sb = new StringBuilder(); String line; @@ -631,7 +647,6 @@ public class SysMgtService { writerList.close(); } catch (IOException e) { - // TODO Auto-generated catch block e.printStackTrace(); } logger.debug("setWorkParam={}",setWorkParam); @@ -659,11 +674,11 @@ public class SysMgtService { String nowPage = String.valueOf(svcCheckListReqDto.getPage()); int totalCnt = 0; - File fileList = new File("C:\\efs\\admin\\workState\\workStatefile.txt"); + File fileList = new File(dirWorkStateAdmin); try { //파일 읽기 - Resource file = fileService.loadAsResource(dirWorkState); + Resource file = fileService.loadAsResource(dirWorkStateAdmin); BufferedReader reader = new BufferedReader(new FileReader(file.getFile())); StringBuilder sb = new StringBuilder(); String line; diff --git a/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/SetWorkStateReqDto.java b/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/SetWorkStateReqDto.java index 15e409b..375cd0e 100644 --- a/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/SetWorkStateReqDto.java +++ b/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/SetWorkStateReqDto.java @@ -11,4 +11,5 @@ public class SetWorkStateReqDto { String endTimeT; String endTimeM; String state; + String ip; } diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index 4923a66..bde2ffd 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -82,5 +82,9 @@ file-resource: sendMsg: tableNm: EZ_MSG_NORMAL +hubeasy_file_info: + work-home: /efs/home/workState/workStatefile.txt + work-admin: /efs/admin/workState/workStatefile.txt + # 한도 개월 수 limitCnt: 12 \ No newline at end of file diff --git a/src/main/resources/application-prd.yml b/src/main/resources/application-prd.yml index 1410621..2fb9562 100644 --- a/src/main/resources/application-prd.yml +++ b/src/main/resources/application-prd.yml @@ -84,5 +84,9 @@ file-resource: sendMsg: tableNm: EZ_MSG_REAL +hubeasy_file_info: + work-home: /efs/home/workState/workStatefile.txt + work-admin: /efs/admin/workState/workStatefile.txt + # 한도 개월 수 limitCnt: 12 \ No newline at end of file diff --git a/src/main/resources/application-stg.yml b/src/main/resources/application-stg.yml index cfe45c7..bf11032 100644 --- a/src/main/resources/application-stg.yml +++ b/src/main/resources/application-stg.yml @@ -85,5 +85,9 @@ file-resource: sendMsg: tableNm: EZ_MSG_REAL +hubeasy_file_info: + work-home: /efs/home/workState/workStatefile.txt + work-admin: /efs/admin/workState/workStatefile.txt + # 한도 개월 수 limitCnt: 12 \ No newline at end of file