You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
427 lines
18 KiB
427 lines
18 KiB
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; |
|
} |
|
|
|
/// <summary> |
|
/// 申请人资格资料 |
|
/// </summary> |
|
/// <returns></returns> |
|
[HttpPost("UploadImage")] |
|
public async Task<Result> UploadImage(UploadDto dto) |
|
{ |
|
var request = await httpCliet.PostAsJsonAsync($"/TwentySystem/UploadImage", dto); |
|
var response = await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); |
|
return response.ConvertToModel<Result>(); |
|
} |
|
public async Task<Result<SaveBhdlDjxxDto>> Register(RegisterDto dto) |
|
{ |
|
try |
|
{ |
|
var request = await httpCliet.PostAsJsonAsync($"/TwentySystem/Register", dto); |
|
var response = await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); |
|
return response.ConvertToModel<Result<SaveBhdlDjxxDto>>(); |
|
} |
|
catch(Exception ex) |
|
{ |
|
return null; |
|
} |
|
} |
|
public async Task<Result<AjgldsrxxDto>> 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<AjgldsrxxDto> result = new Result<AjgldsrxxDto>(); |
|
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<Result<FindSqrxxDto>> 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<FindSqrxxDto> result = new Result<FindSqrxxDto>(); |
|
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<Result<FindSqrxxDto>> 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<FindSqrxxDto> result = new Result<FindSqrxxDto>(); |
|
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<Result<ApplyMarKingBackDto>> 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 content = dto.ConvertToJsonStr(); |
|
var request = await httpCliet.PostAsJsonAsync("/TwentySystem/ApplyMarKing", dto); |
|
var res = await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); |
|
return res; |
|
} |
|
}); |
|
|
|
return response.ConvertToModel<Result<ApplyMarKingBackDto>>(); |
|
} |
|
public async Task<Result> 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<Result>(); |
|
} |
|
|
|
|
|
public async Task<Result<QueryResult<CaseInfo>>> GetCaseList(string? casename, string? bmsah, string? dwbm, DateTime? starttime, DateTime? endtime, int page, int size) |
|
{ |
|
Result<QueryResult<CaseInfo>> Result = new(); |
|
var param = new |
|
{ |
|
casename = casename ?? "", |
|
bmsah = bmsah ?? "", |
|
dwbm = dwbm ?? "", |
|
starttime = starttime ?? DateTime.Now.AddDays(-180), |
|
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<Result<Paging<CaseInfo>>>(); |
|
if (data.result != null) |
|
{ |
|
var a = new QueryResult<CaseInfo>(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<CaseInfo>(new Paging() |
|
{ |
|
PageCount = 0, |
|
PageIndex = 0, |
|
PageSize = 0, |
|
RowsCount = 0, |
|
}, new List<CaseInfo>()); |
|
} |
|
} |
|
else |
|
{ |
|
Result.IsSucceed = false; |
|
Result.Message = "查询失败"; |
|
} |
|
} |
|
catch (Exception ex) |
|
{ |
|
Result.IsSucceed = false; |
|
Result.Message = ex.Message; |
|
} |
|
return Result; |
|
} |
|
public async Task<Result<JZJBXXDto>> GetArchivesInfo(string bmsah, string dwbm) |
|
{ |
|
var result = new Result<JZJBXXDto>(); |
|
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<Result<JZJBXXDto>>(); |
|
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<T> |
|
{ |
|
public int? pageNum { get; set; } |
|
public int? pageSize { get; set; } |
|
public int? total { get; set; } |
|
public int? pages { get; set; } |
|
public IEnumerable<T>? 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 |
|
{ |
|
/// <summary> |
|
/// 部门受案号 |
|
/// </summary> |
|
public string bmsah { get; set; } |
|
|
|
/// <summary> |
|
/// base64字符串 |
|
/// </summary> |
|
public string ImageStr { get; set; } |
|
|
|
/// <summary> |
|
/// 1423000000100-律师执业证书, |
|
/// 1423000000200-律师事务所证, |
|
/// 1423000000300-授权委托书, |
|
/// 1423000000400-法律援助公函, |
|
/// 1423000000500-身份证件 , |
|
/// 1423000000600-关系证明材料, |
|
/// 1423000000700-其他 |
|
/// </summary> |
|
public string Code { get; set; } |
|
} |
|
} |
|
}
|
|
|