This commit is contained in:
parent
d182dec59c
commit
42deacdc7d
|
@ -20,12 +20,15 @@ savefile:
|
|||
# 文件保存路径
|
||||
path: /Users/xiangerlin/work/app/logs/yuecheng
|
||||
cbs8:
|
||||
appId: 1P4AGrpz
|
||||
appSecret: 2c2369ae5dc04382844bbe3a5abf39e1bea9cd3a
|
||||
appId: 1Prpz
|
||||
appSecret: 24bbe3a5abf39e1bea9cd3a
|
||||
url: https://cbs8-openapi-reprd.csuat.cmburl.cn
|
||||
# 测试用这个 这个是银行给的,和下面的公钥不是一对密钥
|
||||
ya_private_key: 83BA7EC821D35F4CB31FF9A51C1EFA520FC52AF828C2337F88E91CF119B07F44
|
||||
ya_private_key: 31FF9A51C1EFA520FC52AF828C2337F88E91CF119B07F44
|
||||
# 这个私钥到时候上传到cbs,和下面到是同一对
|
||||
#ya_private_key: e1eacfdee9b8d4184437d5a2071e17ce31befc3d93395f9f05709ed562e8dc46
|
||||
ya_public_key: 044fa399d2223760f17b81b863cb482b009294c4516f8a605dea1475ec09e720eaa98468715e5ad509a592a0b426061551c5a3df236966c23253a7d894eac0dcde
|
||||
cbs_public_key: 0469146F06BF3B01236E84632441E826F3067A6B93BC3839C836A06007869CD351FBBE388B51F742859388BBC1DE089923AAFBC69E448F15141DDF30EE6CE90185
|
||||
ya_public_key: 044fa399d2223760f17b81b864c4516f8a605dea1475ec09e720eaa98468715e5ad509a592a0b426061551c5a3df236966c23253a7d894eac0dcde
|
||||
cbs_public_key: 0469146F06BF3B01236E84632441E826F30836A06007869CD351FBBE388B51F742859388BBC1DE089923AAFBC69E448F15141DDF30EE6CE90185
|
||||
dingtalk:
|
||||
appKey: dingq3vbsswvyujiuwa7
|
||||
appSecret: m4IRNcKQn-W9QBLERHWt0iW2hSirvxPS684xiNw-4QFMNg2gsBCur9T4QMvvAR4I
|
|
@ -1,10 +1,7 @@
|
|||
package com.hzya.frame.dingtalk.service;
|
||||
|
||||
import com.dingtalk.api.request.OapiV2UserListRequest;
|
||||
import com.dingtalk.api.response.OapiV2DepartmentGetResponse;
|
||||
import com.dingtalk.api.response.OapiV2DepartmentListsubResponse;
|
||||
import com.dingtalk.api.response.OapiV2UserGetResponse;
|
||||
import com.dingtalk.api.response.OapiV2UserListResponse;
|
||||
import com.dingtalk.api.response.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
@ -63,4 +60,9 @@ public interface IDingTalkService {
|
|||
* @return
|
||||
*/
|
||||
List<OapiV2DepartmentListsubResponse.DeptBaseResponse> getDeptList(Long deptId,String appKey,String appSecret);
|
||||
|
||||
/**
|
||||
* 获取考勤记录
|
||||
*/
|
||||
List<OapiAttendanceListRecordResponse.Recordresult> getAttendanceList(List<String> userId,String appKey,String appSecret);
|
||||
}
|
||||
|
|
|
@ -3,21 +3,23 @@ package com.hzya.frame.dingtalk.service.impl;
|
|||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.dingtalk.api.DefaultDingTalkClient;
|
||||
import com.dingtalk.api.DingTalkClient;
|
||||
import com.dingtalk.api.request.OapiV2DepartmentGetRequest;
|
||||
import com.dingtalk.api.request.OapiV2DepartmentListsubRequest;
|
||||
import com.dingtalk.api.request.OapiV2UserGetRequest;
|
||||
import com.dingtalk.api.request.OapiV2UserListRequest;
|
||||
import com.dingtalk.api.response.OapiV2DepartmentGetResponse;
|
||||
import com.dingtalk.api.response.OapiV2DepartmentListsubResponse;
|
||||
import com.dingtalk.api.response.OapiV2UserGetResponse;
|
||||
import com.dingtalk.api.response.OapiV2UserListResponse;
|
||||
import com.dingtalk.api.request.*;
|
||||
import com.dingtalk.api.response.*;
|
||||
import com.hzya.frame.dingtalk.service.IDingTalkService;
|
||||
import com.hzya.frame.dingtalk.util.DingTalkAccessToken;
|
||||
import com.taobao.api.ApiException;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
@ -161,4 +163,37 @@ public class DingTalkServiceImpl implements IDingTalkService {
|
|||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OapiAttendanceListRecordResponse.Recordresult> getAttendanceList(List<String> userId, String appKey, String appSecret) {
|
||||
try {
|
||||
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/attendance/listRecord");
|
||||
OapiAttendanceListRecordRequest req = new OapiAttendanceListRecordRequest();
|
||||
req.setUserIds(userId);
|
||||
//获取日期设置为当前日期前7天到前一日,每周日晚上执行;既9月28日执行,获取21日至27日数据
|
||||
LocalDate currentDate = LocalDate.now();
|
||||
|
||||
// 将日期转换为 LocalDateTime(假设时间为 00:00:00)
|
||||
LocalDateTime currentDateTime = currentDate.atStartOfDay();
|
||||
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
req.setCheckDateTo(currentDateTime.format(formatter));
|
||||
|
||||
LocalDate eightDaysAgo = currentDate.minusDays(7);
|
||||
// 将日期转换为 LocalDateTime(假设时间为 00:00:00)
|
||||
LocalDateTime eightDaysAgoDateTime = eightDaysAgo.atStartOfDay();
|
||||
req.setCheckDateFrom(eightDaysAgoDateTime.format(formatter));
|
||||
|
||||
OapiAttendanceListRecordResponse rsp = client.execute(req, DingTalkAccessToken.getAccessToken(appKey, appSecret));
|
||||
if (rsp.isSuccess()) {
|
||||
List<OapiAttendanceListRecordResponse.Recordresult> result = rsp.getRecordresult();
|
||||
//System.out.println(rsp.getBody());
|
||||
return result;
|
||||
}
|
||||
return null;
|
||||
} catch (ApiException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue