generated from pricelees/issue-pr-template
refactor: 취소 응답을 역직렬화하는 PaymentCancelResponseDeserializer 코틀린 마이그레이션
This commit is contained in:
parent
f59853ead1
commit
3bf65422d3
@ -1,38 +1,32 @@
|
|||||||
package roomescape.payment.web.support;
|
package roomescape.payment.web.support
|
||||||
|
|
||||||
import java.io.IOException;
|
import com.fasterxml.jackson.core.JsonParser
|
||||||
import java.time.OffsetDateTime;
|
import com.fasterxml.jackson.core.TreeNode
|
||||||
import java.time.format.DateTimeFormatter;
|
import com.fasterxml.jackson.databind.DeserializationContext
|
||||||
|
import com.fasterxml.jackson.databind.JsonNode
|
||||||
|
import com.fasterxml.jackson.databind.deser.std.StdDeserializer
|
||||||
|
import roomescape.payment.web.dto.response.PaymentCancelResponse
|
||||||
|
import java.io.IOException
|
||||||
|
import java.time.OffsetDateTime
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonParser;
|
class PaymentCancelResponseDeserializer(
|
||||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
vc: Class<PaymentCancelResponse?>? = null
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
) : StdDeserializer<PaymentCancelResponse?>(vc) {
|
||||||
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
|
|
||||||
|
|
||||||
import roomescape.payment.web.dto.response.PaymentCancelResponse;
|
@Throws(IOException::class)
|
||||||
|
override fun deserialize(
|
||||||
|
jsonParser: JsonParser,
|
||||||
|
deserializationContext: DeserializationContext?
|
||||||
|
): PaymentCancelResponse {
|
||||||
|
val cancels: JsonNode = jsonParser.codec.readTree<TreeNode>(jsonParser)
|
||||||
|
.get("cancels")
|
||||||
|
.get(0) as JsonNode
|
||||||
|
|
||||||
public class PaymentCancelResponseDeserializer extends StdDeserializer<PaymentCancelResponse> {
|
return PaymentCancelResponse(
|
||||||
|
|
||||||
private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern(
|
|
||||||
"yyyy-MM-dd'T'HH:mm:ssXXX");
|
|
||||||
|
|
||||||
public PaymentCancelResponseDeserializer() {
|
|
||||||
this(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
public PaymentCancelResponseDeserializer(Class<?> vc) {
|
|
||||||
super(vc);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PaymentCancelResponse deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
|
|
||||||
throws IOException {
|
|
||||||
JsonNode cancels = (JsonNode)jsonParser.getCodec().readTree(jsonParser).get("cancels").get(0);
|
|
||||||
return new PaymentCancelResponse(
|
|
||||||
cancels.get("cancelStatus").asText(),
|
cancels.get("cancelStatus").asText(),
|
||||||
cancels.get("cancelReason").asText(),
|
cancels.get("cancelReason").asText(),
|
||||||
cancels.get("cancelAmount").asLong(),
|
cancels.get("cancelAmount").asLong(),
|
||||||
OffsetDateTime.parse(cancels.get("canceledAt").asText())
|
OffsetDateTime.parse(cancels.get("canceledAt").asText())
|
||||||
);
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user