102 lines
5.2 KiB
C#
102 lines
5.2 KiB
C#
using Models;
|
|
using Models.ModelItems;
|
|
using Services.Cache;
|
|
using Services.Extensions;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Services.Manager
|
|
{
|
|
public class OrgAuthoServer
|
|
{
|
|
#region 更改用户组权限
|
|
public static bool EditAuthoType(int OrgId, int type, int authorityid,int hotels,string CreatedBy)
|
|
{
|
|
try
|
|
{
|
|
Organization org = CacheHelp.cacheSysOrganization.FirstOrDefault(x => x.Id == OrgId && x.IsValid ==0);
|
|
//OrgAuthority autho = db.OrgAuthorities.FirstOrDefault(x => x.OrgId == OrgId && x.AuthorityId == authorityid && x.HotelId == hotels);
|
|
OrgAuthority autho= SqlSugarBase.Db.Queryable<OrgAuthority>().First(x => x.OrgId == OrgId && x.AuthorityId == authorityid && x.HotelId == hotels);
|
|
Hotels hotels1 = CacheHelp.cacheHotels.FirstOrDefault(x=>x.Id == hotels);
|
|
Authority authority = CacheHelp.cacheSysAutho.FirstOrDefault(x => x.Id == authorityid);
|
|
AuthoStatusType statusType = CacheHelp.cacheSysAuthoStatusType.FirstOrDefault(x=>x.Id == type);
|
|
if (autho == null)
|
|
{
|
|
OrgAuthority authos = new OrgAuthority() { AuthorityId = authorityid,OrgId = OrgId,AuthotypeId = type,HotelId = hotels};
|
|
DbLogServer.WriteDbLog($"新增了用户组{org.OrganizationName }对{hotels1.Name}({hotels})酒店的{authority.AuthorityName}({authority.Id})权限'{authority.AuthorityName }({authority.Id})':无 => {statusType.Name}");
|
|
SqlSugarBase.Db.Insertable(authos).ExecuteCommand();
|
|
}
|
|
else
|
|
{
|
|
AuthoStatusType statusTypeold = CacheHelp.cacheSysAuthoStatusType.FirstOrDefault(x => x.Id == autho.AuthotypeId);
|
|
DbLogServer.WriteDbLog($"更改了用户组{org.OrganizationName }({org.Id})对{hotels1.Name}({hotels})酒店的{authority.AuthorityName}({authority.Id})权限'{authority.AuthorityName }({authority.Id})':{statusTypeold} => {statusType.Name}", 1);
|
|
autho.AuthotypeId = type;
|
|
autho.CreatedBy = CreatedBy;
|
|
SqlSugarBase.Db.Updateable(autho).ExecuteCommand();
|
|
}
|
|
return true;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
finally
|
|
{
|
|
CacheHelp.Removesys(CacheHelp.syskey.sysUserAuthoListKey);
|
|
CacheHelp.Removesys(CacheHelp.syskey.sysView_UAListKey);
|
|
CacheHelp.Removesys(CacheHelp.syskey.sysUserInfoListKey);
|
|
CacheHelp.Removesys(CacheHelp.syskey.sysOrgAuthorityListKey);
|
|
}
|
|
}
|
|
#endregion
|
|
#region 删除用户组
|
|
public static bool DelOrg(int OrgId,string CreatedBy = null)
|
|
{
|
|
Organization org = SqlSugarBase.Db.Queryable<Organization>().First(x => x.Id == OrgId);
|
|
//Organization org = db.Organizations.FirstOrDefault(x =>x.Id == OrgId);
|
|
//List<OrgUser> OrgUser = CacheHelp.cacheSysOrgUser.Where(x => ).ToList();
|
|
if (org == null)
|
|
return false;
|
|
org.IsValid = 1;
|
|
SqlSugarBase.Db.Deleteable<OrgUsers>().Where(x => x.OrgId == org.Id);
|
|
//db.OrgUsers.RemoveRange(db.OrgUsers.Where(x => x.OrgId == org.Id));
|
|
|
|
//将没有用户组的用户添加到默认用户组
|
|
//db.Database.ExecuteSqlCommand($"insert into OrgUsers select 1,Id,'{DateTime.Now.ToString("G")}','{CreatedBy}' from UserInfo where id not in (select UserId from OrgUsers)");
|
|
SqlSugarBase.Db.Ado.ExecuteCommand($"insert into OrgUsers select 1,Id,'{DateTime.Now.ToString("G")}','{CreatedBy}' from UserInfo where id not in (select UserId from OrgUsers)");
|
|
//db.SaveChanges();
|
|
DbLogServer.WriteDbLog( $"删除了用户组{org.OrganizationName }({org.Id})",2);
|
|
CacheHelp.Removesys(null);
|
|
return true;
|
|
}
|
|
#endregion
|
|
#region 检查用户用户组名是否可用
|
|
public static bool CheckName(string name)
|
|
{
|
|
if (CacheHelp.cacheSysOrganization.FirstOrDefault(u => u.OrganizationName == name) == null)
|
|
return true;
|
|
else
|
|
return false;
|
|
}
|
|
#endregion
|
|
#region 添加用户组
|
|
public static int? AddOrg(string name,string Desc = "", string CreatedBy = null)
|
|
{
|
|
if (CacheHelp.cacheSysOrganization.FirstOrDefault(u => u.OrganizationName == name) != null)
|
|
return null;
|
|
//AuthorityDB db = new AuthorityDB();
|
|
Organization organization = new Organization() { OrganizationName = name , Desc = Desc,CreatedBy = CreatedBy };
|
|
int id= SqlSugarBase.Db.Insertable(organization).ExecuteReturnIdentity();
|
|
//db.Organizations.Add(organization);
|
|
//db.SaveChanges();
|
|
CacheHelp.Removesys(CacheHelp.syskey.sysOrganizationListKey);
|
|
DbLogServer.WriteDbLog($"添加了用户组{organization.OrganizationName }({id})");
|
|
return id;
|
|
}
|
|
#endregion
|
|
}
|
|
}
|