<?php
/**
 * TradeOrderqueryYopQueryOrderResDTOResult
 * PHP version 5
 * @author   Swagger Codegen team
 * @package  Yeepay\Yop\Sdk\
 * @category Class
 * @link     https://github.com/swagger-api/swagger-codegen
 */

/**
 * 子商户入网大算航旅
 * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
 * OpenAPI spec version: 1.0.0
 * Generated by: https://github.com/swagger-api/swagger-codegen.git
 * Swagger Codegen version: 3.0.13
 */

/**
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen
 * Do not edit the class manually.
 */

namespace Yeepay\Yop\Sdk\Service\Sys\Model;

use ArrayAccess;
use Yeepay\Yop\Sdk\Model\ModelInterface;
use Yeepay\Yop\Sdk\Utils\ObjectSerializer;

/**
 * TradeOrderqueryYopQueryOrderResDTOResult Class Doc Comment
 * @author   Swagger Codegen team
 * @package  Yeepay\Yop\Sdk\
 * @category Class
 * @link     https://github.com/swagger-api/swagger-codegen
 */
class TradeOrderqueryYopQueryOrderResDTOResult implements ModelInterface, ArrayAccess
{

    const DISCRIMINATOR = null;

    /**
     * The original name of the model.
     * @var string
     */
    protected static $swaggerModelName = 'TradeOrderqueryYopQueryOrderResDTOResult';

    /**
     * Array of property to type mappings. Used for (de)serialization
     * @var string[]
     */
    protected static $swaggerTypes = [
        'code'                     => 'string',
        'message'                  => 'string',
        'bizSystemNo'              => 'string',
        'parentMerchantNo'         => 'string',
        'merchantNo'               => 'string',
        'orderId'                  => 'string',
        'uniqueOrderNo'            => 'string',
        'status'                   => 'string',
        'orderAmount'              => 'float',
        'payAmount'                => 'float',
        'merchantFee'              => 'float',
        'customerFee'              => 'float',
        'requestDate'              => 'string',
        'paySuccessDate'           => 'string',
        'goodsParamExt'            => 'string',
        'memo'                     => 'string',
        'instCompany'              => 'string',
        'instNumber'               => 'string',
        'industryParamExt'         => 'string',
        'cashierType'              => 'string',
        'paymentProduct'           => 'string',
        'token'                    => 'string',
        'bankId'                   => 'string',
        'cardType'                 => 'string',
        'platformType'             => 'string',
        'payURL'                   => 'string',
        'openID'                   => 'string',
        'unionID'                  => 'string',
        'buyerLogonId'             => 'string',
        'fundProcessType'          => 'string',
        'bizChannelId'             => 'string',
        'bankPaySuccessDate'       => 'string',
        'bankTrxId'                => 'string',
        'haveAccounted'            => 'bool',
        'accountPayMerchantNo'     => 'string',
        'residualDivideAmount'     => 'string',
        'preauthStatus'            => 'string',
        'preauthType'              => 'string',
        'preauthAmount'            => 'float',
        'paymentSysNo'             => 'string',
        'paymentStatus'            => 'string',
        'divideRequestId'          => 'string',
        'parentMerchantName'       => 'string',
        'merchantName'             => 'string',
        'combPaymentDTO'           => '\Yeepay\Yop\Sdk\Service\Sys\Model\TradeOrderqueryCombPaymentDTOResult',
        'cashFee'                  => 'float',
        'settlementFee'            => 'float',
        'bankOrderId'              => 'string',
        'bankCardNo'               => 'string',
        'mobilePhoneNo'            => 'string',
        'calFeeMerchantNo'         => 'string',
        'bankPromotionInfoDTOList' => '\Yeepay\Yop\Sdk\Service\Sys\Model\TradeOrderqueryBankPromotionInfoDTOResult[]',
        'pyerAcctTp'               => 'string',
        'pyerAcctId'               => 'string',
        'pyerAcctNm'               => 'string',
    ];

    /**
     * Array of property to format mappings. Used for (de)serialization
     * @var string[]
     */
    protected static $swaggerFormats = [
        'code'                     => null,
        'message'                  => null,
        'bizSystemNo'              => null,
        'parentMerchantNo'         => null,
        'merchantNo'               => null,
        'orderId'                  => null,
        'uniqueOrderNo'            => null,
        'status'                   => null,
        'orderAmount'              => null,
        'payAmount'                => null,
        'merchantFee'              => null,
        'customerFee'              => null,
        'requestDate'              => null,
        'paySuccessDate'           => null,
        'goodsParamExt'            => null,
        'memo'                     => null,
        'instCompany'              => null,
        'instNumber'               => null,
        'industryParamExt'         => null,
        'cashierType'              => null,
        'paymentProduct'           => null,
        'token'                    => null,
        'bankId'                   => null,
        'cardType'                 => null,
        'platformType'             => null,
        'payURL'                   => null,
        'openID'                   => null,
        'unionID'                  => null,
        'buyerLogonId'             => null,
        'fundProcessType'          => null,
        'bizChannelId'             => null,
        'bankPaySuccessDate'       => null,
        'bankTrxId'                => null,
        'haveAccounted'            => null,
        'accountPayMerchantNo'     => null,
        'residualDivideAmount'     => null,
        'preauthStatus'            => null,
        'preauthType'              => null,
        'preauthAmount'            => null,
        'paymentSysNo'             => null,
        'paymentStatus'            => null,
        'divideRequestId'          => null,
        'parentMerchantName'       => null,
        'merchantName'             => null,
        'combPaymentDTO'           => null,
        'cashFee'                  => null,
        'settlementFee'            => null,
        'bankOrderId'              => null,
        'bankCardNo'               => null,
        'mobilePhoneNo'            => null,
        'calFeeMerchantNo'         => null,
        'bankPromotionInfoDTOList' => null,
        'pyerAcctTp'               => null,
        'pyerAcctId'               => null,
        'pyerAcctNm'               => null,
    ];

