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 |   32 ++++++++++++++++++++++++++++----
 1 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs
index e6941db..81dc10c 100644
--- a/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs
+++ b/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs
@@ -68,8 +68,9 @@
                     throw Oops.Oh(EnumErrorCodeType.s400, "璇烽�夋嫨鏃ユ湡");
                 }
                 q = q.Where(it =>
-                    it.TaskInfoUsers.Any(tu =>
-                        tu.EnterpriseEmployee.UserId == logier.Id
+                    (logier.Type == EnumUserType.Enterprise ? it.EnterpriseId == logier.EnterpriseId : true)
+                    && it.TaskInfoUsers.Any(tu =>
+                        (logier.Type == EnumUserType.Personal ? tu.EnterpriseEmployee.UserId == logier.Id : true)
                         && (request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitSubmit
                         ? !tu.Submits.Any(s => s.Date.Date == request.Date.Value.Date)
                         : tu.Submits.Any(s =>
@@ -116,6 +117,29 @@
             else if (logier.Type == EnumUserType.Enterprise)
             {
                 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
             {
@@ -164,8 +188,8 @@
             result.ObjectData = await repTaskInfoUser.AsQueryable().AsNoTracking()
                 .Where(it => it.Id == request.Id)
                 .GetDetail<TaskInfoUser, GetCheckReceiveTaskUserSubmitsQueryResultObjectData>();
-
-            await repTaskInfo.Change<UserBankCard>()
+            result.ObjectData.EnterpriseEmployeeUser.IsBindBankCard = await repTaskInfo.Change<UserBankCard>().AsQueryable().AsNoTracking()
+                .AnyAsync(it => it.UserId == result.ObjectData.EnterpriseEmployeeUser.Id);
             return result;
         }
 

--
Gitblit v1.9.1