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 } }