forked from ddrilling/AsbCloudServer
doc AsbCloudApp
This commit is contained in:
parent
b826962ed1
commit
ff357f2794
@ -9,7 +9,7 @@ namespace AsbCloudApp.Comparators
|
||||
/// </summary>
|
||||
public class ComparerIId : IComparer<IId>, IEqualityComparer<IId>
|
||||
{
|
||||
private static readonly ComparerIId instance = new ComparerIId();
|
||||
private static readonly ComparerIId instance = new ();
|
||||
private ComparerIId() { }
|
||||
|
||||
/// <summary>
|
||||
|
@ -52,12 +52,12 @@ namespace AsbCloudApp.Data.DetectedOperation
|
||||
/// <summary>
|
||||
/// название/описание операции
|
||||
/// </summary>
|
||||
public WellOperationCategoryDto OperationCategory { get; set; }
|
||||
public WellOperationCategoryDto OperationCategory { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// Пользователь панели оператора
|
||||
/// </summary>
|
||||
public string TelemetryUserName { get; set; }
|
||||
public string? TelemetryUserName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Бурильщик
|
||||
|
@ -121,6 +121,7 @@ namespace AsbCloudApp.Data
|
||||
public int CompareTo(TimeDto other)
|
||||
=> TotalSeconds - other.TotalSeconds;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (ReferenceEquals(this, obj))
|
||||
@ -141,6 +142,7 @@ namespace AsbCloudApp.Data
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return base.GetHashCode();
|
||||
|
@ -5,14 +5,49 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace AsbCloudApp.Services
|
||||
{
|
||||
/// <summary>
|
||||
/// Сервис авторизации
|
||||
/// </summary>
|
||||
public interface IAuthService
|
||||
{
|
||||
/// <summary>
|
||||
/// Смена пароля пользователю
|
||||
/// </summary>
|
||||
/// <param name="idUser"></param>
|
||||
/// <param name="newPassword"></param>
|
||||
/// <returns></returns>
|
||||
int ChangePassword(int idUser, string newPassword);
|
||||
|
||||
/// <summary>
|
||||
/// Смена пароля пользователю
|
||||
/// </summary>
|
||||
/// <param name="userLogin"></param>
|
||||
/// <param name="newPassword"></param>
|
||||
/// <returns></returns>
|
||||
int ChangePassword(string userLogin, string newPassword);
|
||||
|
||||
/// <summary>
|
||||
/// Авторизация
|
||||
/// </summary>
|
||||
/// <param name="login"></param>
|
||||
/// <param name="password"></param>
|
||||
/// <param name="token">токен отмены задачи</param>
|
||||
/// <returns></returns>
|
||||
Task<UserTokenDto> LoginAsync(string login,
|
||||
string password, CancellationToken token = default);
|
||||
|
||||
/// <summary>
|
||||
/// Обновление токена авторизации
|
||||
/// </summary>
|
||||
/// <param name="user"></param>
|
||||
/// <returns></returns>
|
||||
string Refresh(ClaimsPrincipal user);
|
||||
|
||||
/// <summary>
|
||||
/// Регистрация нового пользователя
|
||||
/// </summary>
|
||||
/// <param name="userDto"></param>
|
||||
/// <returns></returns>
|
||||
int Register(UserRegistrationDto userDto);
|
||||
}
|
||||
}
|
@ -4,19 +4,47 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace AsbCloudApp.Services
|
||||
{
|
||||
/// <summary>
|
||||
/// Сервис выстраивает очередь из фоновых задач. Ограничивает количество одновременно выполняющихся задач.
|
||||
/// </summary>
|
||||
public interface IBackgroundWorkerService
|
||||
{
|
||||
/// <summary>
|
||||
/// Проверка, есть ли задача в очереди
|
||||
/// </summary>
|
||||
/// <param name="id">идентификатор задачи</param>
|
||||
/// <returns></returns>
|
||||
bool Contains(string id);
|
||||
|
||||
/// <summary>
|
||||
/// Добавляет в очередь задач новую задачу
|
||||
/// </summary>
|
||||
/// <param name="id">id задачи в очереди</param>
|
||||
/// <param name="id">идентификатор задачи</param>
|
||||
/// <param name="func">делегат</param>
|
||||
/// <returns>id задачи в очереди</returns>
|
||||
string Enqueue(string id, Func<string, CancellationToken, Task> func);
|
||||
|
||||
/// <summary>
|
||||
/// Добавляет в очередь задач новую задачу
|
||||
/// </summary>
|
||||
/// <param name="func"></param>
|
||||
/// <returns></returns>
|
||||
string Enqueue(Func<string, CancellationToken, Task> func);
|
||||
|
||||
/// <summary>
|
||||
/// Добавляет в очередь задач новую задачу
|
||||
/// </summary>
|
||||
/// <param name="id">идентификатор задачи</param>
|
||||
/// <param name="func"></param>
|
||||
/// <param name="onError"></param>
|
||||
/// <returns></returns>
|
||||
string Enqueue(string id, Func<string, CancellationToken, Task> func, Func<string, Exception, CancellationToken, Task> onError);
|
||||
|
||||
/// <summary>
|
||||
/// Пробуем удалить задачу по идентификатору
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
bool TryRemove(string id);
|
||||
}
|
||||
}
|
@ -5,16 +5,57 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace AsbCloudApp.Services
|
||||
{
|
||||
//TODO: remove unused methods
|
||||
|
||||
/// <summary>
|
||||
/// Сервис информации о кустах
|
||||
/// </summary>
|
||||
public interface IClusterService
|
||||
{
|
||||
/// <summary>
|
||||
/// список месторождений
|
||||
/// </summary>
|
||||
/// <param name="idCompany"></param>
|
||||
/// <param name="token"></param>
|
||||
/// <returns></returns>
|
||||
Task<IEnumerable<DepositDto>> GetDepositsAsync(int idCompany,
|
||||
CancellationToken token);
|
||||
|
||||
/// <summary>
|
||||
/// Список кустов с заполненными параметрами бурения
|
||||
/// </summary>
|
||||
/// <param name="idCompany"></param>
|
||||
/// <param name="token"></param>
|
||||
/// <returns></returns>
|
||||
Task<IEnumerable<DepositDto>> GetDepositsDrillParamsAsync(int idCompany,
|
||||
CancellationToken token = default);
|
||||
|
||||
/// <summary>
|
||||
/// Список кустов месторождения доступных компании
|
||||
/// </summary>
|
||||
/// <param name="idCompany"></param>
|
||||
/// <param name="depositId"></param>
|
||||
/// <param name="token"></param>
|
||||
/// <returns></returns>
|
||||
Task<IEnumerable<ClusterDto>> GetClustersAsync(int idCompany,
|
||||
int depositId, CancellationToken token);
|
||||
|
||||
/// <summary>
|
||||
/// Список кустов доступных компании
|
||||
/// </summary>
|
||||
/// <param name="idCompany"></param>
|
||||
/// <param name="token"></param>
|
||||
/// <returns></returns>
|
||||
Task<IEnumerable<ClusterDto>> GetClustersAsync(int idCompany,
|
||||
CancellationToken token);
|
||||
|
||||
/// <summary>
|
||||
/// Список скважин доступных компании
|
||||
/// </summary>
|
||||
/// <param name="idCompany"></param>
|
||||
/// <param name="clusterId"></param>
|
||||
/// <param name="token"></param>
|
||||
/// <returns></returns>
|
||||
Task<IEnumerable<WellDto>> GetWellsAsync(int idCompany,
|
||||
int clusterId, CancellationToken token);
|
||||
}
|
||||
|
@ -7,8 +7,12 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace AsbCloudApp.Services
|
||||
{
|
||||
/// <summary>
|
||||
/// Суточный рапорт (сводка)
|
||||
/// </summary>
|
||||
public interface IDailyReportService
|
||||
{
|
||||
{
|
||||
|
||||
Task<IEnumerable<DailyReportDto>> GetListAsync(int idWell, DateTime? v1, DateTime? v2, CancellationToken cancellationToken);
|
||||
Task<DailyReportDto> GetOrGenerateAsync(int idWell, DateTime date, CancellationToken token);
|
||||
Task<int> AddAsync(int idWell, DailyReportDto dto, CancellationToken token = default);
|
||||
|
@ -9,12 +9,50 @@ using System.Threading.Tasks;
|
||||
namespace AsbCloudApp.Services
|
||||
{
|
||||
#nullable enable
|
||||
/// <summary>
|
||||
/// Сервис автоматически определенных по телеметрии операций
|
||||
/// </summary>
|
||||
public interface IDetectedOperationService
|
||||
{
|
||||
/// <summary>
|
||||
/// Список названий операций.
|
||||
/// Если указан idWell, то возвращается список названий операций найденных на указанной скважине.
|
||||
/// </summary>
|
||||
/// <param name="idWell"></param>
|
||||
/// <param name="token"></param>
|
||||
/// <returns></returns>
|
||||
Task<IEnumerable<WellOperationCategoryDto>?> GetCategoriesAsync(int? idWell, CancellationToken token);
|
||||
|
||||
/// <summary>
|
||||
/// Получить автоматически определенные по телеметрии операции с анализом по бурильщикам
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="token"></param>
|
||||
/// <returns></returns>
|
||||
Task<DetectedOperationListDto?> GetAsync(DetectedOperationRequest request, CancellationToken token);
|
||||
|
||||
/// <summary>
|
||||
/// Удалить операции
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="token"></param>
|
||||
/// <returns></returns>
|
||||
Task<int> DeleteAsync(DetectedOperationRequest request, CancellationToken token);
|
||||
|
||||
/// <summary>
|
||||
/// Статистика по операциям
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="token"></param>
|
||||
/// <returns></returns>
|
||||
Task<IEnumerable<DetectedOperationStatDto>?> GetOperationsStatAsync(DetectedOperationRequest request, CancellationToken token);
|
||||
|
||||
/// <summary>
|
||||
/// Выгрузка в Excel
|
||||
/// </summary>
|
||||
/// <param name="idsWells"></param>
|
||||
/// <param name="token"></param>
|
||||
/// <returns></returns>
|
||||
Task<Stream> ExportAsync(IEnumerable<int> idsWells, CancellationToken token);
|
||||
}
|
||||
#nullable disable
|
||||
|
@ -131,7 +131,7 @@ namespace AsbCloudWebApi.Tests.ServicesTests
|
||||
request = new DetectedOperationRequest
|
||||
{
|
||||
IdWell = 1,
|
||||
IdCategory = 1
|
||||
IdsCategories = new int[] { 1 },
|
||||
};
|
||||
AsbCloudInfrastructure.DependencyInjection.MapsterSetup();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user