    /**
     * Array of property to type mappings. Used for (de)serialization
     * @return array
     */
    public static function swaggerTypes()
    {
        return self::$swaggerTypes;
    }

    /**
     * Array of property to format mappings. Used for (de)serialization
     * @return array
     */
    public static function swaggerFormats()
    {
        return self::$swaggerFormats;
    }

    /**
     * Array of attributes where the key is the local name,
     * and the value is the original name
     * @var string[]
     */
    protected static $attributeMap = [
        'code'                     => 'code',
        'message'                  => 'message',
        'bizSystemNo'              => 'bizSystemNo',
        'parentMerchantNo'         => 'parentMerchantNo',
        'merchantNo'               => 'merchantNo',
        'orderId'                  => 'orderId',
        'uniqueOrderNo'            => 'uniqueOrderNo',
        'status'                   => 'status',
        'orderAmount'              => 'orderAmount',
        'payAmount'                => 'payAmount',
        'merchantFee'              => 'merchantFee',
        'customerFee'              => 'customerFee',
        'requestDate'              => 'requestDate',
        'paySuccessDate'           => 'paySuccessDate',
        'goodsParamExt'            => 'goodsParamExt',
        'memo'                     => 'memo',
        'instCompany'              => 'instCompany',
        'instNumber'               => 'instNumber',
        'industryParamExt'         => 'industryParamExt',
        'cashierType'              => 'cashierType',
        'paymentProduct'           => 'paymentProduct',
        'token'                    => 'token',
        'bankId'                   => 'bankId',
        'cardType'                 => 'cardType',
        'platformType'             => 'platformType',
        'payURL'                   => 'payURL',
        'openID'                   => 'openID',
        'unionID'                  => 'unionID',
        'buyerLogonId'             => 'buyerLogonId',
        'fundProcessType'          => 'fundProcessType',
        'bizChannelId'             => 'bizChannelId',
        'bankPaySuccessDate'       => 'bankPaySuccessDate',
        'bankTrxId'                => 'bankTrxId',
        'haveAccounted'            => 'haveAccounted',
        'accountPayMerchantNo'     => 'accountPayMerchantNo',
        'residualDivideAmount'     => 'residualDivideAmount',
        'preauthStatus'            => 'preauthStatus',
        'preauthType'              => 'preauthType',
        'preauthAmount'            => 'preauthAmount',
        'paymentSysNo'             => 'paymentSysNo',
        'paymentStatus'            => 'paymentStatus',
        'divideRequestId'          => 'divideRequestId',
        'parentMerchantName'       => 'parentMerchantName',
        'merchantName'             => 'merchantName',
        'combPaymentDTO'           => 'combPaymentDTO',
        'cashFee'                  => 'cashFee',
        'settlementFee'            => 'settlementFee',
        'bankOrderId'              => 'bankOrderId',
        'bankCardNo'               => 'bankCardNo',
        'mobilePhoneNo'            => 'mobilePhoneNo',
        'calFeeMerchantNo'         => 'calFeeMerchantNo',
        'bankPromotionInfoDTOList' => 'bankPromotionInfoDTOList',
        'pyerAcctTp'               => 'pyerAcctTp',
        'pyerAcctId'               => 'pyerAcctId',
        'pyerAcctNm'               => 'pyerAcctNm',
    ];

    /**
     * Array of attributes to setter functions (for deserialization of responses)
     * @var string[]
     */
    protected static $setters = [
        'code'                     => 'setCode',
        'message'                  => 'setMessage',
        'bizSystemNo'              => 'setBizSystemNo',
        'parentMerchantNo'         => 'setParentMerchantNo',
        'merchantNo'               => 'setMerchantNo',
        'orderId'                  => 'setOrderId',
        'uniqueOrderNo'            => 'setUniqueOrderNo',
        'status'                   => 'setStatus',
        'orderAmount'              => 'setOrderAmount',
        'payAmount'                => 'setPayAmount',
        'merchantFee'              => 'setMerchantFee',
        'customerFee'              => 'setCustomerFee',
        'requestDate'              => 'setRequestDate',
        'paySuccessDate'           => 'setPaySuccessDate',
        'goodsParamExt'            => 'setGoodsParamExt',
        'memo'                     => 'setMemo',
        'instCompany'              => 'setInstCompany',
        'instNumber'               => 'setInstNumber',
        'industryParamExt'         => 'setIndustryParamExt',
        'cashierType'              => 'setCashierType',
        'paymentProduct'           => 'setPaymentProduct',
        'token'                    => 'setToken',
        'bankId'                   => 'setBankId',
        'cardType'                 => 'setCardType',
        'platformType'             => 'setPlatformType',
        'payURL'                   => 'setPayURL',
        'openID'                   => 'setOpenID',
        'unionID'                  => 'setUnionID',
        'buyerLogonId'             => 'setBuyerLogonId',
        'fundProcessType'          => 'setFundProcessType',
        'bizChannelId'             => 'setBizChannelId',
        'bankPaySuccessDate'       => 'setBankPaySuccessDate',
        'bankTrxId'                => 'setBankTrxId',
        'haveAccounted'            => 'setHaveAccounted',
        'accountPayMerchantNo'     => 'setAccountPayMerchantNo',
        'residualDivideAmount'     => 'setResidualDivideAmount',
        'preauthStatus'            => 'setPreauthStatus',
        'preauthType'              => 'setPreauthType',
        'preauthAmount'            => 'setPreauthAmount',
        'paymentSysNo'             => 'setPaymentSysNo',
        'paymentStatus'            => 'setPaymentStatus',
        'divideRequestId'          => 'setDivideRequestId',
        'parentMerchantName'       => 'setParentMerchantName',
        'merchantName'             => 'setMerchantName',
        'combPaymentDTO'           => 'setCombPaymentDTO',
        'cashFee'                  => 'setCashFee',
        'settlementFee'            => 'setSettlementFee',
        'bankOrderId'              => 'setBankOrderId',
        'bankCardNo'               => 'setBankCardNo',
        'mobilePhoneNo'            => 'setMobilePhoneNo',
        'calFeeMerchantNo'         => 'setCalFeeMerchantNo',
        'bankPromotionInfoDTOList' => 'setBankPromotionInfoDTOList',
        'pyerAcctTp'               => 'setPyerAcctTp',
        'pyerAcctId'               => 'setPyerAcctId',
        'pyerAcctNm'               => 'setPyerAcctNm',
    ];

