This commit is contained in:
parent
d182dec59c
commit
42deacdc7d
|
@ -20,12 +20,15 @@ savefile:
|
||||||
# 文件保存路径
|
# 文件保存路径
|
||||||
path: /Users/xiangerlin/work/app/logs/yuecheng
|
path: /Users/xiangerlin/work/app/logs/yuecheng
|
||||||
cbs8:
|
cbs8:
|
||||||
appId: 1P4AGrpz
|
appId: 1Prpz
|
||||||
appSecret: 2c2369ae5dc04382844bbe3a5abf39e1bea9cd3a
|
appSecret: 24bbe3a5abf39e1bea9cd3a
|
||||||
url: https://cbs8-openapi-reprd.csuat.cmburl.cn
|
url: https://cbs8-openapi-reprd.csuat.cmburl.cn
|
||||||
# 测试用这个 这个是银行给的,和下面的公钥不是一对密钥
|
# 测试用这个 这个是银行给的,和下面的公钥不是一对密钥
|
||||||
ya_private_key: 83BA7EC821D35F4CB31FF9A51C1EFA520FC52AF828C2337F88E91CF119B07F44
|
ya_private_key: 31FF9A51C1EFA520FC52AF828C2337F88E91CF119B07F44
|
||||||
# 这个私钥到时候上传到cbs,和下面到是同一对
|
# 这个私钥到时候上传到cbs,和下面到是同一对
|
||||||
#ya_private_key: e1eacfdee9b8d4184437d5a2071e17ce31befc3d93395f9f05709ed562e8dc46
|
#ya_private_key: e1eacfdee9b8d4184437d5a2071e17ce31befc3d93395f9f05709ed562e8dc46
|
||||||
ya_public_key: 044fa399d2223760f17b81b863cb482b009294c4516f8a605dea1475ec09e720eaa98468715e5ad509a592a0b426061551c5a3df236966c23253a7d894eac0dcde
|
ya_public_key: 044fa399d2223760f17b81b864c4516f8a605dea1475ec09e720eaa98468715e5ad509a592a0b426061551c5a3df236966c23253a7d894eac0dcde
|
||||||
cbs_public_key: 0469146F06BF3B01236E84632441E826F3067A6B93BC3839C836A06007869CD351FBBE388B51F742859388BBC1DE089923AAFBC69E448F15141DDF30EE6CE90185
|
cbs_public_key: 0469146F06BF3B01236E84632441E826F30836A06007869CD351FBBE388B51F742859388BBC1DE089923AAFBC69E448F15141DDF30EE6CE90185
|
||||||
|
dingtalk:
|
||||||
|
appKey: dingq3vbsswvyujiuwa7
|
||||||
|
appSecret: m4IRNcKQn-W9QBLERHWt0iW2hSirvxPS684xiNw-4QFMNg2gsBCur9T4QMvvAR4I
|
|
@ -1,10 +1,7 @@
|
||||||
package com.hzya.frame.dingtalk.service;
|
package com.hzya.frame.dingtalk.service;
|
||||||
|
|
||||||
import com.dingtalk.api.request.OapiV2UserListRequest;
|
import com.dingtalk.api.request.OapiV2UserListRequest;
|
||||||
import com.dingtalk.api.response.OapiV2DepartmentGetResponse;
|
import com.dingtalk.api.response.*;
|
||||||
import com.dingtalk.api.response.OapiV2DepartmentListsubResponse;
|
|
||||||
import com.dingtalk.api.response.OapiV2UserGetResponse;
|
|
||||||
import com.dingtalk.api.response.OapiV2UserListResponse;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -63,4 +60,9 @@ public interface IDingTalkService {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<OapiV2DepartmentListsubResponse.DeptBaseResponse> getDeptList(Long deptId,String appKey,String appSecret);
|
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.alibaba.fastjson.JSONObject;
|
||||||
import com.dingtalk.api.DefaultDingTalkClient;
|
import com.dingtalk.api.DefaultDingTalkClient;
|
||||||
import com.dingtalk.api.DingTalkClient;
|
import com.dingtalk.api.DingTalkClient;
|
||||||
import com.dingtalk.api.request.OapiV2DepartmentGetRequest;
|
import com.dingtalk.api.request.*;
|
||||||
import com.dingtalk.api.request.OapiV2DepartmentListsubRequest;
|
import com.dingtalk.api.response.*;
|
||||||
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.hzya.frame.dingtalk.service.IDingTalkService;
|
import com.hzya.frame.dingtalk.service.IDingTalkService;
|
||||||
import com.hzya.frame.dingtalk.util.DingTalkAccessToken;
|
import com.hzya.frame.dingtalk.util.DingTalkAccessToken;
|
||||||
|
import com.taobao.api.ApiException;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
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;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -161,4 +163,37 @@ public class DingTalkServiceImpl implements IDingTalkService {
|
||||||
}
|
}
|
||||||
return null;
|
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