From 5d74ec2f73f92f07a442f6aa4d06582b06f45275 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Thu, 4 Jul 2024 15:04:06 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E5=A2=9E=E5=8A=A0=E8=AE=BE=E5=A4=87type?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Src/Dlhis.Entity/Sys/Entities/DataPermissionEntity.cs | 10 ++++++++++ .../Controllers/DataPermissionsController.cs | 9 ++++++--- .../Request/DataPermissionSaveRequest.cs | 4 ++++ .../DataPermission/Services/IDataPermissionService.cs | 3 ++- .../Services/Implements/DataPermissionService.cs | 5 ++++- 5 files changed, 26 insertions(+), 5 deletions(-) diff --git a/Src/Dlhis.Entity/Sys/Entities/DataPermissionEntity.cs b/Src/Dlhis.Entity/Sys/Entities/DataPermissionEntity.cs index 803502d0..0980fd61 100644 --- a/Src/Dlhis.Entity/Sys/Entities/DataPermissionEntity.cs +++ b/Src/Dlhis.Entity/Sys/Entities/DataPermissionEntity.cs @@ -1,17 +1,27 @@ +using Dlhis.Entity.Device.Enums; using Dlhis.Entity.Sys.Enums; using Kurisu.AspNetCore.DataAccess.SqlSugar; using SqlSugar; +using SqlSugar.DbConvert; namespace Dlhis.Entity.Sys.Entities; [SugarTable(TableName = "DataPermissions")] public class DataPermissionEntity : SugarBaseEntity { + [SugarColumn(IsNullable = false, ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert))] public AssignTypeEnumType AssignType { get; set; } + [SugarColumn(IsNullable = false)] public string AssignValue { get; set; } + [SugarColumn(IsNullable = false, ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert))] public DeviceAssignmentTypeEnumType UniqueType { get; set; } + [SugarColumn(IsNullable = false)] public Guid UniqueValue { get; set; } + + + [SugarColumn(IsNullable = false, ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert))] + public DeviceTypeEnumType DeviceType { get; set; } } \ No newline at end of file diff --git a/Src/Dlhis.Sys/DataPermission/Controllers/DataPermissionsController.cs b/Src/Dlhis.Sys/DataPermission/Controllers/DataPermissionsController.cs index 5469b7b6..2f7ed8cd 100644 --- a/Src/Dlhis.Sys/DataPermission/Controllers/DataPermissionsController.cs +++ b/Src/Dlhis.Sys/DataPermission/Controllers/DataPermissionsController.cs @@ -1,4 +1,5 @@ using System.ComponentModel.DataAnnotations; +using Dlhis.Entity.Device.Enums; using Dlhis.Entity.Sys.Enums; using Dlhis.Sys.DataPermission.Request; using Dlhis.Sys.DataPermission.Services; @@ -28,10 +29,12 @@ public class DataPermissionsController : ControllerBase await _dataPermissionService.SaveAsync(request); } - + [HttpGet("assignments")] - public async Task> GetAssignmentsAsync(string assignValue, [EnumDataType(typeof(DeviceAssignmentTypeEnumType))] DeviceAssignmentTypeEnumType uniqueType) + public async Task> GetAssignmentsAsync(string assignValue, + [EnumDataType(typeof(DeviceAssignmentTypeEnumType))] DeviceAssignmentTypeEnumType uniqueType, + DeviceTypeEnumType type) { - return await _dataPermissionService.GetAssignmentsAsync(assignValue, uniqueType); + return await _dataPermissionService.GetAssignmentsAsync(assignValue, uniqueType, type); } } \ No newline at end of file diff --git a/Src/Dlhis.Sys/DataPermission/Request/DataPermissionSaveRequest.cs b/Src/Dlhis.Sys/DataPermission/Request/DataPermissionSaveRequest.cs index 952deeee..2b1584d3 100644 --- a/Src/Dlhis.Sys/DataPermission/Request/DataPermissionSaveRequest.cs +++ b/Src/Dlhis.Sys/DataPermission/Request/DataPermissionSaveRequest.cs @@ -1,4 +1,5 @@ using System.ComponentModel.DataAnnotations; +using Dlhis.Entity.Device.Enums; using Dlhis.Entity.Sys.Enums; namespace Dlhis.Sys.DataPermission.Request; @@ -13,6 +14,9 @@ public class DataPermissionSaveRequest : IValidatableObject public List Codes { get; set; } = new(); + [EnumDataType(typeof(DeviceTypeEnumType))] + public DeviceTypeEnumType Type { get; set; } + public IEnumerable Validate(ValidationContext validationContext) { diff --git a/Src/Dlhis.Sys/DataPermission/Services/IDataPermissionService.cs b/Src/Dlhis.Sys/DataPermission/Services/IDataPermissionService.cs index fcfdb329..b89d6542 100644 --- a/Src/Dlhis.Sys/DataPermission/Services/IDataPermissionService.cs +++ b/Src/Dlhis.Sys/DataPermission/Services/IDataPermissionService.cs @@ -1,3 +1,4 @@ +using Dlhis.Entity.Device.Enums; using Dlhis.Entity.Sys.Enums; using Dlhis.Sys.DataPermission.Request; @@ -7,5 +8,5 @@ public interface IDataPermissionService : IScopeDependency { Task SaveAsync(DataPermissionSaveRequest request); - Task> GetAssignmentsAsync(string assignValue, DeviceAssignmentTypeEnumType uniqueType); + Task> GetAssignmentsAsync(string assignValue, DeviceAssignmentTypeEnumType uniqueType, DeviceTypeEnumType type); } \ No newline at end of file diff --git a/Src/Dlhis.Sys/DataPermission/Services/Implements/DataPermissionService.cs b/Src/Dlhis.Sys/DataPermission/Services/Implements/DataPermissionService.cs index 662da832..fddd3b90 100644 --- a/Src/Dlhis.Sys/DataPermission/Services/Implements/DataPermissionService.cs +++ b/Src/Dlhis.Sys/DataPermission/Services/Implements/DataPermissionService.cs @@ -1,3 +1,4 @@ +using Dlhis.Entity.Device.Enums; using Dlhis.Entity.Sys.Entities; using Dlhis.Entity.Sys.Enums; using Dlhis.Sys.DataPermission.Request; @@ -21,6 +22,7 @@ public class DataPermissionService : IDataPermissionService .Where(x => x.AssignValue == request.AssignValue) .Where(x => x.AssignType == AssignTypeEnumType.User) .Where(x => x.UniqueType == request.UniqueType) + .Where(x => x.DeviceType == request.Type) .ToListAsync(); await _dbContext.DeleteReallyAsync(data); @@ -34,12 +36,13 @@ public class DataPermissionService : IDataPermissionService }).ToList()); } - public async Task> GetAssignmentsAsync(string assignValue, DeviceAssignmentTypeEnumType uniqueType) + public async Task> GetAssignmentsAsync(string assignValue, DeviceAssignmentTypeEnumType uniqueType, DeviceTypeEnumType type) { return await _dbContext.Queryable() .Where(x => x.AssignValue == assignValue) .Where(x => x.AssignType == AssignTypeEnumType.User) .Where(x => x.UniqueType == uniqueType) + .Where(x => x.DeviceType == type) .Select(x => x.UniqueValue) .ToListAsync(); }