    /**
     * Array of attributes to getter functions (for serialization of requests)
     * @var string[]
     */
    protected static $getters = [
        'code'                     => 'getCode',
        'message'                  => 'getMessage',
        'bizSystemNo'              => 'getBizSystemNo',
        'parentMerchantNo'         => 'getParentMerchantNo',
        'merchantNo'               => 'getMerchantNo',
        'orderId'                  => 'getOrderId',
        'uniqueOrderNo'            => 'getUniqueOrderNo',
        'status'                   => 'getStatus',
        'orderAmount'              => 'getOrderAmount',
        'payAmount'                => 'getPayAmount',
        'merchantFee'              => 'getMerchantFee',
        'customerFee'              => 'getCustomerFee',
        'requestDate'              => 'getRequestDate',
        'paySuccessDate'           => 'getPaySuccessDate',
        'goodsParamExt'            => 'getGoodsParamExt',
        'memo'                     => 'getMemo',
        'instCompany'              => 'getInstCompany',
        'instNumber'               => 'getInstNumber',
        'industryParamExt'         => 'getIndustryParamExt',
        'cashierType'              => 'getCashierType',
        'paymentProduct'           => 'getPaymentProduct',
        'token'                    => 'getToken',
        'bankId'                   => 'getBankId',
        'cardType'                 => 'getCardType',
        'platformType'             => 'getPlatformType',
        'payURL'                   => 'getPayURL',
        'openID'                   => 'getOpenID',
        'unionID'                  => 'getUnionID',
        'buyerLogonId'             => 'getBuyerLogonId',
        'fundProcessType'          => 'getFundProcessType',
        'bizChannelId'             => 'getBizChannelId',
        'bankPaySuccessDate'       => 'getBankPaySuccessDate',
        'bankTrxId'                => 'getBankTrxId',
        'haveAccounted'            => 'getHaveAccounted',
        'accountPayMerchantNo'     => 'getAccountPayMerchantNo',
        'residualDivideAmount'     => 'getResidualDivideAmount',
        'preauthStatus'            => 'getPreauthStatus',
        'preauthType'              => 'getPreauthType',
        'preauthAmount'            => 'getPreauthAmount',
        'paymentSysNo'             => 'getPaymentSysNo',
        'paymentStatus'            => 'getPaymentStatus',
        'divideRequestId'          => 'getDivideRequestId',
        'parentMerchantName'       => 'getParentMerchantName',
        'merchantName'             => 'getMerchantName',
        'combPaymentDTO'           => 'getCombPaymentDTO',
        'cashFee'                  => 'getCashFee',
        'settlementFee'            => 'getSettlementFee',
        'bankOrderId'              => 'getBankOrderId',
        'bankCardNo'               => 'getBankCardNo',
        'mobilePhoneNo'            => 'getMobilePhoneNo',
        'calFeeMerchantNo'         => 'getCalFeeMerchantNo',
        'bankPromotionInfoDTOList' => 'getBankPromotionInfoDTOList',
        'pyerAcctTp'               => 'getPyerAcctTp',
        'pyerAcctId'               => 'getPyerAcctId',
        'pyerAcctNm'               => 'getPyerAcctNm',
    ];

    /**
     * Array of attributes where the key is the local name,
     * and the value is the original name
     * @return array
     */
    public static function attributeMap()
    {
        return self::$attributeMap;
    }

    /**
     * Array of attributes to setter functions (for deserialization of responses)
     * @return array
     */
    public static function setters()
    {
        return self::$setters;
    }

    /**
     * Array of attributes to getter functions (for serialization of requests)
     * @return array
     */
    public static function getters()
    {
        return self::$getters;
    }

    /**
     * The original name of the model.
     * @return string
     */
    public function getModelName()
    {
        return self::$swaggerModelName;
    }

    /**
     * Associative array for storing property values
     * @var mixed[]
     */
    protected $container = [];

