添加项目文件。
This commit is contained in:
135
HT.Cloud.Service/SystemManage/ModuleService.cs
Normal file
135
HT.Cloud.Service/SystemManage/ModuleService.cs
Normal file
@ -0,0 +1,135 @@
|
||||
/*******************************************************************************
|
||||
* Copyright © 2020 HT.Cloud.Framework 版权所有
|
||||
* Author: HT.Cloud
|
||||
* Description: WaterCloud快速开发平台
|
||||
* Website:
|
||||
*********************************************************************************/
|
||||
|
||||
using SqlSugar;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using HT.Cloud.Code;
|
||||
using HT.Cloud.Domain.SystemManage;
|
||||
using HT.Cloud.Domain.SystemOrganize;
|
||||
|
||||
namespace HT.Cloud.Service.SystemManage
|
||||
{
|
||||
public class ModuleService : BaseService<ModuleEntity>, IDenpendency
|
||||
{
|
||||
/// <summary>
|
||||
/// 缓存操作类
|
||||
/// </summary>
|
||||
private string authorizecacheKey = GlobalContext.SystemConfig.ProjectPrefix + "_authorizeurldata_";// +权限
|
||||
|
||||
//获取类名
|
||||
|
||||
public ModuleService(ISqlSugarClient context) : base(context)
|
||||
{
|
||||
}
|
||||
|
||||
public async Task<List<ModuleEntity>> GetList()
|
||||
{
|
||||
var query = repository.IQueryable();
|
||||
return await query.Where(a => a.F_DeleteMark == false).OrderBy(a => a.F_SortCode).ToListAsync();
|
||||
}
|
||||
|
||||
public async Task<List<ModuleEntity>> GetBesidesList()
|
||||
{
|
||||
var moduleList = repository.Db.Queryable<DataPrivilegeRuleEntity>().Select(a => a.F_ModuleId).ToList();
|
||||
var query = repository.IQueryable().Where(a => !moduleList.Contains(a.F_Id) && a.F_EnabledMark == true && a.F_Target == "iframe");
|
||||
return await query.OrderBy(a => a.F_SortCode).ToListAsync();
|
||||
}
|
||||
|
||||
public async Task<List<ModuleEntity>> GetLookList()
|
||||
{
|
||||
var query = repository.IQueryable().Where(a => a.F_DeleteMark == false);
|
||||
query = GetDataPrivilege("a", "", query);
|
||||
return await query.OrderBy(a => a.F_SortCode).ToListAsync();
|
||||
}
|
||||
|
||||
public async Task<ModuleEntity> GetLookForm(string keyValue)
|
||||
{
|
||||
var data = await repository.FindEntity(keyValue);
|
||||
return GetFieldsFilterData(data);
|
||||
}
|
||||
|
||||
public async Task<ModuleEntity> GetForm(string keyValue)
|
||||
{
|
||||
var data = await repository.FindEntity(keyValue);
|
||||
return data;
|
||||
}
|
||||
|
||||
public async Task<string> GetMaxSortCode(string F_ParentId)
|
||||
{
|
||||
try
|
||||
{
|
||||
int F_SortCode = (int)await repository.Db.Queryable<ModuleEntity>().Where(t => t.F_ParentId == F_ParentId).MaxAsync(a => a.F_SortCode);
|
||||
|
||||
return (F_SortCode + 1).ToString();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
return "0";
|
||||
}
|
||||
}
|
||||
|
||||
public async Task DeleteForm(string keyValue)
|
||||
{
|
||||
if (await repository.IQueryable(a => a.F_ParentId.Equals(keyValue)).AnyAsync())
|
||||
{
|
||||
throw new Exception("删除失败!操作的对象包含了下级数据。");
|
||||
}
|
||||
else
|
||||
{
|
||||
repository.Db.Ado.BeginTran();
|
||||
await repository.Delete(a => a.F_Id == keyValue);
|
||||
await repository.Db.Deleteable<ModuleButtonEntity>().Where(a => a.F_ModuleId == keyValue).ExecuteCommandAsync();
|
||||
await repository.Db.Deleteable<ModuleFieldsEntity>().Where(a => a.F_ModuleId == keyValue).ExecuteCommandAsync();
|
||||
repository.Db.Ado.CommitTran();
|
||||
await CacheHelper.RemoveAsync(authorizecacheKey + repository.Db.CurrentConnectionConfig.ConfigId + "_list");
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<List<ModuleEntity>> GetListByRole(string roleid)
|
||||
{
|
||||
var moduleList = repository.Db.Queryable<RoleAuthorizeEntity>().Where(a => a.F_ObjectId == roleid && a.F_ItemType == 1).Select(a => a.F_ItemId).ToList();
|
||||
var query = repository.IQueryable().Where(a => (moduleList.Contains(a.F_Id) || a.F_IsPublic == true) && a.F_DeleteMark == false && a.F_EnabledMark == true);
|
||||
return await query.OrderBy(a => a.F_SortCode).ToListAsync();
|
||||
}
|
||||
|
||||
public async Task SubmitForm(ModuleEntity moduleEntity, string keyValue)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(moduleEntity.F_Authorize))
|
||||
{
|
||||
moduleEntity.F_Authorize = moduleEntity.F_Authorize.ToLower();
|
||||
}
|
||||
if (!string.IsNullOrEmpty(keyValue))
|
||||
{
|
||||
moduleEntity.Modify(keyValue);
|
||||
await repository.Update(moduleEntity);
|
||||
}
|
||||
else
|
||||
{
|
||||
moduleEntity.Create();
|
||||
await repository.Insert(moduleEntity);
|
||||
}
|
||||
await CacheHelper.RemoveAsync(authorizecacheKey + repository.Db.CurrentConnectionConfig.ConfigId + "_list");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新菜单排序
|
||||
/// </summary>
|
||||
/// <param name="F_Id">内码</param>
|
||||
/// <param name="SortCode">排序数字</param>
|
||||
/// <returns></returns>
|
||||
public async Task SubmitUpdateForm(string F_Id, int SortCode)
|
||||
{
|
||||
//更新
|
||||
await repository.Update(a => a.F_Id == F_Id, a => new ModuleEntity()
|
||||
{
|
||||
F_SortCode = SortCode
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user