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/FZCZTB.Net.CustomerSYSTem/Service/FBS_CusExtend/FBS_CusExtendService.cs |  234 +++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 142 insertions(+), 92 deletions(-)

diff --git a/Admin.NET/FZCZTB.Net.CustomerSYSTem/Service/FBS_CusExtend/FBS_CusExtendService.cs b/Admin.NET/FZCZTB.Net.CustomerSYSTem/Service/FBS_CusExtend/FBS_CusExtendService.cs
index 18d4555..636b6ec 100644
--- a/Admin.NET/FZCZTB.Net.CustomerSYSTem/Service/FBS_CusExtend/FBS_CusExtendService.cs
+++ b/Admin.NET/FZCZTB.Net.CustomerSYSTem/Service/FBS_CusExtend/FBS_CusExtendService.cs
@@ -20,6 +20,8 @@
 using cylsg.utility;
 using FZCZTB.NET.MD.CutomerMd;
 using Furion.Logging.Extensions;
+using FZCZTB.Net.CustomerSYSTem.Service.FBS_ExRole.Dto;
+using MapsterMapper;
 namespace FZCZTB.Net.CustomerSYSTem;
 
 /// <summary>
@@ -33,19 +35,25 @@
     private readonly ISqlSugarClient _sqlSugarClient;
     private readonly SysDictTypeService _sysDictTypeService;
     private readonly FBS_EnterpriseTypeService _EnterpriseTypeService;
+    public readonly SqlSugarRepository<FBS_CustormerUsers> _fBS_CustormerUsersRep;
+    private readonly IMapper _mapper;
 
 
     public FBS_CusExtendService(SqlSugarRepository<FBS_CusExtend> fBS_CusExtendRep,
         ISqlSugarClient sqlSugarClient,
         SysDictTypeService sysDictTypeService,
         FBS_EnterpriseTypeService fBS_EnterpriseTypeService,
-         SqlSugarRepository<FBS_CoutomerExRole> cerRep)
+         SqlSugarRepository<FBS_CoutomerExRole> cerRep,
+         IMapper mapper,
+         SqlSugarRepository<FBS_CustormerUsers> fbscu)
     {
         _fBS_CusExtendRep = fBS_CusExtendRep;
         _sqlSugarClient = sqlSugarClient;
         _sysDictTypeService = sysDictTypeService;
         _EnterpriseTypeService = fBS_EnterpriseTypeService;
         _fBS_CoutomerExRoleRep = cerRep;
+        _mapper = mapper;
+        _fBS_CustormerUsersRep = fbscu;
     }
     /// <summary>
     /// 
@@ -71,11 +79,13 @@
     [ApiDescriptionSettings(Name = "Page"), HttpPost]
     public async Task<SqlSugarPagedList<FBS_CusExtendOutput>> Page(PageFBS_CusExtendInput input)
     {
+
+        //var data            = await _fBS_CusExtendRep.AsQueryable().Includes(u => u.ExRoles, y => y.ExRole).Includes(u => u.CustormerUsers).ToListAsync();
         input.Keyword = input.Keyword?.Trim();
-        var query = _fBS_CusExtendRep.AsQueryable()
-            .WhereIF(!string.IsNullOrWhiteSpace(input.Keyword), u => u.EnterpriseType.Contains(input.Keyword) || u.TransactionCode.Contains(input.Keyword) || u.BusinessLicense.Contains(input.Keyword) || u.EnterpriseName.Contains(input.Keyword) || u.UnifiedSocialCreditCode.Contains(input.Keyword) || u.RegisteredCapital.Contains(input.Keyword) || u.LegalRepresentativeName.Contains(input.Keyword) || u.LegalRepresentativeIdCard.Contains(input.Keyword) || u.LegalRepresentativeIdNumber.Contains(input.Keyword) || u.LegalRepresentativePhone.Contains(input.Keyword) || u.Residence.Contains(input.Keyword) || u.EnterprisePhone.Contains(input.Keyword) || u.MainBusiness.Contains(input.Keyword) || u.EnterpriseEmail.Contains(input.Keyword) || u.OperatorName.Contains(input.Keyword) || u.OperatorIdCard.Contains(input.Keyword) || u.OperatorIdNumber.Contains(input.Keyword) || u.OperatorPhone.Contains(input.Keyword) || u.BankName.Contains(input.Keyword) || u.BankAccount.Contains(input.Keyword))
+        var query = _fBS_CusExtendRep.AsQueryable().Includes(u => u.ExRoles, y => y.ExRole).Includes(u => u.CustormerUsers)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Keyword), u => u.EnterpriseType.Contains(input.Keyword) || u.BusinessLicense.Contains(input.Keyword) || u.EnterpriseName.Contains(input.Keyword) || u.UnifiedSocialCreditCode.Contains(input.Keyword) || u.RegisteredCapital.Contains(input.Keyword) || u.LegalRepresentativeName.Contains(input.Keyword) || u.LegalRepresentativeIdCard.Contains(input.Keyword) || u.LegalRepresentativeIdNumber.Contains(input.Keyword) || u.LegalRepresentativePhone.Contains(input.Keyword) || u.Residence.Contains(input.Keyword) || u.EnterprisePhone.Contains(input.Keyword) || u.MainBusiness.Contains(input.Keyword) || u.EnterpriseEmail.Contains(input.Keyword) || u.OperatorName.Contains(input.Keyword) || u.OperatorIdCard.Contains(input.Keyword) || u.OperatorIdNumber.Contains(input.Keyword) || u.OperatorPhone.Contains(input.Keyword) || u.BankName.Contains(input.Keyword) || u.BankAccount.Contains(input.Keyword))
             .WhereIF(!string.IsNullOrWhiteSpace(input.EnterpriseType), u => u.EnterpriseType.Contains(input.EnterpriseType.Trim()))
