import { PaymentRequest, BuildPayload } from './PaymentRequest'; export class VirtualAccountOperationsRequest extends PaymentRequest { virtualAccountNo?: string; status?: string; orderNo?: string; accountNo?: string; startTime?: number; endTime?: number; pageIndex?: number; pageSize?: number; constructor( paymentRequest: PaymentRequest, virtualAccountNo?: string, status?: string, orderNo?: string, accountNo?: string, startTime?: number, endTime?: number, pageIndex?: number, pageSize?: number, ) { super(paymentRequest.requestTime, paymentRequest.version, paymentRequest.nonceStr); this.virtualAccountNo = virtualAccountNo; this.status = status; this.orderNo = orderNo; this.accountNo = accountNo; this.startTime = startTime; this.endTime = endTime; this.pageIndex = pageIndex; this.pageSize = pageSize; } public toJSON(): object { return { requestTime: this.requestTime, version: this.version, nonceStr: this.nonceStr, virtualAccountNo: this.virtualAccountNo, status: this.status, orderNo: this.orderNo, accountNo: this.accountNo, startTime: this.startTime, endTime: this.endTime, pageIndex: this.pageIndex, pageSize: this.pageSize, }; } } export class VirtualAcctOperationsBuilder extends BuildPayload { private virtualAccountNo?: string; private status?: string; private orderNo?: string; private accountNo?: string; private startTime?: number; private endTime?: number; private pageIndex?: number; private pageSize?: number; constructor(requestTime: number, version: string, nonceStr: string) { super(requestTime, version, nonceStr); } public setvirtualAccounttNo(virtualAccounttNo: string): VirtualAcctOperationsBuilder { this.virtualAccountNo = virtualAccounttNo; return this; } public setStatus(status: string): VirtualAcctOperationsBuilder { this.status = status; return this; } public setOrderNo(orderNo: string): VirtualAcctOperationsBuilder { this.orderNo = orderNo; return this; } public setAccountNo(accountNo: string): VirtualAcctOperationsBuilder { this.accountNo = accountNo; return this; } public setStartTime(startTime: number): VirtualAcctOperationsBuilder { this.startTime = startTime; return this; } public setEndTime(endTime: number): VirtualAcctOperationsBuilder { this.endTime = endTime; return this; } public setPageIndex(pageIndex: number): VirtualAcctOperationsBuilder { this.pageIndex = pageIndex; return this; } public setPageSize(pageSize: number): VirtualAcctOperationsBuilder { this.pageSize = pageSize; return this; } public build(): VirtualAccountOperationsRequest { return new VirtualAccountOperationsRequest( super.build(), this.virtualAccountNo, this.status, this.orderNo, this.accountNo, this.startTime, this.endTime, this.pageIndex, this.pageSize, ); } }