跳转至

消息提醒

功能描述

任务管理器接口提供任务全生命周期管理(添加、激活、更新、标记已读、删除),支持单条或批量任务操作。

接口列表

添加一个任务

功能描述

向系统中添加单条任务信息。

接口定义

void AddTask(UserTask task);

参数

参数名称 是否必填 类型 描述
task H3.Task.UserTask 待添加的任务信息对象,需包含任务标题、接收人、任务类型、关联业务对象等核心属性。

返回值

无。

示例

H3.Task.UserTask task = new H3.Task.UserTask();
string appId = "D000024corporateCulture";
task.AppCode = appId;
task.SchemaCode = "D000024chuangjian";
task.ObjectId = Guid.NewGuid().ToString();
task.Sender = H3.Organization.User.SystemUserId;
task.UserId = this.Request.UserContext.UserId;
task.TaskType = H3.Task.TaskType.Reminder;
task.TargetType = H3.LinkTargetType.BizObject;
task.TargetId = this.Request.BizObjectId;
task.TargetName = this.Request.BizObject.Name;
task.Name = "您的客户跟进日期快要到了,请尽快跟进!";
task.Summary = "您的客户跟进日期快要到了,请尽快跟进!";
task.AlertTime = DateTime.Now;
task.ReminderType = H3.Task.ReminderType.Once;
task.StartTime = DateTime.Now;
task.EndTime = DateTime.Now;
task.TaskState = H3.Task.TaskState.Unfinished;
task.AlertState = H3.Task.AlertState.Waiting;
this.Request.Engine.TaskManager.AddTask(task);

激活一个任务

功能描述

根据任务 ID 激活指定任务。

接口定义

void ActivateTask(string taskId);

参数

参数名称 是否必填 类型 描述
taskId string 待激活任务的唯一标识 ID。

返回值

无。

示例

this.Engine.TaskManager.ActivateTask("taskId");

批量添加任务

功能描述

向系统中批量添加多条任务信息。

接口定义

void AddTasks(UserTask[] tasks);

参数

参数名称 是否必填 类型 描述
tasks H3.Task.UserTask[] 待添加的任务信息数组,数组中每个元素需符合 UserTask 数据规范;若数组为空,不执行任何添加操作。

返回值

无。

示例

H3.Task.UserTask task = new H3.Task.UserTask();
string appId = "D000024corporateCulture";
task.AppCode = appId;
task.SchemaCode = "D000024chuangjian";
task.ObjectId = Guid.NewGuid().ToString();
task.Sender = H3.Organization.User.SystemUserId;
task.UserId = this.Request.UserContext.UserId;
task.TaskType = H3.Task.TaskType.Reminder;
task.TargetType = H3.LinkTargetType.BizObject;
task.TargetId = this.Request.BizObjectId;
task.TargetName = this.Request.BizObject.Name;
task.Name = "您的客户跟进日期快要到了,请尽快跟进!";
task.Summary = "您的客户跟进日期快要到了,请尽快跟进!";
task.AlertTime = DateTime.Now;
task.ReminderType = H3.Task.ReminderType.Once;
task.StartTime = DateTime.Now;
task.EndTime = DateTime.Now;
task.TaskState = H3.Task.TaskState.Unfinished;
task.AlertState = H3.Task.AlertState.Waiting;

H3.Task.UserTask[] tasks = new H3.Task.UserTask[] { task };
this.Request.Engine.TaskManager.AddTasks(tasks);

更新任务

功能描述

根据传入的任务对象更新系统中已存在的任务信息。

接口定义

void UpdateTask(UserTask task);

参数

参数名称 是否必填 类型 描述
task H3.Task.UserTask 含更新后属性的任务对象,需包含有效任务 ID 以定位待更新任务。

返回值

无。

示例

H3.Task.UserTask task = this.Engine.TaskManager.GetTask("taskId");
this.Engine.TaskManager.UpdateTask(task);

标记已读(按任务 ID 集合)

功能描述

将指定任务 ID 集合中的任务标记为“已读”状态。

接口定义

void ReadTask(string[] objectIds);

参数

极参数名称 是否必填 类型 描述
objectIds string[] 待标记已读的任务 ID 集合;若集合为空,不执行任何标记操作。

返回值

无。

示例

string[] taskIds = new string[] {"taskId1", "taskId2"};
this.Engine.TaskManager.ReadTask(taskIds);

