using Dm; using Model.ModelDto.SysDto; using Model.ModelVm.SysVm; using SqlSugar; using System; using System.Collections.Generic; using System.Data; using System.Text; using System.Threading.Tasks; using WMS.Entity.Context; using WMS.Entity.SysEntity; using WMS.IDAL.ISysInterface; namespace WMS.DAL.SysInfrastructure { /// /// 角色仓储实践 /// public class RolesRepository : BaseRepository, IRolesRepository { private static readonly SqlSugarScope Db = DataContext.Db; public RolesRepository() : base(Db) { } /// /// 查询角色数据信息列表 /// /// 角色号 /// 角色名称 /// public List GetRoleList(string RoleNo, string RoleName,string UserId) { string whereSql = " role.IsDel = '0' "; if (!string.IsNullOrEmpty(UserId)) { SysUserInfor userEntry = Db.Ado.SqlQuerySingle($"select * from SysUserInfor where Id={UserId}"); if (userEntry != null && userEntry.UserName.ToUpper() !="ADMIN") { //除系统超级管理员admin外其他账号角色权限列表只能看到自己创建的角色 whereSql += $" and role.CreateUser = {UserId}"; } } if (!string.IsNullOrEmpty(RoleNo)) { whereSql += $" and role.RoleNo like '%{RoleNo}%' "; } if (!string.IsNullOrEmpty(RoleName)) { whereSql += $" and role.RoleName like '%{RoleName}%' "; } string str = $@"select role.*, user1.RealName CreateUserName, user2.RealName UpdateUserName from SysRoles role left join SysUserInfor user1 on role.CreateUser = user1.Id left join SysUserInfor user2 on role.UpdateUser = user2.Id where {whereSql} order by role.Id"; List roles = Db.Ado.SqlQuery(str); return roles; } /// /// 根据编号获取用户信息列表 /// /// 角色号 /// public List GetRoleByNo(string RoleNo) { string str = "select * from SysRoles where RoleNo = @roleno"; List userlist = Db.Ado.SqlQuery(str, new { roleno = RoleNo //角色号 }); return userlist; } /// /// 新增角色数据信息 /// /// 角色实体模型 /// public async Task InsertRoleInfo(SysRoles roles) { string str = "insert into SysRoles values(@roleno, @rolename, @demo, @isdel, @createtime, @createuser, null, null)"; int i = await Db.Ado.ExecuteCommandAsync(str, new { roleno = roles.RoleNo, //角色号 rolename = roles.RoleName, //角色名称 demo = roles.Demo, //备注 isdel = "0", //是否删除 createtime = Db.GetDate(), //创建时间 createuser = roles.CreateUser, //创建人 }); return i; } /// /// 删除\批量删除角色信息 /// /// 角色实体模型 /// public async Task DeleteRoleInfo(SysRoles roles) { string str = "update SysRoles set IsDel = @isdel, UpdateTime = @updatetime, UpdateUser = @updateuser where Id in (@id)"; //删除\批量删除 int i = await Db.Ado.ExecuteCommandAsync(str, new { isdel = "1", //是否删除 updatetime = Db.GetDate(), //更改时间 updateuser = roles.UpdateUser, //更改人 id = roles.Id //角色id }); return i; } /// /// 编辑角色信息 /// /// 角色实体模型 /// public async Task UpdateRoleInfo(SysRoles role) { string str = "update SysRoles set RoleName = @rolename, Demo = @demo, UpdateTime = @updatetime, UpdateUser = @updateuser where Id = @id"; //修改 int i = await Db.Ado.ExecuteCommandAsync(str, new { roleno = role.RoleNo, //角色号 rolename = role.RoleName, //角色名称 demo = role.Demo, //备注 updatetime = Db.GetDate(), //更改时间 updateuser = role.UpdateUser, //更改人 id = role.Id //角色id }); return i; } /// /// 根据id获取角色信息 /// /// 角色id /// public SysRoles GetRoleInfoById(int roleid) { string str = "select * from SysRoles where Id = @id and IsDel = @isdel"; SysRoles role= Db.Ado.SqlQuerySingle(str, new { id = roleid, //角色id isdel = "0" //是否删除 }); return role; } } }