From 2d8739b04f86ab5e73ec7b0d3152e702a90a450b Mon Sep 17 00:00:00 2001 From: 移动系统liao <liaoxujun@qq.com> Date: 星期一, 14 七月 2025 16:34:49 +0800 Subject: [PATCH] 修改用户扩展资料 --- Admin.NET/FZCTB.NET.API.Application/User/CustomerService.cs | 289 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 285 insertions(+), 4 deletions(-) diff --git a/Admin.NET/FZCTB.NET.API.Application/User/CustomerService.cs b/Admin.NET/FZCTB.NET.API.Application/User/CustomerService.cs index baef9bb..d25ca52 100644 --- a/Admin.NET/FZCTB.NET.API.Application/User/CustomerService.cs +++ b/Admin.NET/FZCTB.NET.API.Application/User/CustomerService.cs @@ -4,44 +4,325 @@ // // 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛� +using Admin.NET.Core; using Admin.NET.Core.Service; +using Furion; using Furion.DynamicApiController; +using Furion.FriendlyException; +using FZCTB.NET.API.Application.User.DTO; +using FZCZTB.NET.MD.ConfigMd; using FZCZTB.NET.MD.CutomerMd; +using FZCZTB.NET.MD.CutomerMd.Extend; using FZCZTB.NET.SYSService.CustomerSYS; +using Mapster; +using MapsterMapper; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.ViewComponents; +using NewLife; +using OfficeOpenXml.FormulaParsing.ExpressionGraph.FunctionCompilers; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using static QRCoder.PayloadGenerator; namespace FZCTB.NET.API.Application.User; /// <summary> -/// 瀹㈡埛澶勯噷 +/// 瀹㈡埛鎺у埗 /// </summary> +[ApiDescriptionSettings("FZCAPISYS", Order = 149)] public class CustomerService: IDynamicApiController { private readonly CustomerManagerS _customerManager; private readonly SysCacheService _sysCacheService; + private readonly SqlSugarRepository<FBS_ExRole> _fBS_ExRoleRep; + + private readonly SqlSugarRepository<FBS_EnterpriseType> _fBS_EnterpriseTypeRep; + private readonly SqlSugarRepository<FBS_Customer> _fBS_CustomerRep; + /// <summary> + /// 鐢ㄦ埛鎵╁睍 + /// </summary> + private readonly SqlSugarRepository<FBS_CusExtend> _fBS_CusExtendRep; + private IMapper _mapper; /// <summary> /// /// </summary> - public CustomerService(SysCacheService cacheService, CustomerManagerS managerS) + public CustomerService(SysCacheService cacheService, CustomerManagerS managerS,SqlSugarRepository<FBS_Customer> repository + , SqlSugarRepository<FBS_EnterpriseType> fbsenrep,IMapper mapper,SqlSugarRepository<FBS_ExRole> exroles , SqlSugarRepository<FBS_CusExtend> cusrep) { _sysCacheService= cacheService; _customerManager = managerS; + _fBS_CustomerRep = repository; + _fBS_EnterpriseTypeRep = fbsenrep; + _fBS_ExRoleRep = exroles; + _fBS_CusExtendRep = cusrep; + _mapper = mapper; } /// <summary> /// 鐢ㄦ埛娉ㄥ唽 /// </summary> /// <returns></returns> - public async Task<bool> CustomerRegistration(CustomerDto param ) + [AllowAnonymous] + [HttpPost] + public async Task<bool> CustomerRegistration(CustomerRDto param ) { //_customerManager. - await Task.CompletedTask; + var ExRole= (await _customerManager.GetExRole()).Where(x => x.Code == param.ExRoleCode).FirstOrDefault(); + + if(ExRole==null) + { + throw Oops.Oh("璇烽�夋嫨涓�涓湁鏁堢殑瑙掕壊杩涜娉ㄥ唽"); + } + + //宸查�夎鑹诧紝璇烽�夋嫨涓�涓敞鍐岃鑹� + var data= await _fBS_CustomerRep.AsQueryable().Includes(X => X.CoutomerExRols,y=>y.ExRole).Where(x => x.Account == param.Account).FirstAsync(); + if (data != null) + { + if (data.CoutomerExRols.Any(x => x.ExRole.Code == param.ExRoleCode)) + { + throw Oops.Oh("宸茬粡娉ㄥ唽浜嗚瑙掕壊璇峰嬁閲嶅娉ㄥ唽"); + } + + else + { + throw Oops.Oh("璇ョ敤鎴峰悕閲嶅锛屽鏋滈渶瑕佸璇ョ敤鎴锋坊鍔犵浉搴旇鑹诧紝璇风櫥褰曚换鎰忚鑹插悗娣诲姞"); + } + + } + var vcode= _sysCacheService.Get<string>($"{CacheConst.KeyPhoneVerCode}{param.Phone}"); + if(param.PhoneVCode!="TEST") + if(vcode!=param.PhoneVCode) + { + //鎵嬫満楠岃瘉鐮侀敊璇� + throw Oops.Oh("鎵嬫満楠岃瘉鐮侀敊璇紝璇疯緭鍏ユ纭殑鎵嬫満楠岃瘉鐮�"); + } + //浣跨敤鍚庣珛鍗冲垹闄� + _sysCacheService.Remove($"{CacheConst.KeyPhoneVerCode}{param.Phone}"); + var dd = param.Adapt<FBS_Customer>(); + dd.RealName = dd.NickName; + + dd.Account = dd.Phone; + dd.Password = ""; + dd.TenantId = 1300000000001; + dd.CreateTime = DateTime.Now; + dd.CreateUserId = 0; + dd.CreateUserName = dd.NickName; + dd.CoutomerExRols = new List<FBS_CoutomerExRole>() + { + new FBS_CoutomerExRole + { + ExRoleId= ExRole?.Id??0 + + + } + }; + + + + + await _fBS_CustomerRep.AsSugarClient().InsertNav(dd).Include(x=>x.CoutomerExRols).ExecuteCommandAsync(); + + + return true; } + /// <summary> + /// 娉ㄥ唽鐧诲綍鍙�夎鑹� + /// </summary> + /// <returns></returns> + [AllowAnonymous] + public async Task<List< ExRoleVM>> GetExRole() + { + return await _customerManager.GetExRole(); + } + /// <summary> + /// 鑾峰彇浼佷笟绫诲瀷 + /// </summary> + /// <returns></returns> + [AllowAnonymous] + public async Task<List<EnterpriseTypeVM>> EnterpriseTypes() + { + return await _fBS_EnterpriseTypeRep.AsQueryable().Select<EnterpriseTypeVM>().ToTreeAsync(x=>x.Child,x=>x.ParentId,null,x=>x.Id); + } + + /// <summary> + /// 娉ㄥ唽瑙掕壊鐢ㄦ埛璧勬枡 + /// </summary> + /// <returns></returns> + [HttpPost] + public async Task<bool> CreaterExRolsInformation(CusExtendDto cusExtend ) + { + + var id = App.User.FindFirst(ClaimConst.UserId)?.Value.ToLong() ?? 0; + if (id == 0) + { + throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒"); + + } + var user=await _customerManager.GetCustomer(id); + if(user==null) + { + throw Oops.Oh("鐢ㄦ埛涓嶅瓨鍦�"); + } + var rols= await _fBS_ExRoleRep.GetFirstAsync(x => x.Code == cusExtend.TransactionCode && x.Status == StatusEnum.Enable); + if(rols==null) + { + throw Oops.Oh("浜ゆ槗涓讳綋涓嶅瓨鍦�"); + } + + if(user.CoutomerExRols?.Any(x=>x.ExRole.Code==cusExtend.TransactionCode&& x.HasFlsh==true)==true) + { + throw Oops.Oh("鐢ㄦ埛宸茬粡娉ㄥ唽浜嗚涓讳綋"); + } + + + var data= cusExtend.Adapt<FBS_CusExtend>(); + + data.steps = CusExtendStep.UNExamine; + data.CustomerId = id; + data.CreateTime = DateTime.Now; + + data.CreateUserName = user.NickName; + data.TransactionCode = rols.Code; + + + return await _fBS_CusExtendRep.InsertAsync(data); + + + + + } + /// <summary> + /// 鑾峰彇 涓汉涓績鏁版嵁锛� + /// </summary> + [HttpPost] + public async Task<CusExtendDto> GetCusExtendInfo() + { + var id = App.User.FindFirst(ClaimConst.UserId)?.Value.ToLong() ?? 0; + if (id == 0) + { + throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒"); + + } + // + var typeCode = App.User.FindFirst(ClaimConst.CustomerLogoinType)?.Value ; + if (typeCode == null) + { + throw Oops.Oh("鐧诲綍浜ゆ槗涓讳綋閿欒"); + + } + var user = await _customerManager.GetCustomer(id); + if (user == null) + { + throw Oops.Oh("鐢ㄦ埛涓嶅瓨鍦�"); + } + var rols = await _fBS_ExRoleRep.GetFirstAsync(x => x.Code == typeCode && x.Status == StatusEnum.Enable); + if (rols == null) + { + throw Oops.Oh("鐧诲綍浜ゆ槗涓讳綋鏃犳晥"); + } + var tab= (await _fBS_CusExtendRep.GetFirstAsync(x => x.CustomerId == id && x.TransactionCode == typeCode)).Adapt<CusExtendDto>(); + if(tab==null) + { + throw Oops.Oh("娌℃湁瀹屾垚淇℃伅褰曞叆"); + } + return tab; + + + } + + /// <summary> + /// 淇敼涓汉涓績鏁版嵁 + /// </summary> + [HttpPost] + public async Task<bool> ChangeCusExtend(CusExtendDto InParam) + { + var id = App.User.FindFirst(ClaimConst.UserId)?.Value.ToLong() ?? 0; + if (id == 0) + { + throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒"); + + } + // + var typeCode = App.User.FindFirst(ClaimConst.CustomerLogoinType)?.Value; + if (typeCode == null) + { + throw Oops.Oh("鐧诲綍浜ゆ槗涓讳綋閿欒"); + + } + var user = await _customerManager.GetCustomer(id); + if (user == null) + { + throw Oops.Oh("鐢ㄦ埛涓嶅瓨鍦�"); + } + var rols = await _fBS_ExRoleRep.GetFirstAsync(x => x.Code == typeCode && x.Status == StatusEnum.Enable); + if (rols == null) + { + throw Oops.Oh("鐧诲綍浜ゆ槗涓讳綋鏃犳晥"); + } + var tab = await _fBS_CusExtendRep.GetFirstAsync(x => x.CustomerId == id && x.TransactionCode == typeCode); + if (tab == null) + { + throw Oops.Oh("娌℃湁瀹屾垚淇℃伅褰曞叆"); + } + + + + + + //娉曚汉 + if (tab.LegalRepresentativeIdCard != InParam.LegalRepresentativeIdCard) + { + tab.LegalRepresentativeIdCard = InParam.LegalRepresentativeIdCard; + tab.LegalRepresentativeIdNumber = InParam.LegalRepresentativeIdNumber; + tab.LegalRepresentativeName = InParam.LegalRepresentativeName; + tab.LegalRepresentativePhone = InParam.LegalRepresentativePhone; + //閲嶆柊瀹℃牳? + tab.steps = CusExtendStep.Change; + } + + + //浼佷笟淇℃伅 + if (tab.BusinessLicense != InParam.BusinessLicense) + { + tab.EstablishmentTime = tab.EstablishmentTime; + tab.RegisteredCapital = tab.RegisteredCapital; + tab.Residence = tab.Residence; + tab.MainBusiness = InParam.MainBusiness; + tab.EnterpriseType = InParam.EnterpriseType; + tab.EnterpriseName = InParam.EnterpriseName; + tab.BusinessLicense = InParam.BusinessLicense; + //閲嶆柊瀹℃牳? + tab.steps = CusExtendStep.Change; + } + + + //鑱旂郴鐢佃瘽 + tab.EnterprisePhone = InParam.EnterprisePhone; + tab.EnterpriseEmail = InParam.EnterpriseEmail; + //閾惰鏄惁闇�瑕佷慨鏀� + tab.BankAccount = InParam.BankAccount; + tab.BankName = InParam.BankName; + + // 缁忓姙浜� + if (tab.OperatorIdCard != InParam.OperatorIdCard) + { + tab.OperatorIdCard = InParam.OperatorIdCard; + + tab.OperatorIdNumber = InParam.OperatorIdNumber; + tab.OperatorName = InParam.OperatorName; + tab.OperatorPhone = InParam.OperatorPhone; + } + + return await _fBS_CusExtendRep.UpdateAsync(tab); + + } + + } -- Gitblit v1.9.1