    /**
     * Constructor
     * @param  mixed[]  $data  Associated array of property values
     *                      initializing the model
     */
    public function __construct(array $data = null)
    {
        $this->container['code']                     = isset($data['code']) ? $data['code'] : null;
        $this->container['message']                  = isset($data['message']) ? $data['message'] : null;
        $this->container['bizSystemNo']              = isset($data['bizSystemNo']) ? $data['bizSystemNo'] : null;
        $this->container['parentMerchantNo']         = isset($data['parentMerchantNo']) ? $data['parentMerchantNo'] : null;
        $this->container['merchantNo']               = isset($data['merchantNo']) ? $data['merchantNo'] : null;
        $this->container['orderId']                  = isset($data['orderId']) ? $data['orderId'] : null;
        $this->container['uniqueOrderNo']            = isset($data['uniqueOrderNo']) ? $data['uniqueOrderNo'] : null;
        $this->container['status']                   = isset($data['status']) ? $data['status'] : null;
        $this->container['orderAmount']              = isset($data['orderAmount']) ? $data['orderAmount'] : null;
        $this->container['payAmount']                = isset($data['payAmount']) ? $data['payAmount'] : null;
        $this->container['merchantFee']              = isset($data['merchantFee']) ? $data['merchantFee'] : null;
        $this->container['customerFee']              = isset($data['customerFee']) ? $data['customerFee'] : null;
        $this->container['requestDate']              = isset($data['requestDate']) ? $data['requestDate'] : null;
        $this->container['paySuccessDate']           = isset($data['paySuccessDate']) ? $data['paySuccessDate'] : null;
        $this->container['goodsParamExt']            = isset($data['goodsParamExt']) ? $data['goodsParamExt'] : null;
        $this->container['memo']                     = isset($data['memo']) ? $data['memo'] : null;
        $this->container['instCompany']              = isset($data['instCompany']) ? $data['instCompany'] : null;
        $this->container['instNumber']               = isset($data['instNumber']) ? $data['instNumber'] : null;
        $this->container['industryParamExt']         = isset($data['industryParamExt']) ? $data['industryParamExt'] : null;
        $this->container['cashierType']              = isset($data['cashierType']) ? $data['cashierType'] : null;
        $this->container['paymentProduct']           = isset($data['paymentProduct']) ? $data['paymentProduct'] : null;
        $this->container['token']                    = isset($data['token']) ? $data['token'] : null;
        $this->container['bankId']                   = isset($data['bankId']) ? $data['bankId'] : null;
        $this->container['cardType']                 = isset($data['cardType']) ? $data['cardType'] : null;
        $this->container['platformType']             = isset($data['platformType']) ? $data['platformType'] : null;
        $this->container['payURL']                   = isset($data['payURL']) ? $data['payURL'] : null;
        $this->container['openID']                   = isset($data['openID']) ? $data['openID'] : null;
        $this->container['unionID']                  = isset($data['unionID']) ? $data['unionID'] : null;
        $this->container['buyerLogonId']             = isset($data['buyerLogonId']) ? $data['buyerLogonId'] : null;
        $this->container['fundProcessType']          = isset($data['fundProcessType']) ? $data['fundProcessType'] : null;
        $this->container['bizChannelId']             = isset($data['bizChannelId']) ? $data['bizChannelId'] : null;
        $this->container['bankPaySuccessDate']       = isset($data['bankPaySuccessDate']) ? $data['bankPaySuccessDate'] : null;
        $this->container['bankTrxId']                = isset($data['bankTrxId']) ? $data['bankTrxId'] : null;
        $this->container['haveAccounted']            = isset($data['haveAccounted']) ? $data['haveAccounted'] : null;
        $this->container['accountPayMerchantNo']     = isset($data['accountPayMerchantNo']) ? $data['accountPayMerchantNo'] : null;
        $this->container['residualDivideAmount']     = isset($data['residualDivideAmount']) ? $data['residualDivideAmount'] : null;
        $this->container['preauthStatus']            = isset($data['preauthStatus']) ? $data['preauthStatus'] : null;
        $this->container['preauthType']              = isset($data['preauthType']) ? $data['preauthType'] : null;
        $this->container['preauthAmount']            = isset($data['preauthAmount']) ? $data['preauthAmount'] : null;
        $this->container['paymentSysNo']             = isset($data['paymentSysNo']) ? $data['paymentSysNo'] : null;
        $this->container['paymentStatus']            = isset($data['paymentStatus']) ? $data['paymentStatus'] : null;
        $this->container['divideRequestId']          = isset($data['divideRequestId']) ? $data['divideRequestId'] : null;
        $this->container['parentMerchantName']       = isset($data['parentMerchantName']) ? $data['parentMerchantName'] : null;
        $this->container['merchantName']             = isset($data['merchantName']) ? $data['merchantName'] : null;
        $this->container['combPaymentDTO']           = isset($data['combPaymentDTO']) ? $data['combPaymentDTO'] : null;
        $this->container['cashFee']                  = isset($data['cashFee']) ? $data['cashFee'] : null;
        $this->container['settlementFee']            = isset($data['settlementFee']) ? $data['settlementFee'] : null;
        $this->container['bankOrderId']              = isset($data['bankOrderId']) ? $data['bankOrderId'] : null;
        $this->container['bankCardNo']               = isset($data['bankCardNo']) ? $data['bankCardNo'] : null;
        $this->container['mobilePhoneNo']            = isset($data['mobilePhoneNo']) ? $data['mobilePhoneNo'] : null;
        $this->container['calFeeMerchantNo']         = isset($data['calFeeMerchantNo']) ? $data['calFeeMerchantNo'] : null;
        $this->container['bankPromotionInfoDTOList'] = isset($data['bankPromotionInfoDTOList']) ? $data['bankPromotionInfoDTOList'] : null;
        $this->container['pyerAcctTp']               = isset($data['pyerAcctTp']) ? $data['pyerAcctTp'] : null;
        $this->container['pyerAcctId']               = isset($data['pyerAcctId']) ? $data['pyerAcctId'] : null;
        $this->container['pyerAcctNm']               = isset($data['pyerAcctNm']) ? $data['pyerAcctNm'] : null;
    }

    /**
     * Show all the invalid properties with reasons.
     * @return array invalid properties with reasons
     */
    public function listInvalidProperties()
    {
        $invalidProperties = [];

        return $invalidProperties;
    }

    /**
     * Validate all the properties in the model
     * return true if all passed
     * @return bool True if all properties are valid
     */
    public function valid()
    {
        return count($this->listInvalidProperties()) === 0;
    }

    /**
     * Gets code
     * @return string
     */
    public function getCode()
    {
        return $this->container['code'];
    }

    /**
     * Sets code
     * @param  string  $code  返回码
     * @return $this
     */
    public function setCode($code)
    {
        $this->container['code'] = $code;

        return $this;
    }

    /**
     * Gets message
     * @return string
     */
    public function getMessage()
    {
        return $this->container['message'];
    }

