/// <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); }
/// <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); }
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); }