本文共 2628 字,大约阅读时间需要 8 分钟。
企业提倡一起运动,用钉钉计步方式督促大家积极锻炼,需要对大家的步数做统计,而钉钉后台只能保存近期一个月的运动数据,所以需要调用钉钉提供的开放API获取运动数据并保存在自己的服务器。
//获取部门列表 public static ListgetDepart() throws Exception{ try { //获取当前日期String Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE,-1); String yesterday = new SimpleDateFormat( "yyyyMMdd").format(cal.getTime()); List htlist=new ArrayList (); CorpHealthStepinfoListbyuseridResponse rsp; CorpHealthStepinfoListbyuseridRequest req = new CorpHealthStepinfoListbyuseridRequest(); DingTalkClient client= new DefaultDingTalkClient("https://eco.taobao.com/router/rest"); JSONObject forj; JSONObject json; JSONArray jr; //获取access token String accessToken = AuthHelper.getAccessToken(); // 获取部门列表 String parentId = "1"; List list = DepartmentHelper.listDepartments(accessToken, parentId); //log("成功获取部门列表", list); for (int i = 0; i < list.size(); i++) { CorpUserList userList = UserHelper.getDepartmentUser(AuthHelper.getAccessToken(), list.get(i).getId(), null, null, null); String str= new String(); String str1= new String(); if(userList.getUserlist().size() <= 50 && userList.getUserlist().size()!=0 )//有部门没人,userlist is null { for(int k=0;k 50 && userList.getUserlist().size()<=100 ) { for(int k=0;k<50;k++) { if(k==0) { str=userList.getUserlist().get(k).getUserid().toString(); } else { str=userList.getUserlist().get(k).getUserid().toString()+","+str; } } req.setUserids(str); //员工userid列表,最多传50个 req.setStatDate(yesterday);//时间,注意时间格式是YYMMDD rsp = client.execute(req, accessToken); json= JSONObject.parseObject(rsp.getBody()).getJSONObject("dingtalk_corp_health_stepinfo_listbyuserid_response").getJSONObject("result").getJSONObject("stepinfo_list"); jr=json.getJSONArray("basic_step_info_vo"); if(jr!=null) { for(int z=0;z
转载地址:http://mrlai.baihongyu.com/