    /**
     * Sets message
     * @param  string  $message  返回信息
     * @return $this
     */
    public function setMessage($message)
    {
        $this->container['message'] = $message;

        return $this;
    }

    /**
     * Gets bizSystemNo
     * @return string
     */
    public function getBizSystemNo()
    {
        return $this->container['bizSystemNo'];
    }

    /**
     * Sets bizSystemNo
     * @param  string  $bizSystemNo  未命名
     * @return $this
     */
    public function setBizSystemNo($bizSystemNo)
    {
        $this->container['bizSystemNo'] = $bizSystemNo;

        return $this;
    }

    /**
     * Gets parentMerchantNo
     * @return string
     */
    public function getParentMerchantNo()
    {
        return $this->container['parentMerchantNo'];
    }

    /**
     * Sets parentMerchantNo
     * @param  string  $parentMerchantNo  父商户编号
     * @return $this
     */
    public function setParentMerchantNo($parentMerchantNo)
    {
        $this->container['parentMerchantNo'] = $parentMerchantNo;

        return $this;
    }

    /**
     * Gets merchantNo
     * @return string
     */
    public function getMerchantNo()
    {
        return $this->container['merchantNo'];
    }

    /**
     * Sets merchantNo
     * @param  string  $merchantNo  merchantNo
     * @return $this
     */
    public function setMerchantNo($merchantNo)
    {
        $this->container['merchantNo'] = $merchantNo;

        return $this;
    }

    /**
     * Gets orderId
     * @return string
     */
    public function getOrderId()
    {
        return $this->container['orderId'];
    }

    /**
     * Sets orderId
     * @param  string  $orderId  商户订单号
     * @return $this
     */
    public function setOrderId($orderId)
    {
        $this->container['orderId'] = $orderId;

        return $this;
    }

    /**
     * Gets uniqueOrderNo
     * @return string
     */
    public function getUniqueOrderNo()
    {
        return $this->container['uniqueOrderNo'];
    }

    /**
     * Sets uniqueOrderNo
     * @param  string  $uniqueOrderNo  易宝统一订单号
     * @return $this
     */
    public function setUniqueOrderNo($uniqueOrderNo)
    {
        $this->container['uniqueOrderNo'] = $uniqueOrderNo;

        return $this;
    }

    /**
     * Gets status
     * @return string
     */
    public function getStatus()
    {
        return $this->container['status'];
    }

    /**
     * Sets status
     * @param  string  $status  订单状态
     * @return $this
     */
    public function setStatus($status)
    {
        $this->container['status'] = $status;

        return $this;
    }

    /**
     * Gets orderAmount
     * @return float
     */
    public function getOrderAmount()
    {
        return $this->container['orderAmount'];
    }

    /**
     * Sets orderAmount
     * @param  float  $orderAmount  订单金额
     * @return $this
     */
    public function setOrderAmount($orderAmount)
    {
        $this->container['orderAmount'] = $orderAmount;

        return $this;
    }

    /**
     * Gets payAmount
     * @return float
     */
    public function getPayAmount()
    {
        return $this->container['payAmount'];
    }

    /**
     * Sets payAmount
     * @param  float  $payAmount  支付金额
     * @return $this
     */
    public function setPayAmount($payAmount)
    {
        $this->container['payAmount'] = $payAmount;

        return $this;
    }

    /**
     * Gets merchantFee
     * @return float
     */
    public function getMerchantFee()
    {
        return $this->container['merchantFee'];
    }

    /**
     * Sets merchantFee
     * @param  float  $merchantFee  商户手续费
     * @return $this
     */
    public function setMerchantFee($merchantFee)
    {
        $this->container['merchantFee'] = $merchantFee;

        return $this;
    }

    /**
     * Gets customerFee
     * @return float
     */
    public function getCustomerFee()
    {
        return $this->container['customerFee'];
    }

    /**
     * Sets customerFee
     * @param  float  $customerFee  用户手续费
     * @return $this
     */
    public function setCustomerFee($customerFee)
    {
        $this->container['customerFee'] = $customerFee;

        return $this;
    }

    /**
     * Gets requestDate
     * @return string
     */
    public function getRequestDate()
    {
        return $this->container['requestDate'];
    }

    /**
     * Sets requestDate
     * @param  string  $requestDate  请求时间
     * @return $this
     */
    public function setRequestDate($requestDate)
    {
        $this->container['requestDate'] = $requestDate;

        return $this;
    }

    /**
     * Gets paySuccessDate
     * @return string
     */
    public function getPaySuccessDate()
    {
        return $this->container['paySuccessDate'];
    }

    /**
     * Sets paySuccessDate
     * @param  string  $paySuccessDate  支付成功时间
     * @return $this
     */
    public function setPaySuccessDate($paySuccessDate)
    {
        $this->container['paySuccessDate'] = $paySuccessDate;

        return $this;
    }

    /**
     * Gets goodsParamExt
     * @return string
     */
    public function getGoodsParamExt()
    {
        return $this->container['goodsParamExt'];
    }

    /**
     * Sets goodsParamExt
     * @param  string  $goodsParamExt  商品拓展信息
     * @return $this
     */
    public function setGoodsParamExt($goodsParamExt)
    {
        $this->container['goodsParamExt'] = $goodsParamExt;

        return $this;
    }

    /**
     * Gets memo
     * @return string
     */
    public function getMemo()
    {
        return $this->container['memo'];
    }

    /**
     * Sets memo
     * @param  string  $memo  自定义对账备注
     * @return $this
     */
    public function setMemo($memo)
    {
        $this->container['memo'] = $memo;

        return $this;
    }

    /**
     * Gets instCompany
     * @return string
     */
    public function getInstCompany()
    {
        return $this->container['instCompany'];
    }

    /**
     * Sets instCompany
     * @param  string  $instCompany  分期公司
     * @return $this
     */
    public function setInstCompany($instCompany)
    {
        $this->container['instCompany'] = $instCompany;

        return $this;
    }