-            .WhereIF(!string.IsNullOrWhiteSpace(input.TransactionCode), u => u.TransactionCode.Contains(input.TransactionCode.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.TransactionCode), u => u.ExRoles.Any(x => x.ExRole.Code == input.TransactionCode))
             .WhereIF(!string.IsNullOrWhiteSpace(input.BusinessLicense), u => u.BusinessLicense.Contains(input.BusinessLicense.Trim()))
             .WhereIF(!string.IsNullOrWhiteSpace(input.EnterpriseName), u => u.EnterpriseName.Contains(input.EnterpriseName.Trim()))
             .WhereIF(!string.IsNullOrWhiteSpace(input.UnifiedSocialCreditCode), u => u.UnifiedSocialCreditCode.Contains(input.UnifiedSocialCreditCode.Trim()))
@@ -94,87 +104,36 @@
             .WhereIF(!string.IsNullOrWhiteSpace(input.OperatorPhone), u => u.OperatorPhone.Contains(input.OperatorPhone.Trim()))
             .WhereIF(!string.IsNullOrWhiteSpace(input.BankName), u => u.BankName.Contains(input.BankName.Trim()))
             .WhereIF(!string.IsNullOrWhiteSpace(input.BankAccount), u => u.BankAccount.Contains(input.BankAccount.Trim()))
-            .WhereIF(input.CustomerId != null, u => u.CustomerId == input.CustomerId)
             .WhereIF(input.EstablishmentTimeRange?.Length == 2, u => u.EstablishmentTime >= input.EstablishmentTimeRange[0] && u.EstablishmentTime <= input.EstablishmentTimeRange[1])
-            .WhereIF(input.steps != null, u => u.steps == input.steps)
-            .Select<FBS_CusExtendOutput>();
+
+            .Select(u => new FBS_CusExtendOutput
+            {
+                ExRoles = u.ExRoles.Adapt<List<FBS_CoutomerExRoleOutput>>(),
+                CustormerUsers = u.CustormerUsers.Adapt<List<FBS_CustormerUsersOutput>>()
+            },true);
 		return await query.OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize);
     }
-  /// <summary>
-  /// 鏇存敼瀹℃牳鐘舵��
-  /// </summary>
-  /// <param name="id">瑕佹洿鏀圭殑鐢ㄦ埛瑙掕壊璧勬枡Id</param>
-  /// <param name="step">瑕佹洿鏀圭殑鐘舵��</param>
-  /// <returns></returns>
+    /// <summary>
+    /// 鏇存敼瀹℃牳鐘舵��
+    /// </summary>
+    /// <param name="CoutomerExRolesId">璇D鏄敤鎴疯鑹插垪琛ㄤ腑鐨処d</param>
+    /// <param name="step">瑕佹洿鏀圭殑鐘舵��</param>
+    /// <returns></returns>
     [HttpGet]
