From 38e3665144cbabd5d59f876268053e749f046e3a Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期二, 09 九月 2025 09:33:21 +0800
Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/ApiFlexJob

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

diff --git a/FlexJobApi.FlexJobServer.Application/Tasks/Commands/TaskInfoCommandHandler.cs b/FlexJobApi.FlexJobServer.Application/Tasks/Commands/TaskInfoCommandHandler.cs
index d2dfe8b..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);
@@ -180,14 +181,25 @@
                 if (user.CheckReceiveStatus != EnumTaskCheckReceiveStatus.Completed) throw Oops.Oh(EnumErrorCodeType.s510, $"{model.Name}鏈獙鏀�");
                 if (model.SettlementAmount < 0) throw Oops.Oh(EnumErrorCodeType.s510, $"{model.Name}缁撶畻閲戦涓嶅彲璐熸暟");
                 if (model.ActualSettlementAmount < 0) throw Oops.Oh(EnumErrorCodeType.s510, $"{model.Name}瀹炲彂閲戦涓嶅彲璐熸暟");
-                if (model.ActualSettlementAmount > 0 && model.ActualSettlementAmount < (decimal)0.3) throw Oops.Oh(EnumErrorCodeType.s510, $"{model.Name}瀹炲彂閲戦涓嶅彲灏忎簬1鍏�");
+                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