using Infrastructure.Attribute; using ZR.Model.Business; using ZR.Model.System; using ZR.Repository; using ZR.Service.Business.IBusinessService; namespace ZR.Service.Business { /// /// 用户模块权限Service业务层处理 /// [AppService(ServiceType = typeof(IOdfUserModulesService), ServiceLifetime = LifeTime.Transient)] public class OdfUserModulesService : BaseService, IOdfUserModulesService { /// /// 获取用户的功能版块列表 /// /// /// public List GetUserModules(long userId) { return Queryable() .Where(x => x.UserId == userId) .Select(x => x.ModuleCode) .ToList(); } /// /// 获取用户列表(userId, userName) /// /// public List GetUserList() { return Context.Queryable() .Where(u => u.DelFlag == 0 && u.Status == 0) .Select(u => new { u.UserId, u.NickName }) .ToList() .Select(u => (dynamic)new { u.UserId, userName = u.NickName }) .ToList(); } /// /// 保存用户模块权限(先删后插,事务保证原子性) /// /// /// /// public int SaveUserModules(long userId, List modules) { var result = UseTran(() => { // 先删除该用户的所有模块权限 Deleteable() .Where(x => x.UserId == userId) .ExecuteCommand(); // 再插入新的模块权限 if (modules != null && modules.Count > 0) { var list = modules.Select(m => new OdfUserModules { UserId = userId, ModuleCode = m, CreatedAt = DateTime.Now }).ToList(); Insert(list); } }); return result.IsSuccess ? 1 : 0; } } }