所有的文件相关枚举在这里统一定义。

文件目录类型枚举类,在com.swx.easypan.entity.enums包下创建 FileFolderTypeEnums 枚举类:

FileFolderTypeEnums
public enum FileFolderTypeEnums {
FILE(0, "文件"),
FOLDER(1, "目录");

private Integer type;
private String desc;

FileFolderTypeEnums(Integer type, String desc) {
this.type = type;
this.desc = desc;
}

public Integer getType() {
return type;
}

public String getDesc() {
return desc;
}
}

文件类别枚举类,在com.swx.easypan.entity.enums包下创建 FileCategoryEnums 枚举类:

FileCategoryEnums
public enum FileCategoryEnums {

VIDEO(1, "video", "视频"),
MUSIC(2, "music", "音乐"),
IMAGE(3, "image", "图片"),
DOC(4, "doc", "文档"),
OTHER(5, "other", "其他");

private final Integer category;
private final String code;

FileCategoryEnums(Integer category, String code, String desc) {
this.category = category;
this.code = code;
}

public static FileCategoryEnums getByCode(String code) {
for (FileCategoryEnums item : FileCategoryEnums.values()) {
if (item.getCode().equals(code)) {
return item;
}
}
return null;
}

public Integer getCategory() {
return category;
}

public String getCode() {
return code;
}
}

文件删除状态枚举类,在com.swx.easypan.entity.enums包下创建 FileDelFlagEnums 枚举类:

FileDelFlagEnums
public enum FileDelFlagEnums {
USING(0, "正常"),
RECYCLE(1, "回收站"),
DEL(2, "删除");
private final Integer flag;
private final String desc;

FileDelFlagEnums(Integer flag, String desc) {
this.flag = flag;
this.desc = desc;
}

public Integer getFlag() {
return flag;
}

public String getDesc() {
return desc;
}
}

文件状态枚举类,在com.swx.easypan.entity.enums包下创建 FileDelFlagEnums 枚举类:

FileStatusEnums
public enum FileStatusEnums {
TRANSFER(0, "转码中"),
TRANSFER_FAIL(1, "转码失败"),
USING(2, "使用中");
private final Integer status;
private final String desc;

FileStatusEnums(Integer status, String desc) {
this.status = status;
this.desc = desc;
}

public Integer getStatus() {
return status;
}

public String getDesc() {
return desc;
}
}

文件类型枚举类,在com.swx.easypan.entity.enums包下创建 FileTypeEnums 枚举类:

FileTypeEnums
public enum FileTypeEnums {
VIDEO(FileCategoryEnums.VIDEO, 1, new String[]{".mp4", ".avi", ".rmvb", ".mkv", ".mov", ".flv"}, "视频"),
MUSIC(FileCategoryEnums.MUSIC, 2, new String[]{".mp3", ".wav", ".wma", ".mp2", ".flac", ".midi", ".ra", ".ape", ".aac", ".cda"}, "音频"),
IMAGE(FileCategoryEnums.IMAGE, 3, new String[]{".jpeg", ".jpg", ".png", ".gif", ".bmp", ".dds", ".psd", ".pdt", ".webp", ".xmp", ".svg", ".tiff"}, "图片"),
PDF(FileCategoryEnums.DOC, 4, new String[]{".pdf"}, "pdf"),
WORD(FileCategoryEnums.DOC, 5, new String[]{".doc", ".docx"}, "word"),
EXCEL(FileCategoryEnums.DOC, 6, new String[]{".xlsx", ".excel"}, "excel"),
TXT(FileCategoryEnums.DOC, 7, new String[]{".txt"}, "文本"),
CODE(FileCategoryEnums.DOC, 8, new String[]{".h", ".c", ".hpp", ".hxx", ".cpp", ".cc", ".c++", ".cxx", ".m", ".o", ".s", ".dll", ".cs",
".java", ".class", ".js", ".ts", ".css", ".scss", "vue", ".jsx", ".sql", ".md", ".json", ".html", ".xml", ".vue"}, "代码"),
ZIP(FileCategoryEnums.OTHER, 9, new String[]{".rar", ".zip", ".7z", ".cab", ".arj", ".lzh", ".tar", ".gz", ".ace", ".uue", "bz", ".jar", ".iso"}, "视频"),
OTHER(FileCategoryEnums.OTHER, 10, new String[]{}, "其他");

private FileCategoryEnums category;
private Integer type;
private String[] suffixs;
private String desc;

FileTypeEnums(FileCategoryEnums category, Integer type, String[] suffix, String desc) {
this.category = category;
this.type = type;
this.suffixs = suffix;
this.desc = desc;
}

public static FileTypeEnums getBySuffix(String suffix) {
for (FileTypeEnums item : FileTypeEnums.values()) {
if (ArrayUtils.contains(item.getSuffixs(), suffix)) {
return item;
}
}
return FileTypeEnums.OTHER;
}

public static FileTypeEnums getByType(Integer type) {
for (FileTypeEnums item : FileTypeEnums.values()) {
if (item.getType().equals(type)) {
return item;
}
}
return null;
}

public FileCategoryEnums getCategory() {
return category;
}

public Integer getType() {
return type;
}

public String[] getSuffixs() {
return suffixs;
}

public String getDesc() {
return desc;
}
}

时间格式枚举类

DateTimePatternEnum
public enum DateTimePatternEnum {

YYYY_MM_DD_HH_MM_DD("yyyy-MM-dd HH:mm:ss"),
YYYY_MM_DD("yyyy-MM-dd"),
YYYYMM("yyyyMM");

private String pattern;

DateTimePatternEnum(String pattern) {
this.pattern = pattern;
}
public String getPattern() {
return pattern;
}
}