/// <summary> /// 递归获取日志记录 默认取前一天 /// </summary> /// <param name="hasMore">是否还有下一页</param> /// <param name="nextCursor">下一游标 初始传入0,后续从上一次的返回值中获取</param> /// <param name="pvd"></param> /// <returns></returns> public PageVoDomain ListReport(string accessToken, bool hasMore, long nextCursor, PageVoDomain pvd) { if (hasMore) { if (string.IsNullOrEmpty(accessToken)) { accessToken = AccessToken.GetAccessToken(); } Report report = new Report(); OapiReportListResponse res = report.ListReport(accessToken, "QM经理建群日报", DateHelper.GetUnixDate(DateTime.Now.AddDays(-1)), DateHelper.GetUnixDate(DateTime.Now), nextCursor, 20L); if (res.Errcode != 0) { return(pvd); } if (pvd.DataList == null) { pvd.DataList = res.Result.DataList; } else { pvd.DataList.AddRange(res.Result.DataList); } pvd.NextCursor = res.Result.NextCursor; pvd.HasMore = res.Result.HasMore; ListReport(accessToken, pvd.HasMore, pvd.NextCursor, pvd); } return(pvd); }
/// <summary> /// 获取用户日志数据 /// </summary> /// <param name="accessToken">accessToken</param> /// <param name="userId">员工的userid</param> ///<param name="timplateName">要查询的模板名称</param> /// <param name="startTime">起始时间。时间的毫秒数</param> /// <param name="endTime">截止时间。时间的毫秒数,如:1520956800000</param> /// <param name="cursor">查询游标,初始传入0,后续从上一次的返回值中获取</param> /// <param name="size">每页数据量, 最大值是20</param> /// <returns></returns> public OapiReportListResponse ListReport(string accessToken, string timplateName, long startTime, long endTime, long cursor, long size, string userId = null) { IDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/report/list"); OapiReportListRequest request = new OapiReportListRequest { Userid = userId, StartTime = startTime, EndTime = endTime, Cursor = cursor, Size = size, TemplateName = timplateName }; OapiReportListResponse response = client.Execute(request, accessToken); return(response); }
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); }