新增功能

pull/30/head
刘鑫 2 months ago
parent 7575ab17b7
commit 3b2efcd689
  1. 1
      WeiCloud.Fusion/AspireApp/Manage.AppHost.AppHost/AppHost.cs
  2. 2
      WeiCloud.Fusion/AspireApp/Manage.AppHost.AppHost/Manage.AppHost.AppHost.csproj
  3. 2
      WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/Common.Shared.Application.csproj
  4. 6
      WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/SafetyFirePro/ResponseDto/SunPalaceBoardResDto.cs
  5. 519
      WeiCloud.Fusion/Common.SharedService/Common.Shared.Application/SafetyFirePro/ResponseDto/SunPlaceBoardWorkOrderResDto.cs
  6. 43
      WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.API/Controllers/ShenZhouShengAn/SunPalaceBoardSafetyController.cs
  7. 39
      WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.Application/ShenZhouShengAn/RequestDto/ThirdPartyProviderQueryDto.cs
  8. 2
      WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/PuCe/SunPlaceBoardWorkOrderService.cs
  9. 17
      WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/ShenZhouShengAn/ISunPalaceBoardSafetyService.cs
  10. 166
      WeiCloud.Fusion/ThirdPartyServices/ThirdPartyServices.DomainService/ShenZhouShengAn/SunPalaceBoardSafetyService.cs

@ -11,7 +11,6 @@ builder.AddProject<Projects.Manage_AppHost_Web>("webfrontend")
.WithReference(videoapi)
.WithReference(alarmapi)
.WithReference(thirdpartyapi)
.WithExternalHttpEndpoints()
.WithHttpHealthCheck("/health")
.WithReference(apiService)

@ -7,7 +7,7 @@
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<UserSecretsId>3cf59eab-e561-4b70-8cf1-44e4e9958796</UserSecretsId>
</PropertyGroup>
<ItemGroup>

@ -7,7 +7,7 @@
</PropertyGroup>
<PropertyGroup>
<PackageId>Common.Shared.Application</PackageId>
<Version>2.5.0</Version>
<Version>2.6.0</Version>
<Authors>zrh-lx</Authors>
<Company>zrh-lx</Company> <!-- 可选 -->
<Description>包含所有公共使用的 DTO、契约、接口模型等,供微服务之间共享使用</Description>

@ -618,7 +618,7 @@ namespace Common.Shared.Application.SafetyFirePro.ResponseDto
public string PrevPageUrl { get; set; }
[JsonPropertyName("to")]
public int To { get; set; }
public int? To { get; set; }
[JsonPropertyName("total")]
public int Total { get; set; }
@ -872,6 +872,7 @@ namespace Common.Shared.Application.SafetyFirePro.ResponseDto
}
#region 私有辅助方法:统一处理JsonElement(数字/字符串)转double
/// <summary>
/// 兼容「数字类型」和「字符串类型」的JsonElement,解析为double
/// 例:116.079126 → 116.079126;"116.079126" → 116.079126
@ -888,6 +889,7 @@ namespace Common.Shared.Application.SafetyFirePro.ResponseDto
_ => (result = 0, false).Item2
};
}
#endregion
#endregion 私有辅助方法:统一处理JsonElement(数字/字符串)转double
}
}