    /**
     * Gets instNumber
     * @return string
     */
    public function getInstNumber()
    {
        return $this->container['instNumber'];
    }

    /**
     * Sets instNumber
     * @param  string  $instNumber  分期期数
     * @return $this
     */
    public function setInstNumber($instNumber)
    {
        $this->container['instNumber'] = $instNumber;

        return $this;
    }

    /**
     * Gets industryParamExt
     * @return string
     */
    public function getIndustryParamExt()
    {
        return $this->container['industryParamExt'];
    }

    /**
     * Sets industryParamExt
     * @param  string  $industryParamExt  行业拓展参数
     * @return $this
     */
    public function setIndustryParamExt($industryParamExt)
    {
        $this->container['industryParamExt'] = $industryParamExt;

        return $this;
    }

    /**
     * Gets cashierType
     * @return string
     */
    public function getCashierType()
    {
        return $this->container['cashierType'];
    }

    /**
     * Sets cashierType
     * @param  string  $cashierType  收款场景
     * @return $this
     */
    public function setCashierType($cashierType)
    {
        $this->container['cashierType'] = $cashierType;

        return $this;
    }

    /**
     * Gets paymentProduct
     * @return string
     */
    public function getPaymentProduct()
    {
        return $this->container['paymentProduct'];
    }

    /**
     * Sets paymentProduct
     * @param  string  $paymentProduct  支付产品
     * @return $this
     */
    public function setPaymentProduct($paymentProduct)
    {
        $this->container['paymentProduct'] = $paymentProduct;

        return $this;
    }

    /**
     * Gets token
     * @return string
     */
    public function getToken()
    {
        return $this->container['token'];
    }

    /**
     * Sets token
     * @param  string  $token  token
     * @return $this
     */
    public function setToken($token)
    {
        $this->container['token'] = $token;

        return $this;
    }

    /**
     * Gets bankId
     * @return string
     */
    public function getBankId()
    {
        return $this->container['bankId'];
    }

    /**
     * Sets bankId
     * @param  string  $bankId  银行编码
     * @return $this
     */
    public function setBankId($bankId)
    {
        $this->container['bankId'] = $bankId;

        return $this;
    }

    /**
     * Gets cardType
     * @return string
     */
    public function getCardType()
    {
        return $this->container['cardType'];
    }

    /**
     * Sets cardType
     * @param  string  $cardType  付款人卡类型
     * @return $this
     */
    public function setCardType($cardType)
    {
        $this->container['cardType'] = $cardType;

        return $this;
    }

    /**
     * Gets platformType
     * @return string
     */
    public function getPlatformType()
    {
        return $this->container['platformType'];
    }

    /**
     * Sets platformType
     * @param  string  $platformType  平台类型字段
     * @return $this
     */
    public function setPlatformType($platformType)
    {
        $this->container['platformType'] = $platformType;

        return $this;
    }

    /**
     * Gets payURL
     * @return string
     */
    public function getPayURL()
    {
        return $this->container['payURL'];
    }

    /**
     * Sets payURL
     * @param  string  $payURL  支付链接
     * @return $this
     */
    public function setPayURL($payURL)
    {
        $this->container['payURL'] = $payURL;

        return $this;
    }

    /**
     * Gets openID
     * @return string
     */
    public function getOpenID()
    {
        return $this->container['openID'];
    }

    /**
     * Sets openID
     * @param  string  $openID  微信被扫返回的openID
     * @return $this
     */
    public function setOpenID($openID)
    {
        $this->container['openID'] = $openID;

        return $this;
    }

    /**
     * Gets unionID
     * @return string
     */
    public function getUnionID()
    {
        return $this->container['unionID'];
    }

    /**
     * Sets unionID
     * @param  string  $unionID  微信被扫返回的unionID
     * @return $this
     */
    public function setUnionID($unionID)
    {
        $this->container['unionID'] = $unionID;

        return $this;
    }

    /**
     * Gets buyerLogonId
     * @return string
     */
    public function getBuyerLogonId()
    {
        return $this->container['buyerLogonId'];
    }

    /**
     * Sets buyerLogonId
     * @param  string  $buyerLogonId  支付宝买家登录账号
     * @return $this
     */
    public function setBuyerLogonId($buyerLogonId)
    {
        $this->container['buyerLogonId'] = $buyerLogonId;

        return $this;
    }

    /**
     * Gets fundProcessType
     * @return string
     */
    public function getFundProcessType()
    {
        return $this->container['fundProcessType'];
    }

    /**
     * Sets fundProcessType
     * @param  string  $fundProcessType  资金处理类型
     * @return $this
     */
    public function setFundProcessType($fundProcessType)
    {
        $this->container['fundProcessType'] = $fundProcessType;

        return $this;
    }

    /**
     * Gets bizChannelId
     * @return string
     */
    public function getBizChannelId()
    {
        return $this->container['bizChannelId'];
    }

    /**
     * Sets bizChannelId
     * @param  string  $bizChannelId  业务通道标识
     * @return $this
     */
    public function setBizChannelId($bizChannelId)
    {
        $this->container['bizChannelId'] = $bizChannelId;

        return $this;
    }

    /**
     * Gets bankPaySuccessDate
     * @return string
     */
    public function getBankPaySuccessDate()
    {
        return $this->container['bankPaySuccessDate'];
    }

    /**
     * Sets bankPaySuccessDate
     * @param  string  $bankPaySuccessDate  银行支付成功时间
     * @return $this
     */
    public function setBankPaySuccessDate($bankPaySuccessDate)
    {
        $this->container['bankPaySuccessDate'] = $bankPaySuccessDate;

        return $this;
    }

    /**
     * Gets bankTrxId
     * @return string
     */
    public function getBankTrxId()
    {
        return $this->container['bankTrxId'];
    }

