Li 3 роки тому
батько
коміт
d189769d29
1 змінених файлів з 0 додано та 867 видалено
  1. 0 867
      TEAMModelBI/Controllers/DingDingStruc/DDStructController.cs

+ 0 - 867
TEAMModelBI/Controllers/DingDingStruc/DDStructController.cs

@@ -579,873 +579,6 @@ namespace TEAMModelBI.Controllers.DingDingStruc
             }
             }
         }
         }
 
 
-        /// <summary>
-        /// 查询钉钉和醍摩豆绑定信息
-        /// </summary>
-        /// <returns></returns>
-        [ProducesDefaultResponseType]
-        [HttpPost("get-allusers")]
-        public async Task<IActionResult> GetAllUsers()
-        {
-            string appKey = _configuration["DingDingAuth:appKey"];
-            string appSecret = _configuration["DingDingAuth:appSecret"];
-
-            Dictionary<string, object> dic = new Dictionary<string, object> { { "PartitionKey", "authority-bi" } };
-            List<Authority> authorityBIList = await _azureStorage.FindListByDict<Authority>(dic);
-
-            //获取access_token
-            DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");
-            OapiGettokenRequest request = new OapiGettokenRequest() { Appkey = appKey, Appsecret = appSecret };
-            request.SetHttpMethod("Get");
-            OapiGettokenResponse response = client.Execute(request);
-            if (response.IsError)
-            {
-                return BadRequest();
-            }
-
-            //access_token的有效期为7200秒(2小时),有效期内重复获取会返回相同结果并自动续期,过期后获取会返回新的access_token
-            string access_token = response.AccessToken;
-
-            //获取一级部门列表
-            IDingTalkClient v2DeptListClient = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/department/listsub");
-            OapiV2DepartmentListsubRequest reqDeptList1 = new OapiV2DepartmentListsubRequest() { DeptId = 1L, Language = "zh_CN" };
-            OapiV2DepartmentListsubResponse rspDeptList1 = v2DeptListClient.Execute(reqDeptList1, access_token);
-
-            //获取部门人员信息
-            IDingTalkClient userListClient = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/list");
-
-            //List<DeptUserInfo> deptUserInfos = new List<DeptUserInfo>();
-
-            //人员集合
-            List<DDUserInfoAndTMD> dDAndTmdInfos = new List<DDUserInfoAndTMD>();
-
-            if (rspDeptList1.Result != null)
-            {
-                foreach (var tempDept1 in rspDeptList1.Result)
-                {
-                    //获取一级
-                    OapiV2UserListRequest reqUserList1 = new OapiV2UserListRequest() 
-                    {
-                        DeptId = tempDept1.DeptId,
-                        Cursor = 0L,
-                        Size = 50L,
-                        OrderField = "custom",
-                        Language= "zh_CN"
-                    };
-
-                    reqUserList1.SetHttpMethod("GET");
-                    OapiV2UserListResponse rspV2UserList1 = userListClient.Execute(reqUserList1, access_token);
-
-                    if (rspV2UserList1.Result.List != null)
-                    {
-                        foreach (var itemUser1 in rspV2UserList1.Result.List)
-                        {
-                            var tempInfo = dDAndTmdInfos.Find(x => x.unionid.Equals(itemUser1.Unionid));
-                            if (string.IsNullOrEmpty($"{tempInfo}"))
-                            {
-                                DDUserInfoAndTMD dDAndTmdInfo1 = new DDUserInfoAndTMD();
-                                dDAndTmdInfo1.unionid = itemUser1.Unionid;
-                                dDAndTmdInfo1.userid = itemUser1.Userid;
-                                dDAndTmdInfo1.title = itemUser1.Title;
-                                dDAndTmdInfo1.name = itemUser1.Name;
-                                dDAndTmdInfo1.mobile = itemUser1.Mobile;
-                                dDAndTmdInfo1.jobNumber = itemUser1.JobNumber;
-                                dDAndTmdInfo1.avatar = itemUser1.Avatar;
-                                dDAndTmdInfo1.deptId = tempDept1.DeptId;
-                                dDAndTmdInfo1.deptName = tempDept1.Name;
-                                //dDAndTmdInfo1.depts = itemUser.DeptIdList;
-
-                                List<string> roles = new List<string>();//角色列表
-                                List<string> power = new List<string>();//权限列表
-                                string sqltxt = $"select distinct value(c) from c join A1 in c.ddbinds where A1.userid ='{itemUser1.Userid}'";
-                                try
-                                {
-                                    await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIterator<Teacher>(queryText: sqltxt, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey("Base") }))
-                                    {
-                                        dDAndTmdInfo1.tmdId = item.id;
-                                        dDAndTmdInfo1.isexist = true;
-
-                                        if (!string.IsNullOrEmpty($"{item.defaultSchool}"))
-                                        {
-                                            var schoolRoles = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").ReadItemStreamAsync(item.id, new PartitionKey($"Teacher-{item.defaultSchool}"));
-                                            if (schoolRoles.Status == 200)
-                                            {
-                                                using var json = await JsonDocument.ParseAsync(schoolRoles.ContentStream);
-                                                if (json.RootElement.TryGetProperty("roles", out JsonElement _roles) && _roles.ValueKind != JsonValueKind.Null)
-                                                {
-                                                    foreach (var obj in _roles.EnumerateArray())
-                                                    {
-                                                        //初始定义顾问的assistant 更改为assist
-                                                        if (obj.GetString().Equals($"assist"))
-                                                        {
-                                                            roles.Add(obj.GetString());
-                                                        }
-                                                    }
-                                                }
-                                                if (json.RootElement.TryGetProperty("permissions", out JsonElement _permissions) && _permissions.ValueKind != JsonValueKind.Null)
-                                                {
-                                                    foreach (var obj in _permissions.EnumerateArray())
-                                                    {
-                                                        //显示BI权限
-                                                        foreach (var aut in authorityBIList)
-                                                        {
-                                                            if (aut.RowKey.Equals(obj.GetString()))
-                                                            {
-                                                                power.Add(obj.GetString());
-                                                            }
-                                                        }
-                                                    }
-                                                }
-                                            }
-
-                                            dDAndTmdInfo1.tmdroles = roles;
-                                            dDAndTmdInfo1.tmdpower = power;
-                                        }
-                                    }
-                                }
-                                catch { }
-
-                                dDAndTmdInfos.Add(dDAndTmdInfo1);//添加一级
-                            }
-                        }
-                    }
-                    
-                    //获取二级部门
-                    OapiV2DepartmentListsubRequest reqDeptList2 = new OapiV2DepartmentListsubRequest() { DeptId = tempDept1.DeptId, Language = "zh_CN" };
-                    OapiV2DepartmentListsubResponse rspDeptList2 = v2DeptListClient.Execute(reqDeptList2, access_token);
-
-                    if (rspDeptList2.Result != null)
-                    {
-                        foreach (var tempDept2 in rspDeptList2.Result)
-                        {
-                            //获取二级部门用户
-                            OapiV2UserListRequest reqUserList2 = new OapiV2UserListRequest()
-                            {
-                                DeptId = tempDept2.DeptId,
-                                Cursor = 0L,
-                                Size = 50L,
-                                OrderField = "custom",
-                                Language = "zh_CN"
-                            };
-
-                            reqUserList1.SetHttpMethod("GET");
-                            OapiV2UserListResponse rspV2UserList2 = userListClient.Execute(reqUserList2, access_token);
-
-                            if (rspV2UserList2.Result.List != null)
-                            {
-                                foreach (var itemUser2 in rspV2UserList2.Result.List)
-                                {
-                                    var tempInfo = dDAndTmdInfos.Find(x => x.unionid.Equals(itemUser2.Unionid));
-                                    if (string.IsNullOrEmpty($"{tempInfo}"))
-                                    {
-                                        DDUserInfoAndTMD dDAndTmdInfo2 = new DDUserInfoAndTMD();
-                                        dDAndTmdInfo2.unionid = itemUser2.Unionid;
-                                        dDAndTmdInfo2.userid = itemUser2.Userid;
-                                        dDAndTmdInfo2.title = itemUser2.Title;
-                                        dDAndTmdInfo2.name = itemUser2.Name;
-                                        dDAndTmdInfo2.mobile = itemUser2.Mobile;
-                                        dDAndTmdInfo2.jobNumber = itemUser2.JobNumber;
-                                        dDAndTmdInfo2.avatar = itemUser2.Avatar;
-                                        dDAndTmdInfo2.deptId = tempDept2.DeptId;
-                                        dDAndTmdInfo2.deptName = tempDept2.Name;
-                                        //dDAndTmdInfo1.depts = itemUser2.DeptIdList;
-
-                                        List<string> roles = new List<string>();//角色列表
-                                        List<string> power = new List<string>();//权限列表
-                                        string sqltxt = $"select distinct value(c) from c join A1 in c.ddbinds where A1.userid ='{itemUser2.Userid}'";
-                                        try
-                                        {
-                                            await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIterator<Teacher>(queryText: sqltxt, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey("Base") }))
-                                            {
-                                                dDAndTmdInfo2.tmdId = item.id;
-                                                dDAndTmdInfo2.isexist = true;
-
-                                                if (!string.IsNullOrEmpty($"{item.defaultSchool}"))
-                                                {
-                                                    var schoolRoles = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").ReadItemStreamAsync(item.id, new PartitionKey($"Teacher-{item.defaultSchool}"));
-                                                    if (schoolRoles.Status == 200)
-                                                    {
-                                                        using var json = await JsonDocument.ParseAsync(schoolRoles.ContentStream);
-                                                        if (json.RootElement.TryGetProperty("roles", out JsonElement _roles) && _roles.ValueKind != JsonValueKind.Null)
-                                                        {
-                                                            foreach (var obj in _roles.EnumerateArray())
-                                                            {
-                                                                //初始定义顾问的assistant 更改为assist
-                                                                if (obj.GetString().Equals($"assist"))
-                                                                {
-                                                                    roles.Add(obj.GetString());
-                                                                }
-                                                            }
-                                                        }
-                                                        if (json.RootElement.TryGetProperty("permissions", out JsonElement _permissions) && _permissions.ValueKind != JsonValueKind.Null)
-                                                        {
-                                                            foreach (var obj in _permissions.EnumerateArray())
-                                                            {
-                                                                //显示BI权限
-                                                                foreach (var aut in authorityBIList)
-                                                                {
-                                                                    if (aut.RowKey.Equals(obj.GetString()))
-                                                                    {
-                                                                        power.Add(obj.GetString());
-                                                                    }
-                                                                }
-                                                            }
-                                                        }
-                                                    }
-
-                                                    dDAndTmdInfo2.tmdroles = roles;
-                                                    dDAndTmdInfo2.tmdpower = power;
-                                                }
-                                            }
-                                        }
-                                        catch { }
-
-                                        dDAndTmdInfos.Add(dDAndTmdInfo2);//添加二级
-                                    }
-                                }
-                            }
-
-                            //获取三级部门
-                            OapiV2DepartmentListsubRequest reqDeptList3 = new OapiV2DepartmentListsubRequest() { DeptId = tempDept2.DeptId, Language = "zh_CN" };
-                            OapiV2DepartmentListsubResponse rspDeptList3 = v2DeptListClient.Execute(reqDeptList3, access_token);
-
-                            if (rspDeptList3.Result != null)
-                            {
-                                foreach (var tempDept3 in rspDeptList3.Result)
-                                {
-                                    //获取三级部门用户
-                                    OapiV2UserListRequest reqUserList3 = new OapiV2UserListRequest()
-                                    {
-                                        DeptId = tempDept3.DeptId,
-                                        Cursor = 0L,
-                                        Size = 50L,
-                                        OrderField = "custom",
-                                        Language = "zh_CN"
-                                    };
-
-                                    reqUserList1.SetHttpMethod("GET");
-                                    OapiV2UserListResponse rspV2UserList3 = userListClient.Execute(reqUserList3, access_token);
-
-                                    if (rspV2UserList3.Result.List != null)
-                                    {
-                                        foreach (var itemUser3 in rspV2UserList3.Result.List)
-                                        {
-                                            var tempInfo = dDAndTmdInfos.Find(x => x.unionid.Equals(itemUser3.Unionid));
-                                            if (string.IsNullOrEmpty($"{tempInfo}"))
-                                            {
-                                                DDUserInfoAndTMD dDAndTmdInfo3 = new DDUserInfoAndTMD();
-                                                dDAndTmdInfo3.unionid = itemUser3.Unionid;
-                                                dDAndTmdInfo3.userid = itemUser3.Userid;
-                                                dDAndTmdInfo3.title = itemUser3.Title;
-                                                dDAndTmdInfo3.name = itemUser3.Name;
-                                                dDAndTmdInfo3.mobile = itemUser3.Mobile;
-                                                dDAndTmdInfo3.jobNumber = itemUser3.JobNumber;
-                                                dDAndTmdInfo3.avatar = itemUser3.Avatar;
-                                                dDAndTmdInfo3.deptId = tempDept3.DeptId;
-                                                dDAndTmdInfo3.deptName = tempDept3.Name;
-                                                //dDAndTmdInfo1.depts = itemUser3.DeptIdList;
-
-                                                List<string> roles = new List<string>();//角色列表
-                                                List<string> power = new List<string>();//权限列表
-                                                string sqltxt = $"select distinct value(c) from c join A1 in c.ddbinds where A1.userid ='{itemUser3.Userid}'";
-                                                try
-                                                {
-                                                    await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIterator<Teacher>(queryText: sqltxt, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey("Base") }))
-                                                    {
-                                                        dDAndTmdInfo3.tmdId = item.id;
-                                                        dDAndTmdInfo3.isexist = true;
-
-                                                        if (!string.IsNullOrEmpty($"{item.defaultSchool}"))
-                                                        {
-                                                            var schoolRoles = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").ReadItemStreamAsync(item.id, new PartitionKey($"Teacher-{item.defaultSchool}"));
-                                                            if (schoolRoles.Status == 200)
-                                                            {
-                                                                using var json = await JsonDocument.ParseAsync(schoolRoles.ContentStream);
-                                                                if (json.RootElement.TryGetProperty("roles", out JsonElement _roles) && _roles.ValueKind != JsonValueKind.Null)
-                                                                {
-                                                                    foreach (var obj in _roles.EnumerateArray())
-                                                                    {
-                                                                        //初始定义顾问的assistant 更改为assist
-                                                                        if (obj.GetString().Equals($"assist"))
-                                                                        {
-                                                                            roles.Add(obj.GetString());
-                                                                        }
-                                                                    }
-                                                                }
-                                                                if (json.RootElement.TryGetProperty("permissions", out JsonElement _permissions) && _permissions.ValueKind != JsonValueKind.Null)
-                                                                {
-                                                                    foreach (var obj in _permissions.EnumerateArray())
-                                                                    {
-                                                                        //显示BI权限
-                                                                        foreach (var aut in authorityBIList)
-                                                                        {
-                                                                            if (aut.RowKey.Equals(obj.GetString()))
-                                                                            {
-                                                                                power.Add(obj.GetString());
-                                                                            }
-                                                                        }
-                                                                    }
-                                                                }
-                                                            }
-
-                                                            dDAndTmdInfo3.tmdroles = roles;
-                                                            dDAndTmdInfo3.tmdpower = power;
-                                                        }
-                                                    }
-                                                }
-                                                catch { }
-
-                                                dDAndTmdInfos.Add(dDAndTmdInfo3);//添加二级
-                                            }
-                                        }
-                                    }
-
-                                    //获取四级部门
-                                    OapiV2DepartmentListsubRequest reqDeptList4 = new OapiV2DepartmentListsubRequest() { DeptId = tempDept2.DeptId, Language = "zh_CN" };
-                                    OapiV2DepartmentListsubResponse rspDeptList4 = v2DeptListClient.Execute(reqDeptList4, access_token);
-
-                                    if (rspDeptList4.Result != null)
-                                    {
-                                        foreach (var tempDept4 in rspDeptList4.Result)
-                                        { 
-                                            //获取四级部门用户
-                                            OapiV2UserListRequest reqUserList4 = new OapiV2UserListRequest()
-                                            {
-                                                DeptId = tempDept4.DeptId,
-                                                Cursor = 0L,
-                                                Size = 50L,
-                                                OrderField = "custom",
-                                                Language = "zh_CN"
-                                            };
-
-                                            reqUserList1.SetHttpMethod("GET");
-                                            OapiV2UserListResponse rspV2UserList4 = userListClient.Execute(reqUserList4, access_token);
-
-                                            if (rspV2UserList4.Result.List != null)
-                                            {
-                                                foreach (var itemUser4 in rspV2UserList4.Result.List)
-                                                {
-                                                    var tempInfo = dDAndTmdInfos.Find(x => x.unionid.Equals(itemUser4.Unionid));
-                                                    if (string.IsNullOrEmpty($"{tempInfo}"))
-                                                    {
-                                                        DDUserInfoAndTMD dDAndTmdInfo3 = new DDUserInfoAndTMD();
-                                                        dDAndTmdInfo3.unionid = itemUser4.Unionid;
-                                                        dDAndTmdInfo3.userid = itemUser4.Userid;
-                                                        dDAndTmdInfo3.title = itemUser4.Title;
-                                                        dDAndTmdInfo3.name = itemUser4.Name;
-                                                        dDAndTmdInfo3.mobile = itemUser4.Mobile;
-                                                        dDAndTmdInfo3.jobNumber = itemUser4.JobNumber;
-                                                        dDAndTmdInfo3.avatar = itemUser4.Avatar;
-                                                        dDAndTmdInfo3.deptId = tempDept4.DeptId;
-                                                        dDAndTmdInfo3.deptName = tempDept4.Name;
-                                                        //dDAndTmdInfo1.depts = itemUser3.DeptIdList;
-
-                                                        List<string> roles = new List<string>();//角色列表
-                                                        List<string> power = new List<string>();//权限列表
-                                                        string sqltxt = $"select distinct value(c) from c join A1 in c.ddbinds where A1.userid ='{itemUser4.Userid}'";
-                                                        try
-                                                        {
-                                                            await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIterator<Teacher>(queryText: sqltxt, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey("Base") }))
-                                                            {
-                                                                dDAndTmdInfo3.tmdId = item.id;
-                                                                dDAndTmdInfo3.isexist = true;
-
-                                                                if (!string.IsNullOrEmpty($"{item.defaultSchool}"))
-                                                                {
-                                                                    var schoolRoles = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").ReadItemStreamAsync(item.id, new PartitionKey($"Teacher-{item.defaultSchool}"));
-                                                                    if (schoolRoles.Status == 200)
-                                                                    {
-                                                                        using var json = await JsonDocument.ParseAsync(schoolRoles.ContentStream);
-                                                                        if (json.RootElement.TryGetProperty("roles", out JsonElement _roles) && _roles.ValueKind != JsonValueKind.Null)
-                                                                        {
-                                                                            foreach (var obj in _roles.EnumerateArray())
-                                                                            {
-                                                                                //初始定义顾问的assistant 更改为assist
-                                                                                if (obj.GetString().Equals($"assist"))
-                                                                                {
-                                                                                    roles.Add(obj.GetString());
-                                                                                }
-                                                                            }
-                                                                        }
-                                                                        if (json.RootElement.TryGetProperty("permissions", out JsonElement _permissions) && _permissions.ValueKind != JsonValueKind.Null)
-                                                                        {
-                                                                            foreach (var obj in _permissions.EnumerateArray())
-                                                                            {
-                                                                                //显示BI权限
-                                                                                foreach (var aut in authorityBIList)
-                                                                                {
-                                                                                    if (aut.RowKey.Equals(obj.GetString()))
-                                                                                    {
-                                                                                        power.Add(obj.GetString());
-                                                                                    }
-                                                                                }
-                                                                            }
-                                                                        }
-                                                                    }
-
-                                                                    dDAndTmdInfo3.tmdroles = roles;
-                                                                    dDAndTmdInfo3.tmdpower = power;
-                                                                }
-                                                            }
-                                                        }
-                                                        catch { }
-
-                                                        dDAndTmdInfos.Add(dDAndTmdInfo3);//添加四级用户信息
-                                                    }
-                                                }
-                                            }
-
-                                            //获取五级部门
-                                            OapiV2DepartmentListsubRequest reqDeptList5 = new OapiV2DepartmentListsubRequest() { DeptId = tempDept2.DeptId, Language = "zh_CN" };
-                                            OapiV2DepartmentListsubResponse rspDeptList5 = v2DeptListClient.Execute(reqDeptList5, access_token);
-
-                                            if (rspDeptList5.Result != null)
-                                            {
-                                                foreach (var tempDept5 in rspDeptList4.Result)
-                                                {
-                                                    //获取五级部门用户
-                                                    OapiV2UserListRequest reqUserList5 = new OapiV2UserListRequest()
-                                                    {
-                                                        DeptId = tempDept5.DeptId,
-                                                        Cursor = 0L,
-                                                        Size = 50L,
-                                                        OrderField = "custom",
-                                                        Language = "zh_CN"
-                                                    };
-
-                                                    reqUserList1.SetHttpMethod("GET");
-                                                    OapiV2UserListResponse rspV2UserList5 = userListClient.Execute(reqUserList5, access_token);
-
-                                                    if (rspV2UserList5.Result.List != null)
-                                                    {
-                                                        foreach (var itemUser5 in rspV2UserList5.Result.List)
-                                                        {
-                                                            var tempInfo = dDAndTmdInfos.Find(x => x.unionid.Equals(itemUser5.Unionid));
-                                                            if (string.IsNullOrEmpty($"{tempInfo}"))
-                                                            {
-                                                                DDUserInfoAndTMD dDAndTmdInfo5 = new DDUserInfoAndTMD();
-                                                                dDAndTmdInfo5.unionid = itemUser5.Unionid;
-                                                                dDAndTmdInfo5.userid = itemUser5.Userid;
-                                                                dDAndTmdInfo5.title = itemUser5.Title;
-                                                                dDAndTmdInfo5.name = itemUser5.Name;
-                                                                dDAndTmdInfo5.mobile = itemUser5.Mobile;
-                                                                dDAndTmdInfo5.jobNumber = itemUser5.JobNumber;
-                                                                dDAndTmdInfo5.avatar = itemUser5.Avatar;
-                                                                dDAndTmdInfo5.deptId = tempDept5.DeptId;
-                                                                dDAndTmdInfo5.deptName = tempDept5.Name;
-                                                                //dDAndTmdInfo1.depts = itemUser3.DeptIdList;
-
-                                                                List<string> roles = new List<string>();//角色列表
-                                                                List<string> power = new List<string>();//权限列表
-                                                                string sqltxt = $"select distinct value(c) from c join A1 in c.ddbinds where A1.userid ='{itemUser5.Userid}'";
-                                                                try
-                                                                {
-                                                                    await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIterator<Teacher>(queryText: sqltxt, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey("Base") }))
-                                                                    {
-                                                                        dDAndTmdInfo5.tmdId = item.id;
-                                                                        dDAndTmdInfo5.isexist = true;
-
-                                                                        if (!string.IsNullOrEmpty($"{item.defaultSchool}"))
-                                                                        {
-                                                                            var schoolRoles = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").ReadItemStreamAsync(item.id, new PartitionKey($"Teacher-{item.defaultSchool}"));
-                                                                            if (schoolRoles.Status == 200)
-                                                                            {
-                                                                                using var json = await JsonDocument.ParseAsync(schoolRoles.ContentStream);
-                                                                                if (json.RootElement.TryGetProperty("roles", out JsonElement _roles) && _roles.ValueKind != JsonValueKind.Null)
-                                                                                {
-                                                                                    foreach (var obj in _roles.EnumerateArray())
-                                                                                    {
-                                                                                        //初始定义顾问的assistant 更改为assist
-                                                                                        if (obj.GetString().Equals($"assist"))
-                                                                                        {
-                                                                                            roles.Add(obj.GetString());
-                                                                                        }
-                                                                                    }
-                                                                                }
-                                                                                if (json.RootElement.TryGetProperty("permissions", out JsonElement _permissions) && _permissions.ValueKind != JsonValueKind.Null)
-                                                                                {
-                                                                                    foreach (var obj in _permissions.EnumerateArray())
-                                                                                    {
-                                                                                        //显示BI权限
-                                                                                        foreach (var aut in authorityBIList)
-                                                                                        {
-                                                                                            if (aut.RowKey.Equals(obj.GetString()))
-                                                                                            {
-                                                                                                power.Add(obj.GetString());
-                                                                                            }
-                                                                                        }
-                                                                                    }
-                                                                                }
-                                                                            }
-
-                                                                            dDAndTmdInfo5.tmdroles = roles;
-                                                                            dDAndTmdInfo5.tmdpower = power;
-                                                                        }
-                                                                    }
-                                                                }
-                                                                catch { }
-
-                                                                dDAndTmdInfos.Add(dDAndTmdInfo5);//添加五级用户信息
-                                                            }
-                                                        }
-                                                    }
-
-
-                                                }
-                                            }
-                                            //五级部门和下面的人员信息   结束
-
-                                        }
-                                    }
-                                    //四级部门和下面的人员信息  结束
-                                }
-                            }
-                            //三级部门和下面的人员信息 结束
-                        }
-                    }
-                    //三级部门和下面的人员信息 结束
-                }
-            }
-            return Ok(new { state = 200, dDAndTmdInfos });
-        }
-
-        /// <summary>
-        /// 查询钉钉所有人数     -----还未完成
-        /// </summary>
-        /// <returns></returns>
-        [ProducesDefaultResponseType]
-        [HttpPost("get-ddstrucandymdinfo")]
-        public async Task<IActionResult> GetDDStrucAndTmdInfo() 
-        {
-            try
-            {
-                string appKey = _configuration["DingDingAuth:appKey"];
-                string appSecret = _configuration["DingDingAuth:appSecret"];
-
-                Dictionary<string, object> dic = new Dictionary<string, object> { { "PartitionKey", "authority-bi" } };
-                List<Authority> authorityBIList = await _azureStorage.FindListByDict<Authority>(dic);
-
-                //获取access_token
-                DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");
-                OapiGettokenRequest request = new OapiGettokenRequest() { Appkey = appKey, Appsecret = appSecret };
-                request.SetHttpMethod("Get");
-                OapiGettokenResponse response = client.Execute(request);
-                if (response.IsError)
-                {
-                    return BadRequest();
-                }
-
-                //access_token的有效期为7200秒(2小时),有效期内重复获取会返回相同结果并自动续期,过期后获取会返回新的access_token
-                string access_token = response.AccessToken;
-
-                //获取一级部门列表
-                IDingTalkClient v2DeptListClient1 = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/department/listsub");
-                OapiV2DepartmentListsubRequest reqDeptList1 = new OapiV2DepartmentListsubRequest() { DeptId = 1L, Language = "zh_CN" };
-                OapiV2DepartmentListsubResponse rspDeptList1 = v2DeptListClient1.Execute(reqDeptList1, access_token);
-
-                IDingTalkClient userListClient = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/list");
-                //var deptlist = rspDeptList1.Result;
-                List<DeptStruc> deptStrucs = new List<DeptStruc>();
-
-                if (rspDeptList1.Result != null)
-                {
-                    foreach (var tempDept in rspDeptList1.Result)
-                    {
-                        DeptStruc deptStruc = new DeptStruc();
-                        deptStruc.deptId = tempDept.DeptId;
-                        deptStruc.parentId = tempDept.ParentId;
-                        deptStruc.name = tempDept.Name;
-
-                        OapiV2UserListRequest reqUserList1 = new OapiV2UserListRequest();
-                        reqUserList1.DeptId = tempDept.DeptId;
-                        reqUserList1.Cursor = 0L;
-                        reqUserList1.Size = 50L;
-                        reqUserList1.ContainAccessLimit = false;
-                        reqUserList1.OrderField = "custom";
-                        reqUserList1.Language = "zh_CN";
-                        reqUserList1.SetHttpMethod("GET");
-                        OapiV2UserListResponse rspV2UserList1 = userListClient.Execute(reqUserList1, access_token);
-
-                        if (rspV2UserList1.Result.List != null)
-                        {
-                            List<DDUserInfoAndTMD> dDAndTmdInfos = new List<DDUserInfoAndTMD>();
-                            foreach (var itemUser in rspV2UserList1.Result.List)
-                            {
-                                DDUserInfoAndTMD dDAndTmdInfo = new DDUserInfoAndTMD();
-                                dDAndTmdInfo.unionid = itemUser.Unionid;
-                                dDAndTmdInfo.userid = itemUser.Userid;
-                                dDAndTmdInfo.title = itemUser.Title;
-                                dDAndTmdInfo.name = itemUser.Name;
-                                dDAndTmdInfo.mobile = itemUser.Mobile;
-                                dDAndTmdInfo.jobNumber = itemUser.JobNumber;
-                                dDAndTmdInfo.avatar = itemUser.Avatar;
-                                dDAndTmdInfo.depts = itemUser.DeptIdList;
-
-                                List<string> roles = new List<string>();//角色列表
-                                List<string> power = new List<string>();//权限列表
-                                string sqltxt = $"select distinct value(c) from c join A1 in c.ddbinds where A1.userid ='{itemUser.Userid}'";
-                                try
-                                {
-                                    await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIterator<Teacher>(queryText: sqltxt, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey("Base") }))
-                                    {
-                                        dDAndTmdInfo.tmdId = item.id;
-                                        dDAndTmdInfo.isexist = true;
-
-                                        if (!string.IsNullOrEmpty($"{item.defaultSchool}"))
-                                        {
-                                            var schoolRoles = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").ReadItemStreamAsync(item.id, new PartitionKey($"Teacher-{item.defaultSchool}"));
-                                            if (schoolRoles.Status == 200)
-                                            {
-                                                using var json = await JsonDocument.ParseAsync(schoolRoles.ContentStream);
-                                                if (json.RootElement.TryGetProperty("roles", out JsonElement _roles) && _roles.ValueKind != JsonValueKind.Null)
-                                                {
-                                                    foreach (var obj in _roles.EnumerateArray())
-                                                    {
-                                                        //初始定义顾问的assistant 更改为assist
-                                                        if (obj.GetString().Equals($"assist"))
-                                                        {
-                                                            roles.Add(obj.GetString());
-                                                        }
-                                                    }
-                                                }
-                                                if (json.RootElement.TryGetProperty("permissions", out JsonElement _permissions) && _permissions.ValueKind != JsonValueKind.Null)
-                                                {
-                                                    foreach (var obj in _permissions.EnumerateArray())
-                                                    {
-                                                        //显示BI权限
-                                                        foreach (var aut in authorityBIList)
-                                                        {
-                                                            if (aut.RowKey.Equals(obj.GetString()))
-                                                            {
-                                                                power.Add(obj.GetString());
-                                                            }
-                                                        }
-                                                    }
-                                                }
-                                            }
-
-                                            dDAndTmdInfo.tmdroles = roles;
-                                            dDAndTmdInfo.tmdpower = power;
-                                        }
-                                    }
-                                }
-                                catch { }
-                                dDAndTmdInfos.Add(dDAndTmdInfo);
-                                deptStruc.tmddd = dDAndTmdInfos;
-                            }
-                        }
-
-                        //获取二级部门列表
-                        OapiV2DepartmentListsubRequest reqDeptList2 = new OapiV2DepartmentListsubRequest() { DeptId = tempDept.DeptId, Language = "zh_CN" };
-                        OapiV2DepartmentListsubResponse rspDeptList2 = v2DeptListClient1.Execute(reqDeptList2, access_token);
-                        if (rspDeptList2.Result != null)
-                        {
-                            List<DeptStruc> deptStrucs2 = new List<DeptStruc>();
-                            foreach (var tempDept2 in rspDeptList2.Result)
-                            {
-                                DeptStruc deptStruc2 = new DeptStruc();
-                                deptStruc2.deptId = tempDept2.DeptId;
-                                deptStruc2.parentId = tempDept2.ParentId;
-                                deptStruc2.name = tempDept2.Name;
-
-                                //获取二级部门列表
-                                OapiV2UserListRequest reqUserList2 = new OapiV2UserListRequest();
-                                reqUserList2.DeptId = tempDept2.DeptId;
-                                reqUserList2.Cursor = 0L;
-                                reqUserList2.Size = 50L;
-                                reqUserList2.ContainAccessLimit = false;
-                                reqUserList2.OrderField = "custom";
-                                reqUserList2.Language = "zh_CN";
-                                reqUserList2.SetHttpMethod("GET");
-                                OapiV2UserListResponse rspV2UserList2 = userListClient.Execute(reqUserList2, access_token);
-
-                                if (rspV2UserList2.Result.List != null)
-                                {
-                                    List<DDUserInfoAndTMD> dDAndTmdInfos2 = new List<DDUserInfoAndTMD>();
-                                    foreach (var itemUser in rspV2UserList2.Result.List)
-                                    {
-                                        DDUserInfoAndTMD dDAndTmdInfo2 = new DDUserInfoAndTMD();
-                                        dDAndTmdInfo2.unionid = itemUser.Unionid;
-                                        dDAndTmdInfo2.userid = itemUser.Userid;
-                                        dDAndTmdInfo2.title = itemUser.Title;
-                                        dDAndTmdInfo2.name = itemUser.Name;
-                                        dDAndTmdInfo2.mobile = itemUser.Mobile;
-                                        dDAndTmdInfo2.jobNumber = itemUser.JobNumber;
-                                        dDAndTmdInfo2.avatar = itemUser.Avatar;
-                                        dDAndTmdInfo2.depts = itemUser.DeptIdList;
-
-                                        List<string> roles = new List<string>();//角色列表
-                                        List<string> power = new List<string>();//权限列表
-                                        string sqltxt = $"select distinct value(c) from c join A1 in c.ddbinds where A1.userid ='{itemUser.Userid}'";
-                                        try
-                                        {
-                                            await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIterator<Teacher>(queryText: sqltxt, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey("Base") }))
-                                            {
-                                                dDAndTmdInfo2.tmdId = item.id;
-                                                dDAndTmdInfo2.isexist = true;
-
-                                                if (!string.IsNullOrEmpty($"{item.defaultSchool}"))
-                                                {
-                                                    var schoolRoles = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").ReadItemStreamAsync(item.id, new PartitionKey($"Teacher-{item.defaultSchool}"));
-                                                    if (schoolRoles.Status == 200)
-                                                    {
-                                                        using var json = await JsonDocument.ParseAsync(schoolRoles.ContentStream);
-                                                        if (json.RootElement.TryGetProperty("roles", out JsonElement _roles) && _roles.ValueKind != JsonValueKind.Null)
-                                                        {
-                                                            foreach (var obj in _roles.EnumerateArray())
-                                                            {
-                                                                //初始定义顾问的assistant 更改为assist
-                                                                if (obj.GetString().Equals($"assist"))
-                                                                {
-                                                                    roles.Add(obj.GetString());
-                                                                }
-                                                            }
-                                                        }
-                                                        if (json.RootElement.TryGetProperty("permissions", out JsonElement _permissions) && _permissions.ValueKind != JsonValueKind.Null)
-                                                        {
-                                                            foreach (var obj in _permissions.EnumerateArray())
-                                                            {
-                                                                //显示BI权限
-                                                                foreach (var aut in authorityBIList)
-                                                                {
-                                                                    if (aut.RowKey.Equals(obj.GetString()))
-                                                                    {
-                                                                        power.Add(obj.GetString());
-                                                                    }
-                                                                }
-                                                            }
-                                                        }
-                                                    }
-
-                                                    dDAndTmdInfo2.tmdroles = roles;
-                                                    dDAndTmdInfo2.tmdpower = power;
-                                                }
-                                            }
-                                        }
-                                        catch { }
-                                        dDAndTmdInfos2.Add(dDAndTmdInfo2);
-                                        deptStruc2.tmddd = dDAndTmdInfos2;
-                                    }
-                                }
-
-
-                                //获取三级部门列表
-                                OapiV2DepartmentListsubRequest reqDeptList3 = new OapiV2DepartmentListsubRequest() { DeptId = tempDept2.DeptId, Language = "zh_CN" };
-                                OapiV2DepartmentListsubResponse rspDeptList3 = v2DeptListClient1.Execute(reqDeptList2, access_token);
-                                if (rspDeptList3.Result != null)
-                                {
-                                    List<DeptStruc> deptStrucs3 = new List<DeptStruc>();
-                                    foreach (var tempDept3 in rspDeptList2.Result)
-                                    {
-                                        DeptStruc deptStruc3 = new DeptStruc();
-                                        deptStruc3.deptId = tempDept3.DeptId;
-                                        deptStruc3.parentId = tempDept3.ParentId;
-                                        deptStruc3.name = tempDept3.Name;
-
-                                        //获取三级部门列表
-                                        OapiV2UserListRequest reqUserList3 = new OapiV2UserListRequest();
-                                        reqUserList3.DeptId = tempDept3.DeptId;
-                                        reqUserList3.Cursor = 0L;
-                                        reqUserList3.Size = 50L;
-                                        reqUserList3.ContainAccessLimit = false;
-                                        reqUserList3.OrderField = "custom";
-                                        reqUserList3.Language = "zh_CN";
-                                        reqUserList3.SetHttpMethod("GET");
-                                        OapiV2UserListResponse rspV2UserList3 = userListClient.Execute(reqUserList2, access_token);
-
-                                        if (rspV2UserList3.Result.List != null)
-                                        {
-                                            List<DDUserInfoAndTMD> dDAndTmdInfos3 = new List<DDUserInfoAndTMD>();
-                                            foreach (var itemUser in rspV2UserList3.Result.List)
-                                            {
-                                                DDUserInfoAndTMD dDAndTmdInfo3 = new DDUserInfoAndTMD();
-                                                dDAndTmdInfo3.unionid = itemUser.Unionid;
-                                                dDAndTmdInfo3.userid = itemUser.Userid;
-                                                dDAndTmdInfo3.title = itemUser.Title;
-                                                dDAndTmdInfo3.name = itemUser.Name;
-                                                dDAndTmdInfo3.mobile = itemUser.Mobile;
-                                                dDAndTmdInfo3.jobNumber = itemUser.JobNumber;
-                                                dDAndTmdInfo3.avatar = itemUser.Avatar;
-                                                dDAndTmdInfo3.depts = itemUser.DeptIdList;
-
-                                                List<string> roles = new List<string>();//角色列表
-                                                List<string> power = new List<string>();//权限列表
-                                                string sqltxt = $"select distinct value(c) from c join A1 in c.ddbinds where A1.userid ='{itemUser.Userid}'";
-                                                try
-                                                {
-                                                    await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIterator<Teacher>(queryText: sqltxt, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey("Base") }))
-                                                    {
-                                                        dDAndTmdInfo3.tmdId = item.id;
-                                                        dDAndTmdInfo3.isexist = true;
-
-                                                        if (!string.IsNullOrEmpty($"{item.defaultSchool}"))
-                                                        {
-                                                            var schoolRoles = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").ReadItemStreamAsync(item.id, new PartitionKey($"Teacher-{item.defaultSchool}"));
-                                                            if (schoolRoles.Status == 200)
-                                                            {
-                                                                using var json = await JsonDocument.ParseAsync(schoolRoles.ContentStream);
-                                                                if (json.RootElement.TryGetProperty("roles", out JsonElement _roles) && _roles.ValueKind != JsonValueKind.Null)
-                                                                {
-                                                                    foreach (var obj in _roles.EnumerateArray())
-                                                                    {
-                                                                        //初始定义顾问的assistant 更改为assist
-                                                                        if (obj.GetString().Equals($"assist"))
-                                                                        {
-                                                                            roles.Add(obj.GetString());
-                                                                        }
-                                                                    }
-                                                                }
-                                                                if (json.RootElement.TryGetProperty("permissions", out JsonElement _permissions) && _permissions.ValueKind != JsonValueKind.Null)
-                                                                {
-                                                                    foreach (var obj in _permissions.EnumerateArray())
-                                                                    {
-                                                                        //显示BI权限
-                                                                        foreach (var aut in authorityBIList)
-                                                                        {
-                                                                            if (aut.RowKey.Equals(obj.GetString()))
-                                                                            {
-                                                                                power.Add(obj.GetString());
-                                                                            }
-                                                                        }
-                                                                    }
-                                                                }
-                                                            }
-
-                                                            dDAndTmdInfo3.tmdroles = roles;
-                                                            dDAndTmdInfo3.tmdpower = power;
-                                                        }
-                                                    }
-                                                }
-                                                catch { }
-                                                dDAndTmdInfos3.Add(dDAndTmdInfo3);
-                                                deptStruc3.tmddd = dDAndTmdInfos3;
-                                            }
-                                        }
-
-                                        deptStrucs3.Add(deptStruc2);
-                                        deptStruc.depts = deptStrucs3;
-                                    }
-                                }
-
-                                deptStrucs2.Add(deptStruc2);
-                                deptStruc.depts = deptStrucs2;
-                            }
-                        }
-
-                        deptStrucs.Add(deptStruc);
-                        var deptlist2 = rspDeptList2.Result;
-                    }
-                }
-                return Ok(new { deptStrucs });
-            }
-            catch (Exception ex)
-            {
-                await _dingDing.SendBotMsg($"BI,{_option.Location} dd/get-dduserinfo   \n {ex.Message}{ex.StackTrace}", GroupNames.成都开发測試群組);
-                return BadRequest();
-            }
-        }
-
-
         /// <summary>
         /// <summary>
         /// 
         /// 
         /// </summary>
         /// </summary>