feat : 첨부파일 동영상 여부 확인 로직 추가

master
Kurt92 4 months ago
parent 9207d84b80
commit a7d6f5f5bb

@ -6,6 +6,7 @@ import com.worker.domain.repo.ep.*;
import com.worker.dto.SinmungoDto;
import com.worker.util.common.CommonUtils;
import com.worker.util.common.commEnum.DateTimePatternEnum;
import com.worker.util.common.commEnum.FileKind;
import com.worker.util.common.commEnum.LawGBEnum;
import com.worker.util.common.commEnum.TakeSeCdEnum;
import com.worker.util.fileReader.XmlReader;
@ -114,6 +115,7 @@ public class DbPolling {
.mmSgpos(sgpos)
.mmBdcode(getBdcodeBySgpos(setInfo, sgpos))
.mmImagecnt(Integer.parseInt(xml.getApndfilcount()))
.mmImagegb(isVideoFile(xml))
.mmLawgb(getLawGBByReason(xml.getPeti_reason_l()).getCode())
.mmKeum1(getLawGBByReason(xml.getPeti_reason_l()).getImKeum1())
.mmKeum2(getLawGBByReason(xml.getPeti_reason_l()).getImKeum2())
@ -202,6 +204,7 @@ public class DbPolling {
.mmSgpos(sgpos)
.mmBdcode(getBdcodeBySgpos(setInfo, sgpos))
.mmImagecnt(Integer.parseInt(xml.getApndfilcount()))
.mmImagegb(isVideoFile(xml))
.mmLawgb(getLawGBByReason(xml.getPeti_reason_l()).getCode())
.mmKeum1(getLawGBByReason(xml.getPeti_reason_l()).getImKeum1())
.mmKeum2(getLawGBByReason(xml.getPeti_reason_l()).getImKeum2())
@ -376,4 +379,18 @@ public class DbPolling {
return LawGBEnum.UNKNOWN;
}
private String isVideoFile(SinmungoDto.SinmungoXml xml) {
return Stream.of(
xml.getPeti_file_path1_v(),
xml.getPeti_file_path2_v(),
xml.getPeti_file_path3_v(),
xml.getPeti_file_path4_v(),
xml.getPeti_file_path5_v(),
xml.getPeti_file_path6_v()
)
.anyMatch(path -> FileKind.codeFromFileName(path) == 2) ? "2" : "1";
}
}

@ -0,0 +1,48 @@
package com.worker.util.common.commEnum;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
public enum FileKind {
IMAGE(1, "jpg","jpeg","png","gif","bmp","webp","tiff","svg","heic","heif"),
VIDEO(2, "mp4","mov","m4v","avi","mkv","wmv","webm","flv","mpeg","mpg","3gp"),
OTHER(0);
private static final Map<String, FileKind> EXT_KIND = new HashMap<>();
static {
for (FileKind kind : values()) {
for (String ext : kind.extensions) {
EXT_KIND.put(ext, kind);
}
}
}
private final int code; // 1=IMAGE, 2=VIDEO, 0=OTHER
private final Set<String> extensions;
FileKind(int code, String... extensions) {
this.code = code;
this.extensions = Set.of(extensions);
}
public int getCode() {
return code;
}
public static FileKind fromFileName(String fileNameOrPath) {
if (fileNameOrPath == null || fileNameOrPath.isBlank()) return OTHER;
int dot = fileNameOrPath.lastIndexOf('.');
if (dot > -1 && dot < fileNameOrPath.length() - 1) {
String ext = fileNameOrPath.substring(dot + 1).toLowerCase(Locale.ROOT);
return EXT_KIND.getOrDefault(ext, OTHER);
}
return OTHER;
}
public static int codeFromFileName(String fileNameOrPath) {
return fromFileName(fileNameOrPath).getCode();
}
}
Loading…
Cancel
Save