移动系统liao
2025-08-25 5260559b412b12b2b919b91fd4691d5a9fe3bd35
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);
    }
}