using Hotline.Share.Dtos.Snapshot;
using SqlSugar;

namespace Hotline.Application.Snapshot.Contracts;

public interface ISnapshotUserApplication
{
    ISugarQueryable<CitizenRelationSafetyTypeOutDto> GetCitizenRelationSafetyType(CitizenRelationSafetyTypeInDto dto);

    /// <summary>
    /// 添加安全员类型和市民关系
    /// </summary>
    /// <param name="dto"></param>
    /// <param name="token"></param>
    /// <returns></returns>
    Task AddCitizenRelationSafetyType(AddCitizenRelationSafetyTypeInDto dto, CancellationToken token);

    /// <summary>
    /// 删除关系
    /// </summary>
    /// <param name="dto"></param>
    /// <returns></returns>
    Task DeleteCitizenRelationSafetyAsync(DeleteCitizenRelationSafetyTypeInDto dto);

    /// <summary>
    /// 获取第三方市民列表
    /// </summary>
    /// <param name="dto"></param>
    /// <returns></returns>
    ISugarQueryable<GetThirdCitizenOutDto> GetThirdCitizenAsync(GetThirdCitizenInDto dto);
}