diff --git a/music-houduan/src/main/java/com/test/musichouduan/config/LocalDateTimeDeserializer.java b/music-houduan/src/main/java/com/test/musichouduan/config/LocalDateTimeDeserializer.java new file mode 100644 index 0000000..202f63b --- /dev/null +++ b/music-houduan/src/main/java/com/test/musichouduan/config/LocalDateTimeDeserializer.java @@ -0,0 +1,38 @@ +package com.test.musichouduan.config; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; + +import java.io.IOException; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; + +public class LocalDateTimeDeserializer extends JsonDeserializer { + + private static final DateTimeFormatter FORMATTER_DATETIME = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + private static final DateTimeFormatter FORMATTER_DATE = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + + @Override + public LocalDateTime deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + String str = p.getText().trim(); + if (str.isEmpty()) { + return null; + } + + try { + // 尝试解析 "yyyy-MM-dd HH:mm:ss" 格式 + return LocalDateTime.parse(str, FORMATTER_DATETIME); + } catch (DateTimeParseException e) { + // 如果失败,尝试解析 "yyyy-MM-dd" 格式 + try { + LocalDate date = LocalDate.parse(str, FORMATTER_DATE); + return date.atStartOfDay(); + } catch (DateTimeParseException e2) { + throw new IOException(e2); + } + } + } +} \ No newline at end of file diff --git a/music-houduan/src/main/java/com/test/musichouduan/config/SaTokenConfig.java b/music-houduan/src/main/java/com/test/musichouduan/config/SaTokenConfig.java index 782c369..34b98b1 100644 --- a/music-houduan/src/main/java/com/test/musichouduan/config/SaTokenConfig.java +++ b/music-houduan/src/main/java/com/test/musichouduan/config/SaTokenConfig.java @@ -19,16 +19,10 @@ public class SaTokenConfig implements WebMvcConfigurer { // 注册Sa-Token拦截器,打开注解式鉴权功能 registry.addInterceptor(new SaInterceptor(handle -> { // 打印调试信息 - System.out.println("\n=== Sa-Token 拦截器检查登录状态 ===\n"); - // 获取当前登录用户ID Object loginId = StpUtil.getLoginIdDefaultNull(); - System.out.println("当前登录用户ID: " + loginId); - // 获取当前用户角色 List roleList = StpUtil.getRoleList(); - System.out.println("当前用户角色: " + roleList); - // 检查登录状态 StpUtil.checkLogin(); })) diff --git a/music-houduan/src/main/java/com/test/musichouduan/config/StpInterfaceImpl.java b/music-houduan/src/main/java/com/test/musichouduan/config/StpInterfaceImpl.java index 44d3b7c..b9fd668 100644 --- a/music-houduan/src/main/java/com/test/musichouduan/config/StpInterfaceImpl.java +++ b/music-houduan/src/main/java/com/test/musichouduan/config/StpInterfaceImpl.java @@ -45,9 +45,6 @@ public class StpInterfaceImpl implements StpInterface { } else { roles.add("user"); } - - // 打印调试信息 - System.out.println("用户ID: " + userId + ", 角色: " + roles); }); return roles; diff --git a/music-houduan/src/main/java/com/test/musichouduan/dto/MusicDTO.java b/music-houduan/src/main/java/com/test/musichouduan/dto/MusicDTO.java index 25e3582..43d0e07 100644 --- a/music-houduan/src/main/java/com/test/musichouduan/dto/MusicDTO.java +++ b/music-houduan/src/main/java/com/test/musichouduan/dto/MusicDTO.java @@ -1,6 +1,8 @@ package com.test.musichouduan.dto; import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.test.musichouduan.config.LocalDateTimeDeserializer; import lombok.Data; import java.time.LocalDateTime; @@ -101,6 +103,7 @@ public class MusicDTO { * 发行日期 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonDeserialize(using = LocalDateTimeDeserializer.class) private LocalDateTime releaseDate; /** @@ -117,12 +120,14 @@ public class MusicDTO { * 创建时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonDeserialize(using = LocalDateTimeDeserializer.class) private LocalDateTime createTime; /** * 收藏时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonDeserialize(using = LocalDateTimeDeserializer.class) private LocalDateTime collectTime; /** diff --git a/music-houduan/src/main/java/com/test/musichouduan/dto/PlaylistDTO.java b/music-houduan/src/main/java/com/test/musichouduan/dto/PlaylistDTO.java index 28f58f7..f556593 100644 --- a/music-houduan/src/main/java/com/test/musichouduan/dto/PlaylistDTO.java +++ b/music-houduan/src/main/java/com/test/musichouduan/dto/PlaylistDTO.java @@ -1,5 +1,8 @@ package com.test.musichouduan.dto; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.test.musichouduan.config.LocalDateTimeDeserializer; import jakarta.persistence.Column; import lombok.Data; @@ -92,6 +95,8 @@ public class PlaylistDTO { /** * 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonDeserialize(using = LocalDateTimeDeserializer.class) private LocalDateTime createTime; /** @@ -102,5 +107,7 @@ public class PlaylistDTO { /** * 收藏时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonDeserialize(using = LocalDateTimeDeserializer.class) private LocalDateTime collectTime; } diff --git a/music-houduan/src/main/java/com/test/musichouduan/dto/SingerDTO.java b/music-houduan/src/main/java/com/test/musichouduan/dto/SingerDTO.java index d13c330..bdb9815 100644 --- a/music-houduan/src/main/java/com/test/musichouduan/dto/SingerDTO.java +++ b/music-houduan/src/main/java/com/test/musichouduan/dto/SingerDTO.java @@ -1,5 +1,8 @@ package com.test.musichouduan.dto; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.test.musichouduan.config.LocalDateTimeDeserializer; import jakarta.persistence.Column; import lombok.Data; @@ -70,6 +73,8 @@ public class SingerDTO { /** * 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonDeserialize(using = LocalDateTimeDeserializer.class) private LocalDateTime createTime; /** diff --git a/music-houduan/src/main/java/com/test/musichouduan/dto/UserDTO.java b/music-houduan/src/main/java/com/test/musichouduan/dto/UserDTO.java index d873dcd..b671c49 100644 --- a/music-houduan/src/main/java/com/test/musichouduan/dto/UserDTO.java +++ b/music-houduan/src/main/java/com/test/musichouduan/dto/UserDTO.java @@ -1,5 +1,8 @@ package com.test.musichouduan.dto; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.test.musichouduan.config.LocalDateTimeDeserializer; import lombok.Data; import java.time.LocalDateTime; @@ -63,6 +66,8 @@ public class UserDTO { /** * 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonDeserialize(using = LocalDateTimeDeserializer.class) private LocalDateTime createTime; /**