From b4cd0bf2d7196f8f057ec62649ced5d6e31d443f Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期三, 13 八月 2025 17:05:36 +0800
Subject: [PATCH] feat:开发

---
 FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs |   23 +++++++++++++++++++++++
 FlexJobApi.Core/FlexJobApi.Core.xml                                                            |   10 ++++++++++
 FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskQuery.cs      |   10 ++++++++++
 3 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml
index 5568d03..5f3edf9 100644
--- a/FlexJobApi.Core/FlexJobApi.Core.xml
+++ b/FlexJobApi.Core/FlexJobApi.Core.xml
@@ -3828,6 +3828,16 @@
             浠诲姟Id
             </summary>
         </member>
+        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQuery.CheckReceiveStatus">
+            <summary>
+            楠屾敹鐘舵�侊紙B绔皬绋嬪簭涓撶敤锛�
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQuery.Date">
+            <summary>
+            鏃ユ湡锛圔绔皬绋嬪簭涓撶敤锛�
+            </summary>
+        </member>
         <member name="T:FlexJobApi.Core.GetCheckReceiveTaskQueryResult">
             <summary>
             鏌ヨ楠屾敹浠诲姟璇︽儏-缁撴灉
diff --git a/FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskQuery.cs
index edd67f2..db61a7d 100644
--- a/FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskQuery.cs
+++ b/FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskQuery.cs
@@ -17,6 +17,16 @@
         /// 浠诲姟Id
         /// </summary>
         public Guid TaskInfoId { get; set; }
+
+        /// <summary>
+        /// 楠屾敹鐘舵�侊紙B绔皬绋嬪簭涓撶敤锛�
+        /// </summary>
+        public EnumTaskCheckReceiveStatus? CheckReceiveStatus { get; set; }
+
+        /// <summary>
+        /// 鏃ユ湡锛圔绔皬绋嬪簭涓撶敤锛�
+        /// </summary>
+        public DateTime? Date { get; set; }
     }
 
     /// <summary>
diff --git a/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs
index b46711c..81dc10c 100644
--- a/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs
+++ b/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs
@@ -118,6 +118,29 @@
             {
                 q = q.Where(it => it.TaskInfo.EnterpriseId == logier.EnterpriseId);
             }
+            if (logier.Type == EnumUserType.Enterprise && logier.ClientType == EnumClientType.Wxmp)
+            {
+                if (request.CheckReceiveStatus == null)
+                {
+                    throw Oops.Oh(EnumErrorCodeType.s400, "璇烽�夋嫨楠屾敹鐘舵��");
+                }
+                if (request.Date == null)
+                {
+                    throw Oops.Oh(EnumErrorCodeType.s400, "璇烽�夋嫨鏃ユ湡");
+                }
+                q = q.Where(it =>
+                    it.TaskInfo.EnterpriseId == logier.EnterpriseId
+                    && (request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitSubmit
+                        ? !it.Submits.Any(s => s.Date.Date == request.Date.Value.Date)
+                        : it.Submits.Any(s =>
+                            s.Date.Date == request.Date.Value.Date
+                            && (request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitSubmit
+                            ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit
+                            : (request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitCheckReceive
+                            ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive
+                            : (s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Success
+                            || s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Fail))))));
+            }
             var s = q.Select(it => new GetCheckReceiveTaskQueryResultItem
             {
                 Id = it.Id,

--
Gitblit v1.9.1