refactor: 시민신고 파일 생성시 원본이미지 파일 저장 여부 flag로 처리하도록 변경

main
minuk926 2 years ago
parent 93e61bbac2
commit 899265a038

@ -363,9 +363,10 @@ public class EcNatlNewspaperService implements IEcNatlNewspaperService {
* @param fileCnt
* @return
*/
//TODO: 단속정보별 파일 저장 하도록 적용 필요 - 2건 단속자료면 1번은 1번 파일만, 2번은 2번 파일만
//TODO: 단속정보를 보여줄 때는 모든 이미지 정보 보여준다(insterfaceSeqN 별로 - 어느 DTL항목 파일인지는 당근 표시해야지!!!)
//TODO: .png는 각각 set - 파일 업로드는 1번만
//FIXME: 단속정보별 파일 저장 - 2건 단속자료면 1번은 1번 파일만, 2번은 2번 파일만
//FIXME: 단속정보를 보여줄 때는 모든 이미지 정보 보여준다(insterfaceSeqN 별로 - 어느 DTL항목 파일인지는 당근 표시해야지!!!)
//FIXME: .png는 각각 set - 파일 업로드는 1번만
@SuppressWarnings("DuplicatedCode")
private CmmFileDTO.FileMst saveAppendFiles(
NatlNewspaperRcvXmlDTO.ApndFileInfo apndFileDTO,
CtznStmtDTO.CtznStmtDtl stmtDtlDTO,
@ -373,7 +374,6 @@ public class EcNatlNewspaperService implements IEcNatlNewspaperService {
int fileCnt) {
// 첨부 파일 생성
//int fileCnt = Integer.parseInt(appendFileDto.getApndfilcount());
List<MultipartFile> mfList = new ArrayList<>();
Class<?> clz = apndFileDTO.getClass();
String makeDir = makeUploadPath();
@ -391,7 +391,7 @@ public class EcNatlNewspaperService implements IEcNatlNewspaperService {
if(petiFileNm.contains(".png")) {
method = clz.getMethod("getApndfilcont" + idx, null);
String petiFileStr = (String)method.invoke(apndFileDTO, null);
mfList.add(CommUtils.createMutipartFileFromBytes(petiFileNm, makePath, Base64.decode(petiFileStr.getBytes())));
mfList.add(CommUtils.createMutipartFileFromBytes(petiFileNm, makePath, Base64.decode(petiFileStr.getBytes()), true));
break;
}
}
@ -412,6 +412,7 @@ public class EcNatlNewspaperService implements IEcNatlNewspaperService {
* @param index
* @return
*/
@SuppressWarnings({"DuplicatedCode", "UnusedReturnValue"})
private CmmFileDTO.FileMst saveFstOverAppendFiles(
final NatlNewspaperRcvXmlDTO.ApndFileInfo apndFileDTO,
final CtznStmtDTO.CtznStmtDtl stmtDtlDTO,
@ -440,15 +441,7 @@ public class EcNatlNewspaperService implements IEcNatlNewspaperService {
method = clz.getMethod("getApndfilcont" + fileIdx, null);
String petiFileStr = (String)method.invoke(apndFileDTO, null);
// TODO: 실제 저장할 파일명 생성후 파일 내용 저장
//String saveFileName = CommUtils.getStringFromUUID();
//CommUtils.saveFileFromBytes(saveFileName, makePath, Base64.decode(petiFileStr.getBytes()));
// 실제 저장된 파일명 set
//method = clz.getMethod("setPetiFileName" + fileIdx, String.class);
//method.invoke(apndFileDTO, petiFileNm);
// TODO: 원본 파일명으로 파일 생성후 파일 업로드
mfList.add(CommUtils.createMutipartFileFromBytes(petiFileNm, makePath, Base64.decode(petiFileStr.getBytes())));
mfList.add(CommUtils.createMutipartFileFromBytes(petiFileNm, makePath, Base64.decode(petiFileStr.getBytes()), true));
//method.invoke(apndFileDTO, StringUtils.cleanPath(makePath + mf.getOriginalFilename()));
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
@ -469,8 +462,7 @@ public class EcNatlNewspaperService implements IEcNatlNewspaperService {
private static String makeUploadPath() {
String dateStr = DateUtils.getToday("");
dateStr = dateStr.substring(0,4) + "/" + dateStr.substring(4);
String makeDir = "/" + dateStr;
return makeDir;
return "/" + dateStr;
}

@ -100,7 +100,7 @@ public class EcCtznSttemntController {
ModelAndView mav = new ModelAndView(FrameworkConstants.JSON_VIEW);
service.removeEcCtznSttemntDetail(dto);
AjaxMessageMapRenderer.success(mav, MessageKey.CMM_DELETE_FAIL);
AjaxMessageMapRenderer.success(mav, MessageKey.CMM_DELETE_SUCCESS);
return mav;
}
}

@ -560,6 +560,7 @@ public class CommUtils {
* @param filePath
* @return MultipartFile
*/
@SuppressWarnings("DuplicatedCode")
public static MultipartFile createMutipartFile(final String fileNm, final String filePath){
File file = new File(filePath+"/"+fileNm);
try {
@ -579,7 +580,16 @@ public class CommUtils {
}
}
public static MultipartFile createMutipartFileFromBytes(final String fileNm, final String filePath, final byte[] data){
/**
* binary(byte) MultipartFile GET
* @param fileNm
* @param filePath - MultipartFile
* @param data byte
* @param isFileDelete
* @return MultipartFile MultipartFile
*/
@SuppressWarnings("DuplicatedCode")
public static MultipartFile createMutipartFileFromBytes(final String fileNm, final String filePath, final byte[] data, boolean isFileDelete){
File file = new File(filePath+"/"+fileNm);
try {
FileUtils.writeByteArrayToFile(file, data);
@ -592,6 +602,10 @@ public class CommUtils {
}catch(IOException e){
throw BizRuntimeException.create(MessageKey.CUSTOM_MSG, e.getMessage());
}
if(isFileDelete && file.exists()) {
//noinspection ResultOfMethodCallIgnored
file.delete();
}
return new CommonsMultipartFile(fileItem);
} catch (IOException ex) {
throw BizRuntimeException.create(MessageKey.CUSTOM_MSG, ex.getMessage());

Loading…
Cancel
Save