// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。 // // 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。 // // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任! 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; /// /// 客户控制 /// [ApiDescriptionSettings("FZCAPISYS", Order = 149)] public class CustomerService: IDynamicApiController { private readonly CustomerManagerS _customerManager; private readonly SysCacheService _sysCacheService; private readonly SqlSugarRepository _fBS_ExRoleRep; private readonly SqlSugarRepository _fBS_EnterpriseTypeRep; private readonly SqlSugarRepository _fBS_CustomerRep; /// /// /// public CustomerService(SysCacheService cacheService, CustomerManagerS managerS,SqlSugarRepository repository , SqlSugarRepository fbsenrep ) { _sysCacheService= cacheService; _customerManager = managerS; _fBS_CustomerRep = repository; _fBS_EnterpriseTypeRep = fbsenrep; } /// /// 用户注册 /// /// [AllowAnonymous] [HttpPost] public async Task CustomerRegistration(CustomerRDto param ) { //_customerManager. 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($"{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(); 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() { new FBS_CoutomerExRole { ExRoleId= ExRole?.Id??0 } }; await _fBS_CustomerRep.AsSugarClient().InsertNav(dd).Include(x=>x.CoutomerExRols).ExecuteCommandAsync(); return true; } /// /// 注册登录可选角色 /// /// [AllowAnonymous] public async Task> GetExRole() { return await _customerManager.GetExRole(); } /// /// 获取企业类型 /// /// [AllowAnonymous] public async Task> EnterpriseTypes() { return await _fBS_EnterpriseTypeRep.AsQueryable().Select().ToTreeAsync(x=>x.Child,x=>x.ParentId,null,x=>x.Id); } }