JushitaJdpTasksGetRequest.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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.jushita.jdp.tasks.get
  8. /// </summary>
  9. public class JushitaJdpTasksGetRequest : BaseTopRequest<Top.Api.Response.JushitaJdpTasksGetResponse>
  10. {
  11. /// <summary>
  12. /// 最大可返回的任务数量
  13. /// </summary>
  14. public Nullable<long> FetchNum { get; set; }
  15. /// <summary>
  16. /// 普通isv不能传入此参数
  17. /// </summary>
  18. public string TargetAppkey { get; set; }
  19. /// <summary>
  20. /// 任务分组数量,表示把所有任务平均分成x组,在线订购应用此参数必传;非在线订购应用此参数忽略。
  21. /// </summary>
  22. public Nullable<long> TaskItemNum { get; set; }
  23. /// <summary>
  24. /// 指定获取哪些分组的任务,取多个分组有半角逗号分隔,在线订购应用此参数必传;非在线订购应用此参数忽略。其中task_items >= 0且task_items < task_item_num
  25. /// </summary>
  26. public string TaskItems { get; set; }
  27. /// <summary>
  28. /// 任务类型
  29. /// </summary>
  30. public Nullable<long> Type { get; set; }
  31. /// <summary>
  32. /// 需要查询哪些用户的任务,非在线订购应用此参数必传;在线订购应用此参数忽略。
  33. /// </summary>
  34. public string UserIds { get; set; }
  35. #region ITopRequest Members
  36. public override string GetApiName()
  37. {
  38. return "taobao.jushita.jdp.tasks.get";
  39. }
  40. public override IDictionary<string, string> GetParameters()
  41. {
  42. TopDictionary parameters = new TopDictionary();
  43. parameters.Add("fetch_num", this.FetchNum);
  44. parameters.Add("target_appkey", this.TargetAppkey);
  45. parameters.Add("task_item_num", this.TaskItemNum);
  46. parameters.Add("task_items", this.TaskItems);
  47. parameters.Add("type", this.Type);
  48. parameters.Add("user_ids", this.UserIds);
  49. if (this.otherParams != null)
  50. {
  51. parameters.AddAll(this.otherParams);
  52. }
  53. return parameters;
  54. }
  55. public override void Validate()
  56. {
  57. RequestValidator.ValidateMaxValue("fetch_num", this.FetchNum, 200);
  58. RequestValidator.ValidateMinValue("fetch_num", this.FetchNum, 1);
  59. RequestValidator.ValidateMinValue("task_item_num", this.TaskItemNum, 1);
  60. RequestValidator.ValidateMaxListSize("task_items", this.TaskItems, 500);
  61. RequestValidator.ValidateRequired("type", this.Type);
  62. RequestValidator.ValidateMinValue("type", this.Type, 0);
  63. RequestValidator.ValidateMaxListSize("user_ids", this.UserIds, 200);
  64. }
  65. #endregion
  66. }
  67. }