Browse Source

调整修改添加用户并且添加选中的角色接口,获取角色下的菜单接口,添加角色菜单接口,获取当前用户权限菜单接口,获取树型菜单接口

develop-lawyerExampaper
liujiaqiang 2 years ago
parent
commit
64c0b7c183
  1. 217
      24Hour/Controllers/system/SystemControllerController.cs
  2. 2
      Elight.Entity/AuthManageProfile.cs
  3. 33
      Elight.Entity/SystemDto/App_Sys_RoleDto.cs
  4. 145
      Elight.Entity/SystemDto/App_Sys_UserDto.cs
  5. 2
      Elight.Entity/SystemModel/App_Sys_RoleMenuModel.cs
  6. 2
      Elight.Entity/SystemModel/App_Sys_RoleUserModel.cs
  7. 2
      Elight.Logic/SystemModel/App_Sys_MenuTree.cs
  8. 2
      Elight.Logic/SystemModel/App_Sys_RoleMenuAdd.cs

217
24Hour/Controllers/system/SystemControllerController.cs

@ -1,4 +1,5 @@
using com.sun.org.apache.bcel.@internal.generic;
using AutoMapper;
using com.sun.org.apache.bcel.@internal.generic;
using com.sun.xml.@internal.ws.api.model;
using Elight.Entity;
using Elight.Entity.SystemModel;
@ -30,14 +31,16 @@ namespace _24Hour.Controllers.system
App_Sys_UserModel _userdata = new App_Sys_UserModel();//当前用户
private readonly ILogger<LoginController> _logger;//日志
private readonly WechatMessagerClient wechatMessagerClient;
private readonly IMapper _mapper;
Result result = new Result();
public SystemControllerController(ILogger<LoginController> logger, SqlSugarClient db, WriteSysLog logs, User user, WechatMessagerClient _wechatMessagerClient)
public SystemControllerController(IMapper mapper, ILogger<LoginController> logger, SqlSugarClient db, WriteSysLog logs, User user, WechatMessagerClient _wechatMessagerClient)
{
_logger = logger;
_db = db;
_logs = logs;
_userdata = user.Userdata();
this.wechatMessagerClient = _wechatMessagerClient;
_mapper = mapper;
}
#endregion
#region 用户管理
@ -80,9 +83,12 @@ namespace _24Hour.Controllers.system
{
RefAsync<int> totalNumber = 0;//总数据
var userlist = new List<dynamic>();
//获取单位信息
var Unitlist = await _db.Queryable<App_Sys_UnitModel>().Where(q => q.IsDelete == 0).ToListAsync();
//获取部门信息
var Departlist = await _db.Queryable<App_Sys_DepartModel>().Where(q => q.IsDelete == 0).ToListAsync();
//获取角色信息
var RoleModel = _db.Queryable<App_Sys_RoleUserModel>().LeftJoin<App_Sys_RoleModel>((o, i) => o.roleId == i.Id && o.IsDelete == 0&&i.IsDeleted == 0).Select((o,i)=> new App_Sys_RoleDto {Id=o.roleId,name=i.name,userId=o.roleuserId }).ToList();
var list = await _db.Queryable<App_Sys_UserModel>()
.WhereIF(!UserModel.name.IsNull(), q => q.name.Contains(UserModel.name))
.WhereIF(!UserModel.phone.IsNull(), q => q.phone.Contains(UserModel.phone))
@ -112,7 +118,9 @@ namespace _24Hour.Controllers.system
q.identity,
q.createtime,
unitname = Unitdata?.unitname,
departname = Departdata?.departname
departname = Departdata?.departname,
roleId = RoleModel.FirstOrDefault(x=>x.userId==q.Id)?.Id,
roleName = RoleModel.FirstOrDefault(x => x.userId == q.Id)?.name,
});
});
var data = new { Paging = UserModel, Data = userlist };
@ -152,11 +160,12 @@ namespace _24Hour.Controllers.system
/// <returns></returns>
[HttpPost]
[Route("AddUser0")]
public async Task<Result> AddUser0(App_Sys_UserModel UserModel)
public async Task<Result> AddUser0(App_Sys_UserDto UserModel)
{
try
{
var data = await _db.Queryable<App_Sys_UserModel>().Where(q => q.IsDeleted == 0 && q.phone == UserModel.phone || q.cardId == UserModel.cardId).FirstAsync();
var UserDate = _mapper.Map<App_Sys_UserDto, App_Sys_UserModel>(UserModel);
var data = await _db.Queryable<App_Sys_UserModel>().Where(q => q.IsDeleted == 0 && q.phone == UserDate.phone || q.cardId == UserDate.cardId).FirstAsync();
if (data != null)
{
result.IsSucceed = false;
@ -164,13 +173,28 @@ namespace _24Hour.Controllers.system
return result;
}
_db.BeginTran();
UserModel.Id = Guid.NewGuid().ToString();
UserModel.createuserId = _userdata.Id.ToString();
UserModel.createusername = _userdata.name;
UserModel.usertype = 0;
UserDate.Id = Guid.NewGuid().ToString();
UserDate.createuserId = _userdata.Id.ToString();
UserDate.createusername = _userdata.name;
UserDate.usertype = 0;
//默认密码
UserModel.Password = string.IsNullOrEmpty(UserModel.Password) ? Elight.Utility.Encrypt.Md5.Encrypt32($"mr123456").ToLower() : Elight.Utility.Encrypt.Md5.Encrypt32(UserModel.Password).ToLower();
var num = await _db.Insertable(UserModel).ExecuteCommandAsync();
UserDate.Password = string.IsNullOrEmpty(UserDate.Password) ? Elight.Utility.Encrypt.Md5.Encrypt32($"mr123456").ToLower() : Elight.Utility.Encrypt.Md5.Encrypt32(UserDate.Password).ToLower();
var roledata = new App_Sys_RoleUserModel();
if (!string.IsNullOrEmpty(UserModel.roleId))
{
//添加角色用户信息
roledata = new App_Sys_RoleUserModel()
{
Id = Guid.NewGuid().ToString(),
roleId = UserModel.roleId,
roleuserId = UserDate.Id,
userId = _userdata.Id.ToString(),
username = _userdata.name,
};
}
var num = await _db.Insertable(UserDate).ExecuteCommandAsync();
if (roledata.Id != null)
await _db.Insertable(roledata).ExecuteCommandAsync();
_db.CommitTran();
if (num > 0)
{
@ -242,7 +266,7 @@ namespace _24Hour.Controllers.system
/// <returns></returns>
[HttpPost]
[Route("UpdateUser")]
public async Task<Result> UpdateUser(App_Sys_UserModel UserModel)
public async Task<Result> UpdateUser(App_Sys_UserDto UserModel)
{
try
{
@ -257,9 +281,33 @@ namespace _24Hour.Controllers.system
model.phone = UserModel.phone;
model.cardId = UserModel.cardId;
}
_db.BeginTran();
var num = await _db.Updateable(model).UpdateColumns(it => new { it.unitCode, it.department, it.name, it.sex, it.duties, it.phone, it.cardId }).ExecuteCommandAsync();
//var num = await _db.Updateable(UserModel).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
//判断角色不等于空进
if (!string.IsNullOrEmpty(UserModel.roleId))
{
if (_db.Queryable<App_Sys_RoleUserModel>().Any(x =>x.IsDelete == 0&& x.roleuserId == UserModel.Id))
{
//查询角色用户是否存在
var rolemodel = await _db.Queryable<App_Sys_RoleUserModel>().Where(x => x.IsDelete == 0 && x.roleuserId == UserModel.Id).FirstAsync();
rolemodel.roleId = UserModel.roleId;
await _db.Updateable(rolemodel).UpdateColumns(it => new { it.roleId }).ExecuteCommandAsync();
}
else
{
var rolemodel = new App_Sys_RoleUserModel()
{
Id = Guid.NewGuid().ToString(),
roleId = UserModel.roleId,
roleuserId = UserModel.Id,
userId = _userdata.Id.ToString(),
username = _userdata.name,
};
if (rolemodel != null)
await _db.Insertable(rolemodel).ExecuteCommandAsync();
}
}
_db.CommitTran();
if (num > 0)
{
@ -742,7 +790,7 @@ namespace _24Hour.Controllers.system
#region 角色菜单管理
/// <summary>
/// 获取角色下的所有菜单信息
/// 获取角色下的所有菜单Id
/// </summary>
/// <param name="info"></param>
/// <returns></returns>
@ -753,11 +801,13 @@ namespace _24Hour.Controllers.system
var totalCount = 0;
var list = await _db.Queryable<App_Sys_RoleMenuModel>()
.WhereIF(!roledata.roleId.IsNull(), q => q.roleId == roledata.roleId)
.Where(q => q.IsDeleted == 0).Select(x => x.menuId).ToListAsync();
.Where(q => q.IsDelete == 0).Select(x => x.menuId).ToListAsync();
//roledata.PageCount = totalCount;
//var data = new QueryResult<App_Sys_RoleModel>(roledata, list);
var ids = "";
list.ForEach(x => ids += $"{x},");
result.IsSucceed = true;
result.result = list;
result.result = ids.Trim(',').Split(",");
return result;
}
@ -772,20 +822,36 @@ namespace _24Hour.Controllers.system
{
try
{
if (string.IsNullOrEmpty(RoleMenudata.RoleMenuIds))
{
result.IsSucceed = false;
result.result = "没有选中项";
return result;
}
//查询角色下的菜单
var list = await _db.Queryable<App_Sys_RoleMenuModel>().Where(q => q.roleId == RoleMenudata.Id).ToListAsync();
_db.BeginTran();
//删除角色下的菜单
await _db.Deleteable(list).ExecuteCommandAsync();
//添加角色菜单
RoleMenudata.RoleMenulist.ForEach(data =>
var RoleMenulist = RoleMenudata.RoleMenuIds.Split(",");
var menulist = new List<App_Sys_RoleMenuModel>();
if (RoleMenulist.Length > 0)
{
data.Id = Guid.NewGuid().ToString();
data.roleId = RoleMenudata.Id;
data.userId = _userdata.Id.ToString();
data.username = _userdata.name;
});
var num = await _db.Insertable(RoleMenudata.RoleMenulist).ExecuteCommandAsync();
//添加角色菜单
for (int i = 0; i < RoleMenulist.Length; i++)
{
var App_Sys_RoleMenuModel = new App_Sys_RoleMenuModel()
{
Id = Guid.NewGuid().ToString(),
roleId = RoleMenudata.Id,
userId = _userdata.Id.ToString(),
username = _userdata.name,
menuId = RoleMenulist[i],
};
menulist.Add(App_Sys_RoleMenuModel);
}
}
var num = await _db.Insertable(menulist).ExecuteCommandAsync();
_db.CommitTran();
if (num > 0)
{
@ -818,7 +884,7 @@ namespace _24Hour.Controllers.system
var userlist = await _db.Queryable<App_Sys_RoleMenuModel>().Where(q => q.roleId == Currency.tyId).In(q => q.menuId, Currency.id).ToListAsync();
userlist.ForEach(q =>
{
q.IsDeleted = 1;
q.IsDelete = 1;
});
var num = await _db.Updateable(userlist).ExecuteCommandAsync();
_db.CommitTran();
@ -853,7 +919,7 @@ namespace _24Hour.Controllers.system
//获取角色下得所有用户id
var list = await _db.Queryable<App_Sys_RoleUserModel>()
.WhereIF(roledata.roleId.IsNull(), q => q.roleId == roledata.roleId)
.Where(q => q.IsDeleted == 0).Select(x => x.roleuserId).ToListAsync();
.Where(q => q.IsDelete == 0).Select(x => x.roleuserId).ToListAsync();
//roledata.PageCount = totalCount;
//var data = new QueryResult<App_Sys_RoleMenuModel>(roledata, list);
result.IsSucceed = true;
@ -917,7 +983,7 @@ namespace _24Hour.Controllers.system
var userlist = await _db.Queryable<App_Sys_RoleUserModel>().Where(q => q.roleId == Currency.tyId).In(q => q.roleuserId, Currency.id).ToListAsync();
userlist.ForEach(q =>
{
q.IsDeleted = 1;
q.IsDelete = 1;
});
var num = await _db.Updateable(userlist).ExecuteCommandAsync();
_db.CommitTran();
@ -1281,9 +1347,9 @@ namespace _24Hour.Controllers.system
}
/// <summary>
/// 单树型查询
/// 单树型查询
/// </summary>
/// <param name="info"></param>
/// <param name="Menudata"></param>
/// <returns></returns>
[HttpPost]
[Route("QueryMenuTree")]
@ -1292,7 +1358,7 @@ namespace _24Hour.Controllers.system
var treelist = await _db.Queryable<App_Sys_MenuTree>()
.WhereIF(!Menudata.name.IsNull(), q => q.name.Contains(Menudata.name))
.WhereIF(!Menudata.title.IsNull(), q => q.title.Contains(Menudata.title))
.Where(q => q.IsDelete == 0).OrderBy(q => q.sortnum, OrderByType.Desc).ToTreeAsync(it => it.children, it => it.pid, null);
.Where(q => q.IsDelete == 0).OrderBy(q => q.sortnum, OrderByType.Asc).ToTreeAsync(it => it.children, it => it.pid, null);
result.IsSucceed = true;
result.result = treelist;
return result;
@ -1442,60 +1508,69 @@ namespace _24Hour.Controllers.system
{
var list = new List<dynamic>();
//获取父级菜单
var pidlist = await _db.Queryable<App_Sys_MenuModel>().Where(q => q.IsDelete == 0).ToListAsync();
var pidlist = await _db.Queryable<App_Sys_MenuModel>().Where(q => q.IsDelete == 0&&string.IsNullOrEmpty(q.pid)).ToListAsync();
//联表查询该用户菜单
var menulist = await _db.Queryable<App_Sys_RoleUserModel>().Where(q => q.roleuserId == _userdata.Id)
var menulist = await _db.Queryable<App_Sys_RoleUserModel>().Where(x=> x.roleuserId == _userdata.Id)
.LeftJoin<App_Sys_RoleMenuModel>((o, cus) => o.roleId == cus.roleId)
.LeftJoin<App_Sys_MenuModel>((o, cus, menu) => o.roleId == cus.roleId)
.Where((o, cus, menu) => o.IsDeleted == 0 && cus.IsDeleted == 0 && menu.IsDelete == 0)
.LeftJoin<App_Sys_MenuModel>((o, cus, menu) => cus.menuId== menu.Id)
.Where((o, cus, menu) => o.IsDelete == 0 && cus.IsDelete == 0 && menu.IsDelete == 0)
.Select((o, cus, menu) => menu)
.ToListAsync();
if (_userdata.phone=="admin")
{
menulist = await _db.Queryable<App_Sys_MenuModel>().Where(x => x.IsDelete == 0).ToListAsync();
}
//通过分组父级菜单
var datalist = menulist.GroupBy(q => q.pid).Select(q => new { pid = q.Key, dalist = q.ToList() }).ToList();
datalist.ForEach(item =>
var datalist = menulist.OrderBy(q=>q.sortnum).GroupBy(q => q.pid).Select(q => new { pid = q.Key, dalist = q.OrderBy(q=>q.sortnum).ToList() }).ToList();
if (datalist.Count>0)
{
var data = pidlist.Where(q => q.Id == item.pid).FirstOrDefault();
if (data != null)
{
pidlist.OrderBy(q => q.sortnum).ToList().ForEach(item => {
var data = datalist.Where(q => q.pid == item.Id).FirstOrDefault();
var childrenlist = new List<dynamic>();
//添加子菜单
item.dalist.ForEach(it =>
if (data != null)
{
childrenlist.Add(new
//添加子菜单
data.dalist.ForEach(it =>
{
path = it.path,
name = it.name,
component = it.component,
//redirect = it.redirect,
meta = new
childrenlist.Add(new
{
title = it.title,
//hideMenu = it.hideMenu,
//hideBreadcrumb = it.hideBreadcrumb,
//currentActiveMenu = it.currentActiveMenu,
icon = it.icon,
},
path = it.path,
name = it.name,
component = it.component,
//redirect = it.redirect,
meta = new
{
title = it.title,
//hideMenu = it.hideMenu,
//hideBreadcrumb = it.hideBreadcrumb,
//currentActiveMenu = it.currentActiveMenu,
icon = it.icon,
},
});
});
});
}
//添加父级菜单
list.Add(new
var fjdata = datalist.Where(q => string.IsNullOrEmpty(q.pid)).FirstOrDefault()?.dalist.FirstOrDefault(q=>q.Id== item.Id);
if (childrenlist.Count>0|| fjdata!=null)
{
path = data.path,
name = data.name,
component = data.component,
//redirect = data.redirect,
meta = new
//添加父级菜单
list.Add(new
{
title = data.title,
//hideChildrenInMenu = data.hideChildrenInMenu,
icon = data.icon,
},
children = childrenlist
});
}
});
path = item.path,
name = item.name,
component = item.component,
//redirect = data.redirect,
meta = new
{
title = item.title,
//hideChildrenInMenu = data.hideChildrenInMenu,
icon = item.icon,
},
children = childrenlist
});
}
});
}
result.IsSucceed = true;
result.result = list;

2
Elight.Entity/AuthManageProfile.cs

@ -24,6 +24,8 @@ namespace Elight.Entity
CreateMap<App_ReceptionModel, App_ReceptionDto>();
CreateMap<App_RemoteModel, App_RemoteDto>();
//用户管理
CreateMap<App_Sys_UserDto, App_Sys_UserModel>();
}
}
}

