<?php
/**
 * 苏宁开放平台接口 - 
 *
 * @author suning
 * @date   2022-3-16
 */
class DiscountletterCreateRequest  extends SuningRequest{
	
	/**
	 * 
	 */
	private $applyHead;
	
	/**
	 * 
	 */
	private $areaDetail;
	
	/**
	 * 
	 */
	private $commodityDetail;
	
	public function getApplyHead() {
		return $this->applyHead;
	}
	
	public function setApplyHead($applyHead) {
		$this->applyHead = $applyHead;
		$this->apiParams["applyHead"] = $applyHead->getApiParams();
	}
	
	public function getAreaDetail() {
		return $this->areaDetail;
	}
	
	public function setAreaDetail($areaDetail) {
		$this->areaDetail = $areaDetail;
		$arr = array();
		foreach ($areaDetail as $temp){
			array_push($arr,$temp->getApiParams());
		}
		$this->apiParams["areaDetail"] = $arr;
	}
	
	public function getCommodityDetail() {
		return $this->commodityDetail;
	}
	
	public function setCommodityDetail($commodityDetail) {
		$this->commodityDetail = $commodityDetail;
		$arr = array();
		foreach ($commodityDetail as $temp){
			array_push($arr,$temp->getApiParams());
		}
		$this->apiParams["commodityDetail"] = $arr;
	}
	
	public function getApiMethodName(){
		return 'suning.selfmarket.discountletter.create';
	}
	
	public function getApiParams(){
		return $this->apiParams;
	}
	
	public function check(){
		//非空校验
	}
	
	public function getBizName(){
		return "createDiscountletter";
	}
	
}

class AreaDetail {

	private $apiParams = array();
	
	private $cityCode;
	
	private $shopCode;
	
	public function getCityCode() {
		return $this->cityCode;
	}

	public function setCityCode($cityCode) {
		$this->cityCode = $cityCode;
		$this->apiParams["cityCode"] = $cityCode;
	}
	
	public function getShopCode() {
		return $this->shopCode;
	}

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

class CommodityDetail {

	private $apiParams = array();
	
	private $comments;
	
	private $commodityCode;
	
	private $favoureAmount;
	
	private $locationCode;
	
	private $seriesNo;
	
	public function getComments() {
		return $this->comments;
	}

	public function setComments($comments) {
		$this->comments = $comments;
		$this->apiParams["comments"] = $comments;
	}
	
	public function getCommodityCode() {
		return $this->commodityCode;
	}

	public function setCommodityCode($commodityCode) {
		$this->commodityCode = $commodityCode;
		$this->apiParams["commodityCode"] = $commodityCode;
	}
	
	public function getFavoureAmount() {
		return $this->favoureAmount;
	}

	public function setFavoureAmount($favoureAmount) {
		$this->favoureAmount = $favoureAmount;
		$this->apiParams["favoureAmount"] = $favoureAmount;
	}
	
	public function getLocationCode() {
		return $this->locationCode;
	}

	public function setLocationCode($locationCode) {
		$this->locationCode = $locationCode;
		$this->apiParams["locationCode"] = $locationCode;
	}
	
	public function getSeriesNo() {
		return $this->seriesNo;
	}

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

class ApplyHead {

	private $apiParams = array();
	
	private $actionDescribe;
	
	private $applyLevel;
	
	private $areaCompanyCode;
	
	private $channel;
	
	private $endDate;
	
	private $expandingChannels;
	
	private $invoiceContent;
	
	private $invoiceDate;
	
	private $payDate;
	
	private $pdfContent;
	
	private $settlementType;
	
	private $snCode;
	
	private $startDate;
	
	private $supplierApplicationCode;
	
	private $supplierCode;
	
	public function getActionDescribe() {
		return $this->actionDescribe;
	}

	public function setActionDescribe($actionDescribe) {
		$this->actionDescribe = $actionDescribe;
		$this->apiParams["actionDescribe"] = $actionDescribe;
	}
	
	public function getApplyLevel() {
		return $this->applyLevel;
	}

	public function setApplyLevel($applyLevel) {
		$this->applyLevel = $applyLevel;
		$this->apiParams["applyLevel"] = $applyLevel;
	}
	
	public function getAreaCompanyCode() {
		return $this->areaCompanyCode;
	}

	public function setAreaCompanyCode($areaCompanyCode) {
		$this->areaCompanyCode = $areaCompanyCode;
		$this->apiParams["areaCompanyCode"] = $areaCompanyCode;
	}
	
	public function getChannel() {
		return $this->channel;
	}

	public function setChannel($channel) {
		$this->channel = $channel;
		$this->apiParams["channel"] = $channel;
	}
	
	public function getEndDate() {
		return $this->endDate;
	}

	public function setEndDate($endDate) {
		$this->endDate = $endDate;
		$this->apiParams["endDate"] = $endDate;
	}
	
	public function getExpandingChannels() {
		return $this->expandingChannels;
	}

	public function setExpandingChannels($expandingChannels) {
		$this->expandingChannels = $expandingChannels;
		$this->apiParams["expandingChannels"] = $expandingChannels;
	}
	
	public function getInvoiceContent() {
		return $this->invoiceContent;
	}

	public function setInvoiceContent($invoiceContent) {
		$this->invoiceContent = $invoiceContent;
		$this->apiParams["invoiceContent"] = $invoiceContent;
	}
	
	public function getInvoiceDate() {
		return $this->invoiceDate;
	}

	public function setInvoiceDate($invoiceDate) {
		$this->invoiceDate = $invoiceDate;
		$this->apiParams["invoiceDate"] = $invoiceDate;
	}
	
	public function getPayDate() {
		return $this->payDate;
	}

	public function setPayDate($payDate) {
		$this->payDate = $payDate;
		$this->apiParams["payDate"] = $payDate;
	}
	
	public function getPdfContent() {
		return $this->pdfContent;
	}

	public function setPdfContent($pdfContent) {
		$this->pdfContent = $pdfContent;
		$this->apiParams["pdfContent"] = $pdfContent;
	}
	
	public function getSettlementType() {
		return $this->settlementType;
	}

	public function setSettlementType($settlementType) {
		$this->settlementType = $settlementType;
		$this->apiParams["settlementType"] = $settlementType;
	}
	
	public function getSnCode() {
		return $this->snCode;
	}

	public function setSnCode($snCode) {
		$this->snCode = $snCode;
		$this->apiParams["snCode"] = $snCode;
	}
	
	public function getStartDate() {
		return $this->startDate;
	}

	public function setStartDate($startDate) {
		$this->startDate = $startDate;
		$this->apiParams["startDate"] = $startDate;
	}
	
	public function getSupplierApplicationCode() {
		return $this->supplierApplicationCode;
	}

	public function setSupplierApplicationCode($supplierApplicationCode) {
		$this->supplierApplicationCode = $supplierApplicationCode;
		$this->apiParams["supplierApplicationCode"] = $supplierApplicationCode;
	}
	
	public function getSupplierCode() {
		return $this->supplierCode;
	}

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

?>