using System;
using System.Xml.Serialization;
using System.Collections.Generic;
using Top.Api.Util;
namespace Top.Api.Request
{
///
/// TOP API: tmall.device.trade.precreate
///
public class TmallDeviceTradePrecreateRequest : BaseTopRequest
{
///
/// 导购员手机号码
///
public string BaPhone { get; set; }
///
/// 导购员所属门店
///
public Nullable BaStoreId { get; set; }
///
/// 回调地址,当订单创建,付款成功后,会收到回调。必须是https地址,HTTP响应必须包含success,否则系统会重发
///
public string CallbackUrl { get; set; }
///
/// 设备业务编码
///
public string DeviceCode { get; set; }
///
/// 商品列表
///
public string ItemList { get; set; }
public List ItemList_ { set { this.ItemList = TopUtils.ObjectToJson(value); } }
///
/// 外部订单ID,用户下保证唯一。最大长度22
///
public string OutTradeId { get; set; }
///
/// 交易类型。1,售卖。2,派样
///
public Nullable Type { get; set; }
#region ITopRequest Members
public override string GetApiName()
{
return "tmall.device.trade.precreate";
}
public override IDictionary GetParameters()
{
TopDictionary parameters = new TopDictionary();
parameters.Add("ba_phone", this.BaPhone);
parameters.Add("ba_store_id", this.BaStoreId);
parameters.Add("callback_url", this.CallbackUrl);
parameters.Add("device_code", this.DeviceCode);
parameters.Add("item_list", this.ItemList);
parameters.Add("out_trade_id", this.OutTradeId);
parameters.Add("type", this.Type);
if (this.otherParams != null)
{
parameters.AddAll(this.otherParams);
}
return parameters;
}
public override void Validate()
{
RequestValidator.ValidateRequired("device_code", this.DeviceCode);
RequestValidator.ValidateRequired("item_list", this.ItemList);
RequestValidator.ValidateObjectMaxListSize("item_list", this.ItemList, 20);
RequestValidator.ValidateRequired("out_trade_id", this.OutTradeId);
RequestValidator.ValidateMaxLength("out_trade_id", this.OutTradeId, 22);
}
///
/// TradeItemDoDomain Data Structure.
///
[Serializable]
public class TradeItemDoDomain : TopObject
{
///
/// 购买件数,默认为1
///
[XmlElement("buy_amount")]
public Nullable BuyAmount { get; set; }
///
/// 商品ID
///
[XmlElement("item_id")]
public Nullable ItemId { get; set; }
///
/// 商品SKU ID
///
[XmlElement("sku_id")]
public Nullable SkuId { get; set; }
///
/// 售卖单价,单位分
///
[XmlElement("unit_price")]
public Nullable UnitPrice { get; set; }
///
/// 是否使用开放定价。这里的价格由 tmall.device.item.openprice.update API预先设置
///
[XmlElement("use_open_price")]
public Nullable UseOpenPrice { get; set; }
}
#endregion
}
}