Add mocked broker client

This commit is contained in:
2025-10-09 19:12:30 +09:00
parent bb91136d42
commit 209cd79f01
32 changed files with 809 additions and 225 deletions

View File

@ -0,0 +1,112 @@
using Hcs.Broker.Api.Payload.HouseManagement;
using Hcs.Service.Async.HouseManagement;
namespace Hcs.Broker.Api
{
// http://open-gkh.ru/HouseManagementServiceAsync/
public interface IHouseManagementApi
{
/// <summary>
/// Экспорт лицевых счетов
/// </summary>
/// <param name="fiasHouseGuid">Глобальный уникальный идентификатор дома по ФИАС</param>
/// <param name="token">Токен отмены</param>
/// <returns>Лицевые счета</returns>
Task<IEnumerable<exportAccountResultType>> ExportAccountAsync(string fiasHouseGuid, CancellationToken token = default);
/// <summary>
/// Возвращает информацию о доме
/// </summary>
/// <param name="fiasHouseGuid">Глобальный уникальный идентификатор дома по ФИАС</param>
/// <param name="token">Токен отмены</param>
/// <returns>Информация о доме</returns>
Task<IEnumerable<exportHouseResultType>> ExportHouseAsync(string fiasHouseGuid, CancellationToken token = default);
/// <summary>
/// Возвращает все договора ресурсоснабжения
/// </summary>
/// <param name="token">Токен отмены</param>
/// <returns>Договора ресурсоснабжения</returns>
Task<IEnumerable<exportSupplyResourceContractResultType>> ExportSupplyResourceContractDataAsync(CancellationToken token = default);
/// <summary>
/// Возвращает договор ресурсоснабжения по его идентификатору в ГИС ЖКХ
/// </summary>
/// <param name="contractRootGuid">Идентификатор договора ресурсоснабжения в ГИС ЖКХ</param>
/// <param name="token">Токен отмены</param>
/// <returns>Договор ресурсоснабжения</returns>
Task<exportSupplyResourceContractResultType> ExportSupplyResourceContractDataAsync(Guid contractRootGuid, CancellationToken token = default);
/// <summary>
/// Возвращает договор ресурсоснабжения по номеру договора в ГИС ЖКХ
/// </summary>
/// <param name="contractNumber">Номер договора ресурсоснабжения в ГИС ЖКХ</param>
/// <param name="token">Токен отмены</param>
/// <returns>Договор ресурсоснабжения</returns>
Task<exportSupplyResourceContractResultType> ExportSupplyResourceContractDataAsync(string contractNumber, CancellationToken token = default);
/// <summary>
/// Возвращает объекты жилищного фонда из договора ресурсоснабжения по его идентификатору
/// </summary>
/// <param name="contractRootGuid">Идентификатор договора ресурсоснабжения в ГИС ЖКХ</param>
/// <param name="token">Токен отмены</param>
/// <returns>Объекты жилищного фонда</returns>
Task<IEnumerable<exportSupplyResourceContractObjectAddressResultType>> ExportSupplyResourceContractObjectAddressDataAsync(Guid contractRootGuid, CancellationToken token = default);
/// <summary>
/// Импорт лицевого счета
/// </summary>
/// <param name="payload">Пейлоад лицевого счета</param>
/// <param name="token">Токен отмены</param>
/// <returns>true, если операция выполнена успешно, иначе - false</returns>
Task<bool> ImportAccountDataAsync(ImportAccountDataPayload payload, CancellationToken token = default);
/// <summary>
/// Импорт сведений о ДУ (создание ДУ)
/// </summary>
/// <param name="payload">Пейлоад ДУ</param>
/// <param name="token">Токен отмены</param>
/// <returns>Импортированный договор</returns>
Task<importContractResultType> ImportContractDataAsync(ImportContractDataPayload payload, CancellationToken token = default);
/// <summary>
/// Импорт данных дома
/// </summary>
/// <param name="payload">Пейлоад данных дома</param>
/// <param name="token">Токен отмены</param>
/// <returns>true, если операция выполнена успешно, иначе - false</returns>
Task<bool> ImportHouseUODataAsync(ImportLivingHouseUODataPayload payload, CancellationToken token = default);
/// <summary>
/// Импорт прибора учета
/// </summary>
/// <param name="meteringDevice">Прибор учета</param>
/// <param name="token">Токен отмены</param>
/// <returns>true, если операция выполнена успешно, иначе - false</returns>
Task<bool> ImportMeteringDeviceDataAsync(MeteringDeviceFullInformationType meteringDevice, CancellationToken token = default);
/// <summary>
/// Импорт новости для информирования граждан
/// </summary>
/// <param name="payload">Пейлоад новости</param>
/// <param name="token">Токен отмены</param>
/// <returns>true, если операция выполнена успешно, иначе - false</returns>
Task<bool> ImportNotificationDataAsync(ImportNotificationDataPayload payload, CancellationToken token = default);
/// <summary>
/// Импорт договора ресурсоснабжения с РСО
/// </summary>
/// <param name="payload">Пейлоад договора ресурсоснабжения</param>
/// <param name="token">Токен отмены</param>
/// <returns>Импортированный договор</returns>
Task<getStateResultImportResultCommonResultImportSupplyResourceContract> ImportSupplyResourceContractDataAsync(ImportSupplyResourceContractDataPayload payload, CancellationToken token = default);
/// <summary>
/// Импорт проекта договора ресурсоснабжения с РСО
/// </summary>
/// <param name="payload">Пейлоад проекта договора ресурсоснабжения</param>
/// <param name="token">Токен отмены</param>
/// <returns>Импортированный проект договора</returns>
Task<getStateResultImportResultCommonResultImportSupplyResourceContractProject> ImportSupplyResourceContractProjectAsync(ImportSupplyResourceContractProjectPayload payload, CancellationToken token = default);
}
}