File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package itn.let.fax.user.web;
import java.awt.image.BufferedImage;
import java.io.File;
import java.time.LocalDateTime;
import javax.annotation.Resource;
import javax.imageio.ImageIO;
import org.apache.commons.lang3.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.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import itn.com.cmm.JsonResult;
import itn.com.cmm.LoginVO;
import itn.com.cmm.util.FaxUtil;
import itn.com.utl.fcc.service.EgovStringUtil;
import itn.let.fax.user.service.FaxConvertMngVO;
import itn.let.fax.user.service.FaxConvertVO;
import itn.let.fax.user.service.FaxService;
import itn.let.fax.user.service.FaxTranVO;
import itn.let.mail.service.StatusResponse;
/**
*
* @author : 이호영
* @fileName : FaxRestController.java
* @date : 2023.03.20
* @description : 팩스 Rest Controller
* ===========================================================
* DATE AUTHOR NOTE
* ----------------------------------------------------------- *
* 2023.03.20 이호영 최초 생성
*
*
*
*/
@RestController
public class FaxRestController {
@Resource(name = "faxService")
private FaxService faxService;
private static final Logger logger = LoggerFactory.getLogger(FaxRestController.class);
/**
* @methodName : selectMsgDataView
* @author : 이호영
* @date : 2023.02.07
* @description :
* @param cateCode
* @param request
* @param model
* @param redirectAttributes
* @return
* @throws Exception
*/
@RequestMapping(value= {"/web/mjon/fax/faxFileConvertAjax.do"})
public ResponseEntity<StatusResponse> selectMsgDataView(final MultipartHttpServletRequest multiRequest, FaxConvertMngVO faxMngVO) throws Exception{
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
// 로그인 안되어있음 return
if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now()));
faxMngVO.setUserId(userId);
try {
return ResponseEntity.ok().body(faxService.faxFileConvert(multiRequest, faxMngVO));
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "파일 변환중 에러가 발생하였습니다.", LocalDateTime.now()));
}
}
/**
* @methodName : findByConvertTbStatus
* @author : 이호영
* @date : 2023.03.13
* @description :
* @param faxConvertVO
* @return
* @throws Exception
*/
@RequestMapping(value= {"/web/mjon/fax/findByConvertTbStatus.do"})
public ResponseEntity<StatusResponse> findByConvertTbStatus(FaxConvertVO faxConvertVO) throws Exception{
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
// 로그인 안되어있음 return
if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now()));
System.out.println("faxConvertVO.getFaxConvertSeq() : "+ faxConvertVO.getFaxConvertSeq());
try {
return ResponseEntity.ok().body(faxService.findByConvertTbStatus(faxConvertVO.getFaxConvertSeq()));
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "파일 변환 체크 중 에러가 발생하였습니다.", LocalDateTime.now()));
}
}
/**
* @methodName : sendData
* @author : 이호영
* @date : 2023.03.21
* @description : 팩스 발송
* @param faxConvertVO
* @return
* @throws Exception
*/
@RequestMapping(value= {"/web/mjon/fax/sendData.do"})
public ResponseEntity<StatusResponse> sendData(FaxTranVO faxTranVO) throws Exception{
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
// 로그인 안되어있음 return
if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now()));
try {
return ResponseEntity.ok().body(faxService.sendData(faxTranVO, userId));
// return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "임시 성공.", LocalDateTime.now()));
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "발송 요청 중 오류가 발생하였습니다.", LocalDateTime.now()));
}
}
/**
* @methodName : sendExelFilePhoneNumAjax
* @author : 이준호
* @date : 2023.03.20
* @description :
* @param multiRequest
* @return
* @throws Exception
*/
@RequestMapping(value = "/web/mjon/fax/sendExelFileFaxNumAjax.do")
public Object sendExelFileFaxNumAjax(final MultipartHttpServletRequest multiRequest) throws Exception {
JsonResult jr = FaxUtil.exelFileConvertForFax(multiRequest);
return jr;
}
/**
* @methodName : test
* @author : 이호영
* @date : 2023.04.06
* @description : pdf -> image 변환 추후 진행 예정
* @throws Exception
*/
@RequestMapping(value = "/web/mjon/fax/test.do")
public void test() throws Exception {
File file = new File("D:\\usr\\local\\tomcat\\file\\sht\\fax\\Convert\\00000000602.pdf");
PDDocument document = PDDocument.load(file);
try {
int pageCount = document.getNumberOfPages();
PDFRenderer pdfRenderer = new PDFRenderer(document);
System.out.println("pageCount : "+ pageCount);
for (int i = 0; i < pageCount; i++) {
BufferedImage imageObj = pdfRenderer.renderImageWithDPI(i, 100, ImageType.RGB);
File outputfile = new File("D:\\usr\\local\\tomcat\\file\\sht\\fax\\Convert\\images\\00000000602_"+i+".jpg");
ImageIO.write(imageObj, "jpg", outputfile);
}
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}finally {
if (document != null) {
document.close();
}
}
}
}