|
|
|
@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.JsonParser;
|
|
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException; |
|
|
|
|
import com.fasterxml.jackson.databind.DeserializationContext; |
|
|
|
|
import com.fasterxml.jackson.databind.JsonDeserializer; |
|
|
|
|
import com.palnet.comn.utils.InstantUtils; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
|
|
|
|
|
import java.io.IOException; |
|
|
|
@ -45,6 +46,14 @@ public class InstantStringDeserializer extends JsonDeserializer<Instant> {
|
|
|
|
|
LocalDate localDate = LocalDate.parse(dateString, formatter); |
|
|
|
|
return localDate.atStartOfDay(ZoneId.of(ZONE)).toInstant(); |
|
|
|
|
} else { |
|
|
|
|
|
|
|
|
|
boolean doubleCheck = isValidDouble(dateString); |
|
|
|
|
|
|
|
|
|
if(doubleCheck){ |
|
|
|
|
|
|
|
|
|
return InstantUtils.fromDatetimeDouble(Double.parseDouble(dateString)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return Instant.parse(dateString); |
|
|
|
|
} |
|
|
|
|
} catch (Exception e) { |
|
|
|
@ -66,5 +75,20 @@ public class InstantStringDeserializer extends JsonDeserializer<Instant> {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public boolean isValidDouble(String dateString){ |
|
|
|
|
|
|
|
|
|
boolean result = false; |
|
|
|
|
|
|
|
|
|
try{ |
|
|
|
|
Double.parseDouble(dateString); |
|
|
|
|
|
|
|
|
|
result = true; |
|
|
|
|
}catch (NumberFormatException e){ |
|
|
|
|
result = false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|