|
@@ -801,21 +801,35 @@ namespace TEAMModelBI.Controllers.DingDingStruc
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- foreach (var user in tempUser)
|
|
|
+ var userInfos = await table.FindListByDict<DingDingUserInfo>(new Dictionary<string, object> { { "PartitionKey", $"{partitionKey}" } });
|
|
|
+
|
|
|
+ var adminInfos = userInfos.FindAll(x => x.roles.Contains("admin"));
|
|
|
+ if (adminInfos.Count == 1)
|
|
|
+ {
|
|
|
+ return Ok(new { state = 403, msg = "已经是最后一个管理员了" });
|
|
|
+ }
|
|
|
+ else
|
|
|
{
|
|
|
- List<string> tempRoles = new(user.roles.Split(","));
|
|
|
- if (tempRoles.Contains("admin"))
|
|
|
+ foreach (var user in tempUser)
|
|
|
{
|
|
|
- tempRoles.Remove("admin");
|
|
|
- }
|
|
|
- user.roles = string.Join(",", tempRoles);
|
|
|
-
|
|
|
- DingDingUserInfo respUser = await table.SaveOrUpdate<DingDingUserInfo>(user);
|
|
|
+ if (!user.RowKey.Equals($"{rowKey}"))
|
|
|
+ {
|
|
|
+ List<string> tempRoles = new(user.roles.Split(","));
|
|
|
+ if (tempRoles.Contains("admin"))
|
|
|
+ {
|
|
|
+ tempRoles.Remove("admin");
|
|
|
+ }
|
|
|
+ user.roles = string.Join(",", tempRoles);
|
|
|
|
|
|
- if (respUser != null)
|
|
|
- {
|
|
|
- roles = !string.IsNullOrEmpty($"{respUser.roles}") ? new List<string>(respUser.roles.Split(",")) : new List<string>();
|
|
|
- msg.Append($"取消{respUser.name}【{respUser.RowKey}】账号的BI管理员");
|
|
|
+ DingDingUserInfo respUser = await table.SaveOrUpdate<DingDingUserInfo>(user);
|
|
|
+
|
|
|
+ if (respUser != null)
|
|
|
+ {
|
|
|
+ roles = !string.IsNullOrEmpty($"{respUser.roles}") ? new List<string>(respUser.roles.Split(",")) : new List<string>();
|
|
|
+ msg.Append($"取消{respUser.name}【{respUser.RowKey}】账号的BI管理员");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else return Ok(new { state = 1, msg = "不能删除自己" });
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1115,7 +1129,7 @@ namespace TEAMModelBI.Controllers.DingDingStruc
|
|
|
tmdMobile = "",
|
|
|
mail = "",
|
|
|
picture = "",
|
|
|
- roles = "assist",
|
|
|
+ roles = "",
|
|
|
joinTime = 0,
|
|
|
permissions = "areadata-read,areadata-upd,schooldata-read,schooldata-upd",
|
|
|
schoolIds = ""
|