diff --git a/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/Common.Shared.Application.csproj b/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/Common.Shared.Application.csproj index a8fc744..01ef372 100644 --- a/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/Common.Shared.Application.csproj +++ b/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/Common.Shared.Application.csproj @@ -7,7 +7,7 @@ Common.Shared.Application - 3.5.0 + 3.6.0 zrh-lx zrh-lx 包含所有公共使用的 DTO、契约、接口模型等,供微服务之间共享使用 diff --git a/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/SafetyFirePro/ResponseDto/SunPlaceBoardWorkOrderResDto.cs b/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/SafetyFirePro/ResponseDto/SunPlaceBoardWorkOrderResDto.cs index 50e39e4..d70ade4 100644 --- a/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/SafetyFirePro/ResponseDto/SunPlaceBoardWorkOrderResDto.cs +++ b/WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/SafetyFirePro/ResponseDto/SunPlaceBoardWorkOrderResDto.cs @@ -765,6 +765,15 @@ namespace Common.Shared.Application.SafetyFirePro.ResponseDto [JsonPropertyName("infos")] public string Infos { get; set; } = string.Empty; + + [JsonPropertyName("user")] + public UserDto? User { get; set; } + + [JsonPropertyName("report_time")] + public string Report_time { get; set; } = string.Empty; + + [JsonPropertyName("suggestions")] + public string? Suggestions { get; set; } } public class RectificationCheckItem @@ -786,9 +795,6 @@ namespace Common.Shared.Application.SafetyFirePro.ResponseDto [JsonPropertyName("user")] public UserDto? User { get; set; } - - [JsonPropertyName("suggestions")] - public string? Suggestions { get; set; } } public class UserDto diff --git a/WeiCloud.Fusion/VideoService/Video.API/Controllers/DaHua/VideoManageController.cs b/WeiCloud.Fusion/VideoService/Video.API/Controllers/DaHua/VideoManageController.cs index 8e12277..42ac510 100644 --- a/WeiCloud.Fusion/VideoService/Video.API/Controllers/DaHua/VideoManageController.cs +++ b/WeiCloud.Fusion/VideoService/Video.API/Controllers/DaHua/VideoManageController.cs @@ -181,11 +181,13 @@ namespace Video.API.Controllers.DaHua /// 操作抓拍 /// /// + /// + /// /// [HttpGet] - public async Task> InvokeSnapshot(string deviceCode, long id) + public async Task> InvokeSnapshot(string deviceCode, long id, int channelId) { - return await _dahGeneralCtlService.InvokeSnapshot(deviceCode, id); + return await _dahGeneralCtlService.InvokeSnapshot(deviceCode, id, channelId); } #endregion 大华视频处理 diff --git a/WeiCloud.Fusion/VideoService/Video.Application/RequestDto/DeviceOperationReqDto.cs b/WeiCloud.Fusion/VideoService/Video.Application/RequestDto/DeviceOperationReqDto.cs index 945df75..431a23d 100644 --- a/WeiCloud.Fusion/VideoService/Video.Application/RequestDto/DeviceOperationReqDto.cs +++ b/WeiCloud.Fusion/VideoService/Video.Application/RequestDto/DeviceOperationReqDto.cs @@ -9,12 +9,12 @@ /// public class DeviceOperationReqDto { - public DeviceOperationReqDto(string deviceCode, long id) + public DeviceOperationReqDto(string deviceCode, long id, int channelId) { DeviceCode = deviceCode; Operation = "generalJsonTransport"; - Params = JsonSerializer.Serialize(new OperationVO(deviceCode, id)); + Params = JsonSerializer.Serialize(new OperationVO(deviceCode, id, channelId)); } [JsonPropertyName("deviceCode")] @@ -32,11 +32,11 @@ /// public class OperationVO { - public OperationVO(string devID, long id) + public OperationVO(string devID, long id, int channelId) { Method = "dev.snap"; Id = id; - Params = new DeviceVO(devID); + Params = new DeviceVO(devID, channelId); } [JsonPropertyName("method")] @@ -54,9 +54,10 @@ /// public class DeviceVO { - public DeviceVO(string devID) + public DeviceVO(string devID, int channelId) { DevID = devID; + DevChannel = channelId; } [JsonPropertyName("DevID")] diff --git a/WeiCloud.Fusion/VideoService/Video.DomainService/Dahvision/DahuaGeneralCtlService.cs b/WeiCloud.Fusion/VideoService/Video.DomainService/Dahvision/DahuaGeneralCtlService.cs index f17663f..ba43488 100644 --- a/WeiCloud.Fusion/VideoService/Video.DomainService/Dahvision/DahuaGeneralCtlService.cs +++ b/WeiCloud.Fusion/VideoService/Video.DomainService/Dahvision/DahuaGeneralCtlService.cs @@ -544,7 +544,7 @@ namespace Video.DomainService /// /// /// - public async Task> InvokeSnapshot(string deviceCode, long id) + public async Task> InvokeSnapshot(string deviceCode, long id, int channelId) { DaHApiResult apiResult = new DaHApiResult() { Code = "200", Msg = "接口调用成功", Data = new SnapshotResDto() }; var clientId = _configuration["DahuaAuth:ClientId"]; @@ -557,7 +557,7 @@ namespace Video.DomainService } var url = $"https://{_configuration["DahuaAuth:Host"]}/evo-apigw/admin/API/EVO/invoke/DMS"; - DeviceOperationReqDto dto = new DeviceOperationReqDto(deviceCode, id); + DeviceOperationReqDto dto = new DeviceOperationReqDto(deviceCode, id, channelId); using var req = new HttpRequestMessage(HttpMethod.Post, url) { @@ -577,6 +577,11 @@ namespace Video.DomainService return new DaHApiResult { Success = false, Code = "1014", Msg = $"抓拍错误 {(int)resp.StatusCode}" }; } var outer = JsonSerializer.Deserialize>(body); + if (outer == null || !outer.Success) + { + _logger.LogWarning("抓拍请求业务失败: {Body}", body); + return new DaHApiResult { Success = false, Code = "1013", Msg = "抓拍请求失败" }; + } var result = JsonSerializer.Deserialize(outer.Data); if (result == null) { diff --git a/WeiCloud.Fusion/VideoService/Video.DomainService/Dahvision/IDahuaGeneralCtlService.cs b/WeiCloud.Fusion/VideoService/Video.DomainService/Dahvision/IDahuaGeneralCtlService.cs index 202335f..d9814ce 100644 --- a/WeiCloud.Fusion/VideoService/Video.DomainService/Dahvision/IDahuaGeneralCtlService.cs +++ b/WeiCloud.Fusion/VideoService/Video.DomainService/Dahvision/IDahuaGeneralCtlService.cs @@ -63,6 +63,6 @@ namespace Video.DomainService /// Task Download(DownloadReqDto dto); - Task> InvokeSnapshot(string deviceCode, long id); + Task> InvokeSnapshot(string deviceCode, long id, int channelId); } } \ No newline at end of file