From ad64f9d240fb054856afe4ab9523062b2bc079b9 Mon Sep 17 00:00:00 2001
From: 移动系统liao <liaoxujun@qq.com>
Date: 星期三, 20 八月 2025 10:22:08 +0800
Subject: [PATCH] 完成客户企业资料改造和相关表修改和建立,基础APi建立完成

---
 Admin.NET/FZCTB.NET.API.Application/User/CustomerService.cs |  448 +++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 383 insertions(+), 65 deletions(-)

diff --git a/Admin.NET/FZCTB.NET.API.Application/User/CustomerService.cs b/Admin.NET/FZCTB.NET.API.Application/User/CustomerService.cs
index 9c5cf91..d641f88 100644
--- a/Admin.NET/FZCTB.NET.API.Application/User/CustomerService.cs
+++ b/Admin.NET/FZCTB.NET.API.Application/User/CustomerService.cs
@@ -6,14 +6,21 @@
 
 using Admin.NET.Core;
 using Admin.NET.Core.Service;
+using Aop.Api.Domain;
+using Dm.util;
 using Furion;
+using Furion.DependencyInjection;
 using Furion.DynamicApiController;
 using Furion.FriendlyException;
+using FZCTB.NET.API.Application.Auth;
+using FZCTB.NET.API.Application.Auth.DTO;
 using FZCTB.NET.API.Application.User.DTO;
+using FZCZTB.Net.CustomerSYSTem;
 using FZCZTB.NET.MD.ConfigMd;
 using FZCZTB.NET.MD.CutomerMd;
 using FZCZTB.NET.MD.CutomerMd.Extend;
 using FZCZTB.NET.SYSService.CustomerSYS;
+using Lazy.Captcha.Core.Generator.Image.Gif;
 using Mapster;
 using MapsterMapper;
 using Microsoft.AspNetCore.Authorization;
@@ -33,25 +40,33 @@
 /// 瀹㈡埛鎺у埗
 /// </summary>
 [ApiDescriptionSettings("FZCAPISYS", Order = 149)]
-public class CustomerService: IDynamicApiController
+public class CustomerService: IDynamicApiController,IScoped
 {
   private  readonly CustomerManagerS _customerManager;
 
     private readonly SysCacheService _sysCacheService;
     private readonly SqlSugarRepository<FBS_ExRole> _fBS_ExRoleRep;
-
+    private readonly SqlSugarRepository<FBS_CoutomerExRole> _fBS_CustomerExRoleRep;
     private readonly SqlSugarRepository<FBS_EnterpriseType> _fBS_EnterpriseTypeRep;
     private readonly SqlSugarRepository<FBS_Customer> _fBS_CustomerRep;
+    private readonly SqlSugarRepository<FBS_CustormerUsers> _fBS_CustormerUsersRep;
+   
     /// <summary>
     /// 鐢ㄦ埛鎵╁睍
     /// </summary>
     private readonly SqlSugarRepository<FBS_CusExtend> _fBS_CusExtendRep;
+
     private IMapper _mapper;
     /// <summary>
     /// 
     /// </summary>
     public CustomerService(SysCacheService cacheService, CustomerManagerS managerS,SqlSugarRepository<FBS_Customer>  repository
-        , SqlSugarRepository<FBS_EnterpriseType> fbsenrep,IMapper mapper,SqlSugarRepository<FBS_ExRole> exroles , SqlSugarRepository<FBS_CusExtend> cusrep)
+        , SqlSugarRepository<FBS_EnterpriseType> fbsenrep,IMapper mapper,
+        SqlSugarRepository<FBS_ExRole> exroles ,
+        SqlSugarRepository<FBS_CusExtend> cusrep,
+        SqlSugarRepository<FBS_CoutomerExRole> cexrrep
+        , SqlSugarRepository<FBS_CustormerUsers> cusUser
+       )
     {
         _sysCacheService= cacheService;
          _customerManager = managerS;
@@ -60,6 +75,9 @@
         _fBS_ExRoleRep = exroles;
         _fBS_CusExtendRep = cusrep;
         _mapper = mapper;
+        _fBS_CustomerExRoleRep = cexrrep;
+        _fBS_CustormerUsersRep = cusUser;
+      
     }
 
     /// <summary>
@@ -68,7 +86,7 @@
     /// <returns></returns>
     [AllowAnonymous]
     [HttpPost]
