From 5260559b412b12b2b919b91fd4691d5a9fe3bd35 Mon Sep 17 00:00:00 2001
From: 移动系统liao <liaoxujun@qq.com>
Date: 星期一, 25 八月 2025 08:49:24 +0800
Subject: [PATCH] 完成一些用户相关逻辑修正

---
 Admin.NET/FZCZTB.Net.CustomerSYSTem/Service/FBS_CusExtend/FBS_CusExtendService.cs |  127 +++++++++++++++++++++++++++++++++++-------
 1 files changed, 106 insertions(+), 21 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 636b6ec..399a1e8 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
@@ -22,6 +22,8 @@
 using Furion.Logging.Extensions;
 using FZCZTB.Net.CustomerSYSTem.Service.FBS_ExRole.Dto;
 using MapsterMapper;
+using System.Runtime.ConstrainedExecution;
+using Microsoft.AspNetCore.Authorization;
 namespace FZCZTB.Net.CustomerSYSTem;
 
 /// <summary>
@@ -146,7 +148,7 @@
     [ApiDescriptionSettings(Name = "Detail"), HttpGet]
     public async Task<FBS_CusExtend> Detail([FromQuery] QueryByIdFBS_CusExtendInput input)
     {
-        return await _fBS_CusExtendRep.GetFirstAsync(u => u.Id == input.Id);
+        return await _fBS_CusExtendRep.AsQueryable().Includes(x => x.ExRoles,y=>y.ExRole).Includes(x => x.CustormerUsers).Where(x=>x.Id==input.Id).FirstAsync();
     }
 
     /// <summary>
@@ -172,7 +174,7 @@
     public async Task Update(UpdateFBS_CusExtendInput input)
     {
         var entity = input.Adapt<FBS_CusExtend>();
-        await _fBS_CusExtendRep.AsUpdateable(entity)
+        await _fBS_CusExtendRep. AsUpdateable(entity)
         .ExecuteCommandAsync();
     }
 
@@ -188,21 +190,14 @@
      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().Where(x => x.Id == input.Id).FirstAsync() ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+            if (entity != null)
+            {
 
-            //    //await _fBS_CusExtendRep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+                await _fBS_CusExtendRep.AsSugarClient().DeleteNav(entity).Include(x=>x.ExRoles).Include(x=>x.CustormerUsers).ExecuteCommandAsync();   //鐪熷垹闄�
+            }
 
-            //    await _fBS_CusExtendRep.DeleteAsync(entity);   //鐪熷垹闄�
-            //}
-
-          await   _fBS_CusExtendRep.AsTenant().CommitTranAsync();
+            await   _fBS_CusExtendRep.AsTenant().CommitTranAsync();
         }
         catch (Exception)
         {
@@ -224,9 +219,9 @@
         var exp = Expressionable.Create<FBS_CusExtend>();
         foreach (var row in input) exp = exp.Or(it => it.Id == row.Id);
         var list = await _fBS_CusExtendRep.AsQueryable().Where(exp.ToExpression()).ToListAsync();
-   
-       // return await _fBS_CusExtendRep.FakeDeleteAsync(list);   //鍋囧垹闄�
-        return await _fBS_CusExtendRep.DeleteAsync(list);   //鐪熷垹闄�
+        return await _fBS_CusExtendRep.AsSugarClient().DeleteNav(list).Include(x => x.ExRoles).Include(x => x.CustormerUsers).ExecuteCommandAsync();   //鐪熷垹闄�
+                                                                                                                                                  // return await _fBS_CusExtendRep.FakeDeleteAsync(list);   //鍋囧垹闄�
+        //return await _fBS_CusExtendRep.DeleteAsync(list);   //鐪熷垹闄�
     }
     
     /// <summary>
@@ -410,9 +405,13 @@
     /// <param name="Param"></param>
     /// <returns></returns>
     [HttpPost]
-    public async Task<int> CareCustormerUser(FBS_CustormerUsersInPut Param)
+    public async Task<long > CareCustormerUser(FBS_CustormerUsersInPut Param)
     {
- 
+        if(Param.CusExtendId<=0)
+            throw Oops.Oh("CusExtendId 鏃犳晥");
+        var Ex = await _fBS_CusExtendRep.GetByIdAsync(Param.CusExtendId);
+        if(Ex==null)
+            throw Oops.Oh("缁勭粐鏈烘瀯涓嶅瓨鍦ㄦ垨鑰呭紓甯�");
 
         var Data = await _fBS_CustormerUsersRep.GetFirstAsync(x => x.CusExtendId == Param.CusExtendId && x.PhoneNumber == Param.PhoneNumber);
 
@@ -421,7 +420,22 @@
             throw Oops.Oh("鍚屼竴涓叕鍙镐笅鎵嬫満鍙蜂笉鑳介噸澶�");
         }
         Data = Param.Adapt<FBS_CustormerUsers>();
-        return await _fBS_CustormerUsersRep.AsInsertable(Data).ExecuteCommandAsync();
+        var id=  await _fBS_CustormerUsersRep.AsInsertable(Data).ExecuteReturnEntityAsync();
+        return id.Id;
+
+    }
+    /// <summary>
+    /// 鑾峰彇缁勭粐鏈烘瀯鐨勭敤鎴峰垪琛�
+    /// </summary>
+    /// <param name="Param"></param>
+    /// <returns></returns>
+    [HttpGet]
+    public async Task<List<FBS_CustormerUsersOutput>> GetCustormerUserList(long CusExtendId)
+    {
+        if (CusExtendId <= 0)
+            throw Oops.Oh("CusExtendId 鏃犳晥");
+   return (await _fBS_CustormerUsersRep.GetListAsync(x => x.CusExtendId == CusExtendId)).Adapt<List< FBS_CustormerUsersOutput>>();
+       
 
     }
     /// <summary>
