diff --git a/Src/Dlhis.Sys/Identity/Request/UserCreateRequest.cs b/Src/Dlhis.Sys/Identity/Request/UserCreateRequest.cs
index 4ed87938..3d08abd0 100644
--- a/Src/Dlhis.Sys/Identity/Request/UserCreateRequest.cs
+++ b/Src/Dlhis.Sys/Identity/Request/UserCreateRequest.cs
@@ -20,11 +20,11 @@ public class UserCreateRequest
///
/// 厂区
///
- [Required]
- public string Tenant { get; set; }
+ [MinLength(1, ErrorMessage = "请明确厂区")]
+ public List Tenants { get; set; }
///
/// 名称
///
public string Name { get; set; }
-}
+}
\ No newline at end of file
diff --git a/Src/Dlhis.Sys/Identity/Services/Implements/UserService.cs b/Src/Dlhis.Sys/Identity/Services/Implements/UserService.cs
index 3381e7d7..c1bb80ce 100644
--- a/Src/Dlhis.Sys/Identity/Services/Implements/UserService.cs
+++ b/Src/Dlhis.Sys/Identity/Services/Implements/UserService.cs
@@ -30,7 +30,7 @@ public class UserService : IUserService
.LeftJoin((x, ur) => x.Id == ur.UserId)
.LeftJoin((x, ur, r) => ur.RoleId == r.Id)
.LeftJoin((x, ur, r, c) => x.Id == c.UserId && c.ClaimType == "preferred_username")
- .LeftJoin((x, ur, r, c, cc) => x.Id == c.UserId && c.ClaimType == "tenant")
+ .LeftJoin((x, ur, r, c, cc) => x.Id == cc.UserId && cc.ClaimType == "tenant")
.Where(x => x.UserName != "admin")
.Where((x, ur, r, c, cc) => cc.ClaimValue == tenant)
.WhereIF(request.IsOperator, (x, ur, r, c) => !SqlFunc.IsNullOrEmpty(r.Name))
@@ -116,11 +116,11 @@ public class UserService : IUserService
var id = (int)await _dbContext.InsertReturnIdentityAsync(user);
- await _dbContext.InsertAsync(new UserTenantEntity
+ await _dbContext.InsertAsync(request.Tenants.Select(x => new UserTenantEntity
{
- TenantCode = request.Tenant,
+ TenantCode = x,
UserId = id
- });
+ }).ToList());
if (request.Name.IsPresent())
{