diff --git a/Infrastructure/Controllers/BaseController.cs b/Infrastructure/Controllers/BaseController.cs index 9a9f842a..4b6a96b9 100644 --- a/Infrastructure/Controllers/BaseController.cs +++ b/Infrastructure/Controllers/BaseController.cs @@ -1,6 +1,7 @@ using Infrastructure.Extensions; using Infrastructure.Model; using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using MiniExcelLibs; using Newtonsoft.Json; @@ -72,7 +73,7 @@ protected IActionResult ExportExcel(string path, string fileName) } var stream = System.IO.File.OpenRead(path); //创建文件流 - Response.Headers.Add("Access-Control-Expose-Headers", "Content-Disposition"); + Response.Headers.Append("Access-Control-Expose-Headers", "Content-Disposition"); return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", HttpUtility.UrlEncode(fileName)); } @@ -89,7 +90,7 @@ protected IActionResult DownFile(string path, string fileName) return NotFound(); } var stream = System.IO.File.OpenRead(path); //创建文件流 - Response.Headers.Add("Access-Control-Expose-Headers", "Content-Disposition"); + Response.Headers.Append("Access-Control-Expose-Headers", "Content-Disposition"); return File(stream, "application/octet-stream", HttpUtility.UrlEncode(fileName)); } diff --git a/Infrastructure/WebExtensions/JwtExtension.cs b/Infrastructure/WebExtensions/JwtExtension.cs index bd30ca1f..1dab3a34 100644 --- a/Infrastructure/WebExtensions/JwtExtension.cs +++ b/Infrastructure/WebExtensions/JwtExtension.cs @@ -1,5 +1,6 @@ using Infrastructure; using Microsoft.AspNetCore.Authentication.JwtBearer; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; using Microsoft.IdentityModel.Tokens; using System; @@ -27,7 +28,7 @@ public static void AddJwt(this IServiceCollection services) if (context.Exception.GetType() == typeof(SecurityTokenExpiredException)) { Console.WriteLine("jwt过期了"); - context.Response.Headers.Add("Token-Expired", "true"); + context.Response.Headers.Append("Token-Expired", "true"); } return Task.CompletedTask; diff --git a/Infrastructure/ZR.Infrastructure.csproj b/Infrastructure/ZR.Infrastructure.csproj index 18020882..ed76bdd2 100644 --- a/Infrastructure/ZR.Infrastructure.csproj +++ b/Infrastructure/ZR.Infrastructure.csproj @@ -12,14 +12,14 @@ - + - - - - + + + + diff --git a/ZR.Admin.WebApi/Controllers/Article/ArticleCategoryController.cs b/ZR.Admin.WebApi/Controllers/Article/ArticleCategoryController.cs index 62fc6dd1..5233abca 100644 --- a/ZR.Admin.WebApi/Controllers/Article/ArticleCategoryController.cs +++ b/ZR.Admin.WebApi/Controllers/Article/ArticleCategoryController.cs @@ -9,19 +9,13 @@ namespace ZR.Admin.WebApi.Controllers /// /// 文章目录Controller /// + /// + /// 文章目录接口 + /// [Route("article/ArticleCategory")] [ApiExplorerSettings(GroupName = "article")] - public class ArticleCategoryController : BaseController + public class ArticleCategoryController(IArticleCategoryService ArticleCategoryService) : BaseController { - /// - /// 文章目录接口 - /// - private readonly IArticleCategoryService _ArticleCategoryService; - - public ArticleCategoryController(IArticleCategoryService ArticleCategoryService) - { - _ArticleCategoryService = ArticleCategoryService; - } /// /// 查询文章目录列表 @@ -32,7 +26,7 @@ public ArticleCategoryController(IArticleCategoryService ArticleCategoryService) [AllowAnonymous] public IActionResult QueryArticleCategory([FromQuery] ArticleCategoryQueryDto parm) { - var response = _ArticleCategoryService.GetList(parm); + var response = ArticleCategoryService.GetList(parm); return SUCCESS(response); } @@ -45,7 +39,7 @@ public IActionResult QueryArticleCategory([FromQuery] ArticleCategoryQueryDto pa [AllowAnonymous] public IActionResult QueryTreeArticleCategory([FromQuery] ArticleCategoryQueryDto parm) { - var response = _ArticleCategoryService.GetTreeList(parm); + var response = ArticleCategoryService.GetTreeList(parm); return SUCCESS(response); } @@ -59,7 +53,7 @@ public IActionResult QueryTreeArticleCategory([FromQuery] ArticleCategoryQueryDt //[ActionPermissionFilter(Permission = "articlecategory:query")] public IActionResult GetArticleCategory(int CategoryId) { - var response = _ArticleCategoryService.GetFirst(x => x.CategoryId == CategoryId); + var response = ArticleCategoryService.GetFirst(x => x.CategoryId == CategoryId); return SUCCESS(response); } @@ -73,7 +67,7 @@ public IActionResult GetArticleCategory(int CategoryId) //[ActionPermissionFilter(Permission = "articlecategory:query")] public IActionResult GetArticleCategoryByType(int categoryType) { - var response = _ArticleCategoryService.GetFirst(x => x.CategoryType == categoryType); + var response = ArticleCategoryService.GetFirst(x => x.CategoryType == categoryType); return SUCCESS(response); } @@ -89,7 +83,7 @@ public IActionResult GetArticleCategoryByType(int categoryType) public IActionResult AddArticleCategory([FromBody] ArticleCategoryDto parm) { var modal = parm.Adapt().ToCreate(HttpContext); - var response = _ArticleCategoryService.AddArticleCategory(modal); + var response = ArticleCategoryService.AddArticleCategory(modal); return ToResponse(response); } @@ -105,7 +99,7 @@ public IActionResult AddArticleCategory([FromBody] ArticleCategoryDto parm) public IActionResult UpdateArticleCategory([FromBody] ArticleCategoryDto parm) { var modal = parm.Adapt().ToUpdate(HttpContext); - var response = _ArticleCategoryService.Update(modal); + var response = ArticleCategoryService.Update(modal); return ToResponse(response); } @@ -122,7 +116,7 @@ public IActionResult DeleteArticleCategory(string ids) int[] idsArr = Tools.SpitIntArrary(ids); if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } - var response = _ArticleCategoryService.Delete(idsArr); + var response = ArticleCategoryService.Delete(idsArr); return ToResponse(response); } @@ -137,7 +131,7 @@ public IActionResult DeleteArticleCategory(string ids) public IActionResult Export([FromQuery] ArticleCategoryQueryDto parm) { parm.PageSize = 10000; - var list = _ArticleCategoryService.GetList(parm).Result; + var list = ArticleCategoryService.GetList(parm).Result; string sFileName = ExportExcel(list, "ArticleCategory", "文章目录"); return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName }); @@ -150,7 +144,7 @@ public IActionResult Export([FromQuery] ArticleCategoryQueryDto parm) [HttpGet("CategoryList")] public IActionResult CategoryList() { - var response = _ArticleCategoryService.GetAll(); + var response = ArticleCategoryService.GetAll(); return SUCCESS(response); } @@ -166,7 +160,7 @@ public IActionResult CategoryList() public IActionResult ChangeSort(int id = 0, int value = 0) { if (id <= 0) { return ToResponse(ApiResult.Error(101, "请求参数错误")); } - var response = _ArticleCategoryService.Update(w => w.CategoryId == id, it => new ArticleCategory () + var response = ArticleCategoryService.Update(w => w.CategoryId == id, it => new ArticleCategory () { CategoryId = id, OrderNum = value diff --git a/ZR.Admin.WebApi/Controllers/Article/ArticleController.cs b/ZR.Admin.WebApi/Controllers/Article/ArticleController.cs index 93a47265..acc25ba4 100644 --- a/ZR.Admin.WebApi/Controllers/Article/ArticleController.cs +++ b/ZR.Admin.WebApi/Controllers/Article/ArticleController.cs @@ -12,22 +12,9 @@ namespace ZR.Admin.WebApi.Controllers [Verify] [Route("article")] [ApiExplorerSettings(GroupName = "article")] - public class ArticleController : BaseController + public class ArticleController( + IArticleService articleService): BaseController { - /// - /// 文章接口 - /// - private readonly IArticleService _ArticleService; - private readonly IArticleCategoryService _ArticleCategoryService; - - public ArticleController( - IArticleService ArticleService, - IArticleCategoryService articleCategoryService) - { - _ArticleService = ArticleService; - _ArticleCategoryService = articleCategoryService; - _ArticleService = ArticleService; - } /// /// 查询文章列表 @@ -37,7 +24,7 @@ public ArticleController( [ActionPermissionFilter(Permission = "system:article:list")] public IActionResult Query([FromQuery] ArticleQueryDto parm) { - var response = _ArticleService.GetList(parm); + var response = articleService.GetList(parm); return SUCCESS(response); } @@ -54,7 +41,7 @@ public IActionResult PassedMonents(string ids) long[] idsArr = Tools.SpitLongArrary(ids); if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"审核通过失败Id 不能为空")); } - return ToResponse(_ArticleService.Passed(idsArr)); + return ToResponse(articleService.Passed(idsArr)); } /// @@ -69,7 +56,7 @@ public IActionResult RejectMonents(string ids, string reason = "") long[] idsArr = Tools.SpitLongArrary(ids); if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"審核拒绝失败Id 不能为空")); } - int result = _ArticleService.Reject(reason, idsArr); + int result = articleService.Reject(reason, idsArr); return ToResponse(result); } @@ -81,7 +68,7 @@ public IActionResult RejectMonents(string ids, string reason = "") public IActionResult QueryMyList([FromQuery] ArticleQueryDto parm) { parm.UserId = HttpContext.GetUId(); - var response = _ArticleService.GetMyList(parm); + var response = articleService.GetMyList(parm); return SUCCESS(response); } @@ -95,7 +82,7 @@ public IActionResult QueryMyList([FromQuery] ArticleQueryDto parm) public IActionResult Get(int id) { long userId = HttpContext.GetUId(); - var model = _ArticleService.GetArticle(id, userId); + var model = articleService.GetArticle(id, userId); ApiResult apiResult = ApiResult.Success(model); @@ -118,7 +105,7 @@ public IActionResult Create([FromBody] ArticleDto parm) addModel.Location = HttpContextExtension.GetIpInfo(addModel.UserIP); addModel.AuditStatus = Model.Enum.AuditStatusEnum.Passed; - return SUCCESS(_ArticleService.InsertReturnIdentity(addModel)); + return SUCCESS(articleService.InsertReturnIdentity(addModel)); } /// @@ -132,7 +119,7 @@ public IActionResult Update([FromBody] ArticleDto parm) { parm.AuthorName = HttpContext.GetName(); var modal = parm.Adapt
().ToUpdate(HttpContext); - var response = _ArticleService.UpdateArticle(modal); + var response = articleService.UpdateArticle(modal); return SUCCESS(response); } @@ -146,7 +133,7 @@ public IActionResult Update([FromBody] ArticleDto parm) [Log(Title = "置顶文章", BusinessType = BusinessType.UPDATE)] public IActionResult Top([FromBody] Article parm) { - var response = _ArticleService.TopArticle(parm); + var response = articleService.TopArticle(parm); return SUCCESS(response); } @@ -160,7 +147,7 @@ public IActionResult Top([FromBody] Article parm) [Log(Title = "是否公开", BusinessType = BusinessType.UPDATE)] public IActionResult ChangePublic([FromBody] Article parm) { - var response = _ArticleService.ChangeArticlePublic(parm); + var response = articleService.ChangeArticlePublic(parm); return SUCCESS(response); } @@ -174,7 +161,7 @@ public IActionResult ChangePublic([FromBody] Article parm) [Log(Title = "文章删除", BusinessType = BusinessType.DELETE)] public IActionResult Delete(int id = 0) { - var response = _ArticleService.Delete(id); + var response = articleService.Delete(id); return SUCCESS(response); } } diff --git a/ZR.Admin.WebApi/Controllers/Article/ArticleTopicController.cs b/ZR.Admin.WebApi/Controllers/Article/ArticleTopicController.cs index 938bfe4f..e520d192 100644 --- a/ZR.Admin.WebApi/Controllers/Article/ArticleTopicController.cs +++ b/ZR.Admin.WebApi/Controllers/Article/ArticleTopicController.cs @@ -10,20 +10,14 @@ namespace ZR.Admin.WebApi.Controllers /// /// 文章话题 /// + /// + /// 文章话题接口 + /// [Verify] [ApiExplorerSettings(GroupName = "article")] [Route("article/ArticleTopic")] - public class ArticleTopicController : BaseController + public class ArticleTopicController(IArticleTopicService ArticleTopicService) : BaseController { - /// - /// 文章话题接口 - /// - private readonly IArticleTopicService _ArticleTopicService; - - public ArticleTopicController(IArticleTopicService ArticleTopicService) - { - _ArticleTopicService = ArticleTopicService; - } /// /// 查询文章话题列表 @@ -34,7 +28,7 @@ public ArticleTopicController(IArticleTopicService ArticleTopicService) [ActionPermissionFilter(Permission = "articletopic:list")] public IActionResult QueryArticleTopic([FromQuery] ArticleTopicQueryDto parm) { - var response = _ArticleTopicService.GetList(parm); + var response = ArticleTopicService.GetList(parm); return SUCCESS(response); } @@ -47,7 +41,7 @@ public IActionResult QueryArticleTopic([FromQuery] ArticleTopicQueryDto parm) [ActionPermissionFilter(Permission = "articletopic:query")] public IActionResult GetArticleTopic(long TopicId) { - var response = _ArticleTopicService.GetInfo(TopicId); + var response = ArticleTopicService.GetInfo(TopicId); var info = response.Adapt(); return SUCCESS(info); @@ -64,7 +58,7 @@ public IActionResult AddArticleTopic([FromBody] ArticleTopicDto parm) { var modal = parm.Adapt().ToCreate(HttpContext); - var response = _ArticleTopicService.AddArticleTopic(modal); + var response = ArticleTopicService.AddArticleTopic(modal); return SUCCESS(response); } @@ -79,7 +73,7 @@ public IActionResult AddArticleTopic([FromBody] ArticleTopicDto parm) public IActionResult UpdateArticleTopic([FromBody] ArticleTopicDto parm) { var modal = parm.Adapt().ToUpdate(HttpContext); - var response = _ArticleTopicService.UpdateArticleTopic(modal); + var response = ArticleTopicService.UpdateArticleTopic(modal); return ToResponse(response); } @@ -95,7 +89,7 @@ public IActionResult DeleteArticleTopic([FromRoute] string ids) { var idArr = Tools.SplitAndConvert(ids); - return ToResponse(_ArticleTopicService.Delete(idArr)); + return ToResponse(ArticleTopicService.Delete(idArr)); } /// @@ -109,7 +103,7 @@ public IActionResult Export([FromQuery] ArticleTopicQueryDto parm) { parm.PageNum = 1; parm.PageSize = 100000; - var list = _ArticleTopicService.ExportList(parm).Result; + var list = ArticleTopicService.ExportList(parm).Result; if (list == null || list.Count <= 0) { return ToResponse(ResultCode.FAIL, "没有要导出的数据"); diff --git a/ZR.Admin.WebApi/Controllers/Article/FrontCommentController.cs b/ZR.Admin.WebApi/Controllers/Article/FrontCommentController.cs index 1887f8f3..53eb5906 100644 --- a/ZR.Admin.WebApi/Controllers/Article/FrontCommentController.cs +++ b/ZR.Admin.WebApi/Controllers/Article/FrontCommentController.cs @@ -10,24 +10,17 @@ namespace ZR.Admin.WebApi.Controllers /// /// 评论 /// + /// + /// + /// + /// + /// [Route("front/comment")] [ApiExplorerSettings(GroupName = "article")] [ApiController] - public class FrontCommentController : BaseController + public class FrontCommentController( + IArticleCommentService messageService, IArticleService articleService) : BaseController { - private readonly IArticleCommentService messageService; - private readonly IArticleService articleService; - /// - /// - /// - /// - /// - public FrontCommentController( - IArticleCommentService messageService, IArticleService articleService) - { - this.messageService = messageService; - this.articleService = articleService; - } /// /// 查询评论列表 diff --git a/ZR.Admin.WebApi/Controllers/Article/MomentsController.cs b/ZR.Admin.WebApi/Controllers/Article/MomentsController.cs index 7185e1cc..77b09bb5 100644 --- a/ZR.Admin.WebApi/Controllers/Article/MomentsController.cs +++ b/ZR.Admin.WebApi/Controllers/Article/MomentsController.cs @@ -7,25 +7,16 @@ namespace ZR.Admin.WebApi.Controllers { + /// + /// + /// + /// [Verify] [Route("moment")] [ApiExplorerSettings(GroupName = "article")] - public class MomentsController : BaseController + public class MomentsController( + IArticleService ArticleService) : BaseController { - /// - /// 动态接口 - /// - private readonly IArticleService _ArticleService; - - /// - /// - /// - /// - public MomentsController( - IArticleService ArticleService) - { - _ArticleService = ArticleService; - } /// /// 查询我的 @@ -36,7 +27,7 @@ public IActionResult QueryMyList([FromQuery] ArticleQueryDto parm) { parm.UserId = HttpContext.GetUId(); parm.ArticleType = 2; - var response = _ArticleService.GetMyList(parm); + var response = ArticleService.GetMyList(parm); return SUCCESS(response); } @@ -53,9 +44,9 @@ public IActionResult QueryMonentList([FromQuery] ArticleQueryDto parm) parm.ArticleType = 2; if (parm.TabId == 100) { - return SUCCESS(_ArticleService.GetFollowMonentList(parm)); + return SUCCESS(ArticleService.GetFollowMonentList(parm)); } - return SUCCESS(_ArticleService.GetMonentList(parm)); + return SUCCESS(ArticleService.GetMonentList(parm)); } /// @@ -70,7 +61,7 @@ public IActionResult PublishMoment([FromBody] ArticleDto parm) var addModel = parm.Adapt
().ToCreate(context: HttpContext); addModel.Tags = parm.TopicName; - return SUCCESS(_ArticleService.PublishMonent(addModel)); + return SUCCESS(ArticleService.PublishMonent(addModel)); } /// @@ -82,7 +73,7 @@ public IActionResult GetInfo() { var userId = HttpContext.GetUId(); - var monentNum = _ArticleService.Queryable() + var monentNum = ArticleService.Queryable() .Count(f => f.UserId == userId && f.ArticleType == ArticleTypeEnum.Monent); return SUCCESS(new { monentNum, commentNum = 0 }); diff --git a/ZR.Admin.WebApi/Controllers/CommonController.cs b/ZR.Admin.WebApi/Controllers/CommonController.cs index 32bc0cf5..f893300f 100644 --- a/ZR.Admin.WebApi/Controllers/CommonController.cs +++ b/ZR.Admin.WebApi/Controllers/CommonController.cs @@ -12,25 +12,14 @@ namespace ZR.Admin.WebApi.Controllers /// [Route("[controller]/[action]")] [ApiExplorerSettings(GroupName = "sys")] - public class CommonController : BaseController + public class CommonController( + IOptions options, + IWebHostEnvironment webHostEnvironment, + ISysFileService fileService) : BaseController { - private OptionsSetting OptionsSetting; + private OptionsSetting OptionsSetting = options.Value; private NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); - private IWebHostEnvironment WebHostEnvironment; - private ISysFileService SysFileService; - - - public CommonController( - IOptions options, - IWebHostEnvironment webHostEnvironment, - ISysFileService fileService) - { - WebHostEnvironment = webHostEnvironment; - SysFileService = fileService; - OptionsSetting = options.Value; - } - /// /// home /// @@ -88,17 +77,17 @@ public async Task UploadFile([FromForm] UploadDto uploadDto, IFor } else if (uploadDto.FileNameType == 3) { - uploadDto.FileName = SysFileService.HashFileName(); + uploadDto.FileName = fileService.HashFileName(); } switch (storeType) { case StoreType.LOCAL: - string savePath = Path.Combine(WebHostEnvironment.WebRootPath); + string savePath = Path.Combine(webHostEnvironment.WebRootPath); if (uploadDto.FileDir.IsEmpty()) { uploadDto.FileDir = OptionsSetting.Upload.LocalSavePath; } - sysfile = await SysFileService.SaveFileToLocal(savePath, uploadDto.FileName, uploadDto.FileDir, HttpContext.GetName(), formFile); + sysfile = await fileService.SaveFileToLocal(savePath, uploadDto.FileName, uploadDto.FileDir, HttpContext.GetName(), formFile); break; case StoreType.REMOTE: break; @@ -117,7 +106,7 @@ public async Task UploadFile([FromForm] UploadDto uploadDto, IFor StoreType = (int)StoreType.ALIYUN, FileType = formFile.ContentType }; - sysfile = await SysFileService.SaveFileToAliyun(sysfile, formFile); + sysfile = await fileService.SaveFileToAliyun(sysfile, formFile); if (sysfile.Id <= 0) { return ToResponse(ApiResult.Error("阿里云连接失败")); } break; @@ -153,7 +142,7 @@ public IActionResult DownloadFile(string? path, long fileId = 0) var tempPath = path; if (fileId > 0) { - var fileInfo = SysFileService.GetById(fileId); + var fileInfo = fileService.GetById(fileId); if (fileInfo != null) { tempPath = fileInfo.FileUrl; @@ -162,7 +151,7 @@ public IActionResult DownloadFile(string? path, long fileId = 0) string fullPath = tempPath; if (tempPath.StartsWith("/")) { - fullPath = Path.Combine(WebHostEnvironment.WebRootPath, tempPath.ReplaceFirst("/", "")); + fullPath = Path.Combine(webHostEnvironment.WebRootPath, tempPath.ReplaceFirst("/", "")); } string fileName = Path.GetFileName(fullPath); return DownFile(fullPath, fileName); @@ -178,11 +167,11 @@ public IActionResult DownloadFile(string? path, long fileId = 0) [Log(BusinessType = BusinessType.INSERT, Title = "初始化数据")] public IActionResult InitSeedData(bool clean = false) { - if (!WebHostEnvironment.IsDevelopment()) + if (!webHostEnvironment.IsDevelopment()) { return ToResponse(ResultCode.CUSTOM_ERROR, "导入数据失败,请在开发模式下初始化"); } - var path = Path.Combine(WebHostEnvironment.WebRootPath, "data.xlsx"); + var path = Path.Combine(webHostEnvironment.WebRootPath, "data.xlsx"); SeedDataService seedDataService = new(); var result = seedDataService.InitSeedData(path, clean); Console.ForegroundColor = ConsoleColor.Red; @@ -206,11 +195,11 @@ public IActionResult InitSeedData(bool clean = false) [Log(BusinessType = BusinessType.INSERT, Title = "初始化数据")] public IActionResult UpdateSeedData() { - if (!WebHostEnvironment.IsDevelopment()) + if (!webHostEnvironment.IsDevelopment()) { return ToResponse(ResultCode.CUSTOM_ERROR, "导入数据失败,请在开发模式下初始化"); } - var path = Path.Combine(WebHostEnvironment.WebRootPath, "data.xlsx"); + var path = Path.Combine(webHostEnvironment.WebRootPath, "data.xlsx"); SeedDataService seedDataService = new(); var sysNotice = MiniExcel.Query(path, sheetName: "notice").ToList(); diff --git a/ZR.Admin.WebApi/Controllers/Email/EmailLogController.cs b/ZR.Admin.WebApi/Controllers/Email/EmailLogController.cs index 5fc793f4..782b2941 100644 --- a/ZR.Admin.WebApi/Controllers/Email/EmailLogController.cs +++ b/ZR.Admin.WebApi/Controllers/Email/EmailLogController.cs @@ -14,20 +14,15 @@ namespace ZR.Admin.WebApi.Controllers.Email [Verify] [Route("system/EmailLog")] [ApiExplorerSettings(GroupName = "sys")] - public class EmailLogController : BaseController + public class EmailLogController( + IEmailLogService EmailLogService, + IOptions options) : BaseController { /// /// 邮件发送记录接口 /// - private readonly IEmailLogService _EmailLogService; - private OptionsSetting OptionsSetting; - public EmailLogController( - IEmailLogService EmailLogService, - IOptions options) - { - _EmailLogService = EmailLogService; - OptionsSetting = options.Value; - } + private readonly IEmailLogService _EmailLogService = EmailLogService; + private OptionsSetting OptionsSetting = options.Value; /// /// 查询邮件发送记录列表 diff --git a/ZR.Admin.WebApi/Controllers/Email/EmailTplController.cs b/ZR.Admin.WebApi/Controllers/Email/EmailTplController.cs index 8bc5a100..dab7e738 100644 --- a/ZR.Admin.WebApi/Controllers/Email/EmailTplController.cs +++ b/ZR.Admin.WebApi/Controllers/Email/EmailTplController.cs @@ -12,17 +12,9 @@ namespace ZR.Admin.WebApi.Controllers.Email [Verify] [Route("system/EmailTpl")] [ApiExplorerSettings(GroupName = "sys")] - public class EmailTplController : BaseController + public class EmailTplController(IEmailTplService emailTplService) : BaseController { - /// - /// 邮件模板接口 - /// - private readonly IEmailTplService _EmailTplService; - - public EmailTplController(IEmailTplService EmailTplService) - { - _EmailTplService = EmailTplService; - } + /// /// 查询邮件模板列表 @@ -33,7 +25,7 @@ public EmailTplController(IEmailTplService EmailTplService) [ActionPermissionFilter(Permission = "tool:emailtpl:list")] public IActionResult QueryEmailTpl([FromQuery] EmailTplQueryDto parm) { - var response = _EmailTplService.GetList(parm); + var response = emailTplService.GetList(parm); return SUCCESS(response); } @@ -45,7 +37,7 @@ public IActionResult QueryEmailTpl([FromQuery] EmailTplQueryDto parm) [HttpGet("{Id}")] public IActionResult GetEmailTpl(int Id) { - var response = _EmailTplService.GetInfo(Id); + var response = emailTplService.GetInfo(Id); var info = response.Adapt(); return SUCCESS(info); @@ -62,7 +54,7 @@ public IActionResult AddEmailTpl([FromBody] EmailTplDto parm) { var modal = parm.Adapt().ToCreate(HttpContext); - var response = _EmailTplService.AddEmailTpl(modal); + var response = emailTplService.AddEmailTpl(modal); return SUCCESS(response); } @@ -77,7 +69,7 @@ public IActionResult AddEmailTpl([FromBody] EmailTplDto parm) public IActionResult UpdateEmailTpl([FromBody] EmailTplDto parm) { var modal = parm.Adapt().ToUpdate(HttpContext); - var response = _EmailTplService.UpdateEmailTpl(modal); + var response = emailTplService.UpdateEmailTpl(modal); return ToResponse(response); } @@ -94,7 +86,7 @@ public IActionResult DeleteEmailTpl(string ids) int[] idsArr = Tools.SpitIntArrary(ids); if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } - var response = _EmailTplService.Delete(idsArr); + var response = emailTplService.Delete(idsArr); return ToResponse(response); } diff --git a/ZR.Admin.WebApi/Controllers/Public/BannerConfigController.cs b/ZR.Admin.WebApi/Controllers/Public/BannerConfigController.cs index 6d90328a..a44e32ad 100644 --- a/ZR.Admin.WebApi/Controllers/Public/BannerConfigController.cs +++ b/ZR.Admin.WebApi/Controllers/Public/BannerConfigController.cs @@ -10,19 +10,13 @@ namespace ZR.Admin.WebApi.Controllers.Public /// /// 广告管理 /// + /// + /// 广告管理接口 + /// [Verify] [Route("public/BannerConfig")] - public class BannerConfigController : BaseController + public class BannerConfigController(IBannerConfigService bannerConfigService) : BaseController { - /// - /// 广告管理接口 - /// - private readonly IBannerConfigService _BannerConfigService; - - public BannerConfigController(IBannerConfigService BannerConfigService) - { - _BannerConfigService = BannerConfigService; - } /// /// 查询广告管理列表 @@ -33,7 +27,7 @@ public BannerConfigController(IBannerConfigService BannerConfigService) [ActionPermissionFilter(Permission = "bannerconfig:list")] public IActionResult QueryBannerConfig([FromQuery] BannerConfigQueryDto parm) { - var response = _BannerConfigService.GetList(parm); + var response = bannerConfigService.GetList(parm); return SUCCESS(response); } @@ -46,7 +40,7 @@ public IActionResult QueryBannerConfig([FromQuery] BannerConfigQueryDto parm) [ActionPermissionFilter(Permission = "bannerconfig:query")] public IActionResult GetBannerConfig(int Id) { - var response = _BannerConfigService.GetInfo(Id); + var response = bannerConfigService.GetInfo(Id); var info = response.Adapt(); return SUCCESS(info); @@ -63,7 +57,7 @@ public IActionResult AddBannerConfig([FromBody] BannerConfigDto parm) { var modal = parm.Adapt().ToCreate(HttpContext); - var response = _BannerConfigService.AddBannerConfig(modal); + var response = bannerConfigService.AddBannerConfig(modal); return SUCCESS(response); } @@ -78,7 +72,7 @@ public IActionResult AddBannerConfig([FromBody] BannerConfigDto parm) public IActionResult UpdateBannerConfig([FromBody] BannerConfigDto parm) { var modal = parm.Adapt(); - var response = _BannerConfigService.UpdateBannerConfig(modal); + var response = bannerConfigService.UpdateBannerConfig(modal); return ToResponse(response); } @@ -94,7 +88,7 @@ public IActionResult DeleteBannerConfig([FromRoute] string ids) { var idArr = Tools.SplitAndConvert(ids); - return ToResponse(_BannerConfigService.Delete(idArr, "删除广告管理")); + return ToResponse(bannerConfigService.Delete(idArr, "删除广告管理")); } /// @@ -108,7 +102,7 @@ public IActionResult Export([FromQuery] BannerConfigQueryDto parm) { parm.PageNum = 1; parm.PageSize = 100000; - var list = _BannerConfigService.ExportList(parm).Result; + var list = bannerConfigService.ExportList(parm).Result; if (list == null || list.Count <= 0) { return ToResponse(ResultCode.FAIL, "没有要导出的数据"); @@ -129,7 +123,7 @@ public IActionResult Export([FromQuery] BannerConfigQueryDto parm) public IActionResult ChangeSort(int id = 0, int value = 0) { if (id <= 0) { return ToResponse(ApiResult.Error(101, "请求参数错误")); } - var response = _BannerConfigService.Update(w => w.Id == id, it => new BannerConfig() + var response = bannerConfigService.Update(w => w.Id == id, it => new BannerConfig() { SortId = value, }); @@ -146,7 +140,7 @@ public IActionResult ChangeSort(int id = 0, int value = 0) [AllowAnonymous] public IActionResult QueryBannerList([FromQuery] BannerConfigQueryDto parm) { - var response = _BannerConfigService.GetBannerList(parm); + var response = bannerConfigService.GetBannerList(parm); return SUCCESS(new { list = response }); } } diff --git a/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs b/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs index 0f6c42ce..ed146806 100644 --- a/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs +++ b/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs @@ -17,28 +17,15 @@ namespace ZR.Admin.WebApi.Controllers [Verify] [Route("tool/gen")] [ApiExplorerSettings(GroupName = "sys")] - public class CodeGeneratorController : BaseController + public class CodeGeneratorController( + IGenTableService genTableService, + IGenTableColumnService genTableColumnService, + IWebHostEnvironment webHostEnvironment, + IOptions options, + ISysMenuService sysMenuService) : BaseController { - private readonly CodeGeneraterService _CodeGeneraterService = new CodeGeneraterService(); - private readonly IGenTableService GenTableService; - private readonly IGenTableColumnService GenTableColumnService; - private readonly ISysMenuService SysMenuService; - private readonly IWebHostEnvironment WebHostEnvironment; - private readonly OptionsSetting OptionsSetting; - - public CodeGeneratorController( - IGenTableService genTableService, - IGenTableColumnService genTableColumnService, - IWebHostEnvironment webHostEnvironment, - IOptions options, - ISysMenuService sysMenuService) - { - GenTableService = genTableService; - GenTableColumnService = genTableColumnService; - WebHostEnvironment = webHostEnvironment; - SysMenuService = sysMenuService; - OptionsSetting = options.Value; - } + private readonly CodeGeneraterService _CodeGeneraterService = new(); + private readonly OptionsSetting OptionsSetting = options.Value; /// /// 获取所有数据库的信息 @@ -86,7 +73,7 @@ public IActionResult FindListTable(string dbName, string? tableName, PagerInfo p public IActionResult GetGenTable(string? tableName, PagerInfo pagerInfo) { //查询原表数据,部分字段映射到代码生成表字段 - var rows = GenTableService.GetGenTables(new GenTable() { TableName = tableName }, pagerInfo); + var rows = genTableService.GetGenTables(new GenTable() { TableName = tableName }, pagerInfo); return SUCCESS(rows, "MM月dd日 HH:mm"); } @@ -100,8 +87,8 @@ public IActionResult GetGenTable(string? tableName, PagerInfo pagerInfo) [ActionPermissionFilter(Permission = "tool:gen:query")] public IActionResult GetColumnList(long tableId) { - var tableInfo = GenTableService.GetGenTableInfo(tableId); - var tables = GenTableService.GetGenTableAll(); + var tableInfo = genTableService.GetGenTableInfo(tableId); + var tables = genTableService.GetGenTableAll(); return SUCCESS(new { info = tableInfo, tables }); } @@ -114,7 +101,7 @@ public IActionResult GetColumnList(long tableId) [ActionPermissionFilter(Permission = "tool:gen:query")] public IActionResult GetTableColumnList(long tableId) { - var tableColumns = GenTableColumnService.GenTableColumns(tableId); + var tableColumns = genTableColumnService.GenTableColumns(tableId); return SUCCESS(new { columns = tableColumns }); } @@ -130,7 +117,7 @@ public IActionResult Remove(string tableIds) { long[] tableId = Tools.SpitLongArrary(tableIds); - int result = GenTableService.DeleteGenTableByIds(tableId); + int result = genTableService.DeleteGenTableByIds(tableId); return SUCCESS(result); } @@ -164,7 +151,7 @@ public IActionResult ImportTableSave([FromBody] ImportCodeGenTableDto dto) }; GenTable genTable = CodeGeneratorTool.InitTable(initTableDto); - genTable.TableId = GenTableService.ImportGenTable(genTable); + genTable.TableId = genTableService.ImportGenTable(genTable); if (OptionsSetting.CodeGenDbConfig.DbType == 3) { seqs = _CodeGeneraterService.GetAllOracleSeqs(table.Name); @@ -174,8 +161,8 @@ public IActionResult ImportTableSave([FromBody] ImportCodeGenTableDto dto) //保存列信息 List dbColumnInfos = _CodeGeneraterService.GetColumnInfo(dto.DbName, table.Name); List genTableColumns = CodeGeneratorTool.InitGenTableColumn(genTable, dbColumnInfos, seqs, OptionsSetting.CodeGen); - GenTableColumnService.DeleteGenTableColumnByTableName(table.Name); - GenTableColumnService.InsertGenTableColumn(genTableColumns); + genTableColumnService.DeleteGenTableColumnByTableName(table.Name); + genTableColumnService.InsertGenTableColumn(genTableColumns); genTable.Columns = genTableColumns; result++; } @@ -203,12 +190,12 @@ public IActionResult EditSave([FromBody] GenTableDto genTableDto) //将前端额外参数转成字符串存入Options中 genTable.Options = genTableDto.Params.Adapt(); - DbResult result = GenTableService.UseTran(() => + DbResult result = genTableService.UseTran(() => { - int rows = GenTableService.UpdateGenTable(genTable); + int rows = genTableService.UpdateGenTable(genTable); if (rows > 0) { - GenTableColumnService.UpdateGenTableColumn(genTable.Columns); + genTableColumnService.UpdateGenTableColumn(genTable.Columns); } }); @@ -230,7 +217,7 @@ public IActionResult Preview([FromQuery] GenerateDto dto, [FromRoute] int tableI { throw new CustomException(ResultCode.CUSTOM_ERROR, "请求参数为空"); } - var genTableInfo = GenTableService.GetGenTableInfo(dto.TableId); + var genTableInfo = genTableService.GetGenTableInfo(dto.TableId); dto.DbType = OptionsSetting.CodeGenDbConfig.DbType; dto.GenTable = genTableInfo; @@ -257,7 +244,7 @@ public IActionResult CodeGenerate([FromBody] GenerateDto dto) } dto.DbType = OptionsSetting.CodeGenDbConfig.DbType; - dto.GenTable = GenTableService.GetGenTableInfo(dto.TableId); + dto.GenTable = genTableService.GetGenTableInfo(dto.TableId); //生成压缩包 string zipReturnFileName = $"ZrAdmin.NET-{dto.GenTable.TableName}-{DateTime.Now:MMddHHmmss}.zip"; @@ -265,17 +252,17 @@ public IActionResult CodeGenerate([FromBody] GenerateDto dto) CodeGeneratorTool.Generate(dto); if (dto.GenTable.Options.GenerateMenu) { - SysMenuService.AddSysMenu(dto.GenTable, dto.ReplaceDto.PermissionPrefix, dto.ReplaceDto.ShowBtnEdit, dto.ReplaceDto.ShowBtnExport, dto.ReplaceDto.ShowBtnImport); + sysMenuService.AddSysMenu(dto.GenTable, dto.ReplaceDto.PermissionPrefix, dto.ReplaceDto.ShowBtnEdit, dto.ReplaceDto.ShowBtnExport, dto.ReplaceDto.ShowBtnImport); } if (dto.GenTable.GenType == "1")//自定义路径 { var genPath = dto.GenTable.GenPath; string parentPath; - string tempPath = WebHostEnvironment.ContentRootPath; + string tempPath = webHostEnvironment.ContentRootPath; if (ComputerHelper.IsUnix()) { - parentPath = Path.Combine(WebHostEnvironment.WebRootPath, "Generatecode"); + parentPath = Path.Combine(webHostEnvironment.WebRootPath, "Generatecode"); } else { @@ -287,7 +274,7 @@ public IActionResult CodeGenerate([FromBody] GenerateDto dto) } else { - dto.ZipPath = Path.Combine(WebHostEnvironment.WebRootPath, "Generatecode"); + dto.ZipPath = Path.Combine(webHostEnvironment.WebRootPath, "Generatecode"); dto.GenCodePath = Path.Combine(dto.ZipPath, DateTime.Now.ToString("yyyyMMdd")); } @@ -317,7 +304,7 @@ public IActionResult CodeGenerate([FromBody] GenerateDto dto) public IActionResult SynchDb(string tableName, long tableId = 0) { if (string.IsNullOrEmpty(tableName) || tableId <= 0) throw new CustomException("参数错误"); - GenTable table = GenTableService.GetGenTableInfo(tableId); + GenTable table = genTableService.GetGenTableInfo(tableId); if (table == null) { throw new CustomException("同步数据失败,原表结构不存在"); } table.Update_by = HttpContext.GetName(); @@ -325,7 +312,7 @@ public IActionResult SynchDb(string tableName, long tableId = 0) List dbColumnInfos = _CodeGeneraterService.GetColumnInfo(table.DbName, tableName); List dbTableColumns = CodeGeneratorTool.InitGenTableColumn(table, dbColumnInfos, codeGen: codeGen); - bool result = GenTableService.SynchDb(tableId, table, dbTableColumns); + bool result = genTableService.SynchDb(tableId, table, dbTableColumns); return SUCCESS(result); } } diff --git a/ZR.Admin.WebApi/Controllers/System/CommonLangController.cs b/ZR.Admin.WebApi/Controllers/System/CommonLangController.cs index ede76f4e..42d457d7 100644 --- a/ZR.Admin.WebApi/Controllers/System/CommonLangController.cs +++ b/ZR.Admin.WebApi/Controllers/System/CommonLangController.cs @@ -13,17 +13,12 @@ namespace ZR.Admin.WebApi.Controllers [Verify] [Route("system/CommonLang")] [ApiExplorerSettings(GroupName = "sys")] - public class CommonLangController : BaseController + public class CommonLangController(ICommonLangService CommonLangService) : BaseController { /// /// 多语言配置接口 /// - private readonly ICommonLangService _CommonLangService; - - public CommonLangController(ICommonLangService CommonLangService) - { - _CommonLangService = CommonLangService; - } + private readonly ICommonLangService _CommonLangService = CommonLangService; /// /// 查询多语言配置列表 diff --git a/ZR.Admin.WebApi/Controllers/System/SysConfigController.cs b/ZR.Admin.WebApi/Controllers/System/SysConfigController.cs index 7c3cb67b..15e3dba1 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysConfigController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysConfigController.cs @@ -12,17 +12,9 @@ namespace ZR.Admin.WebApi.Controllers [Verify] [Route("system/config")] [ApiExplorerSettings(GroupName = "sys")] - public class SysConfigController : BaseController + public class SysConfigController(ISysConfigService sysConfigService) : BaseController { - /// - /// 参数配置接口 - /// - private readonly ISysConfigService _SysConfigService; - - public SysConfigController(ISysConfigService SysConfigService) - { - _SysConfigService = SysConfigService; - } + /// /// 查询参数配置列表 @@ -40,7 +32,7 @@ public IActionResult QuerySysConfig([FromQuery] SysConfigQueryDto parm) predicate = predicate.AndIF(!parm.BeginTime.IsEmpty(), m => m.Create_time >= parm.BeginTime); predicate = predicate.AndIF(!parm.BeginTime.IsEmpty(), m => m.Create_time <= parm.EndTime); - var response = _SysConfigService.GetPages(predicate.ToExpression(), parm); + var response = sysConfigService.GetPages(predicate.ToExpression(), parm); return SUCCESS(response); } @@ -54,7 +46,7 @@ public IActionResult QuerySysConfig([FromQuery] SysConfigQueryDto parm) [ActionPermissionFilter(Permission = "system:config:query")] public IActionResult GetSysConfig(int ConfigId) { - var response = _SysConfigService.GetId(ConfigId); + var response = sysConfigService.GetId(ConfigId); return SUCCESS(response); } @@ -68,7 +60,7 @@ public IActionResult GetSysConfig(int ConfigId) [AllowAnonymous] public IActionResult GetConfigKey(string configKey) { - var response = _SysConfigService.Queryable().First(f => f.ConfigKey == configKey); + var response = sysConfigService.Queryable().First(f => f.ConfigKey == configKey); return SUCCESS(response?.ConfigValue); } @@ -88,7 +80,7 @@ public IActionResult AddSysConfig([FromBody] SysConfigDto parm) } var model = parm.Adapt().ToCreate(HttpContext); - return SUCCESS(_SysConfigService.Insert(model, it => new + return SUCCESS(sysConfigService.Insert(model, it => new { it.ConfigName, it.ConfigKey, @@ -115,7 +107,7 @@ public IActionResult UpdateSysConfig([FromBody] SysConfigDto parm) } var model = parm.Adapt().ToUpdate(HttpContext); - var response = _SysConfigService.Update(w => w.ConfigId == model.ConfigId, it => new SysConfig() + var response = sysConfigService.Update(w => w.ConfigId == model.ConfigId, it => new SysConfig() { ConfigName = model.ConfigName, ConfigKey = model.ConfigKey, @@ -140,9 +132,9 @@ public IActionResult DeleteSysConfig(string ids) { int[] idsArr = Tools.SpitIntArrary(ids); if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } - int sysCount = _SysConfigService.Count(s => s.ConfigType == "Y" && idsArr.Contains(s.ConfigId)); + int sysCount = sysConfigService.Count(s => s.ConfigType == "Y" && idsArr.Contains(s.ConfigId)); if (sysCount > 0) { return ToResponse(ApiResult.Error($"删除失败Id: 系统内置参数不能删除!")); } - var response = _SysConfigService.Delete(idsArr); + var response = sysConfigService.Delete(idsArr); return SUCCESS(response); } diff --git a/ZR.Admin.WebApi/Controllers/System/SysDeptController.cs b/ZR.Admin.WebApi/Controllers/System/SysDeptController.cs index 33a667b7..65aad81e 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysDeptController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysDeptController.cs @@ -12,16 +12,9 @@ namespace ZR.Admin.WebApi.Controllers.System [Verify] [Route("system/dept")] [ApiExplorerSettings(GroupName = "sys")] - public class SysDeptController : BaseController + public class SysDeptController(ISysDeptService deptService + , ISysUserService userService) : BaseController { - public ISysDeptService DeptService; - public ISysUserService UserService; - public SysDeptController(ISysDeptService deptService - , ISysUserService userService) - { - DeptService = deptService; - UserService = userService; - } /// /// 获取部门列表 @@ -31,7 +24,7 @@ public SysDeptController(ISysDeptService deptService [HttpGet("list")] public IActionResult List([FromQuery] SysDeptQueryDto dept) { - return SUCCESS(DeptService.GetList(dept)); + return SUCCESS(deptService.GetList(dept)); } /// @@ -42,7 +35,7 @@ public IActionResult List([FromQuery] SysDeptQueryDto dept) [HttpGet("list/exclude/{deptId}")] public IActionResult ExcludeChild(long deptId) { - var depts = DeptService.GetList(new SysDeptQueryDto()); + var depts = deptService.GetList(new SysDeptQueryDto()); for (int i = 0; i < depts.Count; i++) { @@ -64,9 +57,9 @@ public IActionResult ExcludeChild(long deptId) [HttpGet("treeselect")] public IActionResult TreeSelect(SysDeptQueryDto dept) { - var depts = DeptService.GetSysDepts(dept); + var depts = deptService.GetSysDepts(dept); - return SUCCESS(DeptService.BuildDeptTreeSelect(depts), TIME_FORMAT_FULL); + return SUCCESS(deptService.BuildDeptTreeSelect(depts), TIME_FORMAT_FULL); } /// @@ -78,12 +71,12 @@ public IActionResult TreeSelect(SysDeptQueryDto dept) [HttpGet("roleDeptTreeselect/{roleId}")] public IActionResult RoleMenuTreeselect(int roleId) { - var depts = DeptService.GetSysDepts(new SysDeptQueryDto()); - var checkedKeys = DeptService.SelectRoleDepts(roleId); + var depts = deptService.GetSysDepts(new SysDeptQueryDto()); + var checkedKeys = deptService.SelectRoleDepts(roleId); return SUCCESS(new { checkedKeys, - depts = DeptService.BuildDeptTreeSelect(depts), + depts = deptService.BuildDeptTreeSelect(depts), }); } @@ -95,7 +88,7 @@ public IActionResult RoleMenuTreeselect(int roleId) [ActionPermissionFilter(Permission = "system:dept:query")] public IActionResult GetInfo(long deptId) { - var info = DeptService.GetFirst(f => f.DeptId == deptId); + var info = deptService.GetFirst(f => f.DeptId == deptId); return SUCCESS(info); } @@ -109,12 +102,12 @@ public IActionResult GetInfo(long deptId) [ActionPermissionFilter(Permission = "system:dept:add")] public IActionResult Add([FromBody] SysDept dept) { - if (UserConstants.NOT_UNIQUE.Equals(DeptService.CheckDeptNameUnique(dept))) + if (UserConstants.NOT_UNIQUE.Equals(deptService.CheckDeptNameUnique(dept))) { return ToResponse(ResultCode.CUSTOM_ERROR, $"新增部门{dept.DeptName}失败,部门名称已存在"); } dept.Create_by = HttpContext.GetName(); - return ToResponse(DeptService.InsertDept(dept)); + return ToResponse(deptService.InsertDept(dept)); } /// @@ -127,7 +120,7 @@ public IActionResult Add([FromBody] SysDept dept) [ActionPermissionFilter(Permission = "system:dept:update")] public IActionResult Update([FromBody] SysDept dept) { - if (UserConstants.NOT_UNIQUE.Equals(DeptService.CheckDeptNameUnique(dept))) + if (UserConstants.NOT_UNIQUE.Equals(deptService.CheckDeptNameUnique(dept))) { return ToResponse(ResultCode.CUSTOM_ERROR, $"修改部门{dept.DeptName}失败,部门名称已存在"); } @@ -136,7 +129,7 @@ public IActionResult Update([FromBody] SysDept dept) return ToResponse(ResultCode.CUSTOM_ERROR, $"修改部门{dept.DeptName}失败,上级部门不能是自己"); } dept.Update_by = HttpContext.GetName(); - return ToResponse(DeptService.UpdateDept(dept)); + return ToResponse(deptService.UpdateDept(dept)); } /// @@ -148,16 +141,16 @@ public IActionResult Update([FromBody] SysDept dept) [Log(Title = "部门管理", BusinessType = BusinessType.DELETE)] public IActionResult Remove(long deptId) { - if (DeptService.Queryable().Count(it => it.ParentId == deptId && it.DelFlag == 0) > 0) + if (deptService.Queryable().Count(it => it.ParentId == deptId && it.DelFlag == 0) > 0) { return ToResponse(ResultCode.CUSTOM_ERROR, $"存在下级部门,不允许删除"); } - if (UserService.Queryable().Count(it => it.DeptId == deptId && it.DelFlag == 0) > 0) + if (userService.Queryable().Count(it => it.DeptId == deptId && it.DelFlag == 0) > 0) { return ToResponse(ResultCode.CUSTOM_ERROR, $"部门存在用户,不允许删除"); } - return SUCCESS(DeptService.Delete(deptId)); + return SUCCESS(deptService.Delete(deptId)); } } } diff --git a/ZR.Admin.WebApi/Controllers/System/SysDictDataController.cs b/ZR.Admin.WebApi/Controllers/System/SysDictDataController.cs index 9c704734..7d713a54 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysDictDataController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysDictDataController.cs @@ -13,16 +13,8 @@ namespace ZR.Admin.WebApi.Controllers.System [Verify] [Route("system/dict/data")] [ApiExplorerSettings(GroupName = "sys")] - public class SysDictDataController : BaseController + public class SysDictDataController(ISysDictService sysDictService, ISysDictDataService sysDictDataService) : BaseController { - private readonly ISysDictDataService SysDictDataService; - private readonly ISysDictService SysDictService; - - public SysDictDataController(ISysDictService sysDictService, ISysDictDataService sysDictDataService) - { - SysDictService = sysDictService; - SysDictDataService = sysDictDataService; - } /// /// 搜索 @@ -34,11 +26,11 @@ public SysDictDataController(ISysDictService sysDictService, ISysDictDataService [HttpGet("list")] public IActionResult List([FromQuery] SysDictData dictData, [FromQuery] PagerInfo pagerInfo) { - var list = SysDictDataService.SelectDictDataList(dictData, pagerInfo); + var list = sysDictDataService.SelectDictDataList(dictData, pagerInfo); if (dictData.DictType.StartsWith("sql_")) { - var result = SysDictService.SelectDictDataByCustomSql(dictData.DictType); + var result = sysDictService.SelectDictDataByCustomSql(dictData.DictType); list.Result.AddRange(result.Adapt>()); list.TotalNum += result.Count; @@ -55,7 +47,7 @@ public IActionResult List([FromQuery] SysDictData dictData, [FromQuery] PagerInf [HttpGet("type/{dictType}")] public IActionResult DictType(string dictType) { - return SUCCESS(SysDictDataService.SelectDictDataByType(dictType)); + return SUCCESS(sysDictDataService.SelectDictDataByType(dictType)); } /// @@ -67,7 +59,7 @@ public IActionResult DictType(string dictType) [HttpPost("types")] public IActionResult DictTypes([FromBody] List dto) { - var list = SysDictDataService.SelectDictDataByTypes(dto.Select(f => f.DictType).ToArray()); + var list = sysDictDataService.SelectDictDataByTypes(dto.Select(f => f.DictType).ToArray()); var dataVos = GetDicts(dto.Select(f => f.DictType).ToArray()); return SUCCESS(dataVos); @@ -88,7 +80,7 @@ public IActionResult GetDictTypes() private List GetDicts([FromBody]string[] dicts) { List dataVos = new(); - var list = SysDictDataService.SelectDictDataByTypes(dicts); + var list = sysDictDataService.SelectDictDataByTypes(dicts); foreach (var dic in dicts) { @@ -99,7 +91,7 @@ private List GetDicts([FromBody]string[] dicts) }; if (dic.StartsWith("cus_") || dic.StartsWith("sql_")) { - vo.List.AddRange(SysDictService.SelectDictDataByCustomSql(dic)); + vo.List.AddRange(sysDictService.SelectDictDataByCustomSql(dic)); } dataVos.Add(vo); } @@ -115,7 +107,7 @@ private List GetDicts([FromBody]string[] dicts) [HttpGet("info/{dictCode}")] public IActionResult GetInfo(long dictCode) { - return SUCCESS(SysDictDataService.SelectDictDataById(dictCode)); + return SUCCESS(sysDictDataService.SelectDictDataById(dictCode)); } /// @@ -130,7 +122,7 @@ public IActionResult Add([FromBody] SysDictData dict) { dict.Create_by = HttpContext.GetName(); dict.Create_time = DateTime.Now; - return SUCCESS(SysDictDataService.InsertDictData(dict)); + return SUCCESS(sysDictDataService.InsertDictData(dict)); } /// @@ -144,7 +136,7 @@ public IActionResult Add([FromBody] SysDictData dict) public IActionResult Edit([FromBody] SysDictData dict) { dict.Update_by = HttpContext.GetName(); - return SUCCESS(SysDictDataService.UpdateDictData(dict)); + return SUCCESS(sysDictDataService.UpdateDictData(dict)); } /// @@ -159,7 +151,7 @@ public IActionResult Remove(string dictCode) { long[] dictCodes = Common.Tools.SpitLongArrary(dictCode); - return SUCCESS(SysDictDataService.DeleteDictDataByIds(dictCodes)); + return SUCCESS(sysDictDataService.DeleteDictDataByIds(dictCodes)); } } } diff --git a/ZR.Admin.WebApi/Controllers/System/SysDictTypeController.cs b/ZR.Admin.WebApi/Controllers/System/SysDictTypeController.cs index c92e4e60..77398cb9 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysDictTypeController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysDictTypeController.cs @@ -14,14 +14,8 @@ namespace ZR.Admin.WebApi.Controllers.System [Verify] [Route("system/dict/type")] [ApiExplorerSettings(GroupName = "sys")] - public class SysDictTypeController : BaseController + public class SysDictTypeController(ISysDictService sysDictService) : BaseController { - private readonly ISysDictService SysDictService; - - public SysDictTypeController(ISysDictService sysDictService) - { - SysDictService = sysDictService; - } /// /// 查询 @@ -33,7 +27,7 @@ public SysDictTypeController(ISysDictService sysDictService) [HttpGet("list")] public IActionResult List([FromQuery] SysDictType dict, [FromQuery] PagerInfo pagerInfo) { - var list = SysDictService.SelectDictTypeList(dict, pagerInfo); + var list = sysDictService.SelectDictTypeList(dict, pagerInfo); return SUCCESS(list, TIME_FORMAT_FULL); } @@ -47,7 +41,7 @@ public IActionResult List([FromQuery] SysDictType dict, [FromQuery] PagerInfo pa [ActionPermissionFilter(Permission = "system:dict:query")] public IActionResult GetInfo(long dictId = 0) { - return SUCCESS(SysDictService.GetInfo(dictId)); + return SUCCESS(sysDictService.GetInfo(dictId)); } /// @@ -61,13 +55,13 @@ public IActionResult GetInfo(long dictId = 0) public IActionResult Add([FromBody] SysDictTypeDto dto) { SysDictType dict = dto.Adapt(); - if (UserConstants.NOT_UNIQUE.Equals(SysDictService.CheckDictTypeUnique(dict))) + if (UserConstants.NOT_UNIQUE.Equals(sysDictService.CheckDictTypeUnique(dict))) { return ToResponse(ApiResult.Error($"新增字典'{dict.DictName}'失败,字典类型已存在")); } dict.Create_by = HttpContext.GetName(); dict.Create_time = DateTime.Now; - return SUCCESS(SysDictService.InsertDictType(dict)); + return SUCCESS(sysDictService.InsertDictType(dict)); } /// @@ -82,13 +76,13 @@ public IActionResult Add([FromBody] SysDictTypeDto dto) public IActionResult Edit([FromBody] SysDictTypeDto dto) { SysDictType dict = dto.Adapt(); - if (UserConstants.NOT_UNIQUE.Equals(SysDictService.CheckDictTypeUnique(dict))) + if (UserConstants.NOT_UNIQUE.Equals(sysDictService.CheckDictTypeUnique(dict))) { return ToResponse(ApiResult.Error($"修改字典'{dict.DictName}'失败,字典类型已存在")); } //设置添加人 dict.Update_by = HttpContext.GetName(); - return SUCCESS(SysDictService.UpdateDictType(dict)); + return SUCCESS(sysDictService.UpdateDictType(dict)); } /// @@ -102,7 +96,7 @@ public IActionResult Remove(string ids) { long[] idss = Tools.SpitLongArrary(ids); - return SUCCESS(SysDictService.DeleteDictTypeByIds(idss)); + return SUCCESS(sysDictService.DeleteDictTypeByIds(idss)); } /// @@ -114,7 +108,7 @@ public IActionResult Remove(string ids) [ActionPermissionFilter(Permission = "system:dict:export")] public IActionResult Export() { - var list = SysDictService.GetAll(); + var list = sysDictService.GetAll(); string sFileName = ExportExcel(list, "sysdictType", "字典"); return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName }); diff --git a/ZR.Admin.WebApi/Controllers/System/SysFileController.cs b/ZR.Admin.WebApi/Controllers/System/SysFileController.cs index 5afd397a..61645ef2 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysFileController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysFileController.cs @@ -12,17 +12,12 @@ namespace ZR.Admin.WebApi.Controllers [Verify] [Route("tool/file")] [ApiExplorerSettings(GroupName = "sys")] - public class SysFileController : BaseController + public class SysFileController(ISysFileService SysFileService) : BaseController { /// /// 文件存储接口 /// - private readonly ISysFileService _SysFileService; - - public SysFileController(ISysFileService SysFileService) - { - _SysFileService = SysFileService; - } + private readonly ISysFileService _SysFileService = SysFileService; /// /// 查询文件存储列表 diff --git a/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs b/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs index 133f9ba2..cf13a86c 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs @@ -12,36 +12,16 @@ namespace ZR.Admin.WebApi.Controllers.System /// 登录 /// [ApiExplorerSettings(GroupName = "sys")] - public class SysLoginController : BaseController + public class SysLoginController( + ISysMenuService sysMenuService, + ISysUserService sysUserService, + ISysLoginService sysLoginService, + ISysPermissionService permissionService, + ISysConfigService configService, + ISysRoleService sysRoleService, + ISmsCodeLogService smsCodeLogService, + ICaptcha captcha) : BaseController { - private readonly ISysUserService sysUserService; - private readonly ISysMenuService sysMenuService; - private readonly ISysLoginService sysLoginService; - private readonly ISysPermissionService permissionService; - private readonly ICaptcha SecurityCodeHelper; - private readonly ISysConfigService sysConfigService; - private readonly ISysRoleService roleService; - private readonly ISmsCodeLogService smsCodeLogService; - - public SysLoginController( - ISysMenuService sysMenuService, - ISysUserService sysUserService, - ISysLoginService sysLoginService, - ISysPermissionService permissionService, - ISysConfigService configService, - ISysRoleService sysRoleService, - ISmsCodeLogService smsCodeLogService, - ICaptcha captcha) - { - SecurityCodeHelper = captcha; - this.sysMenuService = sysMenuService; - this.sysUserService = sysUserService; - this.sysLoginService = sysLoginService; - this.permissionService = permissionService; - this.sysConfigService = configService; - this.smsCodeLogService = smsCodeLogService; - roleService = sysRoleService; - } /// /// 登录 @@ -55,8 +35,8 @@ public IActionResult Login([FromBody] LoginBodyDto loginBody) { if (loginBody == null) { throw new CustomException("请求参数错误"); } loginBody.LoginIP = HttpContextExtension.GetClientUserIp(HttpContext); - SysConfig sysConfig = sysConfigService.GetSysConfigByKey("sys.account.captchaOnOff"); - if (sysConfig?.ConfigValue != "off" && !SecurityCodeHelper.Validate(loginBody.Uuid, loginBody.Code)) + SysConfig sysConfig = configService.GetSysConfigByKey("sys.account.captchaOnOff"); + if (sysConfig?.ConfigValue != "off" && !captcha.Validate(loginBody.Uuid, loginBody.Code)) { return ToResponse(ResultCode.CAPTCHA_ERROR, "验证码错误"); } @@ -65,7 +45,7 @@ public IActionResult Login([FromBody] LoginBodyDto loginBody) string location = HttpContextExtension.GetIpInfo(loginBody.LoginIP); var user = sysLoginService.Login(loginBody, new SysLogininfor() { LoginLocation = location }); - List roles = roleService.SelectUserRoleListByUserId(user.UserId); + List roles = sysRoleService.SelectUserRoleListByUserId(user.UserId); //权限集合 eg *:*:*,system:user:list List permissions = permissionService.GetMenuPermission(user); @@ -152,9 +132,9 @@ public IActionResult CaptchaImage() { string uuid = Guid.NewGuid().ToString().Replace("-", ""); - SysConfig sysConfig = sysConfigService.GetSysConfigByKey("sys.account.captchaOnOff"); + SysConfig sysConfig = configService.GetSysConfigByKey("sys.account.captchaOnOff"); var captchaOff = sysConfig?.ConfigValue ?? "0"; - var info = SecurityCodeHelper.Generate(uuid, 60); + var info = captcha.Generate(uuid, 60); var obj = new { captchaOff, uuid, img = info.Base64 };// File(stream, "image/png") return SUCCESS(obj); @@ -170,13 +150,13 @@ public IActionResult CaptchaImage() [Log(Title = "注册", BusinessType = BusinessType.INSERT)] public IActionResult Register([FromBody] RegisterDto dto) { - SysConfig config = sysConfigService.GetSysConfigByKey("sys.account.register"); + SysConfig config = configService.GetSysConfigByKey("sys.account.register"); if (config?.ConfigValue != "true") { return ToResponse(ResultCode.CUSTOM_ERROR, "当前系统没有开启注册功能!"); } - SysConfig sysConfig = sysConfigService.GetSysConfigByKey("sys.account.captchaOnOff"); - if (sysConfig?.ConfigValue != "off" && !SecurityCodeHelper.Validate(dto.Uuid, dto.Code)) + SysConfig sysConfig = configService.GetSysConfigByKey("sys.account.captchaOnOff"); + if (sysConfig?.ConfigValue != "off" && !captcha.Validate(dto.Uuid, dto.Code)) { return ToResponse(ResultCode.CAPTCHA_ERROR, "验证码错误"); } @@ -334,7 +314,7 @@ public IActionResult PhoneLogin([FromBody] PhoneLoginDto loginBody) string location = HttpContextExtension.GetIpInfo(loginBody.LoginIP); var user = sysLoginService.PhoneLogin(loginBody, new SysLogininfor() { LoginLocation = location }, info); - List roles = roleService.SelectUserRoleListByUserId(user.UserId); + List roles = sysRoleService.SelectUserRoleListByUserId(user.UserId); //权限集合 eg *:*:*,system:user:list List permissions = permissionService.GetMenuPermission(user); diff --git a/ZR.Admin.WebApi/Controllers/System/SysMenuController.cs b/ZR.Admin.WebApi/Controllers/System/SysMenuController.cs index 097124ad..9b1d8c19 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysMenuController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysMenuController.cs @@ -12,21 +12,11 @@ namespace ZR.Admin.WebApi.Controllers.System [Verify] [Route("/system/menu")] [ApiExplorerSettings(GroupName = "sys")] - public class SysMenuController : BaseController + public class SysMenuController( + ISysRoleService sysRoleService, + ISysMenuService sysMenuService, + ISysRoleMenuService sysRoleMenuService) : BaseController { - private readonly ISysRoleService sysRoleService; - private readonly ISysMenuService sysMenuService; - private readonly ISysRoleMenuService sysRoleMenuService; - - public SysMenuController( - ISysRoleService sysRoleService, - ISysMenuService sysMenuService, - ISysRoleMenuService sysRoleMenuService) - { - this.sysRoleService = sysRoleService; - this.sysMenuService = sysMenuService; - this.sysRoleMenuService = sysRoleMenuService; - } /// /// 获取菜单树列表 diff --git a/ZR.Admin.WebApi/Controllers/System/SysNoticeController.cs b/ZR.Admin.WebApi/Controllers/System/SysNoticeController.cs index ebd1706a..2698dc83 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysNoticeController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysNoticeController.cs @@ -14,19 +14,12 @@ namespace ZR.Admin.WebApi.Controllers.System [Verify] [Route("system/notice")] [ApiExplorerSettings(GroupName = "sys")] - public class SysNoticeController : BaseController + public class SysNoticeController(ISysNoticeService SysNoticeService, IHubContext hubContext) : BaseController { /// /// 通知公告表接口 /// - private readonly ISysNoticeService _SysNoticeService; - private readonly IHubContext _hubContext; - - public SysNoticeController(ISysNoticeService SysNoticeService, IHubContext hubContext) - { - _SysNoticeService = SysNoticeService; - _hubContext = hubContext; - } + private readonly ISysNoticeService _SysNoticeService = SysNoticeService; /// /// 查询通知公告表列表(移动端用) @@ -112,7 +105,7 @@ public IActionResult SendNotice(int NoticeId = 0) var response = _SysNoticeService.GetFirst(x => x.NoticeId == NoticeId); if (response != null && response.Status == 0) { - _hubContext.Clients.All.SendAsync(HubsConstant.ReceiveNotice, response.NoticeTitle, response.NoticeContent); + hubContext.Clients.All.SendAsync(HubsConstant.ReceiveNotice, response.NoticeTitle, response.NoticeContent); } return SUCCESS(response); } diff --git a/ZR.Admin.WebApi/Controllers/System/SysPostController.cs b/ZR.Admin.WebApi/Controllers/System/SysPostController.cs index 694867b7..1389df0a 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysPostController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysPostController.cs @@ -13,13 +13,8 @@ namespace ZR.Admin.WebApi.Controllers.System [Verify] [Route("system/post")] [ApiExplorerSettings(GroupName = "sys")] - public class SysPostController : BaseController + public class SysPostController(ISysPostService postService) : BaseController { - private readonly ISysPostService PostService; - public SysPostController(ISysPostService postService) - { - PostService = postService; - } /// /// 岗位列表查询 @@ -34,7 +29,7 @@ public IActionResult List([FromQuery] SysPostQueryDto dto) predicate = predicate.AndIF(dto.PostName.IfNotEmpty(), it => it.PostName.Contains(dto.PostName)); predicate = predicate.AndIF(dto.PostCode.IfNotEmpty(), it => it.PostCode.Contains(dto.PostCode)); - var list = PostService.Queryable() + var list = postService.Queryable() .Where(predicate.ToExpression()) .Select((it) => new SysPostDto { @@ -54,7 +49,7 @@ public IActionResult List([FromQuery] SysPostQueryDto dto) [ActionPermissionFilter(Permission = "system:post:query")] public IActionResult Query(long postId = 0) { - return SUCCESS(PostService.GetId(postId)); + return SUCCESS(postService.GetId(postId)); } /// @@ -67,17 +62,17 @@ public IActionResult Query(long postId = 0) [Log(Title = "岗位添加", BusinessType = BusinessType.INSERT)] public IActionResult Add([FromBody] SysPost post) { - if (UserConstants.NOT_UNIQUE.Equals(PostService.CheckPostNameUnique(post))) + if (UserConstants.NOT_UNIQUE.Equals(postService.CheckPostNameUnique(post))) { throw new CustomException($"修改岗位{post.PostName}失败,岗位名已存在"); } - if (UserConstants.NOT_UNIQUE.Equals(PostService.CheckPostCodeUnique(post))) + if (UserConstants.NOT_UNIQUE.Equals(postService.CheckPostCodeUnique(post))) { throw new CustomException($"修改岗位{post.PostName}失败,岗位编码已存在"); } post.ToCreate(HttpContext); - return ToResponse(PostService.Add(post)); + return ToResponse(postService.Add(post)); } /// @@ -90,16 +85,16 @@ public IActionResult Add([FromBody] SysPost post) [Log(Title = "岗位编辑", BusinessType = BusinessType.UPDATE)] public IActionResult Update([FromBody] SysPost post) { - if (UserConstants.NOT_UNIQUE.Equals(PostService.CheckPostNameUnique(post))) + if (UserConstants.NOT_UNIQUE.Equals(postService.CheckPostNameUnique(post))) { throw new CustomException($"修改岗位{post.PostName}失败,岗位名已存在"); } - if (UserConstants.NOT_UNIQUE.Equals(PostService.CheckPostCodeUnique(post))) + if (UserConstants.NOT_UNIQUE.Equals(postService.CheckPostCodeUnique(post))) { throw new CustomException($"修改岗位{post.PostName}失败,岗位编码已存在"); } post.ToUpdate(HttpContext); - return ToResponse(PostService.Update(post)); + return ToResponse(postService.Update(post)); } /// @@ -113,7 +108,7 @@ public IActionResult Update([FromBody] SysPost post) public IActionResult Delete(string id) { int[] ids = Tools.SpitIntArrary(id); - return ToResponse(PostService.Delete(ids)); + return ToResponse(postService.Delete(ids)); } /// @@ -122,7 +117,7 @@ public IActionResult Delete(string id) [HttpGet("optionselect")] public IActionResult Optionselect() { - List posts = PostService.GetAll(); + List posts = postService.GetAll(); return SUCCESS(posts); } @@ -135,7 +130,7 @@ public IActionResult Optionselect() [ActionPermissionFilter(Permission = "system:post:export")] public IActionResult Export() { - var list = PostService.GetAll(); + var list = postService.GetAll(); var result = ExportExcelMini(list, "post", "岗位列表"); return ExportExcel(result.Item2, result.Item1); diff --git a/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs b/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs index 859684d4..b686730e 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs @@ -12,30 +12,14 @@ namespace ZR.Admin.WebApi.Controllers.System [Verify] [Route("system/user/profile")] [ApiExplorerSettings(GroupName = "sys")] - public class SysProfileController : BaseController + public class SysProfileController( + ISysUserService userService, + ISysRoleService roleService, + ISysUserPostService postService, + ISysDeptService deptService, + ISysFileService sysFileService, + IWebHostEnvironment hostEnvironment) : BaseController { - private readonly ISysUserService UserService; - private readonly ISysRoleService RoleService; - private readonly ISysUserPostService UserPostService; - private readonly ISysDeptService DeptService; - private readonly ISysFileService FileService; - private IWebHostEnvironment hostEnvironment; - - public SysProfileController( - ISysUserService userService, - ISysRoleService roleService, - ISysUserPostService postService, - ISysDeptService deptService, - ISysFileService sysFileService, - IWebHostEnvironment hostEnvironment) - { - UserService = userService; - RoleService = roleService; - UserPostService = postService; - DeptService = deptService; - FileService = sysFileService; - this.hostEnvironment = hostEnvironment; - } /// /// 个人中心用户信息获取 @@ -45,11 +29,11 @@ public SysProfileController( public IActionResult Profile() { long userId = HttpContext.GetUId(); - var user = UserService.SelectUserById(userId); + var user = userService.SelectUserById(userId); - var roles = RoleService.SelectUserRoleNames(userId); - var postGroup = UserPostService.GetPostsStrByUserId(userId); - var deptInfo = DeptService.GetFirst(f => f.DeptId == user.DeptId); + var roles = roleService.SelectUserRoleNames(userId); + var postGroup = postService.GetPostsStrByUserId(userId); + var deptInfo = deptService.GetFirst(f => f.DeptId == user.DeptId); user.DeptName = deptInfo?.DeptName ?? "-"; return SUCCESS(new { user, roles, postGroup }, TIME_FORMAT_FULL); @@ -70,7 +54,7 @@ public IActionResult UpdateProfile([FromBody] SysUserDto userDto) } var user = userDto.Adapt().ToUpdate(HttpContext); - int result = UserService.ChangeUser(user); + int result = userService.ChangeUser(user); return ToResponse(result); } @@ -84,7 +68,7 @@ public IActionResult UpdateProfile([FromBody] SysUserDto userDto) public IActionResult UpdatePwd(string oldPassword, string newPassword) { long userId = HttpContext.GetUId(); - SysUser user = UserService.GetFirst(f => f.UserId == userId); + SysUser user = userService.GetFirst(f => f.UserId == userId); string oldMd5 = NETCore.Encrypt.EncryptProvider.Md5(oldPassword); string newMd5 = NETCore.Encrypt.EncryptProvider.Md5(newPassword); @@ -96,7 +80,7 @@ public IActionResult UpdatePwd(string oldPassword, string newPassword) { return ToResponse(ApiResult.Error("新密码不能和旧密码相同")); } - if (UserService.ResetPwd(userId, newMd5) > 0) + if (userService.ResetPwd(userId, newMd5) > 0) { //TODO 更新缓存 @@ -119,9 +103,9 @@ public async Task Avatar([FromForm(Name = "picture")] IFormFile f long userId = HttpContext.GetUId(); if (formFile == null) throw new CustomException("请选择文件"); - SysFile file = await FileService.SaveFileToLocal(hostEnvironment.WebRootPath, "", "avatar", HttpContext.GetName(), formFile); + SysFile file = await sysFileService.SaveFileToLocal(hostEnvironment.WebRootPath, "", "avatar", HttpContext.GetName(), formFile); - UserService.UpdatePhoto(new SysUser() { Avatar = file.AccessUrl, UserId = userId }); + userService.UpdatePhoto(new SysUser() { Avatar = file.AccessUrl, UserId = userId }); return SUCCESS(new { imgUrl = file.AccessUrl }); } } diff --git a/ZR.Admin.WebApi/Controllers/System/SysRoleController.cs b/ZR.Admin.WebApi/Controllers/System/SysRoleController.cs index 21b00fea..427c73b0 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysRoleController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysRoleController.cs @@ -13,18 +13,10 @@ namespace ZR.Admin.WebApi.Controllers.System [Verify] [Route("system/role")] [ApiExplorerSettings(GroupName = "sys")] - public class SysRoleController : BaseController + public class SysRoleController( + ISysRoleService sysRoleService, + ISysMenuService sysMenuService) : BaseController { - private readonly ISysRoleService sysRoleService; - private readonly ISysMenuService sysMenuService; - - public SysRoleController( - ISysRoleService sysRoleService, - ISysMenuService sysMenuService) - { - this.sysRoleService = sysRoleService; - this.sysMenuService = sysMenuService; - } /// /// 获取系统角色管理 diff --git a/ZR.Admin.WebApi/Controllers/System/SysUserController.cs b/ZR.Admin.WebApi/Controllers/System/SysUserController.cs index bcc6647a..17254548 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysUserController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysUserController.cs @@ -14,24 +14,12 @@ namespace ZR.Admin.WebApi.Controllers.System [Verify] [Route("system/user")] [ApiExplorerSettings(GroupName = "sys")] - public class SysUserController : BaseController + public class SysUserController( + ISysUserService userService, + ISysRoleService roleService, + ISysPostService postService, + ISysUserPostService userPostService) : BaseController { - private readonly ISysUserService UserService; - private readonly ISysRoleService RoleService; - private readonly ISysPostService PostService; - private readonly ISysUserPostService UserPostService; - - public SysUserController( - ISysUserService userService, - ISysRoleService roleService, - ISysPostService postService, - ISysUserPostService userPostService) - { - UserService = userService; - RoleService = roleService; - PostService = postService; - UserPostService = userPostService; - } /// /// 用户管理 -> 获取用户 @@ -42,7 +30,7 @@ public SysUserController( [HttpGet("list")] public IActionResult List([FromQuery] SysUserQueryDto user, PagerInfo pager) { - var list = UserService.SelectUserList(user, pager); + var list = userService.SelectUserList(user, pager); return SUCCESS(list); } @@ -58,17 +46,17 @@ public IActionResult List([FromQuery] SysUserQueryDto user, PagerInfo pager) public IActionResult GetInfo(int userId) { Dictionary dic = new(); - var roles = RoleService.SelectRoleAll(); + var roles = roleService.SelectRoleAll(); dic.Add("roles", roles); //dic.Add("roles", SysUser.IsAdmin(userId) ? roles : roles.FindAll(f => !f.IsAdmin())); - dic.Add("posts", PostService.GetAll()); + dic.Add("posts", postService.GetAll()); //编辑 if (userId > 0) { - SysUser sysUser = UserService.SelectUserById(userId); + SysUser sysUser = userService.SelectUserById(userId); dic.Add("user", sysUser); - dic.Add("postIds", UserPostService.GetUserPostsByUserId(userId)); + dic.Add("postIds", userPostService.GetUserPostsByUserId(userId)); dic.Add("roleIds", sysUser.RoleIds); } @@ -87,14 +75,14 @@ public IActionResult AddUser([FromBody] SysUserDto parm) { var user = parm.Adapt().ToCreate(HttpContext); if (user == null) { return ToResponse(ApiResult.Error(101, "请求参数错误")); } - if (UserConstants.NOT_UNIQUE.Equals(UserService.CheckUserNameUnique(user.UserName))) + if (UserConstants.NOT_UNIQUE.Equals(userService.CheckUserNameUnique(user.UserName))) { return ToResponse(ApiResult.Error($"新增用户 '{user.UserName}'失败,登录账号已存在")); } user.Password = NETCore.Encrypt.EncryptProvider.Md5(user.Password); - return SUCCESS(UserService.InsertUser(user)); + return SUCCESS(userService.InsertUser(user)); } /// @@ -110,7 +98,7 @@ public IActionResult UpdateUser([FromBody] SysUserDto parm) var user = parm.Adapt().ToUpdate(HttpContext); if (user == null || user.UserId <= 0) { return ToResponse(ApiResult.Error(101, "请求参数错误")); } - int upResult = UserService.UpdateUser(user); + int upResult = userService.UpdateUser(user); return ToResponse(upResult); } @@ -127,7 +115,7 @@ public IActionResult ChangeStatus([FromBody] SysUser user) { if (user == null) { return ToResponse(ApiResult.Error(101, "请求参数错误")); } - int result = UserService.ChangeUserStatus(user); + int result = userService.ChangeUserStatus(user); return ToResponse(result); } @@ -143,7 +131,7 @@ public IActionResult Remove(int userid = 0) { if (userid <= 0) { return ToResponse(ApiResult.Error(101, "请求参数错误")); } if (userid == 1) return ToResponse(ResultCode.FAIL, "不能删除管理员账号"); - int result = UserService.DeleteUser(userid); + int result = userService.DeleteUser(userid); return ToResponse(result); } @@ -160,7 +148,7 @@ public IActionResult ResetPwd([FromBody] SysUserDto sysUser) //密码md5 sysUser.Password = NETCore.Encrypt.EncryptProvider.Md5(sysUser.Password); - int result = UserService.ResetPwd(sysUser.UserId, sysUser.Password); + int result = userService.ResetPwd(sysUser.UserId, sysUser.Password); return ToResponse(result); } @@ -180,7 +168,7 @@ public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) users = stream.Query(startCell: "A2").ToList(); } - return SUCCESS(UserService.ImportUsers(users)); + return SUCCESS(userService.ImportUsers(users)); } /// @@ -206,7 +194,7 @@ public IActionResult ImportTemplateExcel() [ActionPermissionFilter(Permission = "system:user:export")] public IActionResult UserExport([FromQuery] SysUserQueryDto user) { - var list = UserService.SelectUserList(user, new PagerInfo(1, 10000)); + var list = userService.SelectUserList(user, new PagerInfo(1, 10000)); var result = ExportExcelMini(list.Result, "user", "用户列表"); return ExportExcel(result.Item2, result.Item1); diff --git a/ZR.Admin.WebApi/Controllers/System/SysUserMsgController.cs b/ZR.Admin.WebApi/Controllers/System/SysUserMsgController.cs index 8915e749..870f2f46 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysUserMsgController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysUserMsgController.cs @@ -11,17 +11,12 @@ namespace ZR.Admin.WebApi.Controllers.System /// [Verify] [Route("SysUserMsg")] - public class SysUserMsgController : BaseController + public class SysUserMsgController(ISysUserMsgService SysUserMsgService) : BaseController { /// /// 用户系统消息接口 /// - private readonly ISysUserMsgService _SysUserMsgService; - - public SysUserMsgController(ISysUserMsgService SysUserMsgService) - { - _SysUserMsgService = SysUserMsgService; - } + private readonly ISysUserMsgService _SysUserMsgService = SysUserMsgService; /// /// 查询用户系统消息列表 diff --git a/ZR.Admin.WebApi/Controllers/System/SysUserRoleController.cs b/ZR.Admin.WebApi/Controllers/System/SysUserRoleController.cs index b8b77f10..bcfc2cee 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysUserRoleController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysUserRoleController.cs @@ -11,18 +11,9 @@ namespace ZR.Admin.WebApi.Controllers.System [Verify] [Route("system/userRole")] [ApiExplorerSettings(GroupName = "sys")] - public class SysUserRoleController : BaseController + public class SysUserRoleController( + ISysUserRoleService sysUserRoleService) : BaseController { - private readonly ISysUserRoleService SysUserRoleService; - private readonly ISysUserService UserService; - - public SysUserRoleController( - ISysUserRoleService sysUserRoleService, - ISysUserService userService) - { - SysUserRoleService = sysUserRoleService; - UserService = userService; - } /// /// 根据角色编号获取已分配的用户 @@ -33,7 +24,7 @@ public SysUserRoleController( [ActionPermissionFilter(Permission = "system:roleusers:list")] public IActionResult GetList([FromQuery] RoleUserQueryDto roleUserQueryDto) { - var list = SysUserRoleService.GetSysUsersByRoleId(roleUserQueryDto); + var list = sysUserRoleService.GetSysUsersByRoleId(roleUserQueryDto); return SUCCESS(list, TIME_FORMAT_FULL); } @@ -47,7 +38,7 @@ public IActionResult GetList([FromQuery] RoleUserQueryDto roleUserQueryDto) [Log(Title = "添加角色用户", BusinessType = BusinessType.INSERT)] public IActionResult Create([FromBody] RoleUsersCreateDto roleUsersCreateDto) { - var response = SysUserRoleService.InsertRoleUser(roleUsersCreateDto); + var response = sysUserRoleService.InsertRoleUser(roleUsersCreateDto); return SUCCESS(response); } @@ -62,7 +53,7 @@ public IActionResult Create([FromBody] RoleUsersCreateDto roleUsersCreateDto) [Log(Title = "删除角色用户", BusinessType = BusinessType.DELETE)] public IActionResult Delete([FromBody] RoleUsersCreateDto roleUsersCreateDto) { - return SUCCESS(SysUserRoleService.DeleteRoleUserByUserIds(roleUsersCreateDto.RoleId, roleUsersCreateDto.UserIds)); + return SUCCESS(sysUserRoleService.DeleteRoleUserByUserIds(roleUsersCreateDto.RoleId, roleUsersCreateDto.UserIds)); } /// @@ -79,7 +70,7 @@ public IActionResult GetExcludeUsers([FromQuery] RoleUserQueryDto roleUserQueryD } // 获取未添加用户 - var list = SysUserRoleService.GetExcludedSysUsersByRoleId(roleUserQueryDto); + var list = sysUserRoleService.GetExcludedSysUsersByRoleId(roleUserQueryDto); return SUCCESS(list, TIME_FORMAT_FULL); } diff --git a/ZR.Admin.WebApi/Controllers/System/TasksController.cs b/ZR.Admin.WebApi/Controllers/System/TasksController.cs index f1897a3c..097dd426 100644 --- a/ZR.Admin.WebApi/Controllers/System/TasksController.cs +++ b/ZR.Admin.WebApi/Controllers/System/TasksController.cs @@ -15,18 +15,10 @@ namespace ZR.Admin.WebApi.Controllers [Verify] [Route("system/Tasks")] [ApiExplorerSettings(GroupName = "sys")] - public class TasksController : BaseController + public class TasksController( + ISysTasksQzService sysTasksQzService, + ITaskSchedulerServer taskScheduler) : BaseController { - private ISysTasksQzService _tasksQzService; - private ITaskSchedulerServer _schedulerServer; - - public TasksController( - ISysTasksQzService sysTasksQzService, - ITaskSchedulerServer taskScheduler) - { - _tasksQzService = sysTasksQzService; - _schedulerServer = taskScheduler; - } /// /// 查询计划任务列表 @@ -36,7 +28,7 @@ public TasksController( [ActionPermissionFilter(Permission = "monitor:job:list")] public IActionResult ListTask([FromQuery] TasksQueryDto parm) { - var response = _tasksQzService.SelectTaskList(parm); + var response = sysTasksQzService.SelectTaskList(parm); return SUCCESS(response, TIME_FORMAT_FULL); } @@ -50,7 +42,7 @@ public IActionResult Get(string id) { if (!string.IsNullOrEmpty(id)) { - return SUCCESS(_tasksQzService.GetId(id)); + return SUCCESS(sysTasksQzService.GetId(id)); } return SUCCESS(0); } @@ -65,7 +57,7 @@ public IActionResult Get(string id) public IActionResult Create([FromBody] TasksCreateDto parm) { //判断是否已经存在 - if (_tasksQzService.Any(m => m.Name == parm.Name)) + if (sysTasksQzService.Any(m => m.Name == parm.Name)) { throw new CustomException($"添加 {parm.Name} 失败,该用任务存在,不能重复!"); } @@ -90,7 +82,7 @@ public IActionResult Create([FromBody] TasksCreateDto parm) tasksQz.Create_by = HttpContext.GetName(); tasksQz.ID = SnowFlakeSingle.Instance.NextId().ToString(); - return SUCCESS(_tasksQzService.AddTasks(tasksQz)); + return SUCCESS(sysTasksQzService.AddTasks(tasksQz)); } /// @@ -103,7 +95,7 @@ public IActionResult Create([FromBody] TasksCreateDto parm) public async Task Update([FromBody] TasksCreateDto parm) { //判断是否已经存在 - if (_tasksQzService.Any(m => m.Name == parm.Name && m.ID != parm.ID)) + if (sysTasksQzService.Any(m => m.Name == parm.Name && m.ID != parm.ID)) { throw new CustomException($"更新 {parm.Name} 失败,该用任务存在,不能重复!"); } @@ -115,7 +107,7 @@ public async Task Update([FromBody] TasksCreateDto parm) { throw new CustomException($"cron表达式不正确"); } - var tasksQz = _tasksQzService.GetFirst(m => m.ID == parm.ID); + var tasksQz = sysTasksQzService.GetFirst(m => m.ID == parm.ID); if (string.IsNullOrEmpty(parm.ApiUrl) && parm.TaskType == 2) { throw new CustomException($"api地址不能为空"); @@ -127,10 +119,10 @@ public async Task Update([FromBody] TasksCreateDto parm) } var model = parm.Adapt(); model.Update_by = HttpContextExtension.GetName(HttpContext); - int response = _tasksQzService.UpdateTasks(model); + int response = sysTasksQzService.UpdateTasks(model); if (response > 0) { - var respon = await _schedulerServer.UpdateTaskScheduleAsync(tasksQz); + var respon = await taskScheduler.UpdateTaskScheduleAsync(tasksQz); } return SUCCESS(response); @@ -150,17 +142,17 @@ public async Task Delete(string id) throw new CustomException("删除任务 Id 不能为空"); } - if (!_tasksQzService.Any(m => m.ID == id)) + if (!sysTasksQzService.Any(m => m.ID == id)) { throw new CustomException("任务不存在"); } - var tasksQz = _tasksQzService.GetFirst(m => m.ID == id); - var taskResult = await _schedulerServer.DeleteTaskScheduleAsync(tasksQz); + var tasksQz = sysTasksQzService.GetFirst(m => m.ID == id); + var taskResult = await taskScheduler.DeleteTaskScheduleAsync(tasksQz); if (taskResult.IsSuccess()) { - _tasksQzService.Delete(id); + sysTasksQzService.Delete(id); } return ToResponse(taskResult); } @@ -179,18 +171,18 @@ public async Task Start(string id) throw new CustomException("启动任务 Id 不能为空"); } - if (!_tasksQzService.Any(m => m.ID == id)) + if (!sysTasksQzService.Any(m => m.ID == id)) { throw new CustomException("任务不存在"); } - var tasksQz = _tasksQzService.GetFirst(m => m.ID == id); - var taskResult = await _schedulerServer.AddTaskScheduleAsync(tasksQz); + var tasksQz = sysTasksQzService.GetFirst(m => m.ID == id); + var taskResult = await taskScheduler.AddTaskScheduleAsync(tasksQz); if (taskResult.IsSuccess()) { tasksQz.IsStart = 1; - _tasksQzService.Update(tasksQz); + sysTasksQzService.Update(tasksQz); } return ToResponse(taskResult); @@ -210,18 +202,18 @@ public async Task Stop(string id) throw new CustomException("停止任务 Id 不能为空"); } - if (!_tasksQzService.Any(m => m.ID == id)) + if (!sysTasksQzService.Any(m => m.ID == id)) { throw new CustomException("任务不存在"); } - var tasksQz = _tasksQzService.GetFirst(m => m.ID == id); - var taskResult = await _schedulerServer.DeleteTaskScheduleAsync(tasksQz);//await _schedulerServer.PauseTaskScheduleAsync(tasksQz); + var tasksQz = sysTasksQzService.GetFirst(m => m.ID == id); + var taskResult = await taskScheduler.DeleteTaskScheduleAsync(tasksQz);//await _schedulerServer.PauseTaskScheduleAsync(tasksQz); if (taskResult.IsSuccess()) { tasksQz.IsStart = 0; - _tasksQzService.Update(tasksQz); + sysTasksQzService.Update(tasksQz); } return ToResponse(taskResult); @@ -237,13 +229,13 @@ public async Task Stop(string id) [Log(Title = "执行任务", BusinessType = BusinessType.OTHER)] public async Task Run(string id) { - var result = await _tasksQzService.IsAnyAsync(m => m.ID == id); + var result = await sysTasksQzService.IsAnyAsync(m => m.ID == id); if (!result) { throw new CustomException("任务不存在"); } - var tasksQz = await _tasksQzService.GetFirstAsync(m => m.ID == id); - var taskResult = await _schedulerServer.RunTaskScheduleAsync(tasksQz); + var tasksQz = await sysTasksQzService.GetFirstAsync(m => m.ID == id); + var taskResult = await taskScheduler.RunTaskScheduleAsync(tasksQz); return ToResponse(taskResult); } @@ -257,7 +249,7 @@ public async Task Run(string id) [ActionPermissionFilter(Permission = "monitor:job:export")] public IActionResult Export() { - var list = _tasksQzService.GetAll(); + var list = sysTasksQzService.GetAll(); string sFileName = ExportExcel(list, "monitorjob", "定时任务"); return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName }); diff --git a/ZR.Admin.WebApi/Controllers/System/TasksLogController.cs b/ZR.Admin.WebApi/Controllers/System/TasksLogController.cs index 4a5be4d1..792fa4b3 100644 --- a/ZR.Admin.WebApi/Controllers/System/TasksLogController.cs +++ b/ZR.Admin.WebApi/Controllers/System/TasksLogController.cs @@ -14,14 +14,8 @@ namespace ZR.Admin.WebApi.Controllers.System [Verify] [Route("/monitor/jobLog")] [ApiExplorerSettings(GroupName = "sys")] - public class TasksLogController : BaseController + public class TasksLogController(ISysTasksLogService tasksLogService) : BaseController { - private readonly ISysTasksLogService tasksLogService; - - public TasksLogController(ISysTasksLogService tasksLogService) - { - this.tasksLogService = tasksLogService; - } /// /// 查询日志 diff --git a/ZR.Admin.WebApi/Controllers/System/monitor/MonitorController.cs b/ZR.Admin.WebApi/Controllers/System/monitor/MonitorController.cs index 5b3cc852..eab71aa7 100644 --- a/ZR.Admin.WebApi/Controllers/System/monitor/MonitorController.cs +++ b/ZR.Admin.WebApi/Controllers/System/monitor/MonitorController.cs @@ -12,16 +12,10 @@ namespace ZR.Admin.WebApi.Controllers.monitor /// [ApiExplorerSettings(GroupName = "sys")] [Verify] - public class MonitorController : BaseController + public class MonitorController(IOptions options, IWebHostEnvironment hostEnvironment) : BaseController { - private OptionsSetting Options; - private IWebHostEnvironment HostEnvironment; + private OptionsSetting Options = options.Value; private NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); - public MonitorController(IOptions options, IWebHostEnvironment hostEnvironment) - { - this.HostEnvironment = hostEnvironment; - this.Options = options.Value; - } /// /// 获取缓存监控数据 @@ -61,9 +55,9 @@ public IActionResult Server() sys = new { cpuNum, computerName, osName, osArch, serverIP, runTime = sysRunTime }, app = new { - name = HostEnvironment.EnvironmentName, - rootPath = HostEnvironment.ContentRootPath, - webRootPath = HostEnvironment.WebRootPath, + name = hostEnvironment.EnvironmentName, + rootPath = hostEnvironment.ContentRootPath, + webRootPath = hostEnvironment.WebRootPath, version, appRAM, startTime, diff --git a/ZR.Admin.WebApi/Controllers/System/monitor/SmsCodeLogController.cs b/ZR.Admin.WebApi/Controllers/System/monitor/SmsCodeLogController.cs index f36c4949..c9dad5bb 100644 --- a/ZR.Admin.WebApi/Controllers/System/monitor/SmsCodeLogController.cs +++ b/ZR.Admin.WebApi/Controllers/System/monitor/SmsCodeLogController.cs @@ -9,20 +9,14 @@ namespace ZR.Admin.WebApi.Controllers.System.monitor /// /// 短信验证码记录 /// + /// + /// 短信验证码记录接口 + /// [Verify] [Route("system/SmscodeLog")] [ApiExplorerSettings(GroupName = "sys")] - public class SmsCodeLogController : BaseController + public class SmsCodeLogController(ISmsCodeLogService SmscodeLogService) : BaseController { - /// - /// 短信验证码记录接口 - /// - private readonly ISmsCodeLogService _SmscodeLogService; - - public SmsCodeLogController(ISmsCodeLogService SmscodeLogService) - { - _SmscodeLogService = SmscodeLogService; - } /// /// 查询短信验证码记录列表 @@ -33,7 +27,7 @@ public SmsCodeLogController(ISmsCodeLogService SmscodeLogService) [ActionPermissionFilter(Permission = "smscodelog:list")] public IActionResult QuerySmscodeLog([FromQuery] SmscodeLogQueryDto parm) { - var response = _SmscodeLogService.GetList(parm); + var response = SmscodeLogService.GetList(parm); return SUCCESS(response); } @@ -49,7 +43,7 @@ public IActionResult DeleteSmscodeLog(string ids) long[] idsArr = Tools.SpitLongArrary(ids); if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } - var response = _SmscodeLogService.Delete(idsArr); + var response = SmscodeLogService.Delete(idsArr); return ToResponse(response); } @@ -65,7 +59,7 @@ public IActionResult Export([FromQuery] SmscodeLogQueryDto parm) { parm.PageNum = 1; parm.PageSize = 100000; - var list = _SmscodeLogService.GetList(parm).Result; + var list = SmscodeLogService.GetList(parm).Result; if (list == null || list.Count <= 0) { return ToResponse(ResultCode.FAIL, "没有要导出的数据"); diff --git a/ZR.Admin.WebApi/Controllers/System/monitor/SqlDiffLogController.cs b/ZR.Admin.WebApi/Controllers/System/monitor/SqlDiffLogController.cs index e46cae05..6c560447 100644 --- a/ZR.Admin.WebApi/Controllers/System/monitor/SqlDiffLogController.cs +++ b/ZR.Admin.WebApi/Controllers/System/monitor/SqlDiffLogController.cs @@ -12,17 +12,9 @@ namespace ZR.Admin.WebApi.Controllers [Verify] [Route("monitor/SqlDiffLog")] [ApiExplorerSettings(GroupName = "sys")] - public class SqlDiffLogController : BaseController + public class SqlDiffLogController(ISqlDiffLogService sqlDiffLogService) : BaseController { - /// - /// 数据差异日志接口 - /// - private readonly ISqlDiffLogService _SqlDiffLogService; - - public SqlDiffLogController(ISqlDiffLogService SqlDiffLogService) - { - _SqlDiffLogService = SqlDiffLogService; - } + /// /// 查询数据差异日志列表 @@ -33,7 +25,7 @@ public SqlDiffLogController(ISqlDiffLogService SqlDiffLogService) [ActionPermissionFilter(Permission = "sqldifflog:list")] public IActionResult QuerySqlDiffLog([FromQuery] SqlDiffLogQueryDto parm) { - var response = _SqlDiffLogService.GetList(parm); + var response = sqlDiffLogService.GetList(parm); return SUCCESS(response); } @@ -49,7 +41,7 @@ public IActionResult DeleteSqlDiffLog(string ids) long[] idsArr = Tools.SpitLongArrary(ids); if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } - var response = _SqlDiffLogService.Delete(idsArr); + var response = sqlDiffLogService.Delete(idsArr); return ToResponse(response); } @@ -65,7 +57,7 @@ public IActionResult Export([FromQuery] SqlDiffLogQueryDto parm) { parm.PageNum = 1; parm.PageSize = 100000; - var list = _SqlDiffLogService.GetList(parm).Result; + var list = sqlDiffLogService.GetList(parm).Result; if (list == null || list.Count <= 0) { return ToResponse(ResultCode.FAIL, "没有要导出的数据"); diff --git a/ZR.Admin.WebApi/Controllers/System/monitor/SysLogininforController.cs b/ZR.Admin.WebApi/Controllers/System/monitor/SysLogininforController.cs index 6f19322c..207c95c8 100644 --- a/ZR.Admin.WebApi/Controllers/System/monitor/SysLogininforController.cs +++ b/ZR.Admin.WebApi/Controllers/System/monitor/SysLogininforController.cs @@ -12,14 +12,8 @@ namespace ZR.Admin.WebApi.Controllers.monitor [Verify] [Route("/monitor/logininfor")] [ApiExplorerSettings(GroupName = "sys")] - public class SysLogininforController : BaseController + public class SysLogininforController(ISysLoginService sysLoginService) : BaseController { - private ISysLoginService sysLoginService; - - public SysLogininforController(ISysLoginService sysLoginService) - { - this.sysLoginService = sysLoginService; - } /// /// 查询登录日志 diff --git a/ZR.Admin.WebApi/Controllers/System/monitor/SysOperlogController.cs b/ZR.Admin.WebApi/Controllers/System/monitor/SysOperlogController.cs index 34a72325..8b4bc3fa 100644 --- a/ZR.Admin.WebApi/Controllers/System/monitor/SysOperlogController.cs +++ b/ZR.Admin.WebApi/Controllers/System/monitor/SysOperlogController.cs @@ -10,14 +10,8 @@ namespace ZR.Admin.WebApi.Controllers.monitor [Verify] [Route("/monitor/operlog")] [ApiExplorerSettings(GroupName = "sys")] - public class SysOperlogController : BaseController + public class SysOperlogController(ISysOperLogService sysOperLogService) : BaseController { - private ISysOperLogService sysOperLogService; - - public SysOperlogController(ISysOperLogService sysOperLogService) - { - this.sysOperLogService = sysOperLogService; - } /// /// 查询操作日志 diff --git a/ZR.Admin.WebApi/Controllers/System/monitor/SysUserOnlineController.cs b/ZR.Admin.WebApi/Controllers/System/monitor/SysUserOnlineController.cs index e0d61090..b5948b65 100644 --- a/ZR.Admin.WebApi/Controllers/System/monitor/SysUserOnlineController.cs +++ b/ZR.Admin.WebApi/Controllers/System/monitor/SysUserOnlineController.cs @@ -13,14 +13,8 @@ namespace ZR.Admin.WebApi.Controllers.monitor [Verify] [Route("monitor/online")] [ApiExplorerSettings(GroupName = "sys")] - public class SysUserOnlineController : BaseController + public class SysUserOnlineController(IHubContext hubContext) : BaseController { - private readonly IHubContext HubContext; - - public SysUserOnlineController(IHubContext hubContext) - { - HubContext = hubContext; - } /// /// 获取在线用户列表 @@ -48,7 +42,7 @@ public async Task Force([FromBody] LockUserDto dto) { if (dto == null) { return ToResponse(ResultCode.PARAM_ERROR); } - await HubContext.Clients.Client(dto.ConnnectionId) + await hubContext.Clients.Client(dto.ConnnectionId) .SendAsync(HubsConstant.ForceUser, new { dto.Reason, dto.Time }); //var expirTime = DateTimeHelper.GetUnixTimeSeconds(DateTime.Now.AddMinutes(dto.Time)); @@ -68,7 +62,7 @@ public async Task BatchforceLogout([FromBody] LockUserDto dto) { if (dto == null) { return ToResponse(ResultCode.PARAM_ERROR); } - await HubContext.Clients.All.SendAsync(HubsConstant.ForceUser, new { dto.Reason }); + await hubContext.Clients.All.SendAsync(HubsConstant.ForceUser, new { dto.Reason }); return SUCCESS(1); } diff --git a/ZR.Admin.WebApi/Controllers/System/monitor/UserOnlineLogController.cs b/ZR.Admin.WebApi/Controllers/System/monitor/UserOnlineLogController.cs index e5686b43..b066261e 100644 --- a/ZR.Admin.WebApi/Controllers/System/monitor/UserOnlineLogController.cs +++ b/ZR.Admin.WebApi/Controllers/System/monitor/UserOnlineLogController.cs @@ -9,20 +9,14 @@ namespace ZR.Admin.WebApi.Controllers /// /// 用户在线时长 /// + /// + /// 用户在线时长接口 + /// [Verify] [ApiExplorerSettings(GroupName = "sys")] [Route("monitor/UserOnlineLog")] - public class UserOnlineLogController : BaseController + public class UserOnlineLogController(IUserOnlineLogService UserOnlineLogService) : BaseController { - /// - /// 用户在线时长接口 - /// - private readonly IUserOnlineLogService _UserOnlineLogService; - - public UserOnlineLogController(IUserOnlineLogService UserOnlineLogService) - { - _UserOnlineLogService = UserOnlineLogService; - } /// /// 查询用户在线时长列表 @@ -33,7 +27,7 @@ public UserOnlineLogController(IUserOnlineLogService UserOnlineLogService) //[ActionPermissionFilter(Permission = "useronlinelog:list")] public IActionResult QueryUserOnlineLog([FromQuery] UserOnlineLogQueryDto parm) { - var response = _UserOnlineLogService.GetList(parm); + var response = UserOnlineLogService.GetList(parm); return SUCCESS(response); } @@ -48,7 +42,7 @@ public IActionResult DeleteUserOnlineLog([FromRoute]string ids) { var idArr = Tools.SplitAndConvert(ids); - return ToResponse(_UserOnlineLogService.Delete(idArr)); + return ToResponse(UserOnlineLogService.Delete(idArr)); } /// @@ -62,7 +56,7 @@ public IActionResult Export([FromQuery] UserOnlineLogQueryDto parm) { parm.PageNum = 1; parm.PageSize = 100000; - var list = _UserOnlineLogService.ExportList(parm).Result; + var list = UserOnlineLogService.ExportList(parm).Result; if (list == null || list.Count <= 0) { return ToResponse(ResultCode.FAIL, "没有要导出的数据"); diff --git a/ZR.Admin.WebApi/Dockerfile b/ZR.Admin.WebApi/Dockerfile index e62587c5..c39974a8 100644 --- a/ZR.Admin.WebApi/Dockerfile +++ b/ZR.Admin.WebApi/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build #创建 /app文件夹 WORKDIR /app #创建挂载目录,用于将程序部署在服务器本地 diff --git a/ZR.Admin.WebApi/Extensions/SwaggerExtension.cs b/ZR.Admin.WebApi/Extensions/SwaggerExtension.cs index ce97d989..1640ade0 100644 --- a/ZR.Admin.WebApi/Extensions/SwaggerExtension.cs +++ b/ZR.Admin.WebApi/Extensions/SwaggerExtension.cs @@ -24,13 +24,12 @@ public static void UseSwagger(this IApplicationBuilder app) if (referer.Contains(GlobalConstant.DevApiProxy)) url = referer[..(referer.IndexOf(GlobalConstant.DevApiProxy, StringComparison.InvariantCulture) + GlobalConstant.DevApiProxy.Length - 1)]; swaggerDoc.Servers = - new List - { + [ new OpenApiServer { Url = url } - }; + ]; }); }); app.UseSwaggerUI(c => diff --git a/ZR.Admin.WebApi/Extensions/TasksExtension.cs b/ZR.Admin.WebApi/Extensions/TasksExtension.cs index 40f44a65..177b927f 100644 --- a/ZR.Admin.WebApi/Extensions/TasksExtension.cs +++ b/ZR.Admin.WebApi/Extensions/TasksExtension.cs @@ -18,7 +18,7 @@ public static class TasksExtension /// public static void AddTaskSchedulers(this IServiceCollection services) { - if (services == null) throw new ArgumentNullException(nameof(services)); + ArgumentNullException.ThrowIfNull(services); //添加Quartz服务 services.AddSingleton(); diff --git a/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj index 1b2d08ee..e8bebd63 100644 --- a/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj +++ b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj @@ -15,12 +15,15 @@ - - - - + + + + + + + - + diff --git a/ZR.CodeGenerator/ZR.CodeGenerator.csproj b/ZR.CodeGenerator/ZR.CodeGenerator.csproj index 51851f14..34c18cc9 100644 --- a/ZR.CodeGenerator/ZR.CodeGenerator.csproj +++ b/ZR.CodeGenerator/ZR.CodeGenerator.csproj @@ -11,7 +11,9 @@ + - + + diff --git a/ZR.Common/DynamicApiSimple/JsonModelBinderProvider.cs b/ZR.Common/DynamicApiSimple/JsonModelBinderProvider.cs index 1beb6c74..5a0d981f 100644 --- a/ZR.Common/DynamicApiSimple/JsonModelBinderProvider.cs +++ b/ZR.Common/DynamicApiSimple/JsonModelBinderProvider.cs @@ -15,10 +15,10 @@ public IModelBinder GetBinder(ModelBinderProviderContext context) if (context.Metadata is { IsComplexType: true, IsCollectionType: false }) { - var fallbackBinder = new ComplexTypeModelBinderProvider().GetBinder(context); + var fallbackBinder = new ComplexObjectModelBinderProvider().GetBinder(context); return new JsonModelBinder(fallbackBinder); } return null; } -} \ No newline at end of file +} diff --git a/ZR.Common/ZR.Common.csproj b/ZR.Common/ZR.Common.csproj index 72aa0101..3ae983b5 100644 --- a/ZR.Common/ZR.Common.csproj +++ b/ZR.Common/ZR.Common.csproj @@ -5,9 +5,12 @@ - - - + + + + + + diff --git a/ZR.Model/ZR.Model.csproj b/ZR.Model/ZR.Model.csproj index 8ca1b579..c48fa6b2 100644 --- a/ZR.Model/ZR.Model.csproj +++ b/ZR.Model/ZR.Model.csproj @@ -7,9 +7,9 @@ - + - + diff --git a/ZR.Repository/ZR.Repository.csproj b/ZR.Repository/ZR.Repository.csproj index 0f9eb2bc..a9c18d66 100644 --- a/ZR.Repository/ZR.Repository.csproj +++ b/ZR.Repository/ZR.Repository.csproj @@ -10,9 +10,11 @@ + - + + - + diff --git a/ZR.Service/ZR.Service.csproj b/ZR.Service/ZR.Service.csproj index 35209bc0..a36deda0 100644 --- a/ZR.Service/ZR.Service.csproj +++ b/ZR.Service/ZR.Service.csproj @@ -8,6 +8,11 @@ 1591 + + + + + diff --git a/ZR.ServiceCore/Filters/VerifyAttribute.cs b/ZR.ServiceCore/Filters/VerifyAttribute.cs index dfc69d4e..24c1a18e 100644 --- a/ZR.ServiceCore/Filters/VerifyAttribute.cs +++ b/ZR.ServiceCore/Filters/VerifyAttribute.cs @@ -1,6 +1,7 @@ using Infrastructure; using Infrastructure.Model; using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Controllers; using Microsoft.AspNetCore.Mvc.Filters; @@ -55,10 +56,10 @@ public void OnAuthorization(AuthorizationFilterContext context) //移动端不加下面这个获取不到自定义Header if (osType != null) { - context.HttpContext.Response.Headers.Add("Access-Control-Expose-Headers", "X-Refresh-Token"); + context.HttpContext.Response.Headers.Append("Access-Control-Expose-Headers", "X-Refresh-Token"); } logger.Info($"刷新token,userName={loginUser.UserName},token={newToken}"); - context.HttpContext.Response.Headers.Add("X-Refresh-Token", newToken); + context.HttpContext.Response.Headers.Append("X-Refresh-Token", newToken); } } if (loginUser == null || !isAuthed) diff --git a/ZR.ServiceCore/Middleware/GlobalExceptionMiddleware.cs b/ZR.ServiceCore/Middleware/GlobalExceptionMiddleware.cs index 3660ae4a..e92e9f53 100644 --- a/ZR.ServiceCore/Middleware/GlobalExceptionMiddleware.cs +++ b/ZR.ServiceCore/Middleware/GlobalExceptionMiddleware.cs @@ -17,19 +17,12 @@ namespace ZR.ServiceCore.Middleware /// 全局异常处理中间件 /// 调用 app.UseMiddlewareGlobalExceptionMiddleware>(); /// - public class GlobalExceptionMiddleware + public class GlobalExceptionMiddleware(RequestDelegate next, ISysOperLogService sysOperLog) { - private readonly RequestDelegate next; - private readonly ISysOperLogService SysOperLogService; + private readonly ISysOperLogService SysOperLogService = sysOperLog; static readonly Logger Logger = LogManager.GetCurrentClassLogger(); - public GlobalExceptionMiddleware(RequestDelegate next, ISysOperLogService sysOperLog) - { - this.next = next; - this.SysOperLogService = sysOperLog; - } - public async Task Invoke(HttpContext context) { try diff --git a/ZR.ServiceCore/Services/SysFileService.cs b/ZR.ServiceCore/Services/SysFileService.cs index 4be6d13a..26248d06 100644 --- a/ZR.ServiceCore/Services/SysFileService.cs +++ b/ZR.ServiceCore/Services/SysFileService.cs @@ -16,16 +16,10 @@ namespace ZR.ServiceCore.Services /// 文件管理 /// [AppService(ServiceType = typeof(ISysFileService), ServiceLifetime = LifeTime.Transient)] - public class SysFileService : BaseService, ISysFileService + public class SysFileService( IOptions options) : BaseService, ISysFileService { private string domainUrl = AppSettings.GetConfig("ALIYUN_OSS:domainUrl"); - private readonly ISysConfigService SysConfigService; - private OptionsSetting OptionsSetting; - public SysFileService(ISysConfigService sysConfigService, IOptions options) - { - SysConfigService = sysConfigService; - OptionsSetting = options.Value; - } + private OptionsSetting OptionsSetting = options.Value; /// /// 存储本地 diff --git a/ZR.ServiceCore/Services/SysLoginService.cs b/ZR.ServiceCore/Services/SysLoginService.cs index 0357426c..a7936aaa 100644 --- a/ZR.ServiceCore/Services/SysLoginService.cs +++ b/ZR.ServiceCore/Services/SysLoginService.cs @@ -15,16 +15,8 @@ namespace ZR.ServiceCore.Services /// 登录 /// [AppService(ServiceType = typeof(ISysLoginService), ServiceLifetime = LifeTime.Transient)] - public class SysLoginService : BaseService, ISysLoginService + public class SysLoginService(ISysUserService sysUserService, IHttpContextAccessor httpContextAccessor) : BaseService, ISysLoginService { - private readonly ISysUserService SysUserService; - private readonly IHttpContextAccessor httpContextAccessor; - - public SysLoginService(ISysUserService sysUserService, IHttpContextAccessor httpContextAccessor) - { - SysUserService = sysUserService; - this.httpContextAccessor = httpContextAccessor; - } /// /// 登录验证 @@ -38,7 +30,7 @@ public SysUser Login(LoginBodyDto loginBody, SysLogininfor logininfor) { loginBody.Password = NETCore.Encrypt.EncryptProvider.Md5(loginBody.Password); } - SysUser user = SysUserService.Login(loginBody); + SysUser user = sysUserService.Login(loginBody); logininfor.UserName = loginBody.Username; logininfor.Status = "1"; logininfor.LoginTime = DateTime.Now; @@ -66,7 +58,7 @@ public SysUser Login(LoginBodyDto loginBody, SysLogininfor logininfor) logininfor.Status = "0"; logininfor.Msg = "登录成功"; AddLoginInfo(logininfor); - SysUserService.UpdateLoginInfo(loginBody.LoginIP, user.UserId); + sysUserService.UpdateLoginInfo(loginBody.LoginIP, user.UserId); return user; } @@ -98,7 +90,7 @@ public SysUser PhoneLogin(PhoneLoginDto loginBody, SysLogininfor logininfor, Sys logininfor.Status = "0"; logininfor.Msg = "登录成功"; AddLoginInfo(logininfor); - SysUserService.UpdateLoginInfo(loginBody.LoginIP, user.UserId); + sysUserService.UpdateLoginInfo(loginBody.LoginIP, user.UserId); return user; } diff --git a/ZR.ServiceCore/Services/SysMenuService.cs b/ZR.ServiceCore/Services/SysMenuService.cs index b6a40bdb..919c9854 100644 --- a/ZR.ServiceCore/Services/SysMenuService.cs +++ b/ZR.ServiceCore/Services/SysMenuService.cs @@ -13,14 +13,9 @@ namespace ZR.ServiceCore.Services /// 菜单 /// [AppService(ServiceType = typeof(ISysMenuService), ServiceLifetime = LifeTime.Transient)] - public class SysMenuService : BaseService, ISysMenuService + public class SysMenuService(ISysRoleService SysRoleService) : BaseService, ISysMenuService { - public ISysRoleService SysRoleService; - - public SysMenuService(ISysRoleService sysRoleService) - { - SysRoleService = sysRoleService; - } + /// /// 获取所有菜单数(菜单管理) diff --git a/ZR.ServiceCore/Services/SysUserService.cs b/ZR.ServiceCore/Services/SysUserService.cs index ce7df3c5..427a3b04 100644 --- a/ZR.ServiceCore/Services/SysUserService.cs +++ b/ZR.ServiceCore/Services/SysUserService.cs @@ -14,24 +14,12 @@ namespace ZR.ServiceCore.Services /// 系统用户 /// [AppService(ServiceType = typeof(ISysUserService), ServiceLifetime = LifeTime.Transient)] - public class SysUserService : BaseService, ISysUserService + public class SysUserService( + ISysRoleService sysRoleService, + ISysUserRoleService userRoleService, + ISysUserPostService userPostService, + ISysUserMsgService userMsgService) : BaseService, ISysUserService { - private readonly ISysRoleService RoleService; - private readonly ISysUserRoleService UserRoleService; - private readonly ISysUserPostService UserPostService; - private readonly ISysUserMsgService UserMsgService; - - public SysUserService( - ISysRoleService sysRoleService, - ISysUserRoleService userRoleService, - ISysUserPostService userPostService, - ISysUserMsgService userMsgService) - { - RoleService = sysRoleService; - UserRoleService = userRoleService; - UserPostService = userPostService; - UserMsgService = userMsgService; - } /// /// 根据条件分页查询用户列表 @@ -77,7 +65,7 @@ public SysUser SelectUserById(long userId) .Where(f => f.UserId == userId && f.DelFlag == 0).First(); if (user != null && user.UserId > 0) { - user.Roles = RoleService.SelectUserRoleListByUserId(userId); + user.Roles = sysRoleService.SelectUserRoleListByUserId(userId); user.RoleIds = user.Roles.Select(x => x.RoleId).ToArray(); } return user; @@ -132,9 +120,9 @@ public SysUser InsertUser(SysUser sysUser) { sysUser.UserId = Insertable(sysUser).ExecuteReturnIdentity(); //新增用户角色信息 - UserRoleService.InsertUserRole(sysUser); + userRoleService.InsertUserRole(sysUser); //新增用户岗位信息 - UserPostService.InsertUserPost(sysUser); + userPostService.InsertUserPost(sysUser); }); if (!result.IsSuccess) { @@ -150,7 +138,7 @@ public SysUser InsertUser(SysUser sysUser) /// public int UpdateUser(SysUser user) { - var roleIds = RoleService.SelectUserRoles(user.UserId); + var roleIds = sysRoleService.SelectUserRoles(user.UserId); var diffArr = roleIds.Where(c => !((IList)user.RoleIds).Contains(c)).ToArray(); var diffArr2 = user.RoleIds.Where(c => !((IList)roleIds).Contains(c)).ToArray(); var result = UseTran(() => @@ -158,16 +146,16 @@ public int UpdateUser(SysUser user) if (diffArr.Length > 0 || diffArr2.Length > 0) { //删除用户与角色关联 - UserRoleService.DeleteUserRoleByUserId((int)user.UserId); + userRoleService.DeleteUserRoleByUserId((int)user.UserId); //新增用户与角色关联 - UserRoleService.InsertUserRole(user); + userRoleService.InsertUserRole(user); } // 删除用户与岗位关联 - UserPostService.Delete(user.UserId); + userPostService.Delete(user.UserId); // 新增用户与岗位管理 - UserPostService.InsertUserPost(user); + userPostService.InsertUserPost(user); ChangeUser(user); - UserMsgService.AddSysUserMsg(user.UserId, "你的资料已被修改", UserMsgType.SYSTEM); + userMsgService.AddSysUserMsg(user.UserId, "你的资料已被修改", UserMsgType.SYSTEM); }); return result.IsSuccess ? 1 : 0; } @@ -223,9 +211,9 @@ public int DeleteUser(long userid) var result = UseTran(() => { //删除用户与角色关联 - UserRoleService.DeleteUserRoleByUserId((int)userid); + userRoleService.DeleteUserRoleByUserId((int)userid); // 删除用户与岗位关联 - UserPostService.Delete(userid); + userPostService.Delete(userid); Update(new SysUser() { UserId = userid, DelFlag = 2 }, it => new { it.DelFlag }, f => f.UserId == userid); }); return result.IsSuccess ? 1 : 0; diff --git a/ZR.ServiceCore/Signalr/MessageHub.cs b/ZR.ServiceCore/Signalr/MessageHub.cs index edd8e214..599dfb33 100644 --- a/ZR.ServiceCore/Signalr/MessageHub.cs +++ b/ZR.ServiceCore/Signalr/MessageHub.cs @@ -18,8 +18,8 @@ namespace ZR.ServiceCore.Signalr public class MessageHub : Hub { //创建用户集合,用于存储所有链接的用户数据 - public static readonly List onlineClients = new(); - public static List users = new(); + public static readonly List onlineClients = []; + public static List users = []; //private readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); private readonly ISysNoticeService SysNoticeService; private readonly ISysUserService UserService; diff --git a/ZR.ServiceCore/ZR.ServiceCore.csproj b/ZR.ServiceCore/ZR.ServiceCore.csproj index bb03e3c6..2bb3c887 100644 --- a/ZR.ServiceCore/ZR.ServiceCore.csproj +++ b/ZR.ServiceCore/ZR.ServiceCore.csproj @@ -13,8 +13,11 @@ + + + - + diff --git a/ZR.Tasks/JobFactory.cs b/ZR.Tasks/JobFactory.cs index 1317ee3c..7ad3f3f6 100644 --- a/ZR.Tasks/JobFactory.cs +++ b/ZR.Tasks/JobFactory.cs @@ -5,18 +5,13 @@ namespace ZR.Tasks { - public class JobFactory : IJobFactory + /// + /// 注入反射获取依赖对象 + /// + public class JobFactory(IServiceProvider serviceProvider) : IJobFactory { private readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); - /// - /// 注入反射获取依赖对象 - /// - private readonly IServiceProvider _serviceProvider; - public JobFactory(IServiceProvider serviceProvider) - { - _serviceProvider = serviceProvider; - } /// /// 实现接口Job /// @@ -27,7 +22,7 @@ public IJob NewJob(TriggerFiredBundle bundle, IScheduler scheduler) { try { - var serviceScope = _serviceProvider.CreateScope(); + var serviceScope = serviceProvider.CreateScope(); var job = serviceScope.ServiceProvider.GetService(bundle.JobDetail.JobType) as IJob; return job; diff --git a/ZR.Tasks/TaskScheduler/Job_SqlExecute.cs b/ZR.Tasks/TaskScheduler/Job_SqlExecute.cs index 499a0d4f..31099a2e 100644 --- a/ZR.Tasks/TaskScheduler/Job_SqlExecute.cs +++ b/ZR.Tasks/TaskScheduler/Job_SqlExecute.cs @@ -11,15 +11,10 @@ namespace ZR.Tasks.TaskScheduler { [AppService(ServiceType = typeof(Job_SqlExecute), ServiceLifetime = LifeTime.Scoped)] - public class Job_SqlExecute : JobBase, IJob + public class Job_SqlExecute(ISysTasksQzService tasksQzService) : JobBase, IJob { - private readonly ISysTasksQzService tasksQzService; private readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); - public Job_SqlExecute(ISysTasksQzService tasksQzService) - { - this.tasksQzService = tasksQzService; - } public async Task Execute(IJobExecutionContext context) { await ExecuteJob(context, async () => await Run(context)); diff --git a/ZR.Tasks/ZR.Tasks.csproj b/ZR.Tasks/ZR.Tasks.csproj index 83b420dc..13b41e43 100644 --- a/ZR.Tasks/ZR.Tasks.csproj +++ b/ZR.Tasks/ZR.Tasks.csproj @@ -5,9 +5,12 @@ - - - + + + + + +