diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/model/userdata/UserEntities.kt b/src/main/java/icu/samnyan/aqua/sega/maimai2/model/userdata/UserEntities.kt index 076b7e53..211a1011 100644 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/model/userdata/UserEntities.kt +++ b/src/main/java/icu/samnyan/aqua/sega/maimai2/model/userdata/UserEntities.kt @@ -16,6 +16,11 @@ import lombok.AllArgsConstructor import lombok.Data import lombok.NoArgsConstructor import java.time.LocalDateTime +import com.fasterxml.jackson.databind.annotation.JsonSerialize +import java.time.format.DateTimeFormatter +import com.fasterxml.jackson.databind.JsonSerializer +import com.fasterxml.jackson.databind.SerializerProvider +import com.fasterxml.jackson.core.JsonGenerator @MappedSuperclass open class Mai2UserEntity : BaseEntity(), IUserEntity { @@ -526,10 +531,14 @@ class Mai2UserKaleidx : Mai2UserEntity() { var totalDeluxscore = 0 var bestAchievement = 0 var bestDeluxscore = 0 + @JsonSerialize(using = MaimaiDateSerializer::class) var bestAchievementDate: LocalDateTime? = null + @JsonSerialize(using = MaimaiDateSerializer::class) var bestDeluxscoreDate: LocalDateTime? = null var playCount = 0 + @JsonSerialize(using = MaimaiDateSerializer::class) var clearDate: LocalDateTime? = null + @JsonSerialize(using = MaimaiDateSerializer::class) var lastPlayDate: LocalDateTime? = null var isInfoWatched = false } @@ -541,3 +550,10 @@ class Mai2UserIntimate : Mai2UserEntity() { var intimateLevel = 0; var intimateCountRewarded = 0; } + +val MAIMAI_DATETIME = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.0") +class MaimaiDateSerializer : JsonSerializer() { + override fun serialize(v: LocalDateTime, j: JsonGenerator, s: SerializerProvider) { + j.writeString(v.format(MAIMAI_DATETIME)) + } +}