Commit 83f6f597 by wyc

菜单管理

parent 3dfbcb9b
using System; using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using Microsoft.AspNetCore.Mvc;
using Performance.DtoModels; using Performance.DtoModels;
using Performance.DtoModels.Request;
using Performance.Services; using Performance.Services;
using System;
using System.Collections.Generic;
namespace Performance.Api.Controllers namespace Performance.Api.Controllers
{ {
...@@ -35,9 +36,11 @@ public ApiResponse<List<MenuResponse>> MenuList() ...@@ -35,9 +36,11 @@ public ApiResponse<List<MenuResponse>> MenuList()
/// <returns></returns> /// <returns></returns>
[Route("system/menu")] [Route("system/menu")]
[HttpPost] [HttpPost]
public ApiResponse GetSystemMenu() public ApiResponse<List<MenuResponse>> GetSystemMenu()
{ {
throw new NotImplementedException(); var getSystemMenu = _menuService.GetSystemMenu();
return new ApiResponse<List<MenuResponse>>(ResponseType.OK, getSystemMenu);
} }
/// <summary> /// <summary>
...@@ -46,9 +49,9 @@ public ApiResponse GetSystemMenu() ...@@ -46,9 +49,9 @@ public ApiResponse GetSystemMenu()
/// <returns></returns> /// <returns></returns>
[Route("system/menu/add")] [Route("system/menu/add")]
[HttpPost] [HttpPost]
public ApiResponse AddSystemMenu() public ApiResponse AddSystemMenu([FromBody] MenuRequest menuRequest)
{ {
throw new NotImplementedException(); return _menuService.AddSystemMenu(menuRequest);
} }
/// <summary> /// <summary>
...@@ -57,9 +60,9 @@ public ApiResponse AddSystemMenu() ...@@ -57,9 +60,9 @@ public ApiResponse AddSystemMenu()
/// <returns></returns> /// <returns></returns>
[Route("system/menu/update")] [Route("system/menu/update")]
[HttpPost] [HttpPost]
public ApiResponse UpdateSystemMenu() public ApiResponse UpdateSystemMenu([FromBody] MenuRequest menuRequest)
{ {
throw new NotImplementedException(); return _menuService.UpdateSystemMenu(menuRequest);
} }
/// <summary> /// <summary>
...@@ -68,9 +71,9 @@ public ApiResponse UpdateSystemMenu() ...@@ -68,9 +71,9 @@ public ApiResponse UpdateSystemMenu()
/// <returns></returns> /// <returns></returns>
[Route("system/menu/delete")] [Route("system/menu/delete")]
[HttpPost] [HttpPost]
public ApiResponse DeleteSystemMenu() public ApiResponse DeleteSystemMenu(int menuID)
{ {
throw new NotImplementedException(); return _menuService.DeleteSystemMenu(menuID);
} }
/// <summary> /// <summary>
...@@ -79,9 +82,9 @@ public ApiResponse DeleteSystemMenu() ...@@ -79,9 +82,9 @@ public ApiResponse DeleteSystemMenu()
/// <returns></returns> /// <returns></returns>
[Route("system/menu/setrole")] [Route("system/menu/setrole")]
[HttpPost] [HttpPost]
public ApiResponse SetRoleSystemMenu() public ApiResponse SetRoleSystemMenu(int menuID, int roleID)
{ {
throw new NotImplementedException(); return _menuService.SetRoleSystemMenu(menuID, roleID);
} }
#endregion #endregion
......
...@@ -2241,25 +2241,25 @@ ...@@ -2241,25 +2241,25 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.MenuController.AddSystemMenu"> <member name="M:Performance.Api.Controllers.MenuController.AddSystemMenu(Performance.DtoModels.Request.MenuRequest)">
<summary> <summary>
新增/新增子级 新增/新增子级
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.MenuController.UpdateSystemMenu"> <member name="M:Performance.Api.Controllers.MenuController.UpdateSystemMenu(Performance.DtoModels.Request.MenuRequest)">
<summary> <summary>
修改 修改
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.MenuController.DeleteSystemMenu"> <member name="M:Performance.Api.Controllers.MenuController.DeleteSystemMenu(System.Int32)">
<summary> <summary>
删除 删除
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.MenuController.SetRoleSystemMenu"> <member name="M:Performance.Api.Controllers.MenuController.SetRoleSystemMenu(System.Int32,System.Int32)">
<summary> <summary>
设置角色 设置角色
</summary> </summary>
......
...@@ -2304,6 +2304,36 @@ ...@@ -2304,6 +2304,36 @@
总人数 总人数
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.Request.MenuRequest.ParentID">
<summary>
父级菜单ID
</summary>
</member>
<member name="P:Performance.DtoModels.Request.MenuRequest.MenuName">
<summary>
菜单名称
</summary>
</member>
<member name="P:Performance.DtoModels.Request.MenuRequest.MenuUrl">
<summary>
菜单Url
</summary>
</member>
<member name="P:Performance.DtoModels.Request.MenuRequest.MenuIcon">
<summary>
菜单图标
</summary>
</member>
<member name="P:Performance.DtoModels.Request.MenuRequest.States">
<summary>
菜单状态 1 启用 2禁用
</summary>
</member>
<member name="P:Performance.DtoModels.Request.MenuRequest.Sort">
<summary>
排序
</summary>
</member>
<member name="P:Performance.DtoModels.Request.SmsCodeRequest.Type"> <member name="P:Performance.DtoModels.Request.SmsCodeRequest.Type">
<summary> <summary>
短信验证类型 1 手机号登录 2 其他 短信验证类型 1 手机号登录 2 其他
......
...@@ -50,6 +50,8 @@ public AutoMapperConfigs() ...@@ -50,6 +50,8 @@ public AutoMapperConfigs()
.ForMember(dest => dest.ID, opt => opt.MapFrom(src => src.MenuID)); .ForMember(dest => dest.ID, opt => opt.MapFrom(src => src.MenuID));
CreateMap<sys_menu, MenuResponse>() CreateMap<sys_menu, MenuResponse>()
.ForMember(dest => dest.MenuID, opt => opt.MapFrom(src => src.ID)); .ForMember(dest => dest.MenuID, opt => opt.MapFrom(src => src.ID));
CreateMap<MenuRequest, sys_menu>();
CreateMap<sys_menu, MenuRequest>();
// 绩效 请求 // 绩效 请求
CreateMap<AllotRequest, per_allot>(); CreateMap<AllotRequest, per_allot>();
......
namespace Performance.DtoModels.Request
{
public class MenuRequest
{
public int ID { get; set; }
/// <summary>
/// 父级菜单ID
/// </summary>
public int ParentID { get; set; }
/// <summary>
/// 菜单名称
/// </summary>
public string MenuName { get; set; }
/// <summary>
/// 菜单Url
/// </summary>
public string? MenuUrl { get; set; }
/// <summary>
/// 菜单图标
/// </summary>
public string? MenuIcon { get; set; }
/// <summary>
/// 菜单状态 1 启用 2禁用
/// </summary>
public int States { get; set; }
/// <summary>
/// 排序
/// </summary>
public int? Sort { get; set; }
}
}
using AutoMapper; using AutoMapper;
using Performance.DtoModels; using Performance.DtoModels;
using Performance.DtoModels.Request;
using Performance.EntityModels; using Performance.EntityModels;
using Performance.Repository; using Performance.Repository;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Transactions;
namespace Performance.Services namespace Performance.Services
{ {
...@@ -13,12 +15,16 @@ public class MenuService : IAutoInjection ...@@ -13,12 +15,16 @@ public class MenuService : IAutoInjection
{ {
private readonly IMapper _mapper; private readonly IMapper _mapper;
private PerforMenuRepository _menuRepository; private PerforMenuRepository _menuRepository;
private PerforRolemenuRepository _rolemenuRepository;
public MenuService( public MenuService(
IMapper mapper, IMapper mapper,
PerforMenuRepository menuRepository) PerforMenuRepository menuRepository,
PerforRolemenuRepository perforRolemenuRepository)
{ {
_mapper = mapper; _mapper = mapper;
_menuRepository = menuRepository; _menuRepository = menuRepository;
_rolemenuRepository = perforRolemenuRepository;
} }
public List<MenuResponse> GetMenuList(int userid) public List<MenuResponse> GetMenuList(int userid)
...@@ -43,5 +49,89 @@ private List<MenuResponse> RecursionFill(List<sys_menu> menuList, int parentId) ...@@ -43,5 +49,89 @@ private List<MenuResponse> RecursionFill(List<sys_menu> menuList, int parentId)
} }
return null; return null;
} }
public List<MenuResponse> GetSystemMenu()
{
var sysMenus = _menuRepository.GetEntities();
return RecursionFill(sysMenus, 0);
}
public ApiResponse AddSystemMenu(MenuRequest menuRequest)
{
try
{
if (menuRequest == null)
throw new PerformanceException("请填写数据");
var data = _mapper.Map<sys_menu>(menuRequest);
_menuRepository.Add(data);
return new ApiResponse(ResponseType.OK);
}
catch (Exception ex)
{
return new ApiResponse(ResponseType.Fail, "添加失败");
}
}
public ApiResponse UpdateSystemMenu(MenuRequest menuRequest)
{
try
{
var data = _menuRepository.GetEntity(w => w.ID == menuRequest.ID);
if (data == null)
throw new PerformanceException("未找到需要修改的数据");
data.ParentID = menuRequest.ParentID;
data.MenuName = menuRequest.MenuName;
data.MenuUrl = menuRequest.MenuUrl;
data.MenuIcon = menuRequest.MenuIcon;
data.States = menuRequest.States;
data.Sort = menuRequest.Sort;
_menuRepository.Update(data);
return new ApiResponse(ResponseType.OK);
}
catch (Exception ex)
{
return new ApiResponse(ResponseType.Fail, "修改失败");
}
}
public ApiResponse DeleteSystemMenu(int menuID)
{
try
{
var datas = _menuRepository.GetEntities(w => w.ID == menuID || w.ParentID == menuID);
if (!datas.Any()) return new ApiResponse(ResponseType.NotFound, "未查到数据");
var menuIdDatas = datas.Select(s => s.ID).ToList();
var roleMenu = _rolemenuRepository.GetEntities(w => menuIdDatas.Contains(w.MenuID));
_menuRepository.RemoveRange(datas.ToArray());
if (roleMenu.Any())
_rolemenuRepository.RemoveRange(roleMenu.ToArray());
return new ApiResponse(ResponseType.OK);
}
catch (Exception ex)
{
return new ApiResponse(ResponseType.Fail, "删除失败");
}
}
public ApiResponse SetRoleSystemMenu(int menuID, int roleID)
{
try
{
var sysMenu = _menuRepository.GetEntity(w => w.ID == menuID);
if (sysMenu != null && sysMenu.ID < 0) return new ApiResponse(ResponseType.NotFound, "未查到菜单信息");
var roleMenu = _rolemenuRepository.GetEntity(w => w.MenuID == menuID && w.RoleID == roleID);
if (roleMenu != null && roleMenu.ID < 0) return new ApiResponse(ResponseType.NotFound, "当前角色已绑定当前菜单");
_rolemenuRepository.Add(new sys_role_menu() { MenuID = menuID, RoleID = roleID });
return new ApiResponse(ResponseType.OK);
}
catch (Exception ex)
{
return new ApiResponse(ResponseType.Fail, "添加失败");
}
}
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment