<?php
/**
 * 苏宁开放平台接口 - 
 *
 * @author suning
 * @date   2022-10-13
 */
class BatchcreateorderCreateRequest  extends SuningRequest{
	
	/**
	 * 
	 */
	private $batchId;
	
	/**
	 * 
	 */
	private $goods;
	
	/**
	 * 
	 */
	private $invoiceContent;
	
	/**
	 * 
	 */
	private $invoiceState;
	
	/**
	 * 
	 */
	private $invoiceTo;
	
	/**
	 * 
	 */
	private $invoiceType;
	
	/**
	 * 
	 */
	private $orderType;
	
	/**
	 * 
	 */
	private $payment;
	
	/**
	 * 
	 */
	private $receiveInfoList;
	
	/**
	 * 
	 */
	private $skuPriceList;
	
	/**
	 * 
	 */
	private $specialVatTicket;
	
	/**
	 * 
	 */
	private $submitType;
	
	public function getBatchId() {
		return $this->batchId;
	}
	
	public function setBatchId($batchId) {
		$this->batchId = $batchId;
		$this->apiParams["batchId"] = $batchId;
	}
	
	public function getGoods() {
		return $this->goods;
	}
	
	public function setGoods($goods) {
		$this->goods = $goods;
		$this->apiParams["goods"] = $goods;
	}
	
	public function getInvoiceContent() {
		return $this->invoiceContent;
	}
	
	public function setInvoiceContent($invoiceContent) {
		$this->invoiceContent = $invoiceContent;
		$this->apiParams["invoiceContent"] = $invoiceContent;
	}
	
	public function getInvoiceState() {
		return $this->invoiceState;
	}
	
	public function setInvoiceState($invoiceState) {
		$this->invoiceState = $invoiceState;
		$this->apiParams["invoiceState"] = $invoiceState;
	}
	
	public function getInvoiceTo() {
		return $this->invoiceTo;
	}
	
	public function setInvoiceTo($invoiceTo) {
		$this->invoiceTo = $invoiceTo;
		$this->apiParams["invoiceTo"] = $invoiceTo;
	}
	
	public function getInvoiceType() {
		return $this->invoiceType;
	}
	
	public function setInvoiceType($invoiceType) {
		$this->invoiceType = $invoiceType;
		$this->apiParams["invoiceType"] = $invoiceType;
	}
	
	public function getOrderType() {
		return $this->orderType;
	}
	
	public function setOrderType($orderType) {
		$this->orderType = $orderType;
		$this->apiParams["orderType"] = $orderType;
	}
	
	public function getPayment() {
		return $this->payment;
	}
	
	public function setPayment($payment) {
		$this->payment = $payment;
		$this->apiParams["payment"] = $payment;
	}
	
	public function getReceiveInfoList() {
		return $this->receiveInfoList;
	}
	
	public function setReceiveInfoList($receiveInfoList) {
		$this->receiveInfoList = $receiveInfoList;
		$arr = array();
		foreach ($receiveInfoList as $temp){
			array_push($arr,$temp->getApiParams());
		}
		$this->apiParams["receiveInfoList"] = $arr;
	}
	
	public function getSkuPriceList() {
		return $this->skuPriceList;
	}
	
	public function setSkuPriceList($skuPriceList) {
		$this->skuPriceList = $skuPriceList;
		$arr = array();
		foreach ($skuPriceList as $temp){
			array_push($arr,$temp->getApiParams());
		}
		$this->apiParams["skuPriceList"] = $arr;
	}
	
	public function getSpecialVatTicket() {
		return $this->specialVatTicket;
	}
	
	public function setSpecialVatTicket($specialVatTicket) {
		$this->specialVatTicket = $specialVatTicket;
		$this->apiParams["specialVatTicket"] = $specialVatTicket->getApiParams();
	}
	
	public function getSubmitType() {
		return $this->submitType;
	}
	
