| | |
| | | // |
| | | // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任! |
| | | |
| | | using Admin.NET.Core; |
| | | using Admin.NET.Core.Service; |
| | | 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.SYSService.CustomerSYS; |
| | | using Mapster; |
| | | using Microsoft.AspNetCore.Authorization; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using Microsoft.AspNetCore.Mvc.ViewComponents; |
| | | 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> |
| | | public CustomerService(SysCacheService cacheService, CustomerManagerS managerS) |
| | | public CustomerService(SysCacheService cacheService, CustomerManagerS managerS,SqlSugarRepository<FBS_Customer> repository |
| | | , SqlSugarRepository<FBS_EnterpriseType> fbsenrep ) |
| | | { |
| | | _sysCacheService= cacheService; |
| | | _customerManager = managerS; |
| | | _fBS_CustomerRep = repository; |
| | | _fBS_EnterpriseTypeRep = fbsenrep; |
| | | } |
| | | |
| | | /// <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); |
| | | } |
| | | |
| | | |
| | | |
| | | } |