/** * 支付订单状态响应 DTO */ import { PaymentOrderStatusResponseSchema, type PaymentOrderStatus, type PaymentOrderStatusResponseData, type PaymentOrderStatusResponseInput, } from "@/data/schemas/payment/payment_order_status_response"; export type { PaymentOrderStatus }; export class PaymentOrderStatusResponse { declare readonly orderId: string; declare readonly status: PaymentOrderStatus; declare readonly orderType: string; declare readonly planId: string; private constructor(input: PaymentOrderStatusResponseInput) { const data = PaymentOrderStatusResponseSchema.parse(input); Object.assign(this, data); Object.freeze(this); } static from( input: PaymentOrderStatusResponseInput, ): PaymentOrderStatusResponse { return new PaymentOrderStatusResponse(input); } static fromJson(json: unknown): PaymentOrderStatusResponse { return PaymentOrderStatusResponse.from( json as PaymentOrderStatusResponseInput, ); } toJson(): PaymentOrderStatusResponseData { return PaymentOrderStatusResponseSchema.parse(this); } }