抽取 yyyy-MM-dd-HH-mm-ss- 格式的日期pattern到工具类中 (#813)

* 排序使用Comparator静态方法实现

* 修复排序逻辑错误

* fix compile error

* 抽取 yyyy-MM-dd-HH-mm-ss- 格式的日期pattern到工具类中
pull/754/head^2
liaozan 2020-05-01 00:30:23 +08:00 committed by GitHub
parent 36b3a2d3b4
commit f0f354af07
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 13 deletions

View File

@ -26,6 +26,7 @@ import run.halo.app.model.entity.*;
import run.halo.app.model.support.HaloConst;
import run.halo.app.security.service.OneTimeTokenService;
import run.halo.app.service.*;
import run.halo.app.utils.DateTimeUtils;
import run.halo.app.utils.HaloUtils;
import java.io.IOException;
@ -36,7 +37,6 @@ import java.nio.file.NoSuchFileException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
@ -143,9 +143,9 @@ public class BackupServiceImpl implements BackupService {
*/
public static String sanitizeFilename(final String unSanitized) {
return unSanitized.
replaceAll("[^(a-zA-Z0-9\\u4e00-\\u9fa5\\.)]", "").
replaceAll("[\\?\\\\/:|<>\\*\\[\\]\\(\\)\\$%\\{\\}@~\\.]", "").
replaceAll("\\s", "");
replaceAll("[^(a-zA-Z0-9\\u4e00-\\u9fa5\\.)]", "").
replaceAll("[\\?\\\\/:|<>\\*\\[\\]\\(\\)\\$%\\{\\}@~\\.]", "").
replaceAll("\\s", "");
}
@Override
@ -165,8 +165,8 @@ public class BackupServiceImpl implements BackupService {
try {
// Create zip path for halo zip
String haloZipFileName = HaloConst.HALO_BACKUP_PREFIX +
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd-HH-mm-ss-")) +
IdUtil.simpleUUID().hashCode() + ".zip";
DateTimeUtils.format(LocalDateTime.now(), DateTimeUtils.HORIZONTAL_LINE_DATETIME_FORMATTER) +
IdUtil.simpleUUID().hashCode() + ".zip";
// Create halo zip file
Path haloZipPath = Files.createFile(Paths.get(haloProperties.getBackupDir(), haloZipFileName));
@ -285,7 +285,7 @@ public class BackupServiceImpl implements BackupService {
try {
String haloDataFileName = HaloConst.HALO_DATA_EXPORT_PREFIX +
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd-HH-mm-ss-")) +
DateTimeUtils.format(LocalDateTime.now(), DateTimeUtils.HORIZONTAL_LINE_DATETIME_FORMATTER) +
IdUtil.simpleUUID().hashCode() + ".json";
Path haloDataPath = Files.createFile(Paths.get(haloProperties.getDataExportDir(), haloDataFileName));
@ -452,9 +452,9 @@ public class BackupServiceImpl implements BackupService {
// Build full url
return HaloUtils.compositeHttpUrl(optionService.getBlogBaseUrl(), backupUri)
+ "?"
+ HaloConst.ONE_TIME_TOKEN_QUERY_NAME
+ "=" + oneTimeToken;
+ "?"
+ HaloConst.ONE_TIME_TOKEN_QUERY_NAME
+ "=" + oneTimeToken;
}
}

View File

@ -35,6 +35,7 @@ import run.halo.app.model.vo.PostDetailVO;
import run.halo.app.model.vo.PostListVO;
import run.halo.app.model.vo.SheetDetailVO;
import run.halo.app.service.*;
import run.halo.app.utils.DateTimeUtils;
import run.halo.app.utils.FileUtils;
import java.io.File;
@ -46,7 +47,6 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Stream;
@ -168,8 +168,8 @@ public class StaticPageServiceImpl implements StaticPageService {
public Path zipStaticPagesDirectory() {
try {
String staticPagePackName = HaloConst.STATIC_PAGE_PACK_PREFIX +
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd-HH-mm-ss-")) +
IdUtil.simpleUUID().hashCode() + ".zip";
DateTimeUtils.format(LocalDateTime.now(), DateTimeUtils.HORIZONTAL_LINE_DATETIME_FORMATTER) +
IdUtil.simpleUUID().hashCode() + ".zip";
Path staticPageZipPath = Files.createFile(Paths.get(STATIC_PAGE_PACK_DIR, staticPagePackName));
FileUtils.zip(pagesDir, staticPageZipPath);

View File

@ -42,18 +42,32 @@ public class DateTimeUtils {
* HH:mm
*/
public final static String NORM_TIME_PATTERN = "HH:mm";
/**
* {@link DateTimeFormatter} HH:mm
*/
public static final DateTimeFormatter NORM_TIME_FORMATTER = DateTimeFormatter.ofPattern(NORM_TIME_PATTERN);
/**
* {@link DateTimeFormatter}yyyy-MM-dd HH:mm:ss
*/
public static final DateTimeFormatter NORM_DATETIME_FORMATTER = DateTimeFormatter.ofPattern(NORM_DATETIME_PATTERN);
/**
* 线yyyy-MM-dd-HH-mm-ss-
*/
public final static String HORIZONTAL_LINE_PATTERN = "yyyy-MM-dd-HH-mm-ss-";
/**
* 线 {@link DateTimeFormatter}yyyy-MM-dd-HH-mm-ss-
*/
public static final DateTimeFormatter HORIZONTAL_LINE_DATETIME_FORMATTER = DateTimeFormatter.ofPattern(HORIZONTAL_LINE_PATTERN);
/**
*
*/
public static final String CTT = ZoneId.SHORT_IDS.get("CTT");
/**
*
*/