using com.sun.xml.@internal.xsom; using Dto; using Elight.Entity.APPDto.Lawyer; using Elight.Utility; using Elight.Utility.Code; using Elight.Utility.Extensions; using Microsoft.AspNetCore.DataProtection; using Microsoft.AspNetCore.Mvc; namespace _24Hour { public class TwentySystemProxyClient { private readonly HttpClient httpCliet; private readonly IConfiguration configuration; public TwentySystemProxyClient(HttpClient _httpCliet, IConfiguration _configuration) { this.httpCliet = _httpCliet; this.configuration = _configuration; httpCliet.DefaultRequestHeaders.Add("Accept", "application/json"); httpCliet.DefaultRequestHeaders.Add("User-Agent", "HttpClientFactory-Sample"); httpCliet.DefaultRequestHeaders.ConnectionClose = true; } /// /// 申请人资格资料 /// /// [HttpPost("UploadImage")] public async Task UploadImage(UploadDto dto) { var request = await httpCliet.PostAsJsonAsync($"/TwentySystem/UploadImage", dto); var response = await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); return response.ConvertToModel(); } public async Task> Register(RegisterDto dto) { var request = await httpCliet.PostAsJsonAsync($"/TwentySystem/Register", dto); var response = await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); return response.ConvertToModel>(); } public async Task> QueryDsrList(string Bmsah, string UnitCode, string PartyIdCard) { var UseOfflineData = configuration.GetSection("CaseTwenty:UseOfflineData").Value; var bodu = new { Bmsah = Bmsah, UnitCode = UnitCode, PartyIdCard = PartyIdCard }.ConvertToGetParam(); var response = await Task.Run(async () => { if (UseOfflineData == "true") { var json = "{\"data\":{\"endRow\":1,\"firstPage\":1,\"hasNextPage\":false,\"isFirstPage\":true,\"isLastPage\":true,\"lastPage\":1,\"list\":[{\"bmsah\":\"安北检刑诉受[2023]410503000002号\",\"gjdm\":\"9911180200001\",\"gjmc\":\"中国\",\"mzdm\":\"9912180100001\",\"mzmc\":\"汉族\",\"xbdm\":\"9909180000001\",\"xbmc\":\"男性\",\"xm\":\"李四\",\"zjhm\":\"410502199606164872\",\"zjlxdm\":\"9910180300001\",\"zjlxmc\":\"居民身份证\",\"zrrbm\":\"4105030323000001\",\"zrrlxdm\":\"0009000900001\",\"zrrlxmc\":\"嫌疑人\"}],\"navigateFirstPage\":1,\"navigateLastPage\":1,\"navigatePages\":8,\"navigatepageNums\":[1],\"nextPage\":0,\"pageNum\":1,\"pageSize\":20,\"pages\":1,\"prePage\":0,\"size\":1,\"startRow\":1,\"total\":1},\"code\":\"0\",\"success\":true,\"message\":\"操作成功\"}"; return json; } else { var request = await httpCliet.GetAsync($"/TwentySystem/DsrList{bodu}"); return await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); } }); var data = response.ConvertToAnonymousType(new { message = default(string), success = default(bool), code = default(string), data = default(AjgldsrxxDto) }); Result result = new Result(); if (data?.success == true) { result.IsSucceed = true; result.Message = "操作成功"; result.result = data?.data; } else { result.IsSucceed = false; result.Message = data?.message ?? "操作失败"; } if (UseOfflineData == "true") { result.Message = "操作成功(测试数据)"; } return result; } public async Task> GetAllLsList() { var response = await Task.Run(async () => { var request = await httpCliet.GetAsync($"/TwentySystem/GetAllLsList"); return await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); }); var data = response.ConvertToAnonymousType(new { message = default(string), success = default(bool), code = default(string), data = default(FindSqrxxDto) }); Result result = new Result(); if (data?.success == true) { result.IsSucceed = true; result.Message = "操作成功"; result.result = data?.data; } else { result.IsSucceed = false; result.Message = data?.message ?? "操作失败"; } return result; } public async Task> QueryLsList(string ProposerZJHM) { var UseOfflineData = configuration.GetSection("CaseTwenty:UseOfflineData").Value; var bodu = new { ProposerZJHM = ProposerZJHM, }.ConvertToGetParam(); var response = await Task.Run(async () => { if (UseOfflineData == "true") { var json = "{\"data\":{\"content\":[{\"cjsj\":\"2021-01-12T16:12:34.004+0800\",\"djdwbm\":\"410403\",\"djdwmc\":\"卫东区院\",\"jmsfzh\":\"123345666777778\",\"lxdh\":null,\"lxdz\":null,\"sfsc\":\"N\",\"sjbsbh\":\"8cdbeb3ce3da483780b4e1acf60677e0\",\"sjly\":\"3\",\"sqrbh\":\"42b84c481b734f52b37d5b99157057f4\",\"sqrlxdm\":\"1403187300001\",\"sqrlxmc\":\"辩护人\",\"sqrsfdm\":\"1404187300003\",\"sqrsfmc\":\"律师\",\"sqrxm\":\"张能能\",\"szlssws\":\"河南千会律师事务所\",\"tyshxydm\":null,\"zbls\":null,\"zhxgsj\":\"2021-01-21T15:10:51.982+0800\",\"zjhm\":\"123445788876677\",\"zjlxdm\":\"9910180300010\",\"zjlxmc\":\"律师执业证\",\"zyzh\":null}],\"empty\":false,\"first\":true,\"last\":true,\"number\":0,\"numberOfElements\":1,\"pageable\":{\"offset\":0,\"pageNumber\":0,\"pageSize\":20,\"paged\":true,\"unpaged\":false,\"sort\":{\"empty\":false,\"sorted\":true,\"unsorted\":false}},\"size\":20,\"sort\":{\"empty\":false,\"sorted\":true,\"unsorted\":false},\"totalPages\":1,\"totalElements\":1},\"code\":\"0\",\"success\":true,\"message\":\"操作成功\"}"; return json; } else { var request = await httpCliet.GetAsync($"/TwentySystem/LsList{bodu}"); return await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); } }); var data = response.ConvertToAnonymousType(new { message = default(string), success = default(bool), code = default(string), data = default(FindSqrxxDto) }); Result result = new Result(); if (data?.success == true) { result.IsSucceed = true; result.Message = "操作成功"; result.result = data?.data; } else { result.IsSucceed = false; result.Message = data?.message ?? "操作失败"; } if (UseOfflineData == "true") { result.Message = "操作成功(测试数据)"; } return result; } public async Task> ApplyMarKing(ApplyMarKingDto dto) { var UseOfflineData = configuration.GetSection("CaseTwenty:UseOfflineData").Value; var response = await Task.Run(async () => { if (UseOfflineData == "true") { var json = "{\"result\":{\"applyMarKingDto\":{\"bhdlbh\":\"e027a707f262435d9fc29b080101beed\",\"bmsah\":\"安北检刑诉受[2023]410503000002号\",\"clqkbm\":\"\",\"clqkmc\":\"\",\"czr\":\"曲超艺\",\"czrybm\":\"4105030058\",\"dwbm\":\"410503\",\"jwgksxid\":\"\",\"sqrlxdm\":\"1403187300001\",\"sqrmc\":\"辩护人\",\"sqrq\":\"2023-11-30\",\"sqrsfdm\":\"1404187300003\",\"sxlxdm\":\"1405187400001\",\"sxlxmc\":\"申请阅卷\",\"zrrmc\":\"李四\"},\"sxbh\":\"5d89f1bd6df142aeb6d4d7582116811a\"},\"isSucceed\":true,\"message\":null}"; return json; } else { var request = await httpCliet.PostAsJsonAsync($"/TwentySystem/ApplyMarKing", dto); var res = await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); return res; } }); return response.ConvertToModel>(); } public async Task Arrange(ArrangeDto dto) { var UseOfflineData = configuration.GetSection("CaseTwenty:UseOfflineData").Value; var response = await Task.Run(async () => { if (UseOfflineData == "true") { var json = "{\"isSucceed\":true,\"message\":null,\"result\":null}"; return json; } else { var request = await httpCliet.PostAsJsonAsync($"/TwentySystem/Arrange", dto); var res = await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); return res; } }); return response.ConvertToModel(); } 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 response = await Task.Run(async () => { var connectionString = configuration.GetSection("CaseTwenty:UseOfflineData").Value; if (connectionString == "false") { var request = await httpCliet.GetAsync($"/TwentySystem/GetCaseInfo{param}"); var response = await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); return response; } else { return await File.ReadAllTextAsync(Path.Combine(Environment.CurrentDirectory, "caselist.txt")); } }); 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 connectionString = configuration.GetSection("CaseTwenty:UseOfflineData").Value; //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 json = await Task.Run(async () => { if (connectionString == "false") { var request = await httpCliet.GetAsync($"/TwentySystem/GetJZXX{param}"); var jsonstr = await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); return jsonstr; } else { return await File.ReadAllTextAsync(Path.Combine(Environment.CurrentDirectory, "jzlist.txt")); } }); 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; } } class MyClass { /// /// 部门受案号 /// public string bmsah { get; set; } /// /// base64字符串 /// public string ImageStr { get; set; } /// /// 1423000000100-律师执业证书, /// 1423000000200-律师事务所证, /// 1423000000300-授权委托书, /// 1423000000400-法律援助公函, /// 1423000000500-身份证件 , /// 1423000000600-关系证明材料, /// 1423000000700-其他 /// public string Code { get; set; } } } }