跳到主要内容

Platform ToDo

ToDo 已作为 Platform 子能力维护,代码位于 src/Services/Platform/FreeKit.Platform/ToDo。默认主宿主启用 PlatformModuleStartup 后即可装载,不再单独注册 ToDoModuleStartup

功能范围

  • 待办事项创建、更新、删除
  • 完成状态切换
  • 批量完成状态更新
  • 拖拽排序
  • 任务提醒时间
  • 按当前用户隔离数据

实体

ToDo

public class ToDo : FullAuditEntity
{
public string Message { get; set; }
public bool IsDone { get; set; }
public DateTime? NotificationTime { get; set; }
public int Sort { get; set; }
}

实体继承审计基类,创建人、更新时间、软删除等字段由基础设施统一提供。

API

ToDoController 仍保留历史 api/v1/ToDo 路由,Swagger 分组随 Platform 模块一起装载。

场景方法
获取任务列表GetListAsync(ToDoQuery query)
获取任务详情GetAsync(Guid id)
创建任务CreateAsync(InputToDo inputToDo)
更新任务UpdateAsync(Guid id, InputToDo inputToDo)
删除任务DeleteAsync(Guid id)
更新完成状态MakeDone(Guid id, bool isDone)
批量更新完成状态MakeDones(MakeDoneReq makeDoneReq)
排序Sort(SortToDoReq sortToDoReq)

使用示例

var todo = await todoService.CreateAsync(new InputToDo
{
Message = "完成文档整理",
NotificationTime = DateTime.Now.AddHours(2)
});
var result = await todoService.GetListAsync(new ToDoQuery
{
Message = "文档",
IsDone = false,
PageSize = 10,
PageIndex = 1
});

依赖

  • FreeSql
  • FreeScheduler
  • INotificationScheduler
  • IAuditBaseRepository<ToDo>