ItempropvaluesGetRequest.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. using System;
  2. using System.Collections.Generic;
  3. using Top.Api.Util;
  4. namespace Top.Api.Request
  5. {
  6. /// <summary>
  7. /// TOP API: taobao.itempropvalues.get
  8. /// </summary>
  9. public class ItempropvaluesGetRequest : BaseTopRequest<Top.Api.Response.ItempropvaluesGetResponse>
  10. {
  11. /// <summary>
  12. /// 属性的Key,支持多条,以“,”分隔
  13. /// </summary>
  14. public string AttrKeys { get; set; }
  15. /// <summary>
  16. /// 叶子类目ID ,通过taobao.itemcats.get获得叶子类目ID
  17. /// </summary>
  18. public Nullable<long> Cid { get; set; }
  19. /// <summary>
  20. /// 假如传2005-01-01 00:00:00,则取所有的属性和子属性(状态为删除的属性值不返回prop_name)
  21. /// </summary>
  22. public Nullable<DateTime> Datetime { get; set; }
  23. /// <summary>
  24. /// 需要返回的字段。目前支持有:cid,pid,prop_name,vid,name,name_alias,status,sort_order
  25. /// </summary>
  26. public string Fields { get; set; }
  27. /// <summary>
  28. /// 属性和属性值 id串,格式例如(pid1;pid2)或(pid1:vid1;pid2:vid2)或(pid1;pid2:vid2)
  29. /// </summary>
  30. public string Pvs { get; set; }
  31. /// <summary>
  32. /// 获取类目的类型:1代表集市、2代表天猫
  33. /// </summary>
  34. public Nullable<long> Type { get; set; }
  35. #region ITopRequest Members
  36. public override string GetApiName()
  37. {
  38. return "taobao.itempropvalues.get";
  39. }
  40. public override IDictionary<string, string> GetParameters()
  41. {
  42. TopDictionary parameters = new TopDictionary();
  43. parameters.Add("attr_keys", this.AttrKeys);
  44. parameters.Add("cid", this.Cid);
  45. parameters.Add("datetime", this.Datetime);
  46. parameters.Add("fields", this.Fields);
  47. parameters.Add("pvs", this.Pvs);
  48. parameters.Add("type", this.Type);
  49. if (this.otherParams != null)
  50. {
  51. parameters.AddAll(this.otherParams);
  52. }
  53. return parameters;
  54. }
  55. public override void Validate()
  56. {
  57. RequestValidator.ValidateMaxListSize("attr_keys", this.AttrKeys, 20);
  58. RequestValidator.ValidateRequired("cid", this.Cid);
  59. RequestValidator.ValidateRequired("fields", this.Fields);
  60. RequestValidator.ValidateMaxListSize("fields", this.Fields, 20);
  61. }
  62. #endregion
  63. }
  64. }