    /**
     * Sets bankTrxId
     * @param  string  $bankTrxId  银行交易流水号
     * @return $this
     */
    public function setBankTrxId($bankTrxId)
    {
        $this->container['bankTrxId'] = $bankTrxId;

        return $this;
    }

    /**
     * Gets haveAccounted
     * @return bool
     */
    public function getHaveAccounted()
    {
        return $this->container['haveAccounted'];
    }

    /**
     * Sets haveAccounted
     * @param  bool  $haveAccounted  是否已入账
     * @return $this
     */
    public function setHaveAccounted($haveAccounted)
    {
        $this->container['haveAccounted'] = $haveAccounted;

        return $this;
    }

    /**
     * Gets accountPayMerchantNo
     * @return string
     */
    public function getAccountPayMerchantNo()
    {
        return $this->container['accountPayMerchantNo'];
    }

    /**
     * Sets accountPayMerchantNo
     * @param  string  $accountPayMerchantNo  企业账户支付付款商商编
     * @return $this
     */
    public function setAccountPayMerchantNo($accountPayMerchantNo)
    {
        $this->container['accountPayMerchantNo'] = $accountPayMerchantNo;

        return $this;
    }

    /**
     * Gets residualDivideAmount
     * @return string
     */
    public function getResidualDivideAmount()
    {
        return $this->container['residualDivideAmount'];
    }

    /**
     * Sets residualDivideAmount
     * @param  string  $residualDivideAmount  剩余可分账金额
     * @return $this
     */
    public function setResidualDivideAmount($residualDivideAmount)
    {
        $this->container['residualDivideAmount'] = $residualDivideAmount;

        return $this;
    }

    /**
     * Gets preauthStatus
     * @return string
     */
    public function getPreauthStatus()
    {
        return $this->container['preauthStatus'];
    }

    /**
     * Sets preauthStatus
     * @param  string  $preauthStatus  预授权状态
     * @return $this
     */
    public function setPreauthStatus($preauthStatus)
    {
        $this->container['preauthStatus'] = $preauthStatus;

        return $this;
    }

    /**
     * Gets preauthType
     * @return string
     */
    public function getPreauthType()
    {
        return $this->container['preauthType'];
    }

    /**
     * Sets preauthType
     * @param  string  $preauthType  预授权类型
     * @return $this
     */
    public function setPreauthType($preauthType)
    {
        $this->container['preauthType'] = $preauthType;

        return $this;
    }

    /**
     * Gets preauthAmount
     * @return float
     */
    public function getPreauthAmount()
    {
        return $this->container['preauthAmount'];
    }

    /**
     * Sets preauthAmount
     * @param  float  $preauthAmount  预授权冻结金额
     * @return $this
     */
    public function setPreauthAmount($preauthAmount)
    {
        $this->container['preauthAmount'] = $preauthAmount;

        return $this;
    }

    /**
     * Gets paymentSysNo
     * @return string
     */
    public function getPaymentSysNo()
    {
        return $this->container['paymentSysNo'];
    }

    /**
     * Sets paymentSysNo
     * @param  string  $paymentSysNo  支付系统单号
     * @return $this
     */
    public function setPaymentSysNo($paymentSysNo)
    {
        $this->container['paymentSysNo'] = $paymentSysNo;

        return $this;
    }

    /**
     * Gets paymentStatus
     * @return string
     */
    public function getPaymentStatus()
    {
        return $this->container['paymentStatus'];
    }

    /**
     * Sets paymentStatus
     * @param  string  $paymentStatus  支付状态
     * @return $this
     */
    public function setPaymentStatus($paymentStatus)
    {
        $this->container['paymentStatus'] = $paymentStatus;

        return $this;
    }

    /**
     * Gets divideRequestId
     * @return string
     */
    public function getDivideRequestId()
    {
        return $this->container['divideRequestId'];
    }

    /**
     * Sets divideRequestId
     * @param  string  $divideRequestId  分账请求号
     * @return $this
     */
    public function setDivideRequestId($divideRequestId)
    {
        $this->container['divideRequestId'] = $divideRequestId;

        return $this;
    }

    /**
     * Gets parentMerchantName
     * @return string
     */
    public function getParentMerchantName()
    {
        return $this->container['parentMerchantName'];
    }

    /**
     * Sets parentMerchantName
     * @param  string  $parentMerchantName  父商户名称
     * @return $this
     */
    public function setParentMerchantName($parentMerchantName)
    {
        $this->container['parentMerchantName'] = $parentMerchantName;

        return $this;
    }

    /**
     * Gets merchantName
     * @return string
     */
    public function getMerchantName()
    {
        return $this->container['merchantName'];
    }

    /**
     * Sets merchantName
     * @param  string  $merchantName  子商户名称
     * @return $this
     */
    public function setMerchantName($merchantName)
    {
        $this->container['merchantName'] = $merchantName;

        return $this;
    }

    /**
     * Gets combPaymentDTO
     * @return \Yeepay\Yop\Sdk\Service\Sys\Model\TradeOrderqueryCombPaymentDTOResult
     */
    public function getCombPaymentDTO()
    {
        return $this->container['combPaymentDTO'];
    }

    /**
     * Sets combPaymentDTO
     * @param  \Yeepay\Yop\Sdk\Service\Sys\Model\TradeOrderqueryCombPaymentDTOResult  $combPaymentDTO  营销支付
     * @return $this
     */
    public function setCombPaymentDTO($combPaymentDTO)
    {
        $this->container['combPaymentDTO'] = $combPaymentDTO;

        return $this;
    }

    /**
     * Gets cashFee
     * @return float
     */
    public function getCashFee()
    {
        return $this->container['cashFee'];
    }