	public function setSubmitType($submitType) {
		$this->submitType = $submitType;
		$this->apiParams["submitType"] = $submitType;
	}
	
	public function getApiMethodName(){
		return 'suning.govbus.batchcreateorder.create';
	}
	
	public function getApiParams(){
		return $this->apiParams;
	}
	
	public function check(){
		//非空校验
		RequestCheckUtil::checkNotNull($this->batchId, 'batchId');
		RequestCheckUtil::checkNotNull($this->goods, 'goods');
		RequestCheckUtil::checkNotNull($this->invoiceState, 'invoiceState');
		RequestCheckUtil::checkNotNull($this->invoiceTo, 'invoiceTo');
		RequestCheckUtil::checkNotNull($this->orderType, 'orderType');
		RequestCheckUtil::checkNotNull($this->payment, 'payment');
		RequestCheckUtil::checkNotNull($this->submitType, 'submitType');
	}
	
	public function getBizName(){
		return "createBatchcreateorder";
	}
	
}

class SkuQuantityList {

	private $apiParams = array();
	
	private $num;
	
	private $sku;
	
	public function getNum() {
		return $this->num;
	}

	public function setNum($num) {
		$this->num = $num;
		$this->apiParams["num"] = $num;
	}
	
	public function getSku() {
		return $this->sku;
	}

	public function setSku($sku) {
		$this->sku = $sku;
		$this->apiParams["sku"] = $sku;
	}
	
	public function getApiParams(){
		return $this->apiParams;
	}
	
}

class SkuPriceList {

	private $apiParams = array();
	
	private $skuId;
	
	private $unitPrice;
	
	public function getSkuId() {
		return $this->skuId;
	}

	public function setSkuId($skuId) {
		$this->skuId = $skuId;
		$this->apiParams["skuId"] = $skuId;
	}
	
	public function getUnitPrice() {
		return $this->unitPrice;
	}

	public function setUnitPrice($unitPrice) {
		$this->unitPrice = $unitPrice;
		$this->apiParams["unitPrice"] = $unitPrice;
	}
	
	public function getApiParams(){
		return $this->apiParams;
	}
	
}

class SpecialVatTicket {

	private $apiParams = array();
	
	private $companyName;
	
	private $consigneeAddress;
	
	private $consigneeMobileNum;
	
	private $consigneeName;
	
	private $regAccount;
	
	private $regAdd;
	
	private $regBank;
	
	private $regTel;
	
	private $taxNo;
	
	public function getCompanyName() {
		return $this->companyName;
	}

	public function setCompanyName($companyName) {
		$this->companyName = $companyName;
		$this->apiParams["companyName"] = $companyName;
	}
	
	public function getConsigneeAddress() {
		return $this->consigneeAddress;
	}

	public function setConsigneeAddress($consigneeAddress) {
		$this->consigneeAddress = $consigneeAddress;
		$this->apiParams["consigneeAddress"] = $consigneeAddress;
	}
	
	public function getConsigneeMobileNum() {
		return $this->consigneeMobileNum;
	}

	public function setConsigneeMobileNum($consigneeMobileNum) {
		$this->consigneeMobileNum = $consigneeMobileNum;
		$this->apiParams["consigneeMobileNum"] = $consigneeMobileNum;
	}
	
	public function getConsigneeName() {
		return $this->consigneeName;
	}

	public function setConsigneeName($consigneeName) {
		$this->consigneeName = $consigneeName;
		$this->apiParams["consigneeName"] = $consigneeName;
	}
	
	public function getRegAccount() {
		return $this->regAccount;
	}

	public function setRegAccount($regAccount) {
		$this->regAccount = $regAccount;
		$this->apiParams["regAccount"] = $regAccount;
	}
	
	public function getRegAdd() {
		return $this->regAdd;
	}

	public function setRegAdd($regAdd) {
		$this->regAdd = $regAdd;
		$this->apiParams["regAdd"] = $regAdd;
	}
	
	public function getRegBank() {
		return $this->regBank;
	}

	public function setRegBank($regBank) {
		$this->regBank = $regBank;
		$this->apiParams["regBank"] = $regBank;
	}
	
	public function getRegTel() {
		return $this->regTel;
	}

	public function setRegTel($regTel) {
		$this->regTel = $regTel;
		$this->apiParams["regTel"] = $regTel;
	}
	
	public function getTaxNo() {
		return $this->taxNo;
	}

	public function setTaxNo($taxNo) {
		$this->taxNo = $taxNo;
		$this->apiParams["taxNo"] = $taxNo;
	}
	
	public function getApiParams(){
		return $this->apiParams;
	}
	
}

class ReceiveInfoList {

	private $apiParams = array();
	
	private $address;
	
	private $cityId;
	
	private $countryId;
	
	private $email;
	
	private $mobile;
	
	private $provinceId;
	
	private $receiverName;
	
	private $remark;
	
	private $skuQuantityList;
	
	private $telephone;
	
	private $townId;
	
	private $tradeNo;
	
	private $zip;
	
	public function getAddress() {
		return $this->address;
	}

	public function setAddress($address) {
		$this->address = $address;
		$this->apiParams["address"] = $address;
	}
	
	public function getCityId() {
		return $this->cityId;
	}

	public function setCityId($cityId) {
		$this->cityId = $cityId;
		$this->apiParams["cityId"] = $cityId;
	}
	
	public function getCountryId() {
		return $this->countryId;
	}

	public function setCountryId($countryId) {
		$this->countryId = $countryId;
		$this->apiParams["countryId"] = $countryId;
	}
	
	public function getEmail() {
		return $this->email;
	}

	public function setEmail($email) {
		$this->email = $email;
		$this->apiParams["email"] = $email;
	}
	
	public function getMobile() {
		return $this->mobile;
	}

	public function setMobile($mobile) {
		$this->mobile = $mobile;
		$this->apiParams["mobile"] = $mobile;
	}
	
	public function getProvinceId() {
		return $this->provinceId;
	}

	public function setProvinceId($provinceId) {
		$this->provinceId = $provinceId;
		$this->apiParams["provinceId"] = $provinceId;
	}
	
	public function getReceiverName() {
		return $this->receiverName;
	}

	public function setReceiverName($receiverName) {
		$this->receiverName = $receiverName;
		$this->apiParams["receiverName"] = $receiverName;
	}
	
	public function getRemark() {
		return $this->remark;
	}

	public function setRemark($remark) {
		$this->remark = $remark;
		$this->apiParams["remark"] = $remark;
	}
	
	public function getSkuQuantityList() {
		return $this->skuQuantityList;
	}

	public function setSkuQuantityList($skuQuantityList) {
		$this->skuQuantityList = $skuQuantityList;
		$arr = array();
		foreach ($skuQuantityList as $temp){
			array_push($arr,$temp->getApiParams());
		}
		$this->apiParams["skuQuantityList"] = $arr;
	}
	
	public function getTelephone() {
		return $this->telephone;
	}

	public function setTelephone($telephone) {
		$this->telephone = $telephone;
		$this->apiParams["telephone"] = $telephone;
	}
	
	public function getTownId() {
		return $this->townId;
	}

	public function setTownId($townId) {
		$this->townId = $townId;
		$this->apiParams["townId"] = $townId;
	}
	
	public function getTradeNo() {
		return $this->tradeNo;
	}

	public function setTradeNo($tradeNo) {
		$this->tradeNo = $tradeNo;
		$this->apiParams["tradeNo"] = $tradeNo;
	}
	
	public function getZip() {
		return $this->zip;
	}

	public function setZip($zip) {
		$this->zip = $zip;
		$this->apiParams["zip"] = $zip;
	}
	
	public function getApiParams(){
		return $this->apiParams;
	}
	
}

?>