From 6ffe6c2acabe09fe9bdf4e072d60e55b5631475a Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期二, 09 九月 2025 09:39:38 +0800
Subject: [PATCH] feat:开发

---
 FlexJobApi.FlexJobServer.Application/Tasks/Commands/TaskInfoCommandHandler.cs |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/FlexJobApi.FlexJobServer.Application/Tasks/Commands/TaskInfoCommandHandler.cs b/FlexJobApi.FlexJobServer.Application/Tasks/Commands/TaskInfoCommandHandler.cs
index 2cf94cf..3ee158a 100644
--- a/FlexJobApi.FlexJobServer.Application/Tasks/Commands/TaskInfoCommandHandler.cs
+++ b/FlexJobApi.FlexJobServer.Application/Tasks/Commands/TaskInfoCommandHandler.cs
@@ -158,7 +158,7 @@
         public async Task<Guid> Handle(SureTaskSettlementOrderCommand request, CancellationToken cancellationToken)
         {
             var entity = await TaskInfoRepository.GetQueryable(rep, false)
-                .Include(it => it.TaskInfoUsers)
+                .Include(it => it.TaskInfoUsers).ThenInclude(it => it.EnterpriseEmployee)
                 .Where(it => it.Id == request.TaskInfoId)
                 .FirstOrDefaultAsync();
             if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "浠诲姟");
@@ -167,6 +167,7 @@
             entity.SettlementOrderStatus = EnumTaskSettlementOrderStatus.Completed;
             entity.SettlementOrderUrl = request.SettlementOrderUrl;
             entity.SettlementOrderName = entity.SettlementOrderUrl.Substring(entity.SettlementOrderUrl.LastIndexOf("/") + 1);
+            entity.SettlementOrderTime = DateTime.Now;
             entity.SettlementStatus = EnumTaskSettlementStatus.Wait;
             entity.SettlementUserCount = request.TaskInfoUsers.Count;
             entity.SettlementAmount = request.TaskInfoUsers.Sum(it => it.SettlementAmount ?? 0);
@@ -183,11 +184,22 @@
                 if (model.ActualSettlementAmount > 0 && model.ActualSettlementAmount < 1) throw Oops.Oh(EnumErrorCodeType.s510, $"{model.Name}瀹炲彂閲戦涓嶅彲灏忎簬1鍏�");
                 user.Bank = model.Bank;
                 user.BankBranch = model.BankBranch;
+                user.ReceiveName = user.EnterpriseEmployee.Name;
                 user.ReceiveAccount = model.ReceiveAccount;
                 user.SettlementAmount = model.SettlementAmount;
                 user.ActualSettlementAmount = model.ActualSettlementAmount;
                 user.SettlementStatus = EnumTaskSettlementStatus.Wait;
             }
+
+            foreach (var user in entity.TaskInfoUsers)
+            {
+                var model = request.TaskInfoUsers.FirstOrDefault(it => it.Id == user.Id);
+                if (model == null)
+                {
+                    user.SettlementStatus = null;
+                }
+            }
+
             await rep.UpdateAsync(entity);
             return entity.Id;
         }

--
Gitblit v1.9.1