diff --git a/ZR.Admin.WebApi/Controllers/System/SysConfigController.cs b/ZR.Admin.WebApi/Controllers/System/SysConfigController.cs index a29eccd..55425f6 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysConfigController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysConfigController.cs @@ -1,23 +1,169 @@ -using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; -using System.Linq; using System.Threading.Tasks; +using SqlSugar; +using Infrastructure; +using Infrastructure.Attribute; +using Infrastructure.Enums; +using Infrastructure.Model; +using Mapster; +using ZR.Model.Dto; +using ZR.Model.Models; +using ZR.Service.Business; +using ZR.Admin.WebApi.Extensions; using ZR.Admin.WebApi.Filters; +using ZR.Common; +using ZR.Service.System; +using ZR.Model.System; +using Infrastructure.Extensions; -namespace ZR.Admin.WebApi.Controllers.System +namespace ZR.Admin.WebApi.Controllers { /// - /// 配置文件 + /// 参数配置Controller + /// + /// @author zhaorui + /// @date 2021-09-29 /// [Verify] [Route("system/config")] public class SysConfigController : BaseController { - [HttpGet("list")] - public IActionResult Index() + /// + /// 参数配置接口 + /// + private readonly ISysConfigService _SysConfigService; + + public SysConfigController(ISysConfigService SysConfigService) { - return SUCCESS(1); + _SysConfigService = SysConfigService; + } + + /// + /// 查询参数配置列表 + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "system:config:list")] + public IActionResult QuerySysConfig([FromQuery] SysConfigQueryDto parm) + { + //开始拼装查询条件 + var predicate = Expressionable.Create(); + + //TODO 搜索条件 + predicate = predicate.AndIF(!parm.ConfigType.IsEmpty(),m => m.ConfigType == parm.ConfigType); + predicate = predicate.AndIF(!parm.ConfigName.IsEmpty(),m => m.ConfigName.Contains(parm.ConfigType)); + predicate = predicate.AndIF(!parm.ConfigKey.IsEmpty(),m => m.ConfigKey.Contains(parm.ConfigKey)); + 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); + + return SUCCESS(response); + } + + /// + /// 查询参数配置详情 + /// + /// + /// + [HttpGet("{ConfigId}")] + [ActionPermissionFilter(Permission = "system:config:query")] + public IActionResult GetSysConfig(int ConfigId) + { + var response = _SysConfigService.GetId(ConfigId); + + return SUCCESS(response); + } + + /// + /// 根据参数键名查询参数值 + /// + /// + /// + [HttpGet("configKey/{configKey}")] + public IActionResult GetConfigKey(string configKey) + { + //TODO 增加缓存 + var response = _SysConfigService.Queryable().First(f=> f.ConfigKey == configKey); + + return SUCCESS(response?.ConfigValue); + } + + /// + /// 添加参数配置 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "system:config:add")] + [Log(Title = "参数配置添加", BusinessType = BusinessType.INSERT)] + public IActionResult AddSysConfig([FromBody] SysConfigDto parm) + { + if (parm == null) + { + throw new CustomException("请求参数错误"); + } + //从 Dto 映射到 实体 + var model = parm.Adapt().ToCreate(); + + return SUCCESS(_SysConfigService.Add(model, it => new + { + it.ConfigName, + it.ConfigKey, + it.ConfigValue, + it.ConfigType, + it.Create_by, + it.Create_time, + it.Remark, + })); + } + + /// + /// 更新参数配置 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "system:config:update")] + [Log(Title = "参数配置修改", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateSysConfig([FromBody] SysConfigDto parm) + { + if (parm == null) + { + throw new CustomException("请求实体不能为空"); + } + //从 Dto 映射到 实体 + var model = parm.Adapt().ToUpdate(HttpContext); + + var response = _SysConfigService.Update(w => w.ConfigId == model.ConfigId, it => new SysConfig() + { + //Update 字段映射 + ConfigName = model.ConfigName, + ConfigKey = model.ConfigKey, + ConfigValue = model.ConfigValue, + ConfigType = model.ConfigType, + Update_by = model.Update_by, + Update_time = model.Update_time, + }); + + return SUCCESS(response); + } + + /// + /// 删除参数配置 + /// + /// + [HttpDelete("{ids}")] + [ActionPermissionFilter(Permission = "system:config:remove")] + [Log(Title = "参数配置删除", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteSysConfig(string ids) + { + int[] idsArr = Tools.SpitIntArrary(ids); + if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } + + var response = _SysConfigService.Delete(idsArr); + + return SUCCESS(response); } } -} +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs b/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs index 2ef8337..c846d5a 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs @@ -79,9 +79,7 @@ namespace ZR.Admin.WebApi.Controllers.System throw new CustomException(ResultCode.PARAM_ERROR, "请求参数错误"); } //从 Dto 映射到 实体 - var user = userDto.Adapt(); - user.Update_by = User.Identity.Name; - user.Update_time = DateTime.Now; + var user = userDto.Adapt().ToUpdate(HttpContext); int result = UserService.ChangeUser(user); return ToResponse(result); diff --git a/ZR.Admin.WebApi/Extensions/EntityExtension.cs b/ZR.Admin.WebApi/Extensions/EntityExtension.cs index 879a258..1ec762a 100644 --- a/ZR.Admin.WebApi/Extensions/EntityExtension.cs +++ b/ZR.Admin.WebApi/Extensions/EntityExtension.cs @@ -57,9 +57,9 @@ namespace ZR.Admin.WebApi.Extensions { types.GetProperty("UpdateTime").SetValue(source, DateTime.Now, null); } - if (types.GetProperty("Update_Time") != null) + if (types.GetProperty("Update_time") != null) { - types.GetProperty("Update_Time").SetValue(source, DateTime.Now, null); + types.GetProperty("Update_time").SetValue(source, DateTime.Now, null); } //if (types.GetProperty("UpdateID") != null) //{ diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/ControllersTemplate.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/ControllersTemplate.txt index 3a5d41c..e4ac42d 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/ControllersTemplate.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/ControllersTemplate.txt @@ -14,6 +14,7 @@ using {ServicesNamespace}.Business; using {ApiControllerNamespace}.Extensions; using {ApiControllerNamespace}.Filters; using ZR.Common; +using Infrastructure.Extensions; namespace {ApiControllerNamespace}.Controllers { @@ -76,7 +77,7 @@ namespace {ApiControllerNamespace}.Controllers /// [HttpPost] [ActionPermissionFilter(Permission = "{Permission}:add")] - [Log(Title = "{TableDesc}添加", BusinessType = BusinessType.INSERT)] + [Log(Title = "{FunctionName}添加", BusinessType = BusinessType.INSERT)] public IActionResult Add{ModelName}([FromBody] {ModelName}Dto parm) { if (parm == null) @@ -84,7 +85,7 @@ namespace {ApiControllerNamespace}.Controllers throw new CustomException("请求参数错误"); } //从 Dto 映射到 实体 - var model = parm.Adapt<{ModelName}>().ToCreate(); + var model = parm.Adapt<{ModelName}>().ToCreate(HttpContext); return SUCCESS(_{ModelName}Service.Add(model, it => new { @@ -98,7 +99,7 @@ namespace {ApiControllerNamespace}.Controllers /// [HttpPut] [ActionPermissionFilter(Permission = "{Permission}:update")] - [Log(Title = "{TableDesc}修改", BusinessType = BusinessType.UPDATE)] + [Log(Title = "{FunctionName}修改", BusinessType = BusinessType.UPDATE)] public IActionResult Update{ModelName}([FromBody] {ModelName}Dto parm) { if (parm == null) @@ -106,7 +107,7 @@ namespace {ApiControllerNamespace}.Controllers throw new CustomException("请求实体不能为空"); } //从 Dto 映射到 实体 - var model = parm.Adapt<{ModelName}>().ToUpdate(); + var model = parm.Adapt<{ModelName}>().ToUpdate(HttpContext); var response = _{ModelName}Service.Update(w => w.{PrimaryKey} == model.{PrimaryKey}, it => new {ModelName}() { @@ -123,7 +124,7 @@ namespace {ApiControllerNamespace}.Controllers /// [HttpDelete("{ids}")] [ActionPermissionFilter(Permission = "{Permission}:delete")] - [Log(Title = "{TableDesc}删除", BusinessType = BusinessType.DELETE)] + [Log(Title = "{FunctionName}删除", BusinessType = BusinessType.DELETE)] public IActionResult Delete{ModelName}(string ids) { int[] idsArr = Tools.SpitIntArrary(ids); diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/ServiceTemplate.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/ServiceTemplate.txt index 1892b2f..fe7121a 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/ServiceTemplate.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/ServiceTemplate.txt @@ -1,12 +1,5 @@ using Infrastructure; using Infrastructure.Attribute; -using Infrastructure.Extensions; -using SqlSugar; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using ZR.Common; using {ModelsNamespace}.Models; using {IRepositoriesNamespace}; diff --git a/ZR.CodeGenerator/Service/CodeGeneraterService.cs b/ZR.CodeGenerator/Service/CodeGeneraterService.cs index 1e5612d..b0fcbe7 100644 --- a/ZR.CodeGenerator/Service/CodeGeneraterService.cs +++ b/ZR.CodeGenerator/Service/CodeGeneraterService.cs @@ -33,7 +33,7 @@ namespace ZR.CodeGenerator.Service { tableList = tableList.Where(f => f.Name.ToLower().Contains(tableName.ToLower())).ToList(); } - tableList = tableList.Where(f => !new string[] { "gen", "sys_" }.Contains(f.Name)).ToList(); + //tableList = tableList.Where(f => !new string[] { "gen", "sys_" }.Contains(f.Name)).ToList(); pager.TotalNum = tableList.Count; return tableList.Skip(pager.PageSize * (pager.PageNum - 1)).Take(pager.PageSize).OrderBy(f => f.Name).ToList(); } diff --git a/ZR.Vue/src/layout/components/Settings/index.vue b/ZR.Vue/src/layout/components/Settings/index.vue index 90d99df..5079b8e 100644 --- a/ZR.Vue/src/layout/components/Settings/index.vue +++ b/ZR.Vue/src/layout/components/Settings/index.vue @@ -1,13 +1,38 @@ + diff --git a/ZR.Vue/src/layout/index.vue b/ZR.Vue/src/layout/index.vue index 889b7dc..97c78ef 100644 --- a/ZR.Vue/src/layout/index.vue +++ b/ZR.Vue/src/layout/index.vue @@ -1,5 +1,5 @@