feat(api): StatRobotState в БД записывается ip робота
This commit is contained in:
@@ -5,5 +5,7 @@
|
|||||||
public DateTimeOffset Date { get; set; }
|
public DateTimeOffset Date { get; set; }
|
||||||
|
|
||||||
public int IsUp { get; set; }
|
public int IsUp { get; set; }
|
||||||
|
|
||||||
|
public string? Ip { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ using PARR.API.Contracts.V1.Requests.Queries;
|
|||||||
using PARR.API.Contracts.V1.Responses.Base;
|
using PARR.API.Contracts.V1.Responses.Base;
|
||||||
using PARR.API.Contracts.V1.Responses.Statistics;
|
using PARR.API.Contracts.V1.Responses.Statistics;
|
||||||
using PARR.API.Controllers.V1.Base;
|
using PARR.API.Controllers.V1.Base;
|
||||||
|
using PARR.API.Services.Interfaces;
|
||||||
using PARR.API.Settings;
|
using PARR.API.Settings;
|
||||||
using PARR.Constants;
|
using PARR.Constants;
|
||||||
using PARR.DAL.InfluxDbServices;
|
using PARR.DAL.InfluxDbServices;
|
||||||
@@ -26,18 +27,21 @@ namespace PARR.API.Controllers.V1.Statistics
|
|||||||
private readonly IValidator<RobotStateRequest> validator;
|
private readonly IValidator<RobotStateRequest> validator;
|
||||||
private readonly InfluxDbSettings influxDbSettings;
|
private readonly InfluxDbSettings influxDbSettings;
|
||||||
private readonly MonitoringSettings monitoringSettings;
|
private readonly MonitoringSettings monitoringSettings;
|
||||||
|
private readonly IClientService clientService;
|
||||||
|
|
||||||
public StatRobotStateController(
|
public StatRobotStateController(
|
||||||
IInfluxDbService influxDbService,
|
IInfluxDbService influxDbService,
|
||||||
IValidator<RobotStateRequest> validator,
|
IValidator<RobotStateRequest> validator,
|
||||||
InfluxDbSettings influxDbSettings,
|
InfluxDbSettings influxDbSettings,
|
||||||
MonitoringSettings monitoringSettings
|
MonitoringSettings monitoringSettings,
|
||||||
|
IClientService clientService
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this.influxDbService = influxDbService;
|
this.influxDbService = influxDbService;
|
||||||
this.validator = validator;
|
this.validator = validator;
|
||||||
this.influxDbSettings = influxDbSettings;
|
this.influxDbSettings = influxDbSettings;
|
||||||
this.monitoringSettings = monitoringSettings;
|
this.monitoringSettings = monitoringSettings;
|
||||||
|
this.clientService = clientService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -81,7 +85,8 @@ namespace PARR.API.Controllers.V1.Statistics
|
|||||||
table.Records.Select(record => new StatRobotStateResponse
|
table.Records.Select(record => new StatRobotStateResponse
|
||||||
{
|
{
|
||||||
Date = (DateTimeOffset)record.GetTimeInDateTime(),
|
Date = (DateTimeOffset)record.GetTimeInDateTime(),
|
||||||
IsUp = int.Parse(record.GetValue()?.ToString() ?? "0")
|
IsUp = int.Parse(record.GetValue()?.ToString() ?? "0"),
|
||||||
|
Ip = record.GetValueByKey("ip")?.ToString()
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
}, influxDbSettings.Robots!.Token);
|
}, influxDbSettings.Robots!.Token);
|
||||||
@@ -112,6 +117,7 @@ namespace PARR.API.Controllers.V1.Statistics
|
|||||||
{
|
{
|
||||||
var point = PointData.Measurement("robots")
|
var point = PointData.Measurement("robots")
|
||||||
.Tag("robot", request.Robot.ToString())
|
.Tag("robot", request.Robot.ToString())
|
||||||
|
.Tag("ip", clientService.GetClientIp()?.ToString())
|
||||||
//.Field("robot", (int)request.Robot)
|
//.Field("robot", (int)request.Robot)
|
||||||
.Field("isUp", 1)
|
.Field("isUp", 1)
|
||||||
.Timestamp(DateTime.UtcNow, WritePrecision.Ns);
|
.Timestamp(DateTime.UtcNow, WritePrecision.Ns);
|
||||||
|
|||||||
Reference in New Issue
Block a user