/*********************************************************************** * Project: baifenBinfa * ProjectName: 百分兵法管理系统 * Web: http://chuanyin.com * Author: * Email: * CreateTime: 202403/02 * Description: 暂无 ***********************************************************************/ using System; using System.Collections.Generic; using System.ComponentModel; using System.IO; using System.Linq; using System.Linq.Expressions; using System.Threading.Tasks; using CoreCms.Net.Configuration; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.Entities.Expression; using CoreCms.Net.Model.FromBody; using CoreCms.Net.Filter; using CoreCms.Net.Loging; using CoreCms.Net.IServices; using CoreCms.Net.Model.ViewModels.UI; using CoreCms.Net.Utility.Helper; using CoreCms.Net.Web.Admin.Infrastructure; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; using NPOI.HSSF.UserModel; using SqlSugar; namespace CoreCms.Net.Web.Admin.Controllers { /// /// 菜单表 /// [Description("菜单表")] [Route("api/[controller]/[action]")] [ApiController] [RequiredErrorForAdmin] [Authorize(Permissions.Name)] public class SysMenuController : ControllerBase { private readonly IWebHostEnvironment _webHostEnvironment; private readonly ISysMenuServices _sysMenuServices; /// /// 构造函数 /// public SysMenuController(IWebHostEnvironment webHostEnvironment , ISysMenuServices sysMenuServices ) { _webHostEnvironment = webHostEnvironment; _sysMenuServices = sysMenuServices; } #region 获取列表============================================================ // POST: Api/SysMenu/GetPageList /// /// 获取列表 /// /// [HttpPost] [Description("获取列表")] public async Task GetPageList() { var jm = new AdminUiCallBack(); //获取数据 var list = await _sysMenuServices.QueryListByClauseAsync(p => p.deleted == false, p => p.sortNumber, OrderByType.Asc); var type = Request.Form["type"].FirstOrDefault(); if (!string.IsNullOrEmpty(type) && type == "layui") { jm.data = SysMenuHelper.GetTree(list, false).data; } else { jm.data = list; } jm.code = 0; jm.count = list.Count; jm.msg = "数据调用成功!"; return jm; } #endregion #region 首页数据============================================================ // POST: Api/SysMenu/GetIndex /// /// 首页数据 /// /// [HttpPost] [Description("首页数据")] public AdminUiCallBack GetIndex() { //返回数据 var jm = new AdminUiCallBack { code = 0 }; return jm; } #endregion #region 创建数据============================================================ // POST: Api/SysMenu/GetCreate /// /// 创建数据 /// /// [HttpPost] [Description("创建数据")] public AdminUiCallBack GetCreate() { //返回数据 var jm = new AdminUiCallBack { code = 0 }; return jm; } #endregion #region 创建提交============================================================ // POST: Api/SysMenu/DoCreate /// /// 创建提交 /// /// /// [HttpPost] [Description("创建提交")] public async Task DoCreate([FromBody] SysMenu entity) { var jm = new AdminUiCallBack(); entity.createTime = DateTime.Now; ; jm = await _sysMenuServices.InsertAsync(entity); return jm; } #endregion #region 编辑数据============================================================ // POST: Api/SysMenu/GetEdit /// /// 编辑数据 /// /// /// [HttpPost] [Description("编辑数据")] public async Task GetEdit([FromBody] FMIntId entity) { var jm = new AdminUiCallBack(); var model = await _sysMenuServices.QueryByIdAsync(entity.id); if (model == null) { jm.msg = "不存在此信息"; return jm; } jm.code = 0; jm.data = model; return jm; } #endregion #region 编辑提交============================================================ // POST: Api/SysMenu/Edit /// /// 编辑提交 /// /// /// [HttpPost] [Description("编辑提交")] public async Task DoEdit([FromBody] SysMenu entity) { var jm = await _sysMenuServices.UpdateAsync(entity); return jm; } #endregion #region 删除数据============================================================ // POST: Api/SysMenu/DoDelete/10 /// /// 单选删除 /// /// /// [HttpPost] [Description("单选删除")] public async Task DoDelete([FromBody] FMIntId entity) { var jm = new AdminUiCallBack(); jm = await _sysMenuServices.DeleteByIdAsync(entity.id); return jm; } #endregion #region 批量导入Action============================================================ // POST: Api/SysMenu/DoDelete/10 /// /// 单选删除 /// /// /// [HttpPost] [Description("单选删除")] public async Task ImportButtons([FromBody] FMSysMenuToImportButton entity) { var jm = new AdminUiCallBack(); if (entity.data.Count <= 0) { jm.msg = "请选择要导入的按钮"; return jm; } //清空旗下按钮 await _sysMenuServices.DeleteAsync(p => p.parentId == entity.data[0].menuId && p.menuType == 1); var list = new List(); for (var index = 0; index < entity.data.Count; index++) { var p = entity.data[index]; list.Add(new SysMenu() { parentId = p.menuId, identificationCode = p.actionName, menuName = p.description, component = "/Api/" + p.controllerName + "/" + p.actionName, menuType = 1, sortNumber = index, authority = p.controllerName + ":" + p.actionName, hide = false, deleted = false, createTime = DateTime.Now }); } var bl = await _sysMenuServices.InsertAsync(list, true) > 0; jm.code = bl ? 0 : 1; jm.msg = bl ? "数据导入成功" : "数据导入失败"; return jm; } #endregion } }