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();
}