コード例 #1
0
        /// <summary>
        ///获取所有的部门列表信息
        /// </summary>
        /// <param name="repuestParams"></param>
        /// <returns></returns>
        public List <Department> GetAllDepIds(RequestParams repuestParams)
        {
            List <Department>         depList = new List <Department>();
            IDingTalkClient           client  = new DefaultDingTalkClient("https://oapi.dingtalk.com/department/list");
            OapiDepartmentListRequest request = new OapiDepartmentListRequest();

            request.Id = "1";//如果不传,默认为1表示根部门id
            request.SetHttpMethod("GET");
            OapiDepartmentListResponse response = client.Execute(request, TooUtil.GetAccessToken());

            if (response.Errcode == 0 && response.Department.Count > 0)
            {
                response.Department.ForEach(u =>
                {
                    Department department      = new Department();
                    department.DepId           = u.Id;
                    department.ParentId        = u.Parentid;
                    department.DepName         = u.Name;
                    department.CreateDeptGroup = u.CreateDeptGroup;
                    department.AutoAddUser     = u.AutoAddUser;
                    depList.Add(department);
                });
            }
            return(depList);
        }
コード例 #2
0
ファイル: Emplayee.cs プロジェクト: dk20170906/DDTodayDaily
        /// <summary>
        /// 获取一个部门的用户列表
        /// </summary>
        /// <param name="repuestParams"></param>
        /// <returns></returns>
        public List <Emplayee> GetOneDepEmplayee(RequestParams repuestParams)
        {
            IDingTalkClient     client  = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/list");
            OapiUserListRequest request = new OapiUserListRequest();

            request.DepartmentId = repuestParams.DepId;
            request.Offset       = repuestParams.OffSet;
            request.Size         = repuestParams.Size;
            request.SetHttpMethod("GET");
            OapiUserListResponse response = client.Execute(request, TooUtil.GetAccessToken());

            if (response.Errcode == 0 && response.Userlist != null && response.Userlist.Count > 0)
            {
                response.Userlist.ForEach(u =>
                {
                    Emplayee emplayee            = new Emplayee();
                    emplayee.EmpUserId           = u.Userid;
                    emplayee.EmpName             = u.Name;
                    emplayee.EmpUnionid          = u.Unionid;
                    emplayee.EmpMobile           = u.Mobile;
                    emplayee.EmpTel              = u.Tel;
                    emplayee.EmpWorkPlace        = u.WorkPlace;
                    emplayee.EmpRemark           = u.Remark;
                    emplayee.EmpOrder            = u.Order;
                    emplayee.EmpIsAdmin          = u.IsAdmin;
                    emplayee.EmpIsBoss           = u.IsBoss;
                    emplayee.EmpIsHide           = u.IsHide;
                    emplayee.EmpIsLeader         = u.IsLeader;
                    emplayee.EmpActive           = u.Active;
                    emplayee.EmpDepartmentIdsStr = u.Department;
                    emplayee.EmpPosition         = u.Position;
                    emplayee.EmpEmail            = u.Email;
                    emplayee.EmpAvatar           = u.Avatar;
                    emplayee.EmpJobNumber        = u.Jobnumber;
                    emplayee.EmpExtattr          = u.Extattr;
                    if (empList.All <Emplayee>(k => k.EmpUserId != emplayee.EmpUserId))
                    {
                        empList.Add(emplayee);
                    }
                });
            }
            if (response.HasMore)
            {
                GetOneDepEmplayee(repuestParams);
            }
            return(empList);
        }
コード例 #3
0
        public List <Daily> GetOneEmplayeeDaily(RequestParams requestParams)
        {
            IDingTalkClient       client  = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/report/list");
            OapiReportListRequest request = new OapiReportListRequest();

            request.StartTime = requestParams.StartTime;
            request.EndTime   = requestParams.EndTime;
            request.Cursor    = requestParams.Cursor;
            request.Size      = requestParams.Size;
            OapiReportListResponse response = client.Execute(request, TooUtil.GetAccessToken());
            JObject jobjext = (JObject)JsonConvert.DeserializeObject(response.Body);

            if (jobjext["errcode"].ToString() == "0" && jobjext["result"]["data_list"].ToString().Length > 0 && jobjext["result"]["data_list"].ToString() != "")
            {
                JArray jr = (JArray)jobjext["result"]["data_list"];
                if (jr.Count > 0)
                {
                    foreach (var item in jr)
                    {
                        if (!userReportId.Contains(item["report_id"].ToString()))
                        {
                            userReportId.Add(item["report_id"].ToString());
                            Daily daily = new Daily();
                            daily.DaiContents = item["contents"].ToString();
                            if (item["contents"] != null)
                            {
                                JArray jrcont = (JArray)item["contents"];
                                if (jrcont.Count > 0)
                                {
                                    foreach (var ite in jrcont)
                                    {
                                        if (ite["key"] != null && ite["key"].ToString() == "日志日期")
                                        {
                                            daily.DaiDate = ite["value"].ToString();
                                        }
                                    }
                                }
                            }
                            daily.Remark          = item["remark"].ToString();
                            daily.DaiTemplateName = item["template_name"].ToString();
                            daily.DaiDeptName     = item["template_name"].ToString();
                            daily.DaiCreatorName  = item["creator_name"].ToString();
                            daily.DaiCreatorId    = item["creator_id"].ToString();
                            daily.DaiCreateTime   = Convert.ToInt64(item["create_time"].ToString());
                            daily.DaiReportId     = item["report_id"].ToString();
                            if (!userlistIdandname.ContainsKey(item["creator_id"].ToString()))
                            {
                                userlistIdandname.Add(item["creator_id"].ToString(), item["creator_name"].ToString());
                            }
                            dailyList.Add(daily);
                        }
                    }
                }
            }
            if (response.Result.HasMore)
            {
                RequestParams requestParametersDd = new RequestParams();
                requestParametersDd        = requestParams;
                requestParametersDd.Cursor = response.Result.NextCursor;
                GetOneEmplayeeDaily(requestParametersDd);
            }
            return(dailyList);
        }