-    public async Task<bool>  CustomerRegistration(CustomerRDto param )
+    public async Task<string>  CustomerRegistration(FBS_CusExtendVm param )
     {
         //_customerManager.
         var ExRole= (await _customerManager.GetExRole()).Where(x => x.Code == param.ExRoleCode).FirstOrDefault();
@@ -78,57 +96,98 @@
             throw Oops.Oh("璇烽�夋嫨涓�涓湁鏁堢殑瑙掕壊杩涜娉ㄥ唽");
         }
 
-        //宸查�夎鑹诧紝璇烽�夋嫨涓�涓敞鍐岃鑹�    
-       var data= await _fBS_CustomerRep.AsQueryable().Includes(X => X.CoutomerExRols,y=>y.ExRole).Where(x => x.Account == param.Account).FirstAsync();
-        if (data != null)
-        {
-            if (data.CoutomerExRols.Any(x => x.ExRole.Code == param.ExRoleCode))
-            {
-                throw Oops.Oh("宸茬粡娉ㄥ唽浜嗚瑙掕壊璇峰嬁閲嶅娉ㄥ唽");
-            }
+       // //宸查�夎鑹诧紝璇烽�夋嫨涓�涓敞鍐岃鑹�    
+       //var data= await _fBS_CustomerRep.AsQueryable().Includes(X => X.CoutomerExRols,y=>y.ExRole).Where(x => x.Account == param.Account).FirstAsync();
+       // if (data != null)
+       // {
+       //     if (data.CoutomerExRols.Any(x => x.ExRole.Code == param.ExRoleCode))
+       //     {
+       //         throw Oops.Oh("宸茬粡娉ㄥ唽浜嗚瑙掕壊璇峰嬁閲嶅娉ㄥ唽");
+       //     }
 
-            else
-            {
-                throw Oops.Oh("璇ョ敤鎴峰悕閲嶅锛屽鏋滈渶瑕佸璇ョ敤鎴锋坊鍔犵浉搴旇鑹诧紝璇风櫥褰曚换鎰忚鑹插悗娣诲姞");
-            }
+       //     else
+       //     {
+       //         throw Oops.Oh("璇ョ敤鎴峰悕閲嶅锛屽鏋滈渶瑕佸璇ョ敤鎴锋坊鍔犵浉搴旇鑹诧紝璇风櫥褰曚换鎰忚鑹插悗娣诲姞");
+       //     }
 
-        }
-       var vcode= _sysCacheService.Get<string>($"{CacheConst.KeyPhoneVerCode}{param.Phone}");
+       // }
+
+
+       var vcode= _sysCacheService.Get<string>($"{CacheConst.KeyPhoneVerCode}{param.OperatorPhone}");
          if(param.PhoneVCode!="TEST")
         if(vcode!=param.PhoneVCode)
         {
             //鎵嬫満楠岃瘉鐮侀敊璇�
             throw Oops.Oh("鎵嬫満楠岃瘉鐮侀敊璇紝璇疯緭鍏ユ纭殑鎵嬫満楠岃瘉鐮�");
         }
+
+
         //浣跨敤鍚庣珛鍗冲垹闄�
-        _sysCacheService.Remove($"{CacheConst.KeyPhoneVerCode}{param.Phone}");
-        var dd = param.Adapt<FBS_Customer>();
-        dd.RealName = dd.NickName;
-       
-        dd.Account = dd.Phone;
-        dd.Password = "";
-        dd.TenantId = 1300000000001;
+        _sysCacheService.Remove($"{CacheConst.KeyPhoneVerCode}{param.OperatorPhone}");
+
+
+        var cusex = await _fBS_CusExtendRep.GetFirstAsync(x => x.UnifiedSocialCreditCode == param.UnifiedSocialCreditCode);
+        if(cusex!=null)
+        {
+            throw Oops.Oh("璇ヤ紒涓氬凡缁忔敞鍐�");
+        }
+        var dd = param.Adapt<FBS_CusExtend>();
+
+        dd.TransactionCode = param.ExRoleCode;
+      
         dd.CreateTime = DateTime.Now;
         dd.CreateUserId = 0;
