using Foxel.Models; using Foxel.Models.Response.Face; using Foxel.Models.Response.Picture; using Foxel.Api.Management; namespace Foxel.Services.Management; public interface IFaceManagementService { /// /// 获取所有人脸聚类(管理员) /// Task> GetFaceClustersAsync(int page = 1, int pageSize = 20); /// /// 获取指定用户的人脸聚类 /// Task> GetUserFaceClustersAsync(int userId, int page = 1, int pageSize = 20); /// /// 根据聚类ID获取相关图片(管理员) /// Task> GetPicturesByClusterAsync(int clusterId, int page = 1, int pageSize = 20); /// /// 根据聚类ID获取指定用户的相关图片 /// Task> GetUserPicturesByClusterAsync(int userId, int clusterId, int page = 1, int pageSize = 20); /// /// 更新聚类信息(管理员) /// Task UpdateClusterAsync(int clusterId, string? personName, string? description = null); /// /// 更新用户聚类信息 /// Task UpdateUserClusterAsync(int userId, int clusterId, string? personName, string? description = null); /// /// 合并两个聚类(管理员) /// Task MergeClustersAsync(int sourceClusterId, int targetClusterId); /// /// 合并用户的两个聚类 /// Task MergeUserClustersAsync(int userId, int sourceClusterId, int targetClusterId); /// /// 从聚类中移除人脸(管理员) /// Task RemoveFaceFromClusterAsync(int faceId); /// /// 从用户聚类中移除人脸 /// Task RemoveUserFaceFromClusterAsync(int userId, int faceId); /// /// 删除聚类(管理员) /// Task DeleteClusterAsync(int clusterId); /// /// 获取聚类统计信息(管理员) /// Task GetClusterStatisticsAsync(); }