标记已读(按用户 + 业务编码)

功能描述

将指定用户名下关联特定业务编码的所有任务标记为“已读”状态。

接口定义

void ReadTask(string userId, string[] schemaCodes);

参数

参数名称 是否必填 类型 描述
userId string 任务所属用户的唯一标识 ID。
schemaCodes string[] 业务编码集合(如表单编码、模块编码),用于筛选该业务下的任务;若集合为空,不执行任何标记操作。

返回值

无。

示例

this.Engine.TaskManager.ReadTask("userId", new string[] {"schemaCode1", "schemaCode2"});

标记全部已读

功能描述

将指定用户名下的所有任务标记为“已读”状态。

接口定义

void ReadAllTask(string userId);

参数

参数名称 是否必填 类型 描述
userId string 任务所属用户的唯一标识 ID。

返回值

无。

示例

this.Engine.TaskManager.ReadAllTask("userId");

获得一个任务

功能描述

根据任务 ID 查询系统中对应的任务详情。

接口定义

UserTask GetTask(string taskId);

参数

参数名称 是否必填 类型 描述
taskId string 待查询任务的唯一标识 ID。

返回值

类型 描述
UserTask 若任务 ID 存在,返回对应的任务详情对象;否则返回 null

示例

H3.Task.UserTask task = this.Engine.TaskManager.GetTask("taskId");

删除任务(按任务 ID)

功能描述

根据任务 ID 删除指定任务。

接口定义

ErrorCode RemoveTaskById(string taskId);

参数

参数名称 是否必填 类型 描述
taskId string 待删除任务的唯一标识 ID。

返回值

类型 描述
ErrorCode 错误代码枚举,Success 表示删除成功,其他枚举值表示删除失败。

示例

H3.ErrorCode errorCode = this.Engine.TaskManager.RemoveTaskById("taskId");

删除任务(按任务对象)

功能描述

根据传入的任务对象删除系统中对应的任务。

接口定义

ErrorCode RemoveTask(UserTask task);

参数

参数名称 是否必填 类型 描述
task H3.Task.UserTask 待删除的任务对象,需包含有效任务 ID 以定位待删除任务。

返回值

类型 描述
ErrorCode 错误代码枚举,Success 表示删除成功,其他枚举值表示删除失败。

示例

H3.Task.UserTask task = this.Engine.TaskManager.GetTask("taskId");
this.Engine.TaskManager.RemoveTask(task);

根据规则删除任务

功能描述

删除所有关联指定提醒规则 ID 的任务。

接口定义

void RemoveTasksByRuleId(string ruleId);

参数

参数名称 是否必填 类型 描述
ruleId string 任务提醒规则的唯一标识 ID。

返回值

无。

示例

this.Engine.TaskManager.RemoveTasksByRuleId("ruleId");

结束一个对象的所有相关任务

功能描述

将关联指定业务对象 ID 的所有任务标记为“结束”状态。

接口定义

void FinishTaskByTarget(string targetId);

参数

参数名称 是否必填 类型 描述
targetId string 业务对象的唯一标识 ID。

返回值

无。

示例

H3.Task.UserTask task = this.Engine.TaskManager.GetTask("taskId");
this.Engine.TaskManager.FinishTaskByTarget(task.TargetId);

删除某些对象相关的所有任务

功能描述

物理删除指定业务编码下关联特定业务对象 ID 集合的所有任务。

接口定义

void RemoveTasksByTargets(string schemaCode, string[] targetIds);

参数

参数名称 是否必填 类型 描述
schemaCode string 业务编码(如表单编码、模块编码),用于筛选该业务下的任务。
targetIds string[] 业务对象 ID 集合,用于筛选关联这些对象的任务;若集合为空,不执行任何删除操作。

返回值

无。

示例

this.Engine.TaskManager.RemoveTasksByTargets("schemaCode", 
                                             new string[] {"targetId1", "targetId2"});

获取提醒规则

功能描述

获得指定表单所有的提醒规则。

接口定义

UserTaskRule[] GetTaskRules(string schemaCode);

参数

参数名称 是否必填 类型 描述
schemaCode string 表单编码。

返回值

类型 描述
H3.Task.UserTaskRule[] 若存在提醒规则,则返回该表单所有的消息提醒规则;否则返回 null

示例

H3.Task.UserTaskRule[] taskRules = this.Engine.TaskManager.GetTaskRules("schemaCode");