-        dd.CreateUserName = dd.NickName;
-        dd.CoutomerExRols = new List<FBS_CoutomerExRole>()
+        dd.CreateUserName = "鐢ㄦ埛娉ㄥ唽";
+       await  _fBS_CusExtendRep.AsTenant().BeginTranAsync();
+        try
         {
-            new FBS_CoutomerExRole
+             dd = await _fBS_CusExtendRep.InsertReturnEntityAsync(dd);
+
+            FBS_CoutomerExRole rulse = new FBS_CoutomerExRole
             {
-                 ExRoleId= ExRole?.Id??0
-                  
-                  
-            }
+                CusExtendId = dd.Id,
+                ExRoleId = ExRole.Id ?? 0,
+                steps = CusExtendStep.UNExamine
+
+
+            };
+            await _fBS_CustomerExRoleRep.InsertAsync(rulse);
+
+            FBS_CustormerUsers user = new FBS_CustormerUsers
+            {
+                CusExtendId = dd.Id,
+                PhoneNumber = dd.OperatorPhone,
+                IsEn = true,
+                IsManager = true,
+                JobTitle = param.JobTitle,
+                Name = dd.OperatorName,
+                Nickname = param.Nickname,
+                CreateTime = dd.CreateTime,
+                CreateUserId = 0,
+                CreateUserName = "鐢ㄦ埛娉ㄥ唽",
+
+            };
+            await _fBS_CustormerUsersRep.InsertAsync(user);
+
+            await  _fBS_CusExtendRep.AsTenant().CommitTranAsync();
+            
+            return "娉ㄥ唽鎴愬姛";
+        }
+        catch (Exception)
+        {
+            await _fBS_CusExtendRep.AsTenant().RollbackTranAsync();
+            throw;
         };
+    
             
             
          
 
-      await   _fBS_CustomerRep.AsSugarClient().InsertNav(dd).Include(x=>x.CoutomerExRols).ExecuteCommandAsync();
+     
 
 
 
-        return true;
+       
     }
     /// <summary>
     /// 娉ㄥ唽鐧诲綍鍙�夎鑹�
@@ -153,8 +212,8 @@
     /// 娉ㄥ唽瑙掕壊鐢ㄦ埛璧勬枡
     /// </summary>
     /// <returns></returns>
-    [HttpPost]
-    public async Task<bool> CreaterExRolsInformation(CusExtendDto cusExtend )
+    [HttpGet]
+    public async Task<bool> CreaterExRolsInformation(string RuleCode)
     {
 
         var id = App.User.FindFirst(ClaimConst.UserId)?.Value.ToLong() ?? 0;
@@ -168,29 +227,34 @@
         {
             throw Oops.Oh("鐢ㄦ埛涓嶅瓨鍦�");
         }
-       var rols= await  _fBS_ExRoleRep.GetFirstAsync(x => x.Code == cusExtend.TransactionCode && x.Status == StatusEnum.Enable);
+        var data = await _fBS_ExRoleRep.AsQueryable().ToListAsync();
+       var rols= await  _fBS_ExRoleRep.GetFirstAsync(x => x.Code == RuleCode && x.Status == StatusEnum.Enable);
         if(rols==null)
         {
             throw Oops.Oh("浜ゆ槗涓讳綋涓嶅瓨鍦�");
         }
-
-        if(user.CoutomerExRols?.Any(x=>x.ExRole.Code==cusExtend.TransactionCode&& x.HasFlsh==true)==true)
+        var ExRoles = await _fBS_CustomerExRoleRep.GetListAsync(x => x.CusExtendId == user.CusExtendId);
+        if (ExRoles != null)
         {
-            throw Oops.Oh("鐢ㄦ埛宸茬粡娉ㄥ唽浜嗚涓讳綋");
+            if (ExRoles?.Any(x => x.ExRoleId == rols.Id ) == true)
+            {
+                throw Oops.Oh("鐢ㄦ埛宸茬粡娉ㄥ唽浜嗚涓讳綋");
+            }
+           
         }
-     
 
-        var data= cusExtend.Adapt<FBS_CusExtend>();
+        //澧炲姞鐢ㄦ埛瑙掕壊
+        await _fBS_CustomerExRoleRep.InsertAsync(new FBS_CoutomerExRole
+        {
+            ExRoleId = rols.Id,
+            CusExtendId = user.CusExtendId,
+            steps= CusExtendStep.UNExamine,
+        });
 
-        data.steps = CusExtendStep.UNExamine;
-        data.CustomerId = id;
-        data.CreateTime = DateTime.Now;
-        
-        data.CreateUserName = user.NickName;
-        data.TransactionCode = rols.Code;
 
-        
-      return   await _fBS_CusExtendRep.InsertAsync(data);
+
+
+        return true;
 
 
 
@@ -225,12 +289,12 @@
         {
             throw Oops.Oh("鐧诲綍浜ゆ槗涓讳綋鏃犳晥");
         }
-       var tab= (await _fBS_CusExtendRep.GetFirstAsync(x => x.CustomerId == id && x.TransactionCode == typeCode)).Adapt<CusExtendDto>();
-        if(tab==null)
+
+     
+        return await _fBS_CusExtendRep.AsQueryable().Where(x => x.Id == user.CusExtendId).Includes(x => x.ExRoles, y => y.ExRole).Select(x => new CusExtendDto
         {
-            throw Oops.Oh("娌℃湁瀹屾垚淇℃伅褰曞叆");
-        }
-        return tab;
+            ExRoles = x.ExRoles.Adapt<List<FBS_CoutomerExRoleOutput>>()
+        }, true).FirstAsync();
         
        
     }
