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 | 240 +++++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 156 insertions(+), 84 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 d16d7a0..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(); } @@ -226,9 +185,31 @@ [ApiDescriptionSettings(Name = "Delete"), HttpPost] public async Task Delete(DeleteFBS_CusExtendInput input) { - var entity = await _fBS_CusExtendRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002); - //await _fBS_CusExtendRep.FakeDeleteAsync(entity); //鍋囧垹闄� - await _fBS_CusExtendRep.DeleteAsync(entity); //鐪熷垹闄� + 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); + // } + + // //await _fBS_CusExtendRep.FakeDeleteAsync(entity); //鍋囧垹闄� + + // await _fBS_CusExtendRep.DeleteAsync(entity); //鐪熷垹闄� + //} + + await _fBS_CusExtendRep.AsTenant().CommitTranAsync(); + } + catch (Exception) + { + await _fBS_CusExtendRep.AsTenant().RollbackTranAsync(); + throw; + } + } /// <summary> @@ -304,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>>(); @@ -365,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