-    public async  Task<bool > ChangeSteps (long id, CusExtendStep step)
+    public async  Task<int  > ChangeSteps (long CoutomerExRolesId, CusExtendStep step)
     {
 
-        var data=await  _fBS_CusExtendRep.AsQueryable().Includes(x=>x.TransactionRole).Where(x=>x.Id==id).FirstAsync();
+        var data=await  _fBS_CoutomerExRoleRep.AsQueryable().Where(x=>x.Id== CoutomerExRolesId).FirstAsync();
         if (data == null)
         {
             throw Oops.Oh("鏁版嵁涓嶅瓨鍦�");
         };
         if(data.steps== step)
         {
-            return true;
+            return 1;
         }
-        try
-        {
-            await _fBS_CusExtendRep.AsTenant().BeginTranAsync();
-            if (step == CusExtendStep.Pass)
-            {
-                //鏄鏍搁�氳繃
-
-                if (data.TransactionRole == null)
-                {
-                    throw Oops.Oh("鐢ㄦ埛鍏宠仈瑙掕壊澶辫触锛岀敤鎴锋病鏈夌敵璇疯瑙掕壊锛岃閲嶆柊鐢宠瑙掕壊");
-                }
-
-                var exrles = await _fBS_CoutomerExRoleRep.GetFirstAsync(x => x.CustomerId == data.CustomerId && x.ExRoleId == data.TransactionRole.Id);
-                if (exrles == null)
-                    throw Oops.Oh("鐢ㄦ埛鍏宠仈瑙掕壊澶辫触锛岀敤鎴锋病鏈夌敵璇疯瑙掕壊锛岃閲嶆柊鐢宠瑙掕壊");
-
-                exrles.HasFlsh = true;
-                await _fBS_CoutomerExRoleRep.UpdateAsync(exrles);
-
-               
-
-          
-
-            }
-            else
-                if(data.steps==  CusExtendStep.Pass)
-            {
-                //鏇存敼涓烘湭閫氳繃
-
-                if (data.TransactionRole == null)
-                {
-                    throw Oops.Oh("鐢ㄦ埛鍏宠仈瑙掕壊澶辫触锛岀敤鎴锋病鏈夌敵璇疯瑙掕壊锛岃閲嶆柊鐢宠瑙掕壊");
-                }
-                var exrles = await _fBS_CoutomerExRoleRep.GetFirstAsync(x => x.CustomerId == data.CustomerId && x.ExRoleId == data.TransactionRole.Id);
-                if (exrles == null)
-                    throw Oops.Oh("鐢ㄦ埛鍏宠仈瑙掕壊澶辫触锛岀敤鎴锋病鏈夌敵璇疯瑙掕壊锛岃閲嶆柊鐢宠瑙掕壊");
-
-                exrles.HasFlsh = false;
-                await _fBS_CoutomerExRoleRep.UpdateAsync(exrles);
-
-           
-
-              
-            }
-            data.steps = step;
-            await _fBS_CusExtendRep.AsUpdateable(data).ExecuteCommandAsync();
-            await _fBS_CusExtendRep.AsTenant().CommitTranAsync();
-            return true;
-
-        }
-        catch (Exception e)
-        {
-            await _fBS_CusExtendRep.AsTenant().RollbackTranAsync();
-            e.Message.LogError();
-             throw Oops.Oh("鏇存敼瀹℃牳鐘舵�佸け璐�"); ;
-        }
+        data.steps = step;
+       return await  _fBS_CoutomerExRoleRep.AsUpdateable(data).ExecuteCommandAsync();
    
     }
 
@@ -229,19 +188,19 @@
      await    _fBS_CusExtendRep.AsTenant().BeginTranAsync();
         try
         {
-            var entity = await _fBS_CusExtendRep.AsQueryable().Includes(x => x.TransactionRole).Where(x => x.Id == input.Id).FirstAsync() ?? throw Oops.Oh(ErrorCodeEnum.D1002);
-            if (entity != null)
-            {
-                var exrles = await _fBS_CoutomerExRoleRep.GetFirstAsync(x => x.CustomerId == entity.CustomerId && x.ExRoleId == entity.TransactionRole.Id);
-                if (exrles != null)
-                {
-                    await _fBS_CoutomerExRoleRep.DeleteAsync(exrles);
-                }
+            //var entity = await _fBS_CusExtendRep.AsQueryable().Includes(x => x.TransactionRole).Where(x => x.Id == input.Id).FirstAsync() ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+            //if (entity != null)
+            //{
+            //    var exrles = await _fBS_CoutomerExRoleRep.GetFirstAsync(x => x.CustomerId == entity.CustomerId && x.ExRoleId == entity.TransactionRole.Id);
+            //    if (exrles != null)
+            //    {
+            //        await _fBS_CoutomerExRoleRep.DeleteAsync(exrles);
+            //    }
 
-                //await _fBS_CusExtendRep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+            //    //await _fBS_CusExtendRep.FakeDeleteAsync(entity);   //鍋囧垹闄�
 
-                await _fBS_CusExtendRep.DeleteAsync(entity);   //鐪熷垹闄�
-            }
+            //    await _fBS_CusExtendRep.DeleteAsync(entity);   //鐪熷垹闄�
+            //}
 
           await   _fBS_CusExtendRep.AsTenant().CommitTranAsync();
         }
