JushitaJdpTaskUpdateRequest.cs 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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.task.update
  8. /// </summary>
  9. public class JushitaJdpTaskUpdateRequest : BaseTopRequest<Top.Api.Response.JushitaJdpTaskUpdateResponse>
  10. {
  11. /// <summary>
  12. /// 任务执行失败的错误信息,可以方便排查问题。
  13. /// </summary>
  14. public string ErrorMessage { get; set; }
  15. /// <summary>
  16. /// 任务执行的机器主机名,用于方便排查问题。
  17. /// </summary>
  18. public string ExecuteHost { get; set; }
  19. /// <summary>
  20. /// 任务的编号
  21. /// </summary>
  22. public Nullable<long> Id { get; set; }
  23. /// <summary>
  24. /// 任务的下次开始执行时间。
  25. /// </summary>
  26. public Nullable<DateTime> NextExecuteTime { get; set; }
  27. /// <summary>
  28. /// 任务当前同步到的时间点。
  29. /// </summary>
  30. public Nullable<DateTime> NowSyncTime { get; set; }
  31. /// <summary>
  32. /// 任务的参数,用json格式表示
  33. /// </summary>
  34. public string Params { get; set; }
  35. /// <summary>
  36. /// 任务的状态,0表示任务新建或未执行完成,1表示任务停止,2表示任务已经完成,-1表示任务执行失败。
  37. /// </summary>
  38. public Nullable<long> Status { get; set; }
  39. /// <summary>
  40. /// 普通isv不能传入此参数
  41. /// </summary>
  42. public string TargetAppkey { get; set; }
  43. /// <summary>
  44. /// 任务的类型,
  45. /// </summary>
  46. public Nullable<long> Type { get; set; }
  47. /// <summary>
  48. /// 任务更新时的版本号,此值在选择出的任务中获取到。
  49. /// </summary>
  50. public Nullable<long> Version { get; set; }
  51. #region ITopRequest Members
  52. public override string GetApiName()
  53. {
  54. return "taobao.jushita.jdp.task.update";
  55. }
  56. public override IDictionary<string, string> GetParameters()
  57. {
  58. TopDictionary parameters = new TopDictionary();
  59. parameters.Add("error_message", this.ErrorMessage);
  60. parameters.Add("execute_host", this.ExecuteHost);
  61. parameters.Add("id", this.Id);
  62. parameters.Add("next_execute_time", this.NextExecuteTime);
  63. parameters.Add("now_sync_time", this.NowSyncTime);
  64. parameters.Add("params", this.Params);
  65. parameters.Add("status", this.Status);
  66. parameters.Add("target_appkey", this.TargetAppkey);
  67. parameters.Add("type", this.Type);
  68. parameters.Add("version", this.Version);
  69. if (this.otherParams != null)
  70. {
  71. parameters.AddAll(this.otherParams);
  72. }
  73. return parameters;
  74. }
  75. public override void Validate()
  76. {
  77. RequestValidator.ValidateMaxLength("error_message", this.ErrorMessage, 100);
  78. RequestValidator.ValidateMaxLength("execute_host", this.ExecuteHost, 30);
  79. RequestValidator.ValidateRequired("id", this.Id);
  80. RequestValidator.ValidateRequired("next_execute_time", this.NextExecuteTime);
  81. RequestValidator.ValidateRequired("now_sync_time", this.NowSyncTime);
  82. RequestValidator.ValidateMaxLength("params", this.Params, 512);
  83. RequestValidator.ValidateRequired("status", this.Status);
  84. RequestValidator.ValidateMaxValue("status", this.Status, 2);
  85. RequestValidator.ValidateMinValue("status", this.Status, -1);
  86. RequestValidator.ValidateMinValue("type", this.Type, 0);
  87. RequestValidator.ValidateRequired("version", this.Version);
  88. }
  89. #endregion
  90. }
  91. }