FlexJobApi.CommonServer.Application/FlexJobApi.CommonServer.Application.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
FlexJobApi.CommonServer.Application/OcrUtils/Commands/OcrCommandHandler.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
FlexJobApi.Core/FlexJobApi.Core.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
FlexJobApi.Core/Models/CommonServer/OcrUtils/Commands/GetIdentityOcrCommand.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
FlexJobApi.Core/Models/CommonServer/OcrUtils/Commands/GetLicenseOcrCommand.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrIdentityResult.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrUtils.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
FlexJobApi.UserServer.Application/ElectronSign/Commands/ContractTemplateCommandHandler.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
FlexJobApi.CommonServer.Application/FlexJobApi.CommonServer.Application.xml
@@ -208,11 +208,6 @@ 文字识别营业执照 </summary> </member> <member name="M:FlexJobApi.CommonServer.Application.OcrCommandHandler.#ctor"> <summary> 文字识别营业执照 </summary> </member> <member name="M:FlexJobApi.CommonServer.Application.OcrCommandHandler.Handle(FlexJobApi.Core.GetLicenseOcrCommand,System.Threading.CancellationToken)"> <summary> 文字识别营业执照 @@ -221,6 +216,14 @@ <param name="cancellationToken"></param> <returns></returns> </member> <member name="M:FlexJobApi.CommonServer.Application.OcrCommandHandler.Handle(FlexJobApi.Core.GetIdentityOcrCommand,System.Threading.CancellationToken)"> <summary> 文字识别身份证 </summary> <param name="request"></param> <param name="cancellationToken"></param> <returns></returns> </member> <member name="T:FlexJobApi.CommonServer.Application.CheckHealthQueryHandler"> <summary> 健康校验 FlexJobApi.CommonServer.Application/OcrUtils/Commands/OcrCommandHandler.cs
@@ -12,8 +12,9 @@ /// <summary> /// 文字识别营业执照 /// </summary> public class OcrCommandHandler() : IRequestHandler<GetLicenseOcrCommand, GetLicenseOcrCommandResult> public class OcrCommandHandler : IRequestHandler<GetLicenseOcrCommand, GetLicenseOcrCommandResult>, IRequestHandler<GetIdentityOcrCommand, GetIdentityOcrCommandResult> { /// <summary> /// 文字识别营业执照 @@ -26,5 +27,17 @@ var result = await request.Url.OcrBusinessLicense(request.Scene, request.IsOssUrl); return result.Adapt<GetLicenseOcrCommandResult>(); } /// <summary> /// 文字识别身份证 /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task<GetIdentityOcrCommandResult> Handle(GetIdentityOcrCommand request, CancellationToken cancellationToken) { var result = await request.Url.OcrBusinessLicense(request.Scene, request.IsOssUrl); return result.Adapt<GetIdentityOcrCommandResult>(); } } } FlexJobApi.Core/FlexJobApi.Core.xml
@@ -4463,6 +4463,46 @@ 数据库审计日志 </summary> </member> <member name="T:FlexJobApi.Core.GetIdentityOcrCommand"> <summary> 文字识别身份证 </summary> </member> <member name="P:FlexJobApi.Core.GetIdentityOcrCommand.Access"> <summary> 通道 </summary> </member> <member name="P:FlexJobApi.Core.GetIdentityOcrCommand.Scene"> <summary> 场景 </summary> </member> <member name="P:FlexJobApi.Core.GetIdentityOcrCommand.Url"> <summary> 链接地址 </summary> </member> <member name="P:FlexJobApi.Core.GetIdentityOcrCommand.IsOssUrl"> <summary> 是否为云存储相对地址 </summary> </member> <member name="T:FlexJobApi.Core.GetIdentityOcrCommandResult"> <summary> 文字识别身份证 </summary> </member> <member name="P:FlexJobApi.Core.GetIdentityOcrCommandResult.Url"> <summary> 地址 </summary> </member> <member name="P:FlexJobApi.Core.GetIdentityOcrCommandResult.Model"> <summary> 模型 </summary> </member> <member name="T:FlexJobApi.Core.GetLicenseOcrCommand"> <summary> 文字识别营业执照 @@ -7138,6 +7178,11 @@ 模板Id </summary> </member> <member name="P:FlexJobApi.Core.GetContractTemplateQueryResult.Id"> <summary> 模板Id </summary> </member> <member name="P:FlexJobApi.Core.GetContractTemplateQueryResult.EnterpriseId"> <summary> 企业Id @@ -7180,7 +7225,7 @@ </member> <member name="P:FlexJobApi.Core.GetContractTemplateQueryResultValue.Id"> <summary> Id 变量Id </summary> </member> <member name="P:FlexJobApi.Core.GetContractTemplateQueryResultValue.Type"> @@ -10902,6 +10947,81 @@ 经营范围 </summary> </member> <member name="T:FlexJobApi.Core.BaiduOcrIdentityResult"> <summary> 百度文字识别结果 </summary> </member> <member name="P:FlexJobApi.Core.BaiduOcrIdentityResult.Url"> <summary> 地址 </summary> </member> <member name="P:FlexJobApi.Core.BaiduOcrIdentityResult.Model"> <summary> 模型 </summary> </member> <member name="P:FlexJobApi.Core.BaiduOcrIdentityResult.ErrorCode"> <summary> 错误码 </summary> </member> <member name="P:FlexJobApi.Core.BaiduOcrIdentityResult.ErrorMessage"> <summary> 错误消息 </summary> </member> <member name="P:FlexJobApi.Core.BaiduOcrIdentityResult.WordsResult"> <summary> 文字结果 </summary> </member> <member name="T:FlexJobApi.Core.BaiduOcrIdentityResultModel"> <summary> 百度文字识别结果 </summary> </member> <member name="P:FlexJobApi.Core.BaiduOcrIdentityResultModel.EnterpriseName"> <summary> 企业全称 </summary> </member> <member name="P:FlexJobApi.Core.BaiduOcrIdentityResultModel.SocietyCreditCode"> <summary> 统一社会信用代码 </summary> </member> <member name="P:FlexJobApi.Core.BaiduOcrIdentityResultModel.LegalPerson"> <summary> 法人姓名 </summary> </member> <member name="P:FlexJobApi.Core.BaiduOcrIdentityResultModel.EnterpriseType"> <summary> 企业类型 </summary> </member> <member name="P:FlexJobApi.Core.BaiduOcrIdentityResultModel.RegisteredCapital"> <summary> 注册资本 </summary> </member> <member name="P:FlexJobApi.Core.BaiduOcrIdentityResultModel.EstablishmentDate"> <summary> 成立日期 </summary> </member> <member name="P:FlexJobApi.Core.BaiduOcrIdentityResultModel.Address"> <summary> 企业地址 </summary> </member> <member name="P:FlexJobApi.Core.BaiduOcrIdentityResultModel.MainBusiness"> <summary> 经营范围 </summary> </member> <member name="T:FlexJobApi.Core.BaiduOcrResultWord"> <summary> 百度文字识别结果 @@ -10955,6 +11075,14 @@ <param name="scene"></param> <param name="isOssUrl"></param> </member> <member name="M:FlexJobApi.Core.BaiduOcrUtils.OcrIdentity(System.String,System.String,System.Boolean)"> <summary> 营业执照OCR </summary> <param name="url"></param> <param name="scene"></param> <param name="isOssUrl"></param> </member> <member name="T:FlexJobApi.Core.BaiduOptions"> <summary> 百度配置 FlexJobApi.Core/Models/CommonServer/OcrUtils/Commands/GetIdentityOcrCommand.cs
New file @@ -0,0 +1,52 @@ using MediatR; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FlexJobApi.Core { /// <summary> /// 文字识别身份证 /// </summary> [Resource([EnumResourceController.CommonServerOcrUtils], Method = EnumResourceMethod.Post)] public class GetIdentityOcrCommand : IRequest<GetIdentityOcrCommandResult> { /// <summary> /// 通道 /// </summary> public EnumOcrAccess Access { get; set; } /// <summary> /// 场景 /// </summary> public string Scene { get; set; } /// <summary> /// 链接地址 /// </summary> public string Url { get; set; } /// <summary> /// 是否为云存储相对地址 /// </summary> public bool IsOssUrl { get; set; } } /// <summary> /// 文字识别身份证 /// </summary> public class GetIdentityOcrCommandResult { /// <summary> /// 地址 /// </summary> public string Url { get; set; } /// <summary> /// 模型 /// </summary> public BaiduOcrBusinessLicenseResultModel Model { get; set; } } } FlexJobApi.Core/Models/CommonServer/OcrUtils/Commands/GetLicenseOcrCommand.cs
@@ -11,7 +11,7 @@ /// <summary> /// 文字识别营业执照 /// </summary> [Resource([EnumResourceController.CommonServerOcrUtils])] [Resource([EnumResourceController.CommonServerOcrUtils], Method = EnumResourceMethod.Post)] public class GetLicenseOcrCommand : IRequest<GetLicenseOcrCommandResult> { /// <summary> FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrIdentityResult.cs
New file @@ -0,0 +1,90 @@ using Newtonsoft.Json; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FlexJobApi.Core { /// <summary> /// 百度文字识别结果 /// </summary> public class BaiduOcrIdentityResult { /// <summary> /// 地址 /// </summary> public string Url { get; set; } /// <summary> /// 模型 /// </summary> public BaiduOcrIdentityResultModel Model { get; set; } /// <summary> /// 错误码 /// </summary> [JsonProperty("error_code")] public string ErrorCode { get; set; } /// <summary> /// 错误消息 /// </summary> [JsonProperty("error_msg")] public string ErrorMessage { get; set; } /// <summary> /// 文字结果 /// </summary> [JsonProperty("words_result")] public Dictionary<string, BaiduOcrResultWord> WordsResult { get; set; } } /// <summary> /// 百度文字识别结果 /// </summary> public class BaiduOcrIdentityResultModel { /// <summary> /// 企业全称 /// </summary> public string EnterpriseName { get; set; } /// <summary> /// 统一社会信用代码 /// </summary> public string SocietyCreditCode { get; set; } /// <summary> /// 法人姓名 /// </summary> public string LegalPerson { get; set; } /// <summary> /// 企业类型 /// </summary> public string EnterpriseType { get; set; } /// <summary> /// 注册资本 /// </summary> public string RegisteredCapital { get; set; } /// <summary> /// 成立日期 /// </summary> public string EstablishmentDate { get; set; } /// <summary> /// 企业地址 /// </summary> public string Address { get; set; } /// <summary> /// 经营范围 /// </summary> public string MainBusiness { get; set; } } } FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrUtils.cs
@@ -66,5 +66,49 @@ return result; } /// <summary> /// 营业执照OCR /// </summary> /// <param name="url"></param> /// <param name="scene"></param> /// <param name="isOssUrl"></param> public static async Task<BaiduOcrIdentityResultModel> OcrIdentity(this string url, string scene = null, bool isOssUrl = true) { var options = App.GetOptions<BaiduOptions>(); var ocr = new Ocr(options.Ocr.Key, options.Ocr.Secret); ocr.Timeout = 60000; JObject value; if (isOssUrl) { var downloadUrl = AliyunOSSUtils.GetUrl(url); var buffer = await App.GetRequiredService<IHttpRemoteService>().GetAsByteArrayAsync(downloadUrl); value = ocr.Idcard(buffer, "1"); } else { var upload = AliyunOSSUtils.Upload(scene, url); url = upload.Url; //value = ocr.Idcard(upload.Buffer); } //var result = value.ToObject<BaiduOcrIdentityResult>(); //result.Url = url; //if (result.ErrorCode.IsNotNull()) //{ // return result; //} //result.Model = new BaiduOcrIdentityResultModel //{ // EnterpriseName = result.WordsResult["单位名称"].Words, // SocietyCreditCode = result.WordsResult["社会信用代码"].Words, // LegalPerson = result.WordsResult["法人"].Words, // EnterpriseType = result.WordsResult["类型"].Words, // RegisteredCapital = result.WordsResult["注册资本"].Words, // EstablishmentDate = result.WordsResult["成立日期"].Words, // Address = result.WordsResult["地址"].Words, // MainBusiness = result.WordsResult["经营范围"].Words, //}; //return result; throw new Exception(); } } } FlexJobApi.UserServer.Application/ElectronSign/Commands/ContractTemplateCommandHandler.cs
@@ -69,11 +69,19 @@ entity.UpdatedUserId = logier.Id; entity.UpdatedTime = DateTime.Now; } if (entity.Access.HasValue && entity.TemplateId.IsNotNull() && entity.Status == EnumContractTemplateStatus.Wait) if (entity.Access.HasValue && entity.TemplateId.IsNotNull()) { if (entity.Status == EnumContractTemplateStatus.Wait) { entity.Status = EnumContractTemplateStatus.Completed; entity.CompletedTime = DateTime.Now; } } else { entity.Status = EnumContractTemplateStatus.Wait; entity.CompletedTime = null; } }, cancellationToken); }