@@ -436,5 +450,76 @@
         return await _fBS_CustormerUsersRep.DeleteByIdAsync(CustormerUserId);
 
     }
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ寰呭浼佷笟瑙掕壊馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鍒嗛〉鏌ヨ寰呭浼佷笟瑙掕壊")]
+    [ApiDescriptionSettings(Name = "GetReviewPage"), HttpPost]
 
+    public async Task<SqlSugarPagedList<FBS_CusExtendOutput>> GetReviewPage(BasePageInput 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 querlist1 = await _fBS_CusExtendRep.AsQueryable().RightJoin<FBS_CoutomerExRole>((ce, cer) => cer.CusExtendId == ce.Id).Where((ce, cer) => cer.steps == CusExtendStep.UNExamine || cer.steps == CusExtendStep.Change).Select((ce, cer) => new FBS_CusExtendOutput
+        {
+            steps = cer.steps,
+            ExRole = SqlFunc.Subqueryable<FBS_ExRole>().Where(x => x.Id == cer.ExRoleId).First(),
+            EnterpriseName = ce.EnterpriseName,
+            CoutomerExRoleId = cer.Id,
+            Id = ce.Id,
+            CreateTime = SqlFunc.IsNullOrEmpty(cer.UpdateTime) == true ? cer.CreateTime:cer.UpdateTime
+
+
+
+
+        }, true).OrderBy(ce => ce.CreateTime)
+          .ToPagedListAsync(input.Page, input.PageSize);
+        return querlist1;
+        //var querlist = _fBS_CusExtendRep.AsQueryable().RightJoin<FBS_CoutomerExRole>((ce, cer) => cer.CusExtendId == ce.Id).Where((ce, cer) => cer.steps == CusExtendStep.UNExamine)
+        //    .Select((ce, cer) => new FBS_CusExtendOutput
+        //    {
+        //        steps = cer.steps,
+        //        ExRole = SqlFunc.Subqueryable<FBS_ExRole>().Where(x => x.Id == cer.ExRoleId).First(),
+        //         EnterpriseName=ce.EnterpriseName,
+        //         CoutomerExRoleId= cer.Id,
+        //         Id= ce.Id
+                  
+                 
+        //    },true);
+
+        //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.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()))
+        //    .WhereIF(!string.IsNullOrWhiteSpace(input.RegisteredCapital), u => u.RegisteredCapital.Contains(input.RegisteredCapital.Trim()))
+        //    .WhereIF(!string.IsNullOrWhiteSpace(input.LegalRepresentativeName), u => u.LegalRepresentativeName.Contains(input.LegalRepresentativeName.Trim()))
+        //    .WhereIF(!string.IsNullOrWhiteSpace(input.LegalRepresentativeIdCard), u => u.LegalRepresentativeIdCard.Contains(input.LegalRepresentativeIdCard.Trim()))
+        //    .WhereIF(!string.IsNullOrWhiteSpace(input.LegalRepresentativeIdNumber), u => u.LegalRepresentativeIdNumber.Contains(input.LegalRepresentativeIdNumber.Trim()))
+        //    .WhereIF(!string.IsNullOrWhiteSpace(input.LegalRepresentativePhone), u => u.LegalRepresentativePhone.Contains(input.LegalRepresentativePhone.Trim()))
+        //    .WhereIF(!string.IsNullOrWhiteSpace(input.Residence), u => u.Residence.Contains(input.Residence.Trim()))
+        //    .WhereIF(!string.IsNullOrWhiteSpace(input.EnterprisePhone), u => u.EnterprisePhone.Contains(input.EnterprisePhone.Trim()))
+        //    .WhereIF(!string.IsNullOrWhiteSpace(input.MainBusiness), u => u.MainBusiness.Contains(input.MainBusiness.Trim()))
+        //    .WhereIF(!string.IsNullOrWhiteSpace(input.EnterpriseEmail), u => u.EnterpriseEmail.Contains(input.EnterpriseEmail.Trim()))
+        //    .WhereIF(!string.IsNullOrWhiteSpace(input.OperatorName), u => u.OperatorName.Contains(input.OperatorName.Trim()))
+        //    .WhereIF(!string.IsNullOrWhiteSpace(input.OperatorIdCard), u => u.OperatorIdCard.Contains(input.OperatorIdCard.Trim()))
+        //    .WhereIF(!string.IsNullOrWhiteSpace(input.OperatorIdNumber), u => u.OperatorIdNumber.Contains(input.OperatorIdNumber.Trim()))
+        //    .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.EstablishmentTimeRange?.Length == 2, u => u.EstablishmentTime >= input.EstablishmentTimeRange[0] && u.EstablishmentTime <= input.EstablishmentTimeRange[1])
+
+        //    .Select(u => new FBS_CusExtendOutput
+        //    {
+        //        ExRoles = u.ExRoles.Adapt<List<FBS_CoutomerExRoleOutput>>(),
+        //        CustormerUsers = u.CustormerUsers.Adapt<List<FBS_CustormerUsersOutput>>()
+        //    }, true);
+        //return await querlist.OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize);
+    }
 }

--
Gitblit v1.9.1