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 |  211 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 189 insertions(+), 22 deletions(-)

diff --git a/cylsg/cylsg.Application/Users/UserAppService.cs b/cylsg/cylsg.Application/Users/UserAppService.cs
index baf8708..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;
         }
 
 
@@ -52,11 +58,19 @@
             userDto = _mapper.Map<UserDto>(user);
 
             var userWorker = await userWorkerRes.GetFirstAsync(p=>p.UserId== userid);
-            userDto.userWorker = _mapper.Map<UserWorkerDto>(userWorker);
-
+            if (userWorker != null)
+            {
+                userDto.userWorker = _mapper.Map<UserWorkerDto>(userWorker);
+            }
+           
+            
             var userCompany = await userCompanyRes.GetFirstAsync(p => p.UserId == userid);
-            userDto.userCompany = _mapper.Map<UserCompanyDto>(userCompany);
-
+            if (userCompany != null)
+            {
+                userDto.userCompany = _mapper.Map<UserCompanyDto>(userCompany);
+            }
+            //澧炲姞宸濆嵃鏉冮檺鑾峰彇
+            userDto.OAPermissions= await _OAServices.GetOAPermissions();
 
 
             return userDto;
@@ -72,17 +86,47 @@
 
             var UserID = App.User?.FindFirstValue("UserID");
             int userid = 0;
-            string ITCode = App.User?.FindFirstValue("ITCode");
+            string NickName = App.User?.FindFirstValue("NickName");
             if (!string.IsNullOrEmpty(UserID))
             {
                 userid = int.Parse(UserID);
             }
-         
+
+            if (!string.IsNullOrEmpty(userWorkerDto.IdCardFace) && userWorkerDto.IdCardFace.Length > 500)
+            {
+                throw Oops.Oh("韬唤璇佹闈㈣矾寰勯暱搴﹁繃闀匡紒");
+            }
+            if (!string.IsNullOrEmpty(userWorkerDto.IdCardBack) && userWorkerDto.IdCardBack.Length > 500)
+            {
+                throw Oops.Oh("韬唤璇佸弽闈㈣矾寰勯暱搴﹁繃闀匡紒");
+            }
+            if (!string.IsNullOrEmpty(userWorkerDto.name) && userWorkerDto.name.Length > 100)
+            {
+                throw Oops.Oh("濮撳悕闀垮害杩囬暱锛�");
+            }
+            if (!string.IsNullOrEmpty(userWorkerDto.Phone) && userWorkerDto.Phone.Length > 30)
+            {
+                throw Oops.Oh("鐢佃瘽鍙风爜闀垮害杩囬暱锛�");
+            }
+            if (!string.IsNullOrEmpty(userWorkerDto.IdCode) && userWorkerDto.IdCode.Length > 30)
+            {
+                throw Oops.Oh("韬唤璇佸彿闀垮害杩囬暱锛�");
+            }
+            if (!string.IsNullOrEmpty(userWorkerDto.Address) && userWorkerDto.Address.Length > 500)
+            {
+                throw Oops.Oh("鑱旂郴鍦板潃闀垮害杩囬暱锛�");
+            }
+            if (!string.IsNullOrEmpty(userWorkerDto.Resume) && userWorkerDto.Resume.Length > 2000)
+            {
+                throw Oops.Oh("绠�鍘嗘弿杩伴暱搴﹁繃闀匡紒");
+            }
+
             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;
@@ -91,7 +135,7 @@
                 userWorker1.Address = userWorkerDto.Address;
                 userWorker1.Resume = userWorkerDto.Resume;
 
-                userWorker1.UpDataBy = ITCode;
+                userWorker1.UpDataBy = NickName;
                 userWorker1.UpDataTime = DateTime.Now;
                 res = await userWorkerRes.UpdateAsync(userWorker1);
 