33
Elight.Entity/SystemDto/App_Sys_RoleDto.cs

@ -0,0 +1,33 @@

using SqlSugar;
using System;
using System.Runtime.Serialization;
namespace Elight.Entity
{
/// <summary>
/// 角色表(扩展)
/// </summary>
[DataContract]
public class App_Sys_RoleDto
{
/// <summary>
/// 角色Id
/// </summary>
[DataMember]
public string? Id { get; set; }
/// <summary>
/// 角色名称
/// </summary>
[DataMember]
public string? name { get; set; }
/// <summary>
/// 角色用户
/// </summary>
[DataMember]
public string? userId { get; set; }
}
}

145
Elight.Entity/SystemDto/App_Sys_UserDto.cs

@ -0,0 +1,145 @@

using SqlSugar;
using System;
using System.Runtime.Serialization;
namespace Elight.Entity
{
/// <summary>
/// 用户信息表(app_sys_user)
/// </summary>
[DataContract]
public class App_Sys_UserDto
{
/// <summary>
/// 表里用户唯一标识符,自增长Id
/// </summary>
[DataMember]
public string? Id { get; set; }
/// <summary>
/// 单位编码
/// </summary>
[DataMember]
public string? unitCode { get; set; }
/// <summary>
/// 部门id
/// </summary>
[DataMember]
public string? department { get; set; }
/// <summary>
/// 部门
/// </summary>
[DataMember]
public string? departmentName { get; set; }
/// <summary>
/// 密码
/// </summary>
[DataMember]
public string? Password { get; set; }
/// <summary>
/// 名称
/// </summary>
[DataMember]
public string? name { get; set; }
/// <summary>
/// 职务
/// </summary>
[DataMember]
public string? duties { get; set; }
/// <summary>
/// 电话号码
/// </summary>
[DataMember]
public string? phone { get; set; }
/// <summary>
/// 身份证号码
/// </summary>
[DataMember]
public string? cardId { get; set; }
/// <summary>
/// 身份(检察官,律师,当事人)
/// </summary>
[DataMember]
public string? identity { get; set; }
/// <summary>
/// 微信Id
/// </summary>
[DataMember]
public string? wechatId { get; set; }
/// <summary>
/// 账号类型0:系统,1:APP
/// </summary>
[DataMember]
public int? usertype { get; set; }
/// <summary>
/// 是否停用 0:启用,1禁用
/// </summary>
[DataMember]
public int? isdeactivate { get; set; } = 0;
/// <summary>
/// 是否App通用:0:通用,1:不通用
/// </summary>
[DataMember]
public int? becurrent { get; set; }
/// <summary>
/// 头像地址
/// </summary>
[DataMember]
public string? photo { get; set; }
/// <summary>
/// 性别 0:女 1:男
/// </summary>
[DataMember]
public int? sex { get; set; }
/// <summary>
/// 是否删除
/// </summary>
[DataMember]
public int? IsDeleted { get; set; } = 0;
/// <summary>
/// 审核状态
/// </summary>
[DataMember]
public int? audit { get; set; }
/// <summary>
/// 审核描述
/// </summary>
[DataMember]
public string? describe { get; set; }
/// <summary>
/// 创建人Id
/// </summary>
[DataMember]
public string? createuserId { get; set; }
/// <summary>
/// 创建人
/// </summary>
[DataMember]
public string? createusername { get; set; }
/// <summary>
/// 角色ID
/// </summary>
[DataMember]
public string? roleId { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[DataMember]
public DateTime? createtime { get; set; } = DateTime.Now;
}
}

2
Elight.Entity/SystemModel/App_Sys_RoleMenuModel.cs

@ -54,7 +54,7 @@ namespace Elight.Entity
/// 是否删除
/// </summary>
[DataMember]
public int? IsDeleted { get; set; } = 0;
public int? IsDelete { get; set; } = 0;
}
}

2
Elight.Entity/SystemModel/App_Sys_RoleUserModel.cs

@ -54,7 +54,7 @@ namespace Elight.Entity
/// 是否删除
/// </summary>
[DataMember]
public int? IsDeleted { get; set; } = 0;
public int? IsDelete { get; set; } = 0;
}
}

2
Elight.Logic/SystemModel/App_Sys_MenuTree.cs

@ -73,7 +73,7 @@ namespace Elight.Logic.SystemModel
public int? IsDelete { get; set; }
[SqlSugar.SugarColumn(IsIgnore = true)]
public List<App_Sys_UnitTree>? children { get; set; }
public List<App_Sys_MenuTree>? children { get; set; }
}
}

2
Elight.Logic/SystemModel/App_Sys_RoleMenuAdd.cs

@ -20,7 +20,7 @@ namespace Elight.Logic.SystemModel
/// 角色菜单集合
/// </summary>
[DataMember]
public List<App_Sys_RoleMenuModel>? RoleMenulist { get; set; }
public string? RoleMenuIds { get; set; }
}
}

Loading…
Cancel
Save