权限相关调整
This commit is contained in:
+17
-1
@@ -6,13 +6,15 @@
|
||||
public class OnboardingVariableDefinitionService : IOnboardingVariableDefinitionService
|
||||
{
|
||||
private readonly SqlSugarScope _db;
|
||||
private readonly IOnboardingDataPermissionService _dataPermission;
|
||||
|
||||
/// <summary>
|
||||
/// 初始化合同变量字典服务。
|
||||
/// </summary>
|
||||
public OnboardingVariableDefinitionService()
|
||||
public OnboardingVariableDefinitionService(IOnboardingDataPermissionService dataPermission)
|
||||
{
|
||||
_db = DbContext.DB;
|
||||
_dataPermission = dataPermission;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
@@ -62,6 +64,10 @@ public class OnboardingVariableDefinitionService : IOnboardingVariableDefinition
|
||||
|
||||
var entity = await _db.Queryable<ObVariableDefinition>().InSingleAsync(input.Id)
|
||||
?? throw Oops.Bah("变量不存在");
|
||||
await _dataPermission.EnsureCanManage(
|
||||
entity.CreateUserId,
|
||||
OnboardingPermissionCodes.EntryConfigManageAll,
|
||||
"合同变量");
|
||||
|
||||
if (!string.Equals(entity.VariableCode, input.VariableCode, StringComparison.Ordinal))
|
||||
throw Oops.Bah("变量编码创建后不能修改");
|
||||
@@ -86,6 +92,16 @@ public class OnboardingVariableDefinitionService : IOnboardingVariableDefinition
|
||||
if (input.Ids.Count == 0)
|
||||
return;
|
||||
|
||||
var variables = await _db.Queryable<ObVariableDefinition>()
|
||||
.Where(item => input.Ids.Contains(item.Id))
|
||||
.ToListAsync();
|
||||
if (variables.Count != input.Ids.Distinct().Count())
|
||||
throw Oops.Bah("变量不存在");
|
||||
await _dataPermission.EnsureCanManage(
|
||||
variables.Select(item => item.CreateUserId),
|
||||
OnboardingPermissionCodes.EntryConfigManageAll,
|
||||
"合同变量");
|
||||
|
||||
var hasBuiltIn = await _db.Queryable<ObVariableDefinition>()
|
||||
.Where(it => input.Ids.Contains(it.Id) && it.IsBuiltIn)
|
||||
.AnyAsync();
|
||||
|
||||
Reference in New Issue
Block a user