@ -685,6 +685,525 @@ namespace Common.Shared.Application.SafetyFirePro.ResponseDto
#endregion 危险施工作业响应体
#region 隐患详情数据
/// <summary>
/// 隐患数据主对象
/// </summary>
public class HazardDataDto
{
/// <summary>
/// 隐患核查结果信息列表
/// </summary>
[JsonPropertyName("check")]
public List<HazardCheckResult>? CheckResults { get; set; }
/// <summary>
/// 隐患描述
/// </summary>
[JsonPropertyName("describe")]
public string Description { get; set; } = string.Empty;
/// <summary>
/// 隐患相关风险点信息(如果有)
/// </summary>
[JsonPropertyName("equipment")]
public HazardEquipment? Equipment { get; set; }
/// <summary>
/// 风险等级信息
/// </summary>
[JsonPropertyName("risk")]
public RiskLevelInfo? Risk { get; set; }
/// <summary>
/// 风险点责任人信息列表
/// </summary>
[JsonPropertyName("users")]
public List<ResponsiblePerson>? ResponsiblePersons { get; set; }
/// <summary>
/// 隐患整改及验收信息列表
/// </summary>
[JsonPropertyName("rectifications")]
public List<RectificationInfo>? Rectifications { get; set; }
/// <summary>
/// 隐患发生区域
/// </summary>
[JsonPropertyName("region")]
public RegionInfo? Region { get; set; }
/// <summary>
/// 隐患上报情况
/// </summary>
[JsonPropertyName("register")]
public HazardRegister? Register { get; set; }
/// <summary>
/// 隐患状态,0待核查,1待整改,2待验收,3治理完毕,4不是隐患
/// </summary>
[JsonPropertyName("status")]
public int Status { get; set; }
}
/// <summary>
/// 隐患核查结果信息
/// </summary>
public class HazardCheckResult
{
/// <summary>
/// 隐患一级分类信息
/// </summary>
[JsonPropertyName("cate")]
public CategoryInfo? Category { get; set; }
/// <summary>
/// 隐患二级分类信息
/// </summary>
[JsonPropertyName("cate_sub")]
public CategoryInfo? SubCategory { get; set; }
/// <summary>
/// 核查情况说明
/// </summary>
[JsonPropertyName("remark")]
public string Remark { get; set; } = string.Empty;
/// <summary>
/// 核查时间
/// </summary>
[JsonPropertyName("report_time")]
public DateTime ReportTime { get; set; }
/// <summary>
/// 核查结果,0待核查,1是隐患,2不是隐患,3提交上级部门核查
/// </summary>
[JsonPropertyName("status")]
public int Status { get; set; }
/// <summary>
/// 核查人信息
/// </summary>
[JsonPropertyName("user")]
public CheckUserInfo? User { get; set; }
}
/// <summary>
/// 核查人信息
/// </summary>
public class CheckUserInfo
{
/// <summary>
/// 核查人部门信息列表
/// </summary>
[JsonPropertyName("branch")]
public List<DepartmentInfo>? Departments { get; set; }
/// <summary>
/// 核查人额外信息
/// </summary>
[JsonPropertyName("extras")]
public UserExtras? Extras { get; set; }
}
/// <summary>
/// 部门信息
/// </summary>
public class DepartmentInfo
{
/// <summary>
/// 部门详情
/// </summary>
[JsonPropertyName("branch")]
public DepartmentDetail? Branch { get; set; }
}
/// <summary>
/// 部门详情
/// </summary>
public class DepartmentDetail
{
/// <summary>
/// 部门名称
/// </summary>
[JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
}
/// <summary>
/// 用户额外信息
/// </summary>
public class UserExtras
{
/// <summary>
/// 姓名
/// </summary>
[JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
}
/// <summary>
/// 隐患相关风险点信息
/// </summary>
public class HazardEquipment
{
/// <summary>
/// 责任部门
/// </summary>
[JsonPropertyName("branch")]
public DepartmentDetail? Branch { get; set; }
/// <summary>
/// 风险点名称
/// </summary>
[JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 所在区域
/// </summary>
[JsonPropertyName("region")]
public RegionInfo? Region { get; set; }
}
/// <summary>
/// 区域信息
/// </summary>
public class RegionInfo
{
/// <summary>
/// 区域名称
/// </summary>
[JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
}
/// <summary>
/// 风险等级信息
/// </summary>
public class RiskLevelInfo
{
/// <summary>
/// 责任部门信息
/// </summary>
[JsonPropertyName("branch")]
public RiskBranchInfo? Branch { get; set; }
/// <summary>
/// 风险等级ID
/// </summary>
[JsonPropertyName("id")]
public int Id { get; set; }
/// <summary>
/// 风险等级名称
/// </summary>
[JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
}
/// <summary>
/// 风险点责任部门信息
/// </summary>
public class RiskBranchInfo
{
/// <summary>
/// 风险点管控层级
/// </summary>
[JsonPropertyName("branch_level")]
public LevelInfo? BranchLevel { get; set; }
}
/// <summary>
/// 层级信息
/// </summary>
public class LevelInfo
{
/// <summary>
/// 层级名称(如岗位级)
/// </summary>
[JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
}
/// <summary>
/// 风险点责任人信息
/// </summary>
public class ResponsiblePerson
{
/// <summary>
/// 责任人详情
/// </summary>
[JsonPropertyName("users")]
public PersonDetail? Users { get; set; }
}
/// <summary>
/// 人员详情
/// </summary>
public class PersonDetail
{
/// <summary>
/// 姓名
/// </summary>
[JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
}
/// <summary>
/// 隐患整改及验收信息
/// </summary>
public class RectificationInfo
{
/// <summary>
/// 整改责任部门
/// </summary>
[JsonPropertyName("branch")]
public DepartmentDetail? Branch { get; set; }
/// <summary>
/// 本次整改验收信息
/// </summary>
[JsonPropertyName("check")]
public RectificationCheck? Check { get; set; }
/// <summary>
/// 整改人所选验收人姓名
/// </summary>
[JsonPropertyName("check_user")]
public string CheckUser { get; set; } = string.Empty;
/// <summary>
/// 隐患整改图片列表
/// </summary>
[JsonPropertyName("file")]
public List<FileInfo>? Files { get; set; }
/// <summary>
/// 整改完成时间
/// </summary>
[JsonPropertyName("finish_time")]
public DateTime FinishTime { get; set; }
/// <summary>
/// 整改投入资金(元)
/// </summary>
[JsonPropertyName("funds")]
public string Funds { get; set; } = string.Empty;
/// <summary>
/// 整改措施
/// </summary>
[JsonPropertyName("measures_desc")]
public string MeasuresDescription { get; set; } = string.Empty;
/// <summary>
/// 整改情况
/// </summary>
[JsonPropertyName("infos")]
public string Infos { get; set; } = string.Empty;
}
/// <summary>
/// 整改验收信息
/// </summary>
public class RectificationCheck
{
/// <summary>
/// 整改验收时间
/// </summary>
[JsonPropertyName("cend_time")]
public DateTime CheckEndTime { get; set; }
/// <summary>
/// 验收图片或文件列表
/// </summary>
[JsonPropertyName("file")]
public List<FileInfo>? Files { get; set; }
/// <summary>
/// 验收意见
/// </summary>
[JsonPropertyName("remark")]
public string Remark { get; set; } = string.Empty;
/// <summary>
/// 验收结果,1通过,2不通过
/// </summary>
[JsonPropertyName("status")]
public string Status { get; set; } = string.Empty;
/// <summary>
/// 验收人姓名
/// </summary>
[JsonPropertyName("check_user")]
public string CheckUser { get; set; } = string.Empty;
}
/// <summary>
/// 文件信息
/// </summary>
public class FileInfo
{
/// <summary>
/// 文件名称
/// </summary>
[JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 文件路径
/// </summary>
[JsonPropertyName("paths")]
public string Path { get; set; } = string.Empty;
}
/// <summary>
/// 隐患上报情况
/// </summary>
public class HazardRegister
{
/// <summary>
/// 隐患一级分类信息
/// </summary>
[JsonPropertyName("cate")]
public CategoryInfo? Category { get; set; }
/// <summary>
/// 隐患二级分类信息
/// </summary>
[JsonPropertyName("cate_sub")]
public CategoryInfo? SubCategory { get; set; }
/// <summary>
/// 所选核查人姓名
/// </summary>
[JsonPropertyName("check_user")]
public string CheckUser { get; set; } = string.Empty;
/// <summary>
/// 隐患图片列表
/// </summary>
[JsonPropertyName("file")]
public List<FileInfo>? Files { get; set; }
/// <summary>
/// 隐患情况描述
/// </summary>
[JsonPropertyName("infos")]
public string Infos { get; set; } = string.Empty;
/// <summary>
/// 隐患上报人信息
/// </summary>
[JsonPropertyName("user")]
public ReporterInfo? User { get; set; }
}
/// <summary>
/// 分类信息
/// </summary>
public class CategoryInfo
{
/// <summary>
/// 分类名称
/// </summary>
[JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
}
/// <summary>
/// 上报人信息
/// </summary>
public class ReporterInfo
{
/// <summary>
/// 姓名
/// </summary>
[JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
}
#endregion 隐患详情数据
#region 危害辨识度数据
public class InjureResDto
{
/// <summary>
/// 危害ID
/// </summary>
[JsonPropertyName("id")]
public int Id { get; set; }
/// <summary>
/// 危害名称
/// </summary>
[JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 危害说明
/// </summary>
[JsonPropertyName("intro")]
public string Introduction { get; set; } = string.Empty;
}
#endregion 危害辨识度数据
#region 楼层数据
/// <summary>
/// 区域结构及权限ID集合的根实体
/// </summary>
public class RegionStructureRootDto
{
/// <summary>
/// 在region_id生效时,其所有子孙节点的ID集合
/// </summary>
[JsonPropertyName("branch_permissions_ids")]
public List<int>? BranchPermissionsIds { get; set; }
/// <summary>
/// 区域树形结构列表
/// </summary>
[JsonPropertyName("list")]
public List<RegionNode>? Regions { get; set; }
}
/// <summary>
/// 区域节点信息,包含区域的基本信息及子区域
/// </summary>
public class RegionNode
{
/// <summary>
/// 区域ID
/// </summary>
[JsonPropertyName("id")]
public int Id { get; set; }
/// <summary>
/// 区域名称
/// </summary>
[JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 父级区域ID
/// </summary>
[JsonPropertyName("parent_id")]
public int ParentId { get; set; }
/// <summary>
/// 下一级子区域节点列表(递归结构)
/// </summary>
[JsonPropertyName("children")]
public List<RegionNode>? Children { get; set; }
}
#endregion 楼层数据
public sealed class FixedPatternDateTimeConverter : JsonConverter<DateTime?>
{
private const string Pattern = "yyyy-MM-dd HH:mm:ss";

@ -4,6 +4,7 @@ using Common.Shared.Application.SafetyFirePro.ResponseDto;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System.Text.Json;
using ThirdPartyServices.Application.ShenZhouShengAn.RequestDto;
using ThirdPartyServices.DomainService.ShenZhouShengAn;
namespace ThirdPartyServices.API.Controllers.ShenZhouShengAn
@ -38,13 +39,12 @@ namespace ThirdPartyServices.API.Controllers.ShenZhouShengAn
/// <summary>
/// 获取指定区域ID的隐患数据
/// </summary>
/// <param name="regionId">返回本区域隐患(不包含下属子区域隐患)</param>
/// <param name="pRegionId">返回本区域及下属子区域隐患</param>
/// <returns></returns>
[HttpGet("new/dangerInfo")]
public async Task<ApiResult<DangerInfoRootResDto>> GetDangerInfoEchart(string? regionId, string? pRegionId)
[HttpPost("new/dangerInfo")]
public async Task<ApiResult<DangerInfoRootResDto>> GetDangerInfoEchart(DangerInfoQueryDto dto)
{
return await _secSituationService.GetDangerInfos(regionId, pRegionId);
return await _secSituationService.GetDangerInfos(dto);
}
/// <summary>
@ -78,5 +78,38 @@ namespace ThirdPartyServices.API.Controllers.ShenZhouShengAn
{
return await _secSituationService.GetLedger(dto);
}
/// <summary>
/// 14、获得隐患详情数据
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpPost("GetDangerDetail")]
public async Task<ApiResult<HazardDataDto>> GetDangerDetail(DangerDetailReqDto dto)
{
return await _secSituationService.GetDangerDetail(dto);
}
/// <summary>
/// 11、获得危害辨识项目数据
/// </summary>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
[HttpGet("injure")]
public async Task<ApiResult<InjureResDto>> GetInjureInfo()
{
return await _secSituationService.GetInjureInfo();
}
/// <summary>
/// 得区域(空间)列表树数据
/// </summary>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
[HttpPost("rootiinfo")]
public async Task<ApiResult<RegionStructureRootDto>> GetRegionRootInfo(RegionRootInfoReqDto dto)
{
return await _secSituationService.GetRegionRootInfo(dto);
}
}
}

@ -79,4 +79,43 @@ namespace ThirdPartyServices.Application.ShenZhouShengAn.RequestDto
public int Ubpid { get; set; }
}
/// <summary>
/// 隐患详情请求参数
/// </summary>
public class DangerDetailReqDto
{
/// <summary>
/// 隐患id
/// </summary>
public int Id { get; set; }
}
/// <summary>
/// 危害辨识项目数据请求参数
/// </summary>
public class InjureReqDto
{
public int Ubpid { get; set; }
public int Uid { get; set; }
}
/// <summary>
/// 区域(空间)列表树数据
/// </summary>
public class RegionRootInfoReqDto
{
/// <summary>
/// 传0则返回当前单位所有数据,传其他数字,如is_switch_branch=1,则逐级返回该id之上的父节点和之下的所有子孙节点数据
/// </summary>
public int? region_id { get; set; }
/// <summary>
/// 0忽略region_id参数,1启用region_id参数
/// </summary>
public int Is_switch_branch { get; set; } = 0;
public int? Ubpid { get; set; }
}
}

@ -34,7 +34,7 @@ namespace ThirdPartyServices.DomainService.PuCe
/// <exception cref="NotImplementedException"></exception>
public async Task<ApiResult<List<WorkOrderInfoDto>>> GetRepairOrderList(WorkOrderParamsDto dto)
{
ApiResult<List<WorkOrderInfoDto>> result = new ApiResult<List<WorkOrderInfoDto>>() { Code = 200, Msg = "接口调用成功" };
ApiResult<List<WorkOrderInfoDto>> result = new() { Code = 200, Msg = "接口调用成功" };
var url = "https://zrh.hservices.online/prod-api/yzs/order/getRepairOrderList";

@ -1,7 +1,8 @@
using Common.Shared.Application.BaseModels;
using Common.Shared.Application.SafetyFirePro.RequestDto;
using Common.Shared.Application.SafetyFirePro.ResponseDto;
using System.Text.Json;
using MongoDB.Driver.Core.Misc;
using ThirdPartyServices.Application.ShenZhouShengAn.RequestDto;
namespace ThirdPartyServices.DomainService.ShenZhouShengAn
{
@ -23,8 +24,20 @@ namespace ThirdPartyServices.DomainService.ShenZhouShengAn
/// <returns></returns>
Task<ApiResult<RootReqDto>> GetRiskMapInfo(int floorId);
Task<ApiResult<DangerInfoRootResDto>> GetDangerInfos(string? regionId, string? pRegionId);
Task<ApiResult<DangerInfoRootResDto>> GetDangerInfos(DangerInfoQueryDto dto);
Task<ApiResult<LedgerDto>> GetLedger(WorkTaskQueryParamsDto dto);
Task<ApiResult<HazardDataDto>> GetDangerDetail(DangerDetailReqDto dto);
/// <summary>
/// 11、获得危害辨识项目数据
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
Task<ApiResult<InjureResDto>> GetInjureInfo();
Task<ApiResult<RegionStructureRootDto>> GetRegionRootInfo(RegionRootInfoReqDto dto
);
}
}

@ -191,7 +191,7 @@ namespace ThirdPartyServices.DomainService.ShenZhouShengAn
/// <param name="regionId">返回本区域隐患(不包含下属子区域隐患)</param>
/// <param name="pRegionId">返回本区域及下属子区域隐患</param>
/// <returns></returns>
public async Task<ApiResult<DangerInfoRootResDto>> GetDangerInfos(string? regionId, string? pRegionId)
public async Task<ApiResult<DangerInfoRootResDto>> GetDangerInfos(DangerInfoQueryDto dto)
{
ApiResult<DangerInfoRootResDto> result = new() { Code = 200, Msg = "接口调用成功", Data = new() };
try
@ -219,19 +219,10 @@ namespace ThirdPartyServices.DomainService.ShenZhouShengAn
_logger.LogWarning("GetDangerInfos接口获取单位信息失败");
return ApiResult<DangerInfoRootResDto>.IsFail("GetDangerInfos接口获取单位信息失败");
}
var query = new DangerInfoQueryDto { Ubpid = loginUsers.Data.Ubpid, Status = "0" };
dto.Ubpid = loginUsers.Data.Ubpid;
// dto.Branch_id = branchs.Data.BranchPermissionIds[0];
if (pRegionId != null && pRegionId.Length > 0)
{
query.P_region_id = long.Parse(pRegionId);
}
if (regionId != null && regionId.Length > 0)
{
query.Region_id = long.Parse(regionId);
}
var jsonResult = await _tokenProviderService.SendJsonAsync<DangerInfoQueryDto>("https://zrh.szdunan.cn/v1/api/danger/ledger/dangerInfo/new", token, query, HttpMethod.Post);
var jsonResult = await _tokenProviderService.SendJsonAsync<DangerInfoQueryDto>("https://zrh.szdunan.cn/v1/api/danger/ledger/dangerInfo/new", token, dto, HttpMethod.Post);
var root = JsonSerializer.Deserialize<HttpClientResult<DangerInfoRootResDto>>(jsonResult);
if (root != null)
@ -362,5 +353,154 @@ namespace ThirdPartyServices.DomainService.ShenZhouShengAn
return result;
}
/// <summary>
/// 获取隐患详情
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public async Task<ApiResult<HazardDataDto>> GetDangerDetail(DangerDetailReqDto dto)
{
ApiResult<HazardDataDto> result = new ApiResult<HazardDataDto>() { Code = 200, Msg = "接口调用成功", Data = null };
try
{
//获取token
var token = await _tokenProviderService.GetTokenAsync(_configuration["ThirdParty:SzdunanCode"]!);
if (string.IsNullOrWhiteSpace(token))
{
_logger.LogWarning("GetDangerDetail接口获取token失败");
return ApiResult<HazardDataDto>.IsFail("GetDangerDetail接口获取token失败");
}
HttpClientResult<object> riskResult = await _tokenProviderService
.SendAndParseAsync<DangerDetailReqDto, HttpClientResult<object>>(
"https://zrh.szdunan.cn/v1/api/danger/rectification/check/detail",
token, dto, HttpMethod.Post);
if (riskResult != null && riskResult.Data != null && riskResult.Data.ToString()!.Length > 10)
{
HazardDataDto httpClientResult = JsonSerializer.Deserialize<HazardDataDto>(riskResult.Data.ToString()!)!;
if (httpClientResult != null)
{
result.Data = httpClientResult;
}
}
}
catch (Exception ex)
{
_logger.LogWarning(ex, "GetDangerDetail接口出错");
return ApiResult<HazardDataDto>.IsFail($"GetDangerDetail接口出错{ex.Message}");
}
return result;
}
/// <summary>
/// 11、获得危害辨识项目数据
/// </summary>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public async Task<ApiResult<InjureResDto>> GetInjureInfo()
{
ApiResult<InjureResDto> result = new ApiResult<InjureResDto>() { Code = 200, Msg = "接口调用成功", Data = null };
try
{
//获取token
var token = await _tokenProviderService.GetTokenAsync(_configuration["ThirdParty:SzdunanCode"]!);
if (string.IsNullOrWhiteSpace(token))
{
_logger.LogWarning("GetInjureInfo接口获取token失败");
return ApiResult<InjureResDto>.IsFail("GetInjureInfo接口获取token失败");
}
//获取用户配置
HttpClientResult<LoginUsersConfiguration> loginUsers = await _tokenProviderService.GetUserConfiguration(token);
if (loginUsers.Code == "Error")
{
_logger.LogWarning("GetInjureInfo接口获取用户配置失败");
return ApiResult<InjureResDto>.IsFail("GetInjureInfo接口获取用户配置失败");
}
InjureReqDto dto = new()
{
Ubpid = loginUsers.Data.Ubpid,
Uid = loginUsers.Data.Uid
};
HttpClientResult<object> riskResult = await _tokenProviderService
.SendAndParseAsync<InjureReqDto, HttpClientResult<object>>(
"https://zrh.szdunan.cn/v1/api/danger/rectification/check/detail",
token, dto, HttpMethod.Post);
if (riskResult != null && riskResult.Data != null && riskResult.Data.ToString()!.Length > 10)
{
InjureResDto httpClientResult = JsonSerializer.Deserialize<InjureResDto>(riskResult.Data.ToString()!)!;
if (httpClientResult != null)
{
result.Data = httpClientResult;
}
}
}
catch (Exception ex)
{
_logger.LogWarning(ex, "GetInjureInfo接口出错");
return ApiResult<InjureResDto>.IsFail($"GetInjureInfo接口出错{ex.Message}");
}
return result;
}
/// <summary>
/// 得区域(空间)列表树数据
/// </summary>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public async Task<ApiResult<RegionStructureRootDto>> GetRegionRootInfo(RegionRootInfoReqDto dto)
{
ApiResult<RegionStructureRootDto> result = new ApiResult<RegionStructureRootDto>() { Code = 200, Msg = "接口调用成功", Data = null };
try
{
//获取token
var token = await _tokenProviderService.GetTokenAsync(_configuration["ThirdParty:SzdunanCode"]!);
if (string.IsNullOrWhiteSpace(token))
{
_logger.LogWarning("GetRegionRootInfo接口获取token失败");
return ApiResult<RegionStructureRootDto>.IsFail("GetRegionRootInfo接口获取token失败");
}
//获取用户配置
HttpClientResult<LoginUsersConfiguration> loginUsers = await _tokenProviderService.GetUserConfiguration(token);
if (loginUsers.Code == "Error")
{
_logger.LogWarning("GetRegionRootInfo接口获取用户配置失败");
return ApiResult<RegionStructureRootDto>.IsFail("GetRegionRootInfo接口获取用户配置失败");
}
dto.Ubpid = loginUsers.Data.Ubpid;
HttpClientResult<object> riskResult = await _tokenProviderService
.SendAndParseAsync<RegionRootInfoReqDto, HttpClientResult<object>>(
"https://zrh.szdunan.cn/v1/api/danger/rectification/check/detail",
token, dto, HttpMethod.Post);
if (riskResult != null && riskResult.Data != null && riskResult.Data.ToString()!.Length > 10)
{
RegionStructureRootDto httpClientResult = JsonSerializer.Deserialize<RegionStructureRootDto>(riskResult.Data.ToString()!)!;
if (httpClientResult != null)
{
result.Data = httpClientResult;
}
}
}
catch (Exception ex)
{
_logger.LogWarning(ex, "GetRegionRootInfo接口出错");
return ApiResult<RegionStructureRootDto>.IsFail($"GetRegionRootInfo接口出错{ex.Message}");
}
return result;
}
}
}
Loading…
Cancel
Save