消息提醒
功能描述
任务管理器接口提供任务全生命周期管理(添加、激活、更新、标记已读、删除),支持单条或批量任务操作。
接口列表
添加一个任务
功能描述
向系统中添加单条任务信息。
接口定义
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");