using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using CNet.Web.Api.Model.Request; using CNet.Main.Model; using CNet.Main.BLL; using CNet.Model; namespace CNet.Web.Api.Controllers { [Produces("application/json")] [Route("api/PubRole")] [Authorize] public class PubRoleController : Controller { Pub_RoleBLL bll = new Pub_RoleBLL(); Pub_RolefunctionBLL roleFunctionBLL = new Pub_RolefunctionBLL(); [Route("GetList")] [HttpPost] public DataRes> GetList() { var roles = bll.GetList("StopFlag=0"); return new DataRes> { data= roles} ; } /// /// 获取角色分页 /// /// [Route("GetPage")] [HttpPost] public PageDateRes GetPage([FromBody]PageDataReq pageReq) { var whereStr = GetWhereStr(); if (whereStr == "-1") { return new PageDateRes() { code = ResCode.Error, msg = "查询参数有误!", data = null }; } var list = bll.GetPage(whereStr, (pageReq.field + " " + pageReq.order), pageReq.pageNum, pageReq.pageSize); return list; } private string GetWhereStr() { StringBuilder sb = new StringBuilder(" 1=1 "); sb.Append(" and StopFlag=0 "); var query = this.HttpContext.GetWhereStr(); if (query == "-1") { return query; } sb.AppendFormat(" and {0} ", query); return sb.ToString(); } /// /// 添加角色 /// /// [Route("Add")] [HttpPost] public DataRes Add([FromBody]Pub_Role model) { DataRes res = new DataRes() { code = ResCode.Success, data = true }; model.RoleCode = bll.GetCode(); model.Lmdt = model.Lmdt = DateTime.Now; var user = CNetFactory.GetCNetUser(User); model.Lmid = $"{user.UserCode}-{user.UserName}"; model.StopFlag = false; var r = bll.Insert(model)>0; if (!r) { res.code = ResCode.Error; res.msg = "保存失败!"; } return res; } /// /// 编辑角色 /// /// [Route("Edit")] [HttpPost] public DataRes Edit([FromBody]Pub_Role model) { DataRes res = new DataRes() { code = ResCode.Success, data = true }; model.Lmdt = DateTime.Now; var user = new CNetUser(User); model.Lmid = $"{user.UserCode}-{user.UserName}"; var r = bll.Update(model); if (!r) { res.code = ResCode.Error; res.data = false; res.msg = "保存失败"; } return res; } /// /// 删除角色 /// /// [Route("Delete/{id}")] [HttpPost] public DataRes Delete(long id) { DataRes res = new DataRes() { code = ResCode.Success, data = true }; var r = bll.ChangeSotpStatus($"id={id}"); if (!r) { res.code = ResCode.Error; res.data = false; res.msg = "删除失败"; } return res; } /// /// 获取角色权限 /// /// [Route("GetFunctions/{code}")] [HttpPost] public DataRes> GetFunctions(string code) { DataRes> res = new DataRes>() { code = ResCode.Success }; var list = roleFunctionBLL.GetList($"roleCode='{code}'"); res.data = list.Select(p => p.FunctionCode); return res; } /// /// 保存角色权限 /// /// [Route("SaveFunctions/{code}")] [HttpPost] public DataRes SaveFunctions(string code,[FromBody]List functions) { DataRes res = new DataRes() { code = ResCode.Success, data = true }; List list = new List(); functions.ForEach(p =>{ list.Add(new Pub_Rolefunction() {FunctionCode=p,RoleCode=code }); }); var r = bll.SaveFunctions(code, list); if (!r.Item1) { res.code = ResCode.Error; res.data = false; res.msg = "保存失败"; } return res; } } }