/// <summary> /// 批量获取审批实例id /// </summary> /// <param name="accessToken">accessToken</param> /// <param name="processCode">审批流的唯一码</param> /// <param name="useridlist">发起人用户id列表</param> /// <param name="starttime">查询开始时间</param> /// <returns></returns> public static List <string> GetListIds(string accessToken, string processCode, string useridlist, DateTime starttime) { try { DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/processinstance/listids"); OapiProcessinstanceListidsRequest request = new OapiProcessinstanceListidsRequest(); request.ProcessCode = processCode; request.StartTime = DingTalkUtils.DateTimeToTimeStamp(starttime); //开始时间。Unix时间戳 request.EndTime = DingTalkUtils.DateTimeToTimeStamp(DateTime.Now); //结束时间,默认取当前时间。Unix时间戳 request.Size = 10L; //分页参数,每页大小,最多传10,默认值:10 request.Cursor = 0L; //分页查询的游标,最开始传0,后续传返回参数中的next_cursor值,默认值:0 request.UseridList = useridlist; //发起人用户id列表,用逗号分隔,最大列表长度:10 OapiProcessinstanceListidsResponse response = client.Execute(request, accessToken); if (response.Errcode == 0) { return(response.Result.List); } else { throw new Exception(response.Errcode.ToString()); } } catch (Exception ex) { throw new Exception(ex.Message); } }
/// <summary> /// 获取用户待办事项 /// </summary> /// <param name="accessToken"></param> /// <param name="userId"></param> /// <returns></returns> public static List <Workrecord> getWorkRecordbyUserid(string accessToken, string userId) { try { IDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/workrecord/getbyuserid"); OapiWorkrecordGetbyuseridRequest req = new OapiWorkrecordGetbyuseridRequest(); req.Userid = userId; req.Offset = 0L; //分页游标,从0开始 req.Limit = 0L; //分页大小,最多50 req.Status = 0L; //待办事项状态,0表示未完成,1表示完成 OapiWorkrecordGetbyuseridResponse response = client.Execute(req, accessToken); if (response.Errcode == 0) { List <Workrecord> list = new List <Workrecord>(); OapiWorkrecordGetbyuseridResponse.PageResultDomain result = new OapiWorkrecordGetbyuseridResponse.PageResultDomain(); result = response.Records; if (result.List.Count > 0) { foreach (OapiWorkrecordGetbyuseridResponse.WorkRecordVoDomain record in result.List) { Workrecord model = new Workrecord(); model.RecordId = record.RecordId; model.CreateTime = DingTalkUtils.TimeStampToDateTime(record.CreateTime); model.forms[0] = new Workrecord.FormsModel(); model.forms[0].Title = record.Forms[0].Title; model.forms[0].Content = record.Forms[0].Content; list.Add(model); } } return(null); } else { return(null); } } catch { throw new Exception("发送出错"); } }