using System; using System.Xml.Serialization; using System.Collections.Generic; using Top.Api.Util; using Top.Api; using Top.Api.DingTalk; namespace DingTalk.Api.Request { /// /// TOP API: dingtalk.oapi.workspace.task.update /// public class OapiWorkspaceTaskUpdateRequest : BaseDingTalkRequest { /// /// 微应用agentId /// public Nullable MicroappAgentId { get; set; } /// /// 操作者id /// public string OperatorUserid { get; set; } /// /// 请求入参 /// public string Task { get; set; } public TaskUpdateDomain Task_ { set { this.Task = TopUtils.ObjectToJson(value); } } /// /// 任务ID /// public string TaskId { get; set; } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.workspace.task.update"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("microapp_agent_id", this.MicroappAgentId); parameters.Add("operator_userid", this.OperatorUserid); parameters.Add("task", this.Task); parameters.Add("task_id", this.TaskId); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateRequired("task", this.Task); RequestValidator.ValidateRequired("task_id", this.TaskId); } /// /// TaskSystemPropertyDomain Data Structure. /// [Serializable] public class TaskSystemPropertyDomain : TopObject { /// /// APP 跳转连接 /// [XmlElement("appUrl")] public string AppUrl { get; set; } /// /// web 跳转连接 /// [XmlElement("webUrl")] public string WebUrl { get; set; } } /// /// TaskExtensionDomain Data Structure. /// [Serializable] public class TaskExtensionDomain : TopObject { /// /// 评论数 /// [XmlElement("comment_count")] public Nullable CommentCount { get; set; } /// /// 附件地址 /// [XmlElement("file_path")] public string FilePath { get; set; } /// /// 用户可扩展的字段 /// [XmlElement("other")] public string Other { get; set; } /// /// 待办系统属性,主要包含接入方的详情页跳转链接 /// [XmlElement("systemProperty")] public TaskSystemPropertyDomain SystemProperty { get; set; } } /// /// TaskUpdateDomain Data Structure. /// [Serializable] public class TaskUpdateDomain : TopObject { /// /// 任务所属项目(虚拟企业),基于项目空间的项目 /// [XmlElement("corp_id")] public string CorpId { get; set; } /// /// 描述(传null不更新,传空串则清空原值) /// [XmlElement("description")] public string Description { get; set; } /// /// 执行者id(传null不更新,传空串则清空原值) /// [XmlElement("executor_userid")] public string ExecutorUserid { get; set; } /// /// 任务的扩展字段 /// [XmlElement("extension")] public TaskExtensionDomain Extension { get; set; } /// /// 完成时间(传null不更新,传Date(0),即1970-01-01T08:00:00.000+08:00则清空原值) /// [XmlElement("finish_date")] public Nullable FinishDate { get; set; } /// /// 修改时间 /// [XmlElement("gmt_modified")] public Nullable GmtModified { get; set; } /// /// 是否归档 /// [XmlElement("is_archived")] public Nullable IsArchived { get; set; } /// /// 是否放入回收站 /// [XmlElement("is_recycled")] public Nullable IsRecycled { get; set; } /// /// 更新者id /// [XmlElement("modifier_userid")] public string ModifierUserid { get; set; } /// /// 父任务id /// [XmlElement("parent_id")] public string ParentId { get; set; } /// /// 计划结束时间(传null不更新,传Date(0),即1970-01-01T08:00:00.000+08:00则清空原值) /// [XmlElement("plan_finish_date")] public Nullable PlanFinishDate { get; set; } /// /// 计划开始时间(传null不更新,传Date(0),即1970-01-01T08:00:00.000+08:00则清空原值) /// [XmlElement("plan_start_date")] public Nullable PlanStartDate { get; set; } /// /// 优先级 /// [XmlElement("priority")] public Nullable Priority { get; set; } /// /// 任务来源source /// [XmlElement("source")] public string Source { get; set; } /// /// 来源id /// [XmlElement("source_id")] public string SourceId { get; set; } /// /// 开始日期(传null不更新,传Date(0),即1970-01-01T08:00:00.000+08:00则清空原值) /// [XmlElement("start_date")] public Nullable StartDate { get; set; } /// /// 工作流状态id /// [XmlElement("status_id")] public Nullable StatusId { get; set; } /// /// 状态阶段: 开始阶段(0),进行阶段(1),完成阶段(2) /// [XmlElement("status_stage")] public Nullable StatusStage { get; set; } /// /// 标题 /// [XmlElement("subject")] public string Subject { get; set; } /// /// 任务类型分类:// 任务 TASK("task"), // 需求 REQ("req"), // 缺陷 BUG("bug"), // 风险 RISK("risk"), // 工作项 WORKITEM("workitem") /// [XmlElement("task_type_category")] public string TaskTypeCategory { get; set; } /// /// 任务类型id /// [XmlElement("task_type_id")] public Nullable TaskTypeId { get; set; } /// /// 任务参与者列表 /// [XmlArray("tracker_userids")] [XmlArrayItem("string")] public List TrackerUserids { get; set; } } #endregion } }