移动系统liao
2025-08-25 5260559b412b12b2b919b91fd4691d5a9fe3bd35
完成一些用户相关逻辑修正
7个文件已修改
216 ■■■■ 已修改文件
Admin.NET/Admin.NET.Application/Configuration/Alipay.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/FZCTB.NET.API.Application/User/CustomerService.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/FZCZTB.NET.MD/CutomerMd/FBS_CoutomerExRole.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/FZCZTB.Net.CustomerSYSTem/Service/FBS_CusExtend/Dto/FBS_CusExtendDto.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/FZCZTB.Net.CustomerSYSTem/Service/FBS_CusExtend/Dto/FBS_CusExtendInput.cs 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/FZCZTB.Net.CustomerSYSTem/Service/FBS_CusExtend/Dto/FBS_CusExtendOutput.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/FZCZTB.Net.CustomerSYSTem/Service/FBS_CusExtend/FBS_CusExtendService.cs 127 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/Admin.NET.Application/Configuration/Alipay.json
@@ -12,8 +12,8 @@
    "RootCertPath": "Alipaycrt/alipayRootCert.crt", // 支付宝根证书存放路径
    "AccountList": [
      {
        "Name": "sandbox 默认应用",
        "AppId": "xxxxxxxxxxxxxx",
        "Name": "非政采招投标",
        "AppId": "2021005184675726",
        "SignType": "RSA2",
        "PrivateKey": "xxxxxxxxxxxxxxxxx",
        "EncryptKey": "xxxxxxxxxxxxxxxxxxxx",
Admin.NET/FZCTB.NET.API.Application/User/CustomerService.cs
@@ -147,7 +147,10 @@
            {
                CusExtendId = dd.Id,
                ExRoleId = ExRole.Id ?? 0,
                steps = CusExtendStep.UNExamine
                steps = CusExtendStep.UNExamine,
                CreateTime = DateTime.Now,
                CreateUserName = "企业用户:" + ThisUser?.Name,
                CreateUserId = ThisUser?.Id
            };
@@ -249,6 +252,10 @@
            ExRoleId = rols.Id,
            CusExtendId = user.CusExtendId,
            steps= CusExtendStep.UNExamine,
            CreateTime = DateTime.Now,
            CreateUserName = "企业用户:" + ThisUser?.Name,
            CreateUserId = ThisUser?.Id,
        });
Admin.NET/FZCZTB.NET.MD/CutomerMd/FBS_CoutomerExRole.cs
@@ -19,7 +19,7 @@
/// </summary>
[SugarTable("FBS_CoutomerExRole", "主角色表")]
[IncreTable]
public class FBS_CoutomerExRole: EntityBaseId
public class FBS_CoutomerExRole: EntityBase
{
    /// <summary>
    /// 组织机构ID
Admin.NET/FZCZTB.Net.CustomerSYSTem/Service/FBS_CusExtend/Dto/FBS_CusExtendDto.cs
@@ -6,6 +6,8 @@
namespace FZCZTB.Net.CustomerSYSTem;
using FZCZTB.NET.MD.CutomerMd.Extend;
using SqlSugar;
/// <summary>
/// 企业资料输出参数
/// </summary>
@@ -173,4 +175,10 @@
    /// </summary>
    public List<FBS_CoutomerExRoleOutput> ExRoles { get; set; }
    /// <summary>
    /// 银行收款码
    /// </summary>
    public string BankAccountIMG { get; set; }
}
Admin.NET/FZCZTB.Net.CustomerSYSTem/Service/FBS_CusExtend/Dto/FBS_CusExtendInput.cs
@@ -151,9 +151,13 @@
    /// </summary>
    [Required(ErrorMessage = "法定代表人姓名不能为空")]
    public virtual string BankAccount { get; set; }
    /// <summary>
    /// 银行收款码
    /// </summary>
    public string BankAccountIMG { get; set; }
}
/// <summary>
@@ -429,6 +433,12 @@
    /// </summary>
    public List<FBS_CoutomerExRoleOutput> ExRoles { get; set; }
    /// <summary>
    /// 银行收款码
    /// </summary>
    public string BankAccountIMG { get; set; }
}
/// <summary>
@@ -607,6 +617,12 @@
    /// </summary>
    public List<FBS_CoutomerExRoleOutput> ExRoles { get; set; }
    /// <summary>
    /// 银行收款码
    /// </summary>
    public string BankAccountIMG { get; set; }
}
/// <summary>
@@ -770,14 +786,20 @@
    [ImporterHeader(Name = "*法定代表人姓名")]
    [ExporterHeader("*法定代表人姓名", Format = "", Width = 25, IsBold = true)]
    public string BankAccount { get; set; }
    /// <summary>
    /// 银行收款码
    /// </summary>
    public string BankAccountIMG { get; set; }
    ///// <summary>
    ///// 审核步骤 关联值
    ///// </summary>
    //[ImporterHeader(IsIgnore = true)]
    //[ExporterHeader(IsIgnore = true)]
    //public CusExtendStep? steps { get; set; }
    ///// <summary>
    ///// 审核步骤 文本
    ///// </summary>
@@ -785,7 +807,7 @@
    //[ImporterHeader(Name = "*审核步骤")]
    //[ExporterHeader("*审核步骤", Format = "", Width = 25, IsBold = true)]
    //public string stepsDictLabel { get; set; }
}
Admin.NET/FZCZTB.Net.CustomerSYSTem/Service/FBS_CusExtend/Dto/FBS_CusExtendOutput.cs
@@ -182,6 +182,38 @@
    //public List<FBS_CoutomerExRoleOutput> ExRoles { get; set; }
    public List<FBS_CoutomerExRoleOutput> ExRoles { get; set; }
    /// <summary>
    /// 银行收款码
    /// </summary>
    public string BankAccountIMG { get; set; }
    /**************************                       以下是待审核资料 ********************************************* */
    /// <summary>
    /// ID
    /// </summary>
    public long? CoutomerExRoleId { get; set; }
    /// <summary>
    ///  外部角色
    /// </summary>
    public long? ExRoleId { get; set; }
    /// <summary>
    /// 外部角色
    /// </summary>
    public FBS_ExRole? ExRole { get; set; }
    /// <summary>
    /// 角色审核步骤
    /// </summary>
    public CusExtendStep steps { set; get; } = CusExtendStep.UNExamine;
}
/// <summary>
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);
    }
}