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.migrate /// public class OapiWorkspaceTaskMigrateRequest : BaseDingTalkRequest { /// /// 微应用agentId /// public Nullable Agentid { get; set; } /// /// 操作者id /// public string OperatorUserid { get; set; } /// /// 请求入参 /// public string Task { get; set; } public TaskCreateDomain Task_ { set { this.Task = TopUtils.ObjectToJson(value); } } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.workspace.task.migrate"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("agentid", this.Agentid); parameters.Add("operator_userid", this.OperatorUserid); parameters.Add("task", this.Task); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateRequired("operator_userid", this.OperatorUserid); RequestValidator.ValidateRequired("task", this.Task); } /// /// TaskSystemPropertyDomain Data Structure. /// [Serializable] public class TaskSystemPropertyDomain : TopObject { /// /// APP 跳转链接 /// [XmlElement("appUrl")] public string AppUrl { get; set; } /// /// PC 跳转链接 /// [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; } } /// /// TaskCreateDomain Data Structure. /// [Serializable] public class TaskCreateDomain : TopObject { /// /// 任务所属项目(虚拟企业),基于项目空间的项目 /// [XmlElement("corp_id")] public string CorpId { get; set; } /// /// 创建者id, 传staffId(工号) /// [XmlElement("creator_userid")] public string CreatorUserid { get; set; } /// /// 任务描述 /// [XmlElement("description")] public string Description { get; set; } /// /// 执行者id, 传staffId(工号) /// [XmlElement("executor_userid")] public string ExecutorUserid { get; set; } /// /// 任务的扩展字段 /// [XmlElement("extension")] public TaskExtensionDomain Extension { get; set; } /// /// 任务实际完成时间 /// [XmlElement("finish_date")] public Nullable FinishDate { get; set; } /// /// 创建时间 /// [XmlElement("gmt_create")] public Nullable GmtCreate { 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, 传staffId(工号) /// [XmlElement("modifier_userid")] public string ModifierUserid { get; set; } /// /// 父任务id /// [XmlElement("parent_id")] public string ParentId { get; set; } /// /// 任务计划完成时间 /// [XmlElement("plan_finish_date")] public Nullable PlanFinishDate { get; set; } /// /// 任务计划开始时间 /// [XmlElement("plan_start_date")] public Nullable PlanStartDate { get; set; } /// /// 优先级, 较低:10, 普通:20, 紧急:30, 非常紧急:40 /// [XmlElement("priority")] public Nullable Priority { get; set; } /// /// 任务来源source /// [XmlElement("source")] public string Source { get; set; } /// /// 此字段用于数据迁移的场景,表示任务在源系统中的唯一ID,ISV接入时必填,用于跳转至各自的任务详情页 /// [XmlElement("source_id")] public string SourceId { get; set; } /// /// 任务实际开始日期 /// [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; } /// /// 任务参与者列表, 传staffId(工号) /// [XmlArray("tracker_userids")] [XmlArrayItem("string")] public List TrackerUserids { get; set; } } #endregion } }