From a622695a0cd6ea5aa63869f5c1a891e589909f48 Mon Sep 17 00:00:00 2001
From: 小飞侠 <8277136+liaoxujun@user.noreply.gitee.com>
Date: 星期二, 07 四月 2026 16:14:57 +0800
Subject: [PATCH] no message

---
 cylsg/cylsg.Application/Users/UserAppService.cs |   95 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 87 insertions(+), 8 deletions(-)

diff --git a/cylsg/cylsg.Application/Users/UserAppService.cs b/cylsg/cylsg.Application/Users/UserAppService.cs
index a3f0c08..aea49ae 100644
--- a/cylsg/cylsg.Application/Users/UserAppService.cs
+++ b/cylsg/cylsg.Application/Users/UserAppService.cs
@@ -10,6 +10,9 @@
 using System.Security.Claims;
 using System.Runtime.Intrinsics.Arm;
 using MapsterMapper;
+using ECTESTOA;
+using cylsg.Model.OrderModel;
+
 
 namespace cylsg.Application.Users
 {
@@ -22,11 +25,15 @@
         private readonly ISystemService _systemService;
         private ISqlSugarClient _sqlSugarClient;
         private IMapper _mapper;
-        public UserAppService(ISystemService systemService, ISqlSugarClient sqlSugarClient, IMapper mapper)
+        private readonly IOAServices _OAServices;
+        public UserAppService(ISystemService systemService, ISqlSugarClient sqlSugarClient, IMapper mapper 
+            ,IOAServices oAServices
+            )
         {
             _systemService = systemService;
             _sqlSugarClient = sqlSugarClient;
             _mapper = mapper;
+            _OAServices = oAServices;
         }
 
 
@@ -56,15 +63,39 @@
             {
                 userDto.userWorker = _mapper.Map<UserWorkerDto>(userWorker);
             }
-           
+            bool IsGuDing = false;
+            var bdct = new BaseRepository<OrderBidding>();
+            if (bdct != null)
+            {
+                var userBd = await bdct.GetFirstAsync(x => x.WorkerUserId == userid&& x.IsGuding==true);
+                if (userBd != null)
+                {
+                    IsGuDing = true;
+                }
+            }
+            userDto.userWorker.IsLingHuoYongGong = IsGuDing;
+            decimal ab = (userDto.userWorker.TiXianZonge ?? 0) - (userDto.userWorker.YiTiXianJine ?? 0 );
+            userDto.userWorker.Balance =ab < 0 ? 0 : ab;
+            if (IsGuDing)
+            {
+               
+                userDto.userWorker.AvailableBalance = (ab-300)<0 ? 0 : (ab - 300);
+
+            }
+            else
+
+                userDto.userWorker.AvailableBalance = userDto.userWorker.Balance;
+
+          
             
+
             var userCompany = await userCompanyRes.GetFirstAsync(p => p.UserId == userid);
             if (userCompany != null)
             {
                 userDto.userCompany = _mapper.Map<UserCompanyDto>(userCompany);
             }
-               
-
+            //澧炲姞宸濆嵃鏉冮檺鑾峰彇
+            userDto.OAPermissions= await _OAServices.GetOAPermissions();
 
 
             return userDto;
@@ -117,9 +148,10 @@
 
             var userWorkerRes = new BaseRepository<UserWorker>();
             bool res;
-            if (userWorkerDto.Id > 0)
+            var userWorker1 = await userWorkerRes.GetFirstAsync(x => x.UserId == userid && x.IsEn == true && x.IsDeleted == false);
+            if (userWorker1!=null)
             {
-                var userWorker1 = await userWorkerRes.GetByIdAsync(userWorkerDto.Id);
+               //.GetByIdAsync(userWorkerDto.Id);
                 userWorker1.IdCardBack = userWorkerDto.IdCardBack;
                 userWorker1.IdCardFace = userWorkerDto.IdCardFace;
                 userWorker1.name = userWorkerDto.name;
@@ -206,9 +238,21 @@
 
             var userCompanyRes = new BaseRepository<UserCompany>();
             bool res;
-            if (userCompanyDto.Id > 0)
+            var userCompany1 = await userCompanyRes.GetFirstAsync(x=>x.UserId == userid && x.IsEn == true && x.IsDeleted == false);
+            if (userCompany1 != null)
             {
-                var userCompany1 = await userCompanyRes.GetByIdAsync(userCompanyDto.Id);
+                if(userCompany1.Suppliercode != userCompanyDto.Suppliercode)
+                {
+                    var count = await userCompanyRes.CountAsync(x => x.Suppliercode == userCompanyDto.Suppliercode && x.Id != userCompany1.Id && x.IsEn == true && x.IsDeleted == false);
+                    if (count > 0)
+                    {
+                        userCompany1.IsAdmin = false;
+                    }
+                    else
+                    {
+                        userCompany1.IsAdmin = true;
+                    }
+                }
                 userCompany1.BusinessLicense = userCompanyDto.BusinessLicense;
                 userCompany1.Suppliername = userCompanyDto.Suppliername;
                 userCompany1.Regtime = userCompanyDto.Regtime;
@@ -227,6 +271,16 @@
             }
             else
             {
+                var count = await userCompanyRes.CountAsync(x => x.Suppliercode == userCompanyDto.Suppliercode && x.IsEn == true && x.IsDeleted == false);
+                if (count > 0)
+                {
+                    userCompanyDto.IsAdmin = false;
+                }
+                else
+                {
+                    userCompanyDto.IsAdmin = true;
+                }
+
                 var userCompany = _mapper.Map<UserCompany>(userCompanyDto);
                 userCompany.UpDataBy = NickName;
                 userCompany.UpDataTime = DateTime.Now;
@@ -272,6 +326,31 @@
             {
                 userDto.userWorker = _mapper.Map<UserWorkerDto>(userWorker);
             }
+            bool IsGuDing = false;
+            var bdct = new BaseRepository<OrderBidding>();
+            if (bdct != null)
+            {
+                var userBd = await bdct.GetFirstAsync(x => x.WorkerUserId == userid && x.IsGuding == true);
+                if (userBd != null)
+                {
+                    IsGuDing = true;
+                }
+            }
+            userDto.userWorker.IsLingHuoYongGong = IsGuDing;
+          
+            decimal ab = (userDto.userWorker.TiXianZonge ?? 0) - (userDto.userWorker.YiTiXianJine ?? 0);
+            userDto.userWorker.Balance = ab < 0 ? 0 : ab;
+            if (IsGuDing)
+            {
+
+                userDto.userWorker.AvailableBalance = (ab - 300) < 0 ? 0 : (ab - 300);
+
+            }
+            else
+
+                userDto.userWorker.AvailableBalance = userDto.userWorker.Balance;
+
+
 
 
             var userCompany = await userCompanyRes.GetFirstAsync(p => p.UserId == userid);

--
Gitblit v1.9.1