根据文件后缀进行排序处理
返回结果按照文件的类型特殊排序,顺序为pdf,word,excel,图片顺序;
枚举类如下
@Getter
@AllArgsConstructor
public enum FileSuffixEnum {
PDF_SUFFIX(".pdf", "pdf文件"),
WORD_SUFFIX(".doc", "word文件"),
EXCEL_SUFFIX(".xls", "excel文件");
private String code;
private String value;
}
内存排序操作
public void resultTrans(List<StandMaterialInfoQueryVO> results) {
for (StandMaterialInfoQueryVO vo : results) {
if (StringUtils.isBlank(vo.getFileKey())) {
continue;
}
if (vo.getFileKey().toLowerCase().contains(FileSuffixEnum.PDF_SUFFIX.getCode())) {
vo.setSortKey(1);
} else if (vo.getFileKey().toLowerCase().contains(FileSuffixEnum.WORD_SUFFIX.getCode())) {
vo.setSortKey(2);
} else if (vo.getFileKey().toLowerCase().contains(FileSuffixEnum.EXCEL_SUFFIX.getCode())) {
vo.setSortKey(3);
} else {
vo.setSortKey(4);
}
vo.setFullPath(ossUtils.generateUrl(vo.getFileKey()));
}
results.sort(Comparator.comparingInt(StandMaterialInfoQueryVO::getSortKey));
}