@@ -264,14 +328,14 @@
         {
             throw Oops.Oh("鐧诲綍浜ゆ槗涓讳綋鏃犳晥");
         }
-        var tab = await _fBS_CusExtendRep.GetFirstAsync(x => x.CustomerId == id && x.TransactionCode == typeCode);
+        var tab = await _fBS_CusExtendRep.GetFirstAsync(x => x.Id == user.CusExtendId );
         if (tab == null)
         {
             throw Oops.Oh("娌℃湁瀹屾垚淇℃伅褰曞叆");
         }
 
-
-
+        bool  isChangeData = false;
+     
 
 
         //娉曚汉
@@ -282,7 +346,7 @@
             tab.LegalRepresentativeName = InParam.LegalRepresentativeName;
             tab.LegalRepresentativePhone = InParam.LegalRepresentativePhone;
             //閲嶆柊瀹℃牳?
-            tab.steps = CusExtendStep.Change;
+            isChangeData=true;
         }
 
 
@@ -297,16 +361,33 @@
             tab.EnterpriseName = InParam.EnterpriseName;
             tab.BusinessLicense = InParam.BusinessLicense;
             //閲嶆柊瀹℃牳?
-            tab.steps = CusExtendStep.Change;
+            isChangeData = true;
         }
-        tab.EnterpriseType = InParam.EnterpriseType;
+        if (tab.EnterpriseType != InParam.EnterpriseType)
+        {
+            tab.EnterpriseType = InParam.EnterpriseType;
+          
+        }
 
         //鑱旂郴鐢佃瘽
         tab.EnterprisePhone = InParam.EnterprisePhone;
         tab.EnterpriseEmail = InParam.EnterpriseEmail;
+
+        if (tab.BankAccount != InParam.BankAccount)
+        {
+           
+            tab.BankAccount = InParam.BankAccount;
+            isChangeData = true;
+
+        }
+        if (tab.BankName != InParam.BankName)
+        {
+            tab.BankName = InParam.BankName;
+            isChangeData = true;
+        }
         //閾惰鏄惁闇�瑕佷慨鏀�
-        tab.BankAccount = InParam.BankAccount;
-        tab.BankName = InParam.BankName;
+        //tab.BankAccount = InParam.BankAccount;
+        //tab.BankName = InParam.BankName;
 
         // 缁忓姙浜�
         if (tab.OperatorIdCard != InParam.OperatorIdCard)
@@ -316,14 +397,251 @@
             tab.OperatorIdNumber = InParam.OperatorIdNumber;
             tab.OperatorName = InParam.OperatorName;
             tab.OperatorPhone = InParam.OperatorPhone;
+            isChangeData = true;
         }
-       
 
-        return await _fBS_CusExtendRep.UpdateAsync(tab);
+
+      await   _fBS_CusExtendRep.AsTenant().BeginTranAsync();
+        try
+        {
+            if(!isChangeData)
+            {
+                //鏄洿鏀癸紝闇�瑕佹洿璇ユ墍鏈塺oles鐨勫��
+             var exrolerep=     await   _fBS_CustomerExRoleRep.GetListAsync(x=>x.CusExtendId==user.CusExtendId);
+                foreach (var item in exrolerep)
+                {
+                    
+                        item.steps = CusExtendStep.Change;
+                        
+                    
+                }
+               await _fBS_CustomerExRoleRep.UpdateRangeAsync(exrolerep);
+            }
+
+            await _fBS_CusExtendRep.UpdateAsync(tab);
+            await  _fBS_CusExtendRep.AsTenant().CommitTranAsync();
+
+        }
+        catch (Exception)
+        {
+            await _fBS_CusExtendRep.AsTenant().RollbackTranAsync();
+            throw;
+        }
+
+        return true;
 
     }
 
 
+    /// <summary>
+    /// 鑾峰彇璐︽埛鍒楄〃
+    /// </summary>
+    /// <returns></returns>
+    [HttpGet]
+    public async Task<List<FBS_CustormerUsersOutput> > GetCustormerUsersList()
+    {
+        var id = App.User.FindFirst(ClaimConst.CustomerExId)?.Value.ToLong() ?? 0;
+        if (id == 0)
+        {
+            throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒");
+
+        }
+        if (!await isManger())
+            throw Oops.Oh("鐢ㄦ埛娌℃湁鏉冮檺");
+         return (await  _fBS_CustormerUsersRep.GetListAsync(x => x.CusExtendId == id&&x.IsEn==true)).Adapt<List<FBS_CustormerUsersOutput>>();
+    }
+    public FBS_CustormerUsers? ThisUser { get; set; }
+    /// <summary>
+    ///  鏂板缓鍛樺伐鏁版嵁
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    public async Task<bool> CreatCustormerUsers(FBS_CustormerUsersVM param)
+    {
+        if (!await isManger())
+            throw Oops.Oh("鐢ㄦ埛娌℃湁鏉冮檺");
+        var cid = App.User.FindFirst(ClaimConst.CustomerExId)?.Value.ToLong() ?? 0;
+        if (cid == 0)
+        {
+            throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒");
+
+        }
+     var count =  await  _fBS_CustormerUsersRep.CountAsync(x=>x.CusExtendId== cid);
+        if(count>10)
+        {
+            throw Oops.Oh("鍚屼竴缁勭粐鏈烘瀯鏈�澶氬彲浠ュ缓绔�10涓敤鎴�");
+        }
+
+ var User  = await _fBS_CustormerUsersRep.GetFirstAsync(x => x.CusExtendId == cid && x.PhoneNumber == param.PhoneNumber);
+        if(User!=null)
+        {
+            throw Oops.Oh("鍚屼竴瀹跺叕鍙歌处鎴蜂笉鑳藉悓鏃跺嚭鐜扮浉鍚岀殑鐢佃瘽鍙风爜");
+        }
+ 
+        User =  param.Adapt<FBS_CustormerUsers>();
+        User.CusExtendId = cid;
+        User.IsManager = false;
+        User.CreateTime = DateTime.Now;
+        User.CreateUserName ="浼佷笟鐢ㄦ埛:"+ ThisUser?.Name;
+        User.CreateUserId = ThisUser?.Id;
+        return await _fBS_CustormerUsersRep.InsertAsync(User);
+        
 
 
+       
+    }
+    /// <summary>
+    /// 鏇存敼绠$悊鍛�
+    /// </summary>
+    /// <param name="CustormerUserId"> UserList 鐨処D</param>
+    /// <returns></returns>
+    [HttpGet]
+    public async Task<bool> ChangeManager(long   CustormerUserId )
+    {
+        if (!await isManger())
+            throw Oops.Oh("鐢ㄦ埛娌℃湁鏉冮檺");
+        var cid = App.User.FindFirst(ClaimConst.CustomerExId)?.Value.ToLong() ?? 0;
+        if (cid == 0)
+        {
+            throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒");
+
+        }
+        var uid = App.User.FindFirst(ClaimConst.UserId)?.Value.ToLong() ?? 0;
+        if (uid == 0)
+        {
+            throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒");
+
+        }
+        if(CustormerUserId== uid)
+            return true;
+        if (ThisUser==null)
+        {
+          
+            ThisUser = await _fBS_CustormerUsersRep.GetFirstAsync(x => x.Id == uid && x.CusExtendId == cid && x.IsEn == true);
+          
+        }
+        var User = await _fBS_CustormerUsersRep.GetFirstAsync(x =>x.CusExtendId==ThisUser.CusExtendId &&x.Id== CustormerUserId);
+        if (User != null)
+        {
+            throw Oops.Oh("鐢ㄦ埛涓嶅瓨鍦�");
+        }
+        if(User.IsEn==false)
+            throw Oops.Oh("鏃犳晥鐢ㄦ埛涓嶅彲璁剧疆涓虹鐞嗗憳");
+
+        User.IsManager = true;
+        User.UpdateTime = DateTime.Now;
+        User.UpdateUserName= "浼佷笟鐢ㄦ埛:" + ThisUser?.Name;
+        User.UpdateUserId = ThisUser.Id;
+
+        //ThisUser.IsManager = false;
+        //ThisUser.UpdateTime = DateTime.Now;
+        //ThisUser.UpdateUserName = "浼佷笟鐢ㄦ埛:" + ThisUser?.Name;  //涓嶄簰鏂�
+        //ThisUser.UpdateUserId = ThisUser.Id;
+      await  _fBS_CustormerUsersRep.AsTenant().BeginTranAsync();
+        try
+        {
+            await _fBS_CustormerUsersRep.UpdateAsync(User);
+            //await _fBS_CustormerUsersRep.UpdateAsync(ThisUser); //涓嶄簰鏂�
+            await _fBS_CustormerUsersRep.AsTenant().CommitTranAsync();
+            return false;
+            
+        }
+        catch (Exception)
+        {
+            await _fBS_CustormerUsersRep.AsTenant().RollbackTranAsync();
+            throw;
+        }
+
+       
+    }
+
+    /// <summary>
+    /// 鏇存敼鍛樺伐淇℃伅
+    /// </summary>
+    /// <param name="CustormerUserId"> UserList 鐨処D</param>
+    /// <returns></returns>
+    [HttpPost]
+    public async Task<bool> UpdataCustormerUsers( FBS_CustormerUsersVM Param)
+    {
+        if (!await isManger())
+            throw Oops.Oh("鐢ㄦ埛娌℃湁鏉冮檺");
+        var cid = App.User.FindFirst(ClaimConst.CustomerExId)?.Value.ToLong() ?? 0;
+        if (cid == 0)
+        {
+            throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒");
+
+        }
+        var uid = App.User.FindFirst(ClaimConst.UserId)?.Value.ToLong() ?? 0;
+        if (uid == 0)
+        {
+            throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒");
+
+        }
+        if(Param.Id==null)
+        {
+            throw Oops.Oh("Id閿欒");
+        }
+        if(Param.CusExtendId!=Param.Id)
+        {
+            throw Oops.Oh("缁勭粐鏈烘瀯涓嶅悓涓嶅彲淇敼");
+        }
+    
+        var User = await _fBS_CustormerUsersRep.GetFirstAsync(x => x.CusExtendId == Param.CusExtendId && x.Id == Param.Id);
+        if (User != null)
+        {
+            throw Oops.Oh("鐢ㄦ埛涓嶅瓨鍦�");
+        }
+        User =  _mapper.Map(Param, User);
+
+        User.CreateTime = DateTime.Now;
+        User.CreateUserName = "浼佷笟鐢ㄦ埛:" + ThisUser?.Name;
+        User.CreateUserId = ThisUser?.Id;
+
+     return   await _fBS_CustormerUsersRep.UpdateAsync(User);
+
+
+
+    }
+    /// <summary>
+    /// 鏉冮檺楠岃瘉鏄惁鏄鐞嗗憳
+    /// </summary>
+    /// <returns></returns>
+    [NonAction]
+    public  async Task< bool> isManger()
+    {
+
+        if (ThisUser != null)
+            return ThisUser.IsManager;
+        //鐢ㄦ埛ID
+
+        var id = App.User.FindFirst(ClaimConst.UserId)?.Value.ToLong() ?? 0;
+        if (id == 0)
+        {
+            throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒");
+
+        }
+        //浼佷笟ID
+        var CExid = App.User.FindFirst(ClaimConst.CustomerExId)?.Value.ToLong() ?? 0;
+        if (id == 0)
+        {
+            throw Oops.Oh("浼佷笟璧勬枡涓嶅尮閰�");
+
+        }
+
+
+       var user= await _fBS_CustormerUsersRep.GetFirstAsync(x => x.Id == id && x.CusExtendId == CExid && x.IsEn == true);
+        if(user==null)
+        {
+            throw Oops.Oh("鐢ㄦ埛涓嶅尮閰�");
+        }
+        ThisUser = user;
+        if (user.IsManager)
+        
+            return true;
+        
+        else return false;
+        
+
+
+    }
 }

--
Gitblit v1.9.1