import { PaymentRequest,BuildPayload } from "./PaymentRequest";

export class QueryOrderResultRequest extends PaymentRequest{
      orderId?: string;
      orderNo?: string;
  
    constructor(
      paymentRequest: PaymentRequest,
      orderId?: string,
      orderNo?: string
    ) {
      super(paymentRequest.requestTime, paymentRequest.version, paymentRequest.nonceStr);
      this.orderId = orderId;
      this.orderNo = orderNo;
    }
  
    toJSON(): object {
      return { 
        requestTime: this.requestTime,
        version: this.version,
        nonceStr: this.nonceStr,
        orderId: this.orderId,
        orderNo: this.orderNo
      };
    }
  }


  export class QueryOrderResultBuilder extends BuildPayload {
   
    private orderId?: string;
    private orderNo?: string;
    
  
   
  
    public setOrderId(orderId: string): QueryOrderResultBuilder {
      this.orderId = orderId;
      return this;
    }
  
    public setOrderNo(orderNo: string): QueryOrderResultBuilder {
      this.orderNo = orderNo;
      return this;
    }
  
   
    
  
    public build(): QueryOrderResultRequest {
      return new QueryOrderResultRequest(
        super.build(),
        this.orderId,
        this.orderNo
      );
    }
  }
  
  