using com.sun.xml.@internal.xsom; using Elight.Entity.APPDto.Lawyer; using Elight.Utility; using Elight.Utility.Code; using Elight.Utility.Extensions; using Microsoft.AspNetCore.DataProtection; namespace _24Hour { public class TwentySystemProxyClient { private readonly HttpClient httpCliet; public TwentySystemProxyClient(HttpClient _httpCliet) { this.httpCliet = _httpCliet; httpCliet.DefaultRequestHeaders.Add("Accept", "application/json"); httpCliet.DefaultRequestHeaders.Add("User-Agent", "HttpClientFactory-Sample"); httpCliet.DefaultRequestHeaders.ConnectionClose = true; } public async Task>> GetCaseList(string? casename, string? bmsah, string? dwbm, DateTime? starttime, DateTime? endtime, int page, int size) { Result> Result = new(); var param = new { casename = casename ?? "", bmsah = bmsah ?? "", dwbm = dwbm ?? "", starttime = starttime ?? DateTime.Now.AddDays(-100), endtime = endtime ?? DateTime.Now, page, size }.ConvertToGetParam(); try { var request = await httpCliet.GetAsync($"/TwentySystem/GetCaseInfo{param}"); var response = await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); if (string.IsNullOrEmpty(response) == false) { var data = response.ConvertToModel>>(); if (data.result != null) { var a = new QueryResult(new Paging() { PageCount = data.result.pages ?? 0, PageIndex = data.result.pageNum ?? 0, PageSize = data.result.pageSize ?? 0, RowsCount = data.result.total ?? 0 }, data.result.List.ToList()); Result.IsSucceed = true; Result.result = a; } else { Result.IsSucceed = true; Result.Message = data.Message ?? "查询成功"; Result.result = new QueryResult(new Paging() { PageCount = 0, PageIndex = 0, PageSize = 0, RowsCount = 0, }, new List()); } } else { Result.IsSucceed = false; Result.Message = "查询失败"; } } catch (Exception ex) { Result.IsSucceed = false; Result.Message = ex.Message; } return Result; } public async Task> GetArchivesInfo(string bmsah, string dwbm) { var result = new Result(); //var path = Path.Combine(Environment.CurrentDirectory, "datajson.txt"); //var json = await System.IO.File.ReadAllTextAsync(path); var param = new { bmsah = bmsah, dwbm = dwbm }.ConvertToGetParam(); var request = await httpCliet.GetAsync($"/TwentySystem/GetJZXX{param}"); var json = await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); var res = json.ConvertToModel>(); if (res.IsSucceed == true) { if (res.result==null) { result.IsSucceed = false; result.Message = "卷宗目录为空"; return result; } var convert = res.result; if (convert == null) { result.IsSucceed = false; result.Message = "未找到对应卷宗"; return result; } convert.Id = Guid.NewGuid().ToString(); if (convert?.jzml?.Any()==true) { await Task.Delay(5); foreach (var ml in convert.jzml) { ml.Id = Guid.NewGuid().ToString(); ml.jzId = convert.Id; await Task.Delay(5); foreach (var item in ml.jzwj) { item.jzmlId = ml.Id; item.Id = Guid.NewGuid().ToString(); } } } result.IsSucceed = true; result.result = convert; } else { result.IsSucceed = false; result.Message = res.Message; } return result; } public class Paging { public int? pageNum { get; set; } public int? pageSize { get; set; } public int? total { get; set; } public int? pages { get; set; } public IEnumerable? List { get; set; } } public class CaseInfo { public string? jzbh { get; set; } public string? ajmc { get; set; } public string? bmsah { get; set; } public string? cbdwbm { get; set; } public string? rybm { get; set; } public string? rymc { get; set; } public int? cs { get; set; } public int? ys { get; set; } public DateTime? cjsj { get; set; } public DateTime? cjrq { get; set; } public string? zzr { get; set; } public string? zzrbm { get; set; } public string? zzzt { get; set; } public string? jzms { get; set; } public string? jzxh { get; set; } public string? nfbd { get; set; } public string? jzsd { get; set; } public string? ajlbbm { get; set; } public string? ajlbmc { get; set; } public DateTime? slrq { get; set; } public string? jzocrzt { get; set; } public string? id { get; set; } public string? yjzmc { get; set; } public string? sfck { get; set; } public string? sfkcz { get; set; } public string? qlzt { get; set; } } } }