diff --git a/langguanApi.xml b/langguanApi.xml index 1c9b804..3728563 100644 --- a/langguanApi.xml +++ b/langguanApi.xml @@ -78,6 +78,20 @@ + + + 加密 + + 需要加密的字符串 + 加密后的字符串 + + + + 解密 + + 需要解密的字符串 + 解密后的字符串 + @@ -197,7 +211,7 @@ - + 删除菜单 @@ -327,14 +341,41 @@ - - + + + 新增用户 + + + + + + + 获取用户列表 + + + + + + + 根据用户Id获取用户信息 + + + + + 修改用户信息 + + + 删除用户 + + + + 注入生命周期 @@ -712,6 +753,101 @@ 原始数据 是否通过 + + + 用于用户管理的Dto + + + + + 用户ID + + + + + 用户名 + + + + + 角色id + + + + + 邮箱 + + + + + 手机号 + + + + + 是否删除 0否 1是 + + + + + 密码 md5加密 + + + + + 根据用户条件查询 + + + + + 关键字查询,可根据userName,Tel,Email + + + + + 当前条数 + + + + + 当前页数 + + + + + 用户列表展示 + + + + + 用户ID,方便查看详情操作 + + + + + 用户名 + + + + + 邮箱 + + + + + 角色id + + + + + 角色名称 + + + + + 联系方式 + + 用户名 @@ -819,7 +955,7 @@ - 父菜单ID,一级菜单为null + 父菜单ID,一级菜单为"0" @@ -922,7 +1058,7 @@ 密码 md5加密 - + 角色id @@ -1792,6 +1928,20 @@ + + + 新增菜单 + + 菜单实体 + + + + + 更改菜单 + + 菜单实体类 + + 获取菜单树 @@ -1805,6 +1955,13 @@ + + + 作废菜单 (废弃,不做处理) + + 当前菜单id + + OrganizedService @@ -1902,6 +2059,11 @@ + + + 角色服务 + + 新增角色 @@ -1937,6 +2099,20 @@ + + + 根据id获取角色信息 + + + + + + + 根据Id,获取多个校色信息 + + + + TransportService 运输服务 @@ -2000,11 +2176,40 @@ - - 更新用户信息 + + + 用户是否存在 + + + + + + + 新增用户 + + 新增用户dto + + + + + 获取用户列表 + + + + + + + 根据用户Id获取用户信息 + + + - 删除用户 + + 作废用户的方法 + + + diff --git a/langguanApi/Controllers/MenuController.cs b/langguanApi/Controllers/MenuController.cs index aadd124..5a25646 100644 --- a/langguanApi/Controllers/MenuController.cs +++ b/langguanApi/Controllers/MenuController.cs @@ -56,13 +56,13 @@ namespace langguanApi.Controllers /// /// 删除菜单 /// - /// + /// /// - [HttpDelete("DeleteMenu")] - public async Task DeleteMenu(string id) + [HttpDelete("remove")] + public async Task DeleteMenu(IEnumerable ids) { - var result = await _menuService.DeleteMenu(id); - return Ok(result); + await _menuService.BatchRemoveAsync(ids); + return Ok(new ApiResult()); } } } diff --git a/langguanApi/Middleware/CustomerExceptionFilter.cs b/langguanApi/Middleware/CustomerExceptionFilter.cs index 58a073e..4da94ac 100644 --- a/langguanApi/Middleware/CustomerExceptionFilter.cs +++ b/langguanApi/Middleware/CustomerExceptionFilter.cs @@ -26,11 +26,12 @@ namespace langguanApi.Middleware { if (context.ExceptionHandled == false) { - var json = new { cdoe = -1, msg = context.Exception.Message, data = context.Exception.Data }; + var json = new { code = -1, msg = context.Exception.Message, data = context.Exception.Data }; context.HttpContext.Response.StatusCode = 400; context.Result = new JsonResult(json); } - _logger.LogError($"请求出现异常,地址:{context.HttpContext?.Request?.Path},请求方式:{context.HttpContext.Request.Method},异常信息:{context.Exception.Message}"); + _logger.LogError($"请求出现异常,地址:{context.HttpContext?.Request?.Path}," + + $"请求方式:{context.HttpContext.Request.Method},异常信息:{context.Exception.Message}"); //记录异常已经处理 context.ExceptionHandled = true; return Task.CompletedTask; diff --git a/langguanApi/Model/Entity/Menu.cs b/langguanApi/Model/Entity/Menu.cs index 8a8ad83..a90e95f 100644 --- a/langguanApi/Model/Entity/Menu.cs +++ b/langguanApi/Model/Entity/Menu.cs @@ -1,4 +1,6 @@ -namespace langguanApi.Model.Entity +using System.ComponentModel.DataAnnotations; + +namespace langguanApi.Model.Entity { /// /// 菜单实体类 @@ -18,7 +20,7 @@ /// public int Sort { get; set; } /// - /// 父菜单ID,一级菜单为null + /// 父菜单ID,一级菜单为"0" /// public string ParentId { get; set; } } @@ -43,6 +45,7 @@ } public class UpdateMenuDto : AddMenuDto { + [Required] public string Id { get; set; } } public class MenuTreeDto diff --git a/langguanApi/Service/MenuService.cs b/langguanApi/Service/MenuService.cs index 26b04f1..611a8de 100644 --- a/langguanApi/Service/MenuService.cs +++ b/langguanApi/Service/MenuService.cs @@ -28,25 +28,8 @@ namespace langguanApi.Service /// public async Task AddMenu(AddMenuDto menu) { - try - { - var entity = menu.Adapt(); - await base.CreateAsync(entity); - } - catch (Exception ex) - { - - _logger.LogError($"新增菜单出现异常,请求参数:{Newtonsoft.Json.JsonConvert.SerializeObject(menu)}," + - $"请求接口:'api/Menu/AddMenu'," + - $"异常信息:{ex.Message}," + - $"异常位置:{ex.StackTrace}" - ); - return new ApiResult { code = 1, msg = "保存菜单失败", data = false }; - } - finally - { - _logger.LogInformation($"新增菜单参数:menu:{Newtonsoft.Json.JsonConvert.SerializeObject(menu)}"); - } + var entity = menu.Adapt(); + await base.CreateAsync(entity); return new ApiResult { code = 0, msg = "保存菜单信息成功", data = true }; } /// @@ -56,29 +39,8 @@ namespace langguanApi.Service /// public async Task UpdateMenu(UpdateMenuDto menu) { - try - { - if (string.IsNullOrEmpty(menu.Id)) - { - return new ApiResult() { code = 0, data = false, msg = "更新菜单失败,Id不能为空" }; - } - var entity = menu.Adapt(); - await base.UpdateAsync(entity.Id, entity); - } - catch (Exception ex) - { - - _logger.LogError($"修改菜单出现异常,请求参数:{Newtonsoft.Json.JsonConvert.SerializeObject(menu)}," + - $"请求接口:'api/Menu/UpdateMenu'," + - $"异常信息:{ex.Message}," + - $"异常位置:{ex.StackTrace}" - ); - return new ApiResult { code = 1, msg = "保存菜单失败", data = false }; - } - finally - { - _logger.LogInformation($"修改菜单参数:menu:{Newtonsoft.Json.JsonConvert.SerializeObject(menu)}"); - } + var entity = menu.Adapt(); + await base.UpdateAsync(entity.Id, entity); return new ApiResult() { code = 0, data = true, msg = "更新菜单成功" }; } /// @@ -87,13 +49,8 @@ namespace langguanApi.Service /// public async Task GetMenuTree() { - //Expression> exp = filter => filter.IsDelete == false; - //if (!string.IsNullOrEmpty(input.key)) - //{ - // exp = exp.And(filter => filter.Name.Contains(input.key)); - //} List dto = new List(); - var MenuList = await GetChildList(null); + var MenuList = await GetChildList("0"); foreach (var item in MenuList) { dto.Add(new MenuTreeDto() @@ -115,14 +72,11 @@ namespace langguanApi.Service /// public async Task> GetChildList(string parentId) { - Expression> exp = filter => filter.IsDelete == false && filter.ParentId == parentId; - Expression> expDataSource = filter => filter.IsDelete; + Expression> exp = filter => filter.IsDelete == false&& filter.ParentId == parentId; var list = (await GetListWithExp(exp)) .OrderBy(x => x.Sort) .ToList().Adapt>(); - var DataSourceList = (await GetAsync()) - .OrderBy(x => x.Sort) - .ToList();//拿到所有数据源,筛选结果 + var DataSourceList = (await GetAsync()).ToList();//拿到所有数据源,筛选结果 foreach (var item in list) { item.Children = await GetChildList(item.Id); @@ -133,7 +87,7 @@ namespace langguanApi.Service } /// - /// 作废菜单 + /// 作废菜单 (废弃,不做处理) /// /// 当前菜单id ///