From 479b6cfc60113f692f6f9146bcd7b9231a32b0e8 Mon Sep 17 00:00:00 2001
From: 移动系统liao <liaoxujun@qq.com>
Date: 星期六, 08 二月 2025 09:07:57 +0800
Subject: [PATCH] Merge branch 'cyronghe'

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

diff --git a/cylsg/cylsg.Application/Users/UserAppService.cs b/cylsg/cylsg.Application/Users/UserAppService.cs
index bac83be..8582f0f 100644
--- a/cylsg/cylsg.Application/Users/UserAppService.cs
+++ b/cylsg/cylsg.Application/Users/UserAppService.cs
@@ -10,6 +10,8 @@
 using System.Security.Claims;
 using System.Runtime.Intrinsics.Arm;
 using MapsterMapper;
+using ECTESTOA;
+
 
 namespace cylsg.Application.Users
 {
@@ -22,11 +24,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;
         }
 
 
@@ -63,8 +69,8 @@
             {
                 userDto.userCompany = _mapper.Map<UserCompanyDto>(userCompany);
             }
-               
-
+            //澧炲姞宸濆嵃鏉冮檺鑾峰彇
+            userDto.OAPermissions= await _OAServices.GetOAPermissions();
 
 
             return userDto;
@@ -117,9 +123,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 +213,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 +246,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;
@@ -285,6 +314,60 @@
         }
 
 
-      
+
+
+        /// <summary>
+        /// 淇濆瓨鐢ㄦ埛淇℃伅
+        /// </summary>
+        /// <returns></returns>
+        public async Task<bool> saveUser(UserDto userDto)
+        {
+
+            var UserID = App.User?.FindFirstValue("UserID");
+            int userid = 0;
+            string NickName = App.User?.FindFirstValue("NickName");
+            if (!string.IsNullOrEmpty(UserID))
+            {
+                userid = int.Parse(UserID);
+            }
+            if (!string.IsNullOrEmpty(userDto.Nickname) && userDto.Nickname.Length > 100)
+            {
+                throw Oops.Oh("鏄电О闀垮害杩囬暱锛�");
+            }
+            if (!string.IsNullOrEmpty(userDto.Avatar) && userDto.Avatar.Length > 500)
+            {
+                throw Oops.Oh("澶村儚闀垮害杩囬暱锛�");
+            }
+            
+
+            var userRes = new BaseRepository<User>();
+            bool res;
+
+            var user = await userRes.GetByIdAsync(userid);
+
+            if (!string.IsNullOrEmpty(userDto.Nickname))
+                user.Nickname = userDto.Nickname;
+            if (!string.IsNullOrEmpty(userDto.Avatar))
+                user.Avatar = userDto.Avatar;
+
+
+            user.UpDataBy = NickName;
+            user.UpDataTime = DateTime.Now;
+            res = await userRes.UpdateAsync(user);
+
+
+
+
+
+
+
+
+
+
+            return res;
+        }
+
+
+
     }
 }

--
Gitblit v1.9.1