From 95c55328a6c2429beace30f687b5b46d453efbf1 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期一, 18 八月 2025 10:24:42 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskEnterpriseQuery.cs | 73 ++++++++++++++++++ FlexJobApi.FlexJobServer.Application/Tasks/Queries/GetTaskEnterpriseQueryHandler.cs | 46 +++++++++++ FlexJobApi.Core/Models/UserServer/Users/Commands/SyncOperationUserCommand.cs | 5 + FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfoQuery.cs | 6 + FlexJobApi.Core/FlexJobApi.Core.xml | 70 +++++++++++++++++ FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrUtils.cs | 2 FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs | 8 ++ FlexJobApi.Core/Models/UserServer/Enterprises/Queries/GetEnterpriseQuery.cs | 1 8 files changed, 210 insertions(+), 1 deletions(-) diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml index 35d1f65..918fd9c 100644 --- a/FlexJobApi.Core/FlexJobApi.Core.xml +++ b/FlexJobApi.Core/FlexJobApi.Core.xml @@ -4936,6 +4936,66 @@ 宸插畬鎴� </summary> </member> + <member name="T:FlexJobApi.Core.GetTaskEnterpriseQuery"> + <summary> + 鏌ヨ浠诲姟浼佷笟淇℃伅 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetTaskEnterpriseQuery.Id"> + <summary> + 浼佷笟Id + </summary> + </member> + <member name="T:FlexJobApi.Core.GetTaskEnterpriseQueryResult"> + <summary> + 鏌ヨ浠诲姟浼佷笟淇℃伅-缁撴灉 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetTaskEnterpriseQueryResult.EnterpriseName"> + <summary> + 浼佷笟鍏ㄧО + </summary> + </member> + <member name="P:FlexJobApi.Core.GetTaskEnterpriseQueryResult.SocietyCreditCode"> + <summary> + 缁熶竴绀句細淇$敤浠g爜 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetTaskEnterpriseQueryResult.IsReal"> + <summary> + 鏄惁瀹炲悕 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetTaskEnterpriseQueryResult.EnterpriseType"> + <summary> + 浼佷笟绫诲瀷 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetTaskEnterpriseQueryResult.RegisteredCapital"> + <summary> + 娉ㄥ唽璧勬湰 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetTaskEnterpriseQueryResult.EstablishmentDate"> + <summary> + 鎴愮珛鏃ユ湡 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetTaskEnterpriseQueryResult.Address"> + <summary> + 浼佷笟鍦板潃 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetTaskEnterpriseQueryResult.MainBusiness"> + <summary> + 缁忚惀鑼冨洿 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetTaskEnterpriseQueryResult.TaskCount"> + <summary> + 鍦ㄦ嫑宀椾綅鏁伴噺 + </summary> + </member> <member name="T:FlexJobApi.Core.GetTaskInfoQuery"> <summary> 鏌ヨ浠诲姟璇︽儏 @@ -4969,6 +5029,11 @@ <member name="P:FlexJobApi.Core.GetTaskInfoQueryResult.EnterpriseContactPhoneNumber"> <summary> 鑱旂郴鐢佃瘽 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetTaskInfoQueryResult.EnterpriseIsReal"> + <summary> + 鏄惁璁よ瘉 </summary> </member> <member name="P:FlexJobApi.Core.GetTaskInfoQueryResult.TaskCount"> @@ -8855,6 +8920,11 @@ 鍥尯Id </summary> </member> + <member name="P:FlexJobApi.Core.SyncOperationUserCommand.Status"> + <summary> + 鐘舵�� + </summary> + </member> <member name="P:FlexJobApi.Core.SyncOperationUserCommand.Remark"> <summary> 澶囨敞 diff --git a/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskEnterpriseQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskEnterpriseQuery.cs new file mode 100644 index 0000000..0feeb31 --- /dev/null +++ b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskEnterpriseQuery.cs @@ -0,0 +1,73 @@ +锘縰sing MediatR; +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 GetTaskEnterpriseQuery : IRequest<GetTaskEnterpriseQueryResult> + { + /// <summary> + /// 浼佷笟Id + /// </summary> + public Guid Id { get; set; } + } + + + /// <summary> + /// 鏌ヨ浠诲姟浼佷笟淇℃伅-缁撴灉 + /// </summary> + public class GetTaskEnterpriseQueryResult + { + /// <summary> + /// 浼佷笟鍏ㄧО + /// </summary> + public string EnterpriseName { get; set; } + + /// <summary> + /// 缁熶竴绀句細淇$敤浠g爜 + /// </summary> + public string SocietyCreditCode { get; set; } + + /// <summary> + /// 鏄惁瀹炲悕 + /// </summary> + public bool IsReal { 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; } + + /// <summary> + /// 鍦ㄦ嫑宀椾綅鏁伴噺 + /// </summary> + public int TaskCount { get; set; } + } +} diff --git a/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfoQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfoQuery.cs index 83206f6..427d6dd 100644 --- a/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfoQuery.cs +++ b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfoQuery.cs @@ -56,6 +56,12 @@ public string EnterpriseContactPhoneNumber { get; set; } /// <summary> + /// 鏄惁璁よ瘉 + /// </summary> + [JsonProperty("isReal")] + public bool EnterpriseIsReal { get; set; } + + /// <summary> /// 鍦ㄦ嫑宀椾綅鏁伴噺 /// </summary> public int TaskCount { get; set; } diff --git a/FlexJobApi.Core/Models/UserServer/Enterprises/Queries/GetEnterpriseQuery.cs b/FlexJobApi.Core/Models/UserServer/Enterprises/Queries/GetEnterpriseQuery.cs index cbc1c36..0efbd14 100644 --- a/FlexJobApi.Core/Models/UserServer/Enterprises/Queries/GetEnterpriseQuery.cs +++ b/FlexJobApi.Core/Models/UserServer/Enterprises/Queries/GetEnterpriseQuery.cs @@ -105,6 +105,7 @@ /// 璐﹀彿 /// </summary> public string UserName { get; set; } + /// <summary> /// 鍦ㄦ嫑宀椾綅鏁伴噺 /// </summary> diff --git a/FlexJobApi.Core/Models/UserServer/Users/Commands/SyncOperationUserCommand.cs b/FlexJobApi.Core/Models/UserServer/Users/Commands/SyncOperationUserCommand.cs index 34f48d4..7bf6957 100644 --- a/FlexJobApi.Core/Models/UserServer/Users/Commands/SyncOperationUserCommand.cs +++ b/FlexJobApi.Core/Models/UserServer/Users/Commands/SyncOperationUserCommand.cs @@ -55,6 +55,11 @@ public List<Guid> IndustrialParkIds { get; set; } /// <summary> + /// 鐘舵�� + /// </summary> + public EnumUserStatus Status { get; set; } + + /// <summary> /// 澶囨敞 /// </summary> public string Remark { get; set; } diff --git a/FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrUtils.cs b/FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrUtils.cs index 9e890c9..51439b2 100644 --- a/FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrUtils.cs +++ b/FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrUtils.cs @@ -28,7 +28,7 @@ /// <param name="url"></param> /// <param name="scene"></param> /// <param name="isOssUrl"></param> - public static async Task<BaiduOcrBusinessLicenseResult> OcrBusinessLicense(this string url, string scene, bool isOssUrl = true) + public static async Task<BaiduOcrBusinessLicenseResult> OcrBusinessLicense(this string url, string scene = null, bool isOssUrl = true) { var options = App.GetOptions<BaiduOptions>(); var ocr = new Ocr(options.Ocr.Key, options.Ocr.Secret); diff --git a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/GetTaskEnterpriseQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/GetTaskEnterpriseQueryHandler.cs new file mode 100644 index 0000000..18a020b --- /dev/null +++ b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/GetTaskEnterpriseQueryHandler.cs @@ -0,0 +1,46 @@ +锘縰sing FlexJobApi.Core; +using Furion.DatabaseAccessor; +using Furion.FriendlyException; +using Mapster; +using MediatR; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.FlexJobServer.Application +{ + /// <summary> + /// 鏌ヨ浠诲姟浼佷笟淇℃伅澶勭悊鍣� + /// </summary> + public class GetTaskEnterpriseQueryHandler( + IRepository<Enterprise> repEnterprise, + IRepository<TaskInfo> repTaskInfo + ) : + IRequestHandler<GetTaskEnterpriseQuery, GetTaskEnterpriseQueryResult> + { + private readonly IRepository<Enterprise> repEnterprise = repEnterprise; + private readonly IRepository<TaskInfo> repTaskInfo = repTaskInfo; + + /// <summary> + /// 鏌ヨ浠诲姟浼佷笟淇℃伅 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<GetTaskEnterpriseQueryResult> Handle(GetTaskEnterpriseQuery request, CancellationToken cancellationToken) + { + var model = await repEnterprise.AsQueryable().AsNoTracking() + .Where(it => it.Id == request.Id) + .ProjectToType<GetTaskEnterpriseQueryResult>() + .FirstOrDefaultAsync(cancellationToken); + if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "浼佷笟"); + model.TaskCount = await repTaskInfo.AsQueryable().AsNoTracking() + .Where(it => it.EnterpriseId == request.Id && it.ReleaseStatus == EnumTaskReleaseStatus.InProcess) + .CountAsync(); + return model; + } + } +} diff --git a/FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs b/FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs index c501c32..7f4d91c 100644 --- a/FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs +++ b/FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs @@ -45,6 +45,14 @@ } request.Enterprise.Adapt(enterprise); enterprise.LicenseImage = GetOssUrl(enterprise.LicenseImage, request.Enterprise.LicenseImage); + if (enterprise.LicenseImage.IsNotNull() && enterprise.EnterpriseType.IsNull()) + { + var result = await BaiduOcrUtils.OcrBusinessLicense(enterprise.LicenseImage); + if (result?.Model != null) + { + result.Model.Adapt(enterprise); + } + } if (enterprise.EnterpriseAuth != null) { enterprise.EnterpriseAuth.IdentityImg = GetOssUrl(enterprise.EnterpriseAuth.IdentityImg, request.Enterprise.EnterpriseAuth.IdentityImg); -- Gitblit v1.9.1