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()) {