    /**
     * Sets cashFee
     * @param  float  $cashFee  卡券现金支付金额
     * @return $this
     */
    public function setCashFee($cashFee)
    {
        $this->container['cashFee'] = $cashFee;

        return $this;
    }

    /**
     * Gets settlementFee
     * @return float
     */
    public function getSettlementFee()
    {
        return $this->container['settlementFee'];
    }

    /**
     * Sets settlementFee
     * @param  float  $settlementFee  卡券应结算金额
     * @return $this
     */
    public function setSettlementFee($settlementFee)
    {
        $this->container['settlementFee'] = $settlementFee;

        return $this;
    }

    /**
     * Gets bankOrderId
     * @return string
     */
    public function getBankOrderId()
    {
        return $this->container['bankOrderId'];
    }

    /**
     * Sets bankOrderId
     * @param  string  $bankOrderId  银行订单号
     * @return $this
     */
    public function setBankOrderId($bankOrderId)
    {
        $this->container['bankOrderId'] = $bankOrderId;

        return $this;
    }

    /**
     * Gets bankCardNo
     * @return string
     */
    public function getBankCardNo()
    {
        return $this->container['bankCardNo'];
    }

    /**
     * Sets bankCardNo
     * @param  string  $bankCardNo  银行卡号
     * @return $this
     */
    public function setBankCardNo($bankCardNo)
    {
        $this->container['bankCardNo'] = $bankCardNo;

        return $this;
    }

    /**
     * Gets mobilePhoneNo
     * @return string
     */
    public function getMobilePhoneNo()
    {
        return $this->container['mobilePhoneNo'];
    }

    /**
     * Sets mobilePhoneNo
     * @param  string  $mobilePhoneNo  手机号（前3后4)
     * @return $this
     */
    public function setMobilePhoneNo($mobilePhoneNo)
    {
        $this->container['mobilePhoneNo'] = $mobilePhoneNo;

        return $this;
    }

    /**
     * Gets calFeeMerchantNo
     * @return string
     */
    public function getCalFeeMerchantNo()
    {
        return $this->container['calFeeMerchantNo'];
    }

    /**
     * Sets calFeeMerchantNo
     * @param  string  $calFeeMerchantNo  计费商编
     * @return $this
     */
    public function setCalFeeMerchantNo($calFeeMerchantNo)
    {
        $this->container['calFeeMerchantNo'] = $calFeeMerchantNo;

        return $this;
    }

    /**
     * Gets bankPromotionInfoDTOList
     * @return \Yeepay\Yop\Sdk\Service\Sys\Model\TradeOrderqueryBankPromotionInfoDTOResult[]
     */
    public function getBankPromotionInfoDTOList()
    {
        return $this->container['bankPromotionInfoDTOList'];
    }

    /**
     * Sets bankPromotionInfoDTOList
     * @param  \Yeepay\Yop\Sdk\Service\Sys\Model\TradeOrderqueryBankPromotionInfoDTOResult[]  $bankPromotionInfoDTOList  银行营销列表
     * @return $this
     */
    public function setBankPromotionInfoDTOList($bankPromotionInfoDTOList)
    {
        $this->container['bankPromotionInfoDTOList'] = $bankPromotionInfoDTOList;

        return $this;
    }

    /**
     * Gets pyerAcctTp
     * @return string
     */
    public function getPyerAcctTp()
    {
        return $this->container['pyerAcctTp'];
    }

    /**
     * Sets pyerAcctTp
     * @param  string  $pyerAcctTp  付款方账户类型
     * @return $this
     */
    public function setPyerAcctTp($pyerAcctTp)
    {
        $this->container['pyerAcctTp'] = $pyerAcctTp;

        return $this;
    }

    /**
     * Gets pyerAcctId
     * @return string
     */
    public function getPyerAcctId()
    {
        return $this->container['pyerAcctId'];
    }

    /**
     * Sets pyerAcctId
     * @param  string  $pyerAcctId  付款方账户编号
     * @return $this
     */
    public function setPyerAcctId($pyerAcctId)
    {
        $this->container['pyerAcctId'] = $pyerAcctId;

        return $this;
    }

    /**
     * Gets pyerAcctNm
     * @return string
     */
    public function getPyerAcctNm()
    {
        return $this->container['pyerAcctNm'];
    }

    /**
     * Sets pyerAcctNm
     * @param  string  $pyerAcctNm  付款方账户名称
     * @return $this
     */
    public function setPyerAcctNm($pyerAcctNm)
    {
        $this->container['pyerAcctNm'] = $pyerAcctNm;

        return $this;
    }

    /**
     * Returns true if offset exists. False otherwise.
     * @param  integer  $offset  Offset
     * @return boolean
     */
    public function offsetExists($offset)
    {
        return isset($this->container[$offset]);
    }

    /**
     * Gets offset.
     * @param  integer  $offset  Offset
     * @return mixed
     */
    public function offsetGet($offset)
    {
        return isset($this->container[$offset]) ? $this->container[$offset] : null;
    }

    /**
     * Sets value based on offset.
     * @param  integer  $offset  Offset
     * @param  mixed  $value  Value to be set
     * @return void
     */
    public function offsetSet($offset, $value)
    {
        if (is_null($offset)) {
            $this->container[] = $value;
        } else {
            $this->container[$offset] = $value;
        }
    }

    /**
     * Unsets offset.
     * @param  integer  $offset  Offset
     * @return void
     */
    public function offsetUnset($offset)
    {
        unset($this->container[$offset]);
    }

    /**
     * Gets the string presentation of the object
     * @return string
     */
    public function __toString()
    {
        if (defined('JSON_PRETTY_PRINT')) { // use JSON pretty print
            return json_encode(
                ObjectSerializer::sanitizeForSerialization($this),
                JSON_PRETTY_PRINT
            );
        }

        return json_encode(ObjectSerializer::sanitizeForSerialization($this));
    }

}


