From 7289a12c8a9c69f00e8b7e23dc3554d585fa7fab Mon Sep 17 00:00:00 2001 From: falcon <9504402@qq.com> Date: Tue, 14 Apr 2020 16:44:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=A7=92=E8=89=B2=E3=80=81?= =?UTF-8?q?=E5=BA=94=E7=94=A8=E3=80=81=E8=A7=92=E8=89=B2=E7=BB=84=E6=8E=A7?= =?UTF-8?q?=E5=88=B6=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FAuth.Database/FAuth.DataBase.csproj | 3 +- FAuth/Controllers/ControllerBase.cs | 13 ++++ FAuth/Controllers/api/AppController.cs | 67 ++++++++++++++++++++ FAuth/Controllers/api/RoleController.cs | 1 + FAuth/Controllers/api/RoleGroupController.cs | 15 +++++ FAuth/Controllers/api/UserController.cs | 25 ++------ 6 files changed, 104 insertions(+), 20 deletions(-) create mode 100644 FAuth/Controllers/api/AppController.cs create mode 100644 FAuth/Controllers/api/RoleGroupController.cs diff --git a/FAuth.Database/FAuth.DataBase.csproj b/FAuth.Database/FAuth.DataBase.csproj index bf717a5..9c8e74c 100644 --- a/FAuth.Database/FAuth.DataBase.csproj +++ b/FAuth.Database/FAuth.DataBase.csproj @@ -1,7 +1,8 @@ - + netstandard2.0;netstandard2.1 + bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml diff --git a/FAuth/Controllers/ControllerBase.cs b/FAuth/Controllers/ControllerBase.cs index b949d1a..97cee89 100644 --- a/FAuth/Controllers/ControllerBase.cs +++ b/FAuth/Controllers/ControllerBase.cs @@ -1,5 +1,8 @@ using System; +using Falcon.Extend; +using FAuth.DataBase; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; namespace FAuth.Controllers @@ -17,6 +20,14 @@ namespace FAuth.Controllers /// 服务集合 /// public IServiceProvider Services { get; set; } + /// + /// 数据库 + /// + public FAuthDb Db { get; set; } + /// + /// 数据缓冲 + /// + public ICacheProvider Cache { get; set; } /// /// 通过日志组件和服务集合生成控制器 @@ -26,6 +37,8 @@ namespace FAuth.Controllers public ControllerBase(ILogger logger,IServiceProvider service) { this.Logger = logger; this.Services = service; + this.Db = service.GetService(); + this.Cache = service.GetService(); } } diff --git a/FAuth/Controllers/api/AppController.cs b/FAuth/Controllers/api/AppController.cs new file mode 100644 index 0000000..9563a47 --- /dev/null +++ b/FAuth/Controllers/api/AppController.cs @@ -0,0 +1,67 @@ +using System; +using System.Runtime.InteropServices; +using Microsoft.Extensions.Logging; +using Microsoft.AspNetCore.Mvc.Routing; +using Microsoft.AspNetCore.Mvc; +using Falcon.Extend; +using FAuth.DataBase; +using System.Linq; +using FAuth.DataBase.Tables; +using Microsoft.EntityFrameworkCore; + +namespace FAuth.Controllers.api +{ + /// + /// 应用程序控制器 + /// + public class AppController:ApiControllerBase + { + public AppController(ILogger logger,IServiceProvider service) : base(logger,service) { + } + + /// + /// 添加新应用 + /// + /// 应用名称 + /// 应用说明 + /// 应用信息 + [HttpPost] + [ProducesResponseType(typeof(Apps),200)] + public Apps AddNewApp(string appName,string description) { + if(appName.IsNullOrEmpty()) { + throw new ArgumentNullException(nameof(appName)); + } + var qu = this.Db.Apps.Where(m => m.Name == appName); + if(qu.Any()) { + throw new Exception($"应用{appName}已经存在,不可以重复创建!"); + } + var newApp = new Apps { + Name = appName, + Description = description, + }; + this.Db.Entry(newApp).State = EntityState.Added; + this.Db.SaveChangesAsync().Wait(); + return newApp; + } + + /// + /// 查询app是否注册 + /// + /// app名称 + /// + [HttpPost] + [ProducesResponseType(typeof(Apps),200)] + public Apps GetApps(string appName) { + if(string.IsNullOrEmpty(appName)) + throw new ArgumentException("message",nameof(appName)); + var qu = this.Db.Apps.Where(m => m.Name == appName); + if(qu.Any()) { + return qu.First(); + } else { + throw new Exception("没有找到该应用"); + } + } + + } + +} diff --git a/FAuth/Controllers/api/RoleController.cs b/FAuth/Controllers/api/RoleController.cs index b3e7f07..a30e8c0 100644 --- a/FAuth/Controllers/api/RoleController.cs +++ b/FAuth/Controllers/api/RoleController.cs @@ -14,4 +14,5 @@ namespace FAuth.Controllers.api public RoleController(ILogger logger,IServiceProvider service) : base(logger,service) { } } + } diff --git a/FAuth/Controllers/api/RoleGroupController.cs b/FAuth/Controllers/api/RoleGroupController.cs new file mode 100644 index 0000000..b0384cb --- /dev/null +++ b/FAuth/Controllers/api/RoleGroupController.cs @@ -0,0 +1,15 @@ +using System; +using Microsoft.Extensions.Logging; + +namespace FAuth.Controllers.api +{ + /// + /// 角色组控制器 + /// + public class RoleGroupController:ApiControllerBase + { + public RoleGroupController(ILogger logger,IServiceProvider service) : base(logger,service) { + } + } + +} diff --git a/FAuth/Controllers/api/UserController.cs b/FAuth/Controllers/api/UserController.cs index 25b95b9..a3a39e7 100644 --- a/FAuth/Controllers/api/UserController.cs +++ b/FAuth/Controllers/api/UserController.cs @@ -1,16 +1,13 @@ using System; -using System.Collections.Generic; using System.Linq; -using System.Threading.Tasks; +using Falcon.Extend; +using FAuth.DataBase.Tables; +using FAuth.Extensions.Decryptor; using FAuth.Models; using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.Logging; -using FAuth.DataBase.Tables; using Microsoft.AspNetCore.Mvc.ModelBinding; -using FAuth.Extensions.Decryptor; -using FAuth.DataBase; using Microsoft.EntityFrameworkCore; -using Falcon.Extend; +using Microsoft.Extensions.Logging; namespace FAuth.Controllers.api { @@ -20,21 +17,11 @@ namespace FAuth.Controllers.api public class UserController:ApiControllerBase { public IUserTicketDryptor UserTicketDryptor { get; set; } - public FAuthDb Db { get; set; } - public UserController( - ILogger logger, - IServiceProvider service, - IUserTicketDryptor userTicketDryptor, - FAuthDb db) + public UserController(ILogger logger,IServiceProvider service,IUserTicketDryptor userTicketDryptor) : base(logger,service) { - if(logger is null) - throw new ArgumentNullException(nameof(logger)); - if(service is null) - throw new ArgumentNullException(nameof(service)); - this.UserTicketDryptor = userTicketDryptor ?? throw new ArgumentNullException(nameof(userTicketDryptor)); - this.Db = db ?? throw new ArgumentNullException(nameof(db)); + this.UserTicketDryptor = userTicketDryptor; } ///