From c39f77008d4af8d2706901e649a2b63334f2fb23 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Thu, 21 Mar 2024 11:31:50 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E8=90=A5=E4=B8=9A=E7=82=B9=E6=8E=A7?= =?UTF-8?q?=E5=88=B6(admin),unit=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Dishes/Response/DishesDetailResponse.cs | 20 +++++++++++++++++-- .../Services/Implements/DishesMenuService.cs | 1 + .../BusinessPlacePermissionsService.cs | 9 ++++++--- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/Src/Dlhis.Basic/Dishes/Response/DishesDetailResponse.cs b/Src/Dlhis.Basic/Dishes/Response/DishesDetailResponse.cs index 4d97b8d2..fe90d831 100644 --- a/Src/Dlhis.Basic/Dishes/Response/DishesDetailResponse.cs +++ b/Src/Dlhis.Basic/Dishes/Response/DishesDetailResponse.cs @@ -1,4 +1,7 @@ -namespace Dlhis.Basic.Dishes.Response; +using Kurisu.AspNetCore.Utils.Extensions; +using Newtonsoft.Json; + +namespace Dlhis.Basic.Dishes.Response; public class DishesDetailResponse { @@ -42,7 +45,20 @@ public class DishesDetailResponse /// /// 单位 /// - public List Units { get; set; } + public List Units + { + get + { + if (CurrentUnits.IsPresent()) + { + return CurrentUnits.ToObject>(); + } + return new () { "个" }; + } + } + + [JsonIgnore] + public string CurrentUnits { get; set; } /// /// 图片 diff --git a/Src/Dlhis.Basic/Dishes/Services/Implements/DishesMenuService.cs b/Src/Dlhis.Basic/Dishes/Services/Implements/DishesMenuService.cs index a8f2b277..67a77bef 100644 --- a/Src/Dlhis.Basic/Dishes/Services/Implements/DishesMenuService.cs +++ b/Src/Dlhis.Basic/Dishes/Services/Implements/DishesMenuService.cs @@ -93,6 +93,7 @@ public class DishesMenuService : IDishesMenuService Price = dishes.Price, Name = dishes.Name, Number = x.Number, + CurrentUnits = dishes.Units.ToString() }) .ToListAsync(); diff --git a/Src/Dlhis.Basic/Places/Services/Implements/BusinessPlacePermissionsService.cs b/Src/Dlhis.Basic/Places/Services/Implements/BusinessPlacePermissionsService.cs index 2aaa3918..13af5110 100644 --- a/Src/Dlhis.Basic/Places/Services/Implements/BusinessPlacePermissionsService.cs +++ b/Src/Dlhis.Basic/Places/Services/Implements/BusinessPlacePermissionsService.cs @@ -9,6 +9,7 @@ using Dlhis.Basic.Places.Dtos; using Kurisu.SqlSugar.Extensions; using Dlhis.Sys.Api; using Microsoft.AspNetCore.Mvc; +using System.Security.Claims; namespace Dlhis.Basic.BusinessPlace.Services.Implements; @@ -51,15 +52,17 @@ public class BusinessPlacePermissionsService : IBusinessPlacePermissionsService public async Task> GetMyAsync() { var userId = _currentUser.GetIntSubjectId(); + var role = _currentUser.GetUserClaim(ClaimTypes.Role); + var isAdmin = role == "admin" || role == "tenant-admin"; - var guids = await _dbContext.Queryable() - .Where(x => x.ManagerUserId == userId) + var codes = await _dbContext.Queryable() + .WhereIF(!isAdmin, x => x.ManagerUserId == userId) .Select(x => x.BusinessPlaceCode) .Distinct() .ToListAsync(); return await _dbContext.Queryable() - .Where(x => guids.Contains(x.Code)) + .Where(x => codes.Contains(x.Code)) .Select() .ToListAsync(); }