@@ -100,9 +144,9 @@
             else
             {
                 var userWorker = _mapper.Map<UserWorker>(userWorkerDto);
-                userWorker.UpDataBy = ITCode;
+                userWorker.UpDataBy = NickName;
                 userWorker.UpDataTime = DateTime.Now;
-                userWorker.CreateBy = ITCode;
+                userWorker.CreateBy = NickName;
                 userWorker.CreateTime = DateTime.Now;
                 userWorker.UserId = userid;
                 res = await userWorkerRes.InsertAsync(userWorker);
@@ -129,17 +173,61 @@
 
             var UserID = App.User?.FindFirstValue("UserID");
             int userid = 0;
-            string ITCode = App.User?.FindFirstValue("ITCode");
+            string NickName = App.User?.FindFirstValue("NickName");
             if (!string.IsNullOrEmpty(UserID))
             {
                 userid = int.Parse(UserID);
             }
-          
+            if(!string.IsNullOrEmpty(userCompanyDto.BusinessLicense) && userCompanyDto.BusinessLicense.Length > 500)
+            {
+                throw Oops.Oh("钀ヤ笟鎵х収璺緞闀垮害杩囬暱锛�");
+            }
+            if (!string.IsNullOrEmpty(userCompanyDto.Suppliername) && userCompanyDto.Suppliername.Length > 100)
+            {
+                throw Oops.Oh("浼佷笟鍚嶇О闀垮害杩囬暱锛�");
+            }
+            if (!string.IsNullOrEmpty(userCompanyDto.Regtime) && userCompanyDto.Regtime.Length > 50)
+            {
+                throw Oops.Oh("娉ㄥ唽鏃堕棿闀垮害杩囬暱锛�");
+            }
+            if (!string.IsNullOrEmpty(userCompanyDto.Address) && userCompanyDto.Address.Length > 500)
+            {
+                throw Oops.Oh("鑱旂郴鍦板潃闀垮害杩囬暱锛�");
+            }
+            if (!string.IsNullOrEmpty(userCompanyDto.Suppliercode) && userCompanyDto.Suppliercode.Length > 30)
+            {
+                throw Oops.Oh("浼佷笟娉ㄥ唽鍙烽暱搴﹁繃闀匡紒");
+            }
+            if (!string.IsNullOrEmpty(userCompanyDto.Contact) && userCompanyDto.Contact.Length > 50)
+            {
+                throw Oops.Oh("鑱旂郴浜洪暱搴﹁繃闀匡紒");
+            }
+            if (!string.IsNullOrEmpty(userCompanyDto.Phone) && userCompanyDto.Phone.Length > 50)
+            {
+                throw Oops.Oh("鑱旂郴鐢佃瘽闀垮害杩囬暱锛�");
+            }
+            if (!string.IsNullOrEmpty(userCompanyDto.Resume) && userCompanyDto.Resume.Length > 2000)
+            {
+                throw Oops.Oh("鍏徃绠�浠嬮暱搴﹁繃闀匡紒");
+            }
+
             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;
@@ -150,7 +238,7 @@
                 userCompany1.Resume = userCompanyDto.Resume;
  
 
-                userCompany1.UpDataBy = ITCode;
+                userCompany1.UpDataBy = NickName;
                 userCompany1.UpDataTime = DateTime.Now;
                 res = await userCompanyRes.UpdateAsync(userCompany1);
 
@@ -158,10 +246,20 @@
             }
             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 = ITCode;
+                userCompany.UpDataBy = NickName;
                 userCompany.UpDataTime = DateTime.Now;
-                userCompany.CreateBy = ITCode;
+                userCompany.CreateBy = NickName;
                 userCompany.CreateTime = DateTime.Now;
                 userCompany.UserId = userid;
                 res = await userCompanyRes.InsertAsync(userCompany);
@@ -191,16 +289,85 @@
             var user = await userRes.GetByIdAsync(userid);
             userDto = _mapper.Map<UserDto>(user);
 
+            //var userWorker = await userWorkerRes.GetFirstAsync(p => p.UserId == userid);
+            //userDto.userWorker = _mapper.Map<UserWorkerDto>(userWorker);
+
+            //var userCompany = await userCompanyRes.GetFirstAsync(p => p.UserId == userid);
+            //userDto.userCompany = _mapper.Map<UserCompanyDto>(userCompany);
+
+
             var userWorker = await userWorkerRes.GetFirstAsync(p => p.UserId == userid);
-            userDto.userWorker = _mapper.Map<UserWorkerDto>(userWorker);
+            if (userWorker != null)
+            {
+                userDto.userWorker = _mapper.Map<UserWorkerDto>(userWorker);
+            }
+
 
             var userCompany = await userCompanyRes.GetFirstAsync(p => p.UserId == userid);
-            userDto.userCompany = _mapper.Map<UserCompanyDto>(userCompany);
-
+            if (userCompany != null)
+            {
+                userDto.userCompany = _mapper.Map<UserCompanyDto>(userCompany);
+            }
 
 
             return userDto;
         }
 
+
+
+
+        /// <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