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
INotificationSchedulerIAuditBaseRepository<ToDo>