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