@@ -326,15 +285,15 @@
                     // 鏍¢獙骞惰繃婊ゅ繀濉熀鏈被鍨嬩负null鐨勫瓧娈�
                     var rows = pageItems.Where(x => {
                         if (!string.IsNullOrWhiteSpace(x.Error)) return false;
-                        if (x.CustomerId == null){
-                            x.Error = "鐢ㄦ埛ID涓嶈兘涓虹┖";
-                            return false;
-                        }
-                        if (!string.IsNullOrWhiteSpace(x.Error)) return false;
-                        if (x.steps == null){
-                            x.Error = "瀹℃牳姝ラ涓嶈兘涓虹┖";
-                            return false;
-                        }
+                        //if (x.CustomerId == null){
+                        //    x.Error = "鐢ㄦ埛ID涓嶈兘涓虹┖";
+                        //    return false;
+                        //}
+                        //if (!string.IsNullOrWhiteSpace(x.Error)) return false;
+                        //if (x.steps == null){
+                        //    x.Error = "瀹℃牳姝ラ涓嶈兘涓虹┖";
+                        //    return false;
+                        //}
                         return true;
                     }).Adapt<List<FBS_CusExtend>>();
                     
@@ -387,4 +346,95 @@
             return stream;
         }
     }
+
+    /// <summary>
+    /// 淇敼鐢ㄦ埛
+    /// </summary>
+    /// <param name="Param"></param>
+    /// <returns></returns>
+    [HttpPost]
+    public  async Task<int > UpDataCustormerUser(FBS_CustormerUsersInPut Param)
+    {
+        if(Param.Id==null)
+        {
+            throw Oops.Oh("Id涓虹┖");
+        }
+
+
+     var Data=   await  _fBS_CustormerUsersRep.GetFirstAsync(x => x.Id == Param.Id && x.CusExtendId == Param.CusExtendId);
+        if(Data==null)
+        {
+            throw Oops.Oh("鏁版嵁涓嶅瓨鍦�");
+        }
+
+       
+            Data = _mapper.Map(Param, Data);
+      
+
+     return  await   _fBS_CustormerUsersRep.AsUpdateable(Data).ExecuteCommandAsync();
+     
+    }
+
+
+    /// <summary>
+    /// 鑾峰彇鐢ㄦ埛淇℃伅
+    /// </summary>
+    /// <param name="CustormerUserId">杩欎釜鏄垪琛ㄤ腑琚佸紭鐢ㄦ埛琛ㄤ腑鐨処d</param>
+    /// <returns></returns>
+    [HttpGet]
+    public async Task<FBS_CustormerUsersOutput> GetCustormerUserInfo(long  CustormerUserId)
+    {
+        if (CustormerUserId == null)
+        {
+            throw Oops.Oh("Id涓虹┖");
+        }
+
+
+        var Data = await _fBS_CustormerUsersRep.GetFirstAsync(x => x.Id == CustormerUserId );
+        if (Data == null)
+        {
+            throw Oops.Oh("鏁版嵁涓嶅瓨鍦�");
+        }
+
+
+       
+
+
+        return Data.Adapt<FBS_CustormerUsersOutput>();
+
+    }
+
+    /// <summary>
+    /// 淇敼鐢ㄦ埛
+    /// </summary>
+    /// <param name="Param"></param>
+    /// <returns></returns>
+    [HttpPost]
+    public async Task<int> CareCustormerUser(FBS_CustormerUsersInPut Param)
+    {
+ 
+
+        var Data = await _fBS_CustormerUsersRep.GetFirstAsync(x => x.CusExtendId == Param.CusExtendId && x.PhoneNumber == Param.PhoneNumber);
+
+        if (Data != null)
+        {
+            throw Oops.Oh("鍚屼竴涓叕鍙镐笅鎵嬫満鍙蜂笉鑳介噸澶�");
+        }
+        Data = Param.Adapt<FBS_CustormerUsers>();
+        return await _fBS_CustormerUsersRep.AsInsertable(Data).ExecuteCommandAsync();
+
+    }
+    /// <summary>
+    /// 鍒犻櫎涓�涓敤鎴峰憳宸�
+    /// </summary>
+    /// <param name="CustormerUserId">杩欎釜鏄垪琛ㄤ腑琚佸紭鐢ㄦ埛琛ㄤ腑鐨処d</param>
+    /// <returns></returns>
+    [HttpDelete]
+    public async Task<bool> DelCustormerUser(long CustormerUserId)
+    {
+      
+        return await _fBS_CustormerUsersRep.DeleteByIdAsync(CustormerUserId);
+
+    }
+
 }

--
Gitblit v1.9.1