|
@@ -472,40 +472,43 @@ public class DingDingServiceImpl implements DingDingService {
|
|
|
} else {
|
|
|
accessToken = dingding.getAccessToken();
|
|
|
}
|
|
|
- List<User> allActiveUserList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId).eq("is_active", 1));
|
|
|
- List<User> errorUserList = new ArrayList<>();
|
|
|
- for (User user : allActiveUserList) {
|
|
|
- DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/get");
|
|
|
- OapiV2UserGetRequest req = new OapiV2UserGetRequest();
|
|
|
- req.setUserid(user.getDingdingUserid());
|
|
|
- req.setLanguage("zh_CN");
|
|
|
- OapiV2UserGetResponse rsp = client.execute(req, accessToken);
|
|
|
- JSONObject resp = JSONObject.parseObject(rsp.getBody());
|
|
|
- if (resp.getInteger("errcode") == 0) {
|
|
|
- System.out.println("读取正确");
|
|
|
+ if (!StringUtils.isEmpty(accessToken)) {
|
|
|
+ List<User> allActiveUserList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId).eq("is_active", 1));
|
|
|
+ List<User> errorUserList = new ArrayList<>();
|
|
|
+ for (User user : allActiveUserList) {
|
|
|
+ DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/get");
|
|
|
+ OapiV2UserGetRequest req = new OapiV2UserGetRequest();
|
|
|
+ req.setUserid(user.getDingdingUserid());
|
|
|
+ req.setLanguage("zh_CN");
|
|
|
+ OapiV2UserGetResponse rsp = client.execute(req, accessToken);
|
|
|
+ JSONObject resp = JSONObject.parseObject(rsp.getBody());
|
|
|
+ if (resp.getInteger("errcode") == 0) {
|
|
|
+// System.out.println("读取正确");
|
|
|
+ } else {
|
|
|
+ errorUserList.add(user);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (errorUserList.size() == 0) {
|
|
|
+// System.out.println("全部正确");
|
|
|
+ resultStr = "全部在授权范围,无需停用";
|
|
|
} else {
|
|
|
- errorUserList.add(user);
|
|
|
+ List<User> updateUser = new ArrayList<>();
|
|
|
+ errorUserList.stream().forEach(err->{
|
|
|
+ System.out.println("无效User:"+err.getName());
|
|
|
+ User u = new User();
|
|
|
+ u.setId(err.getId());
|
|
|
+ u.setIsActive(0);
|
|
|
+ u.setInductionDate(LocalDate.now());
|
|
|
+ updateUser.add(u);
|
|
|
+ });
|
|
|
+ if (updateUser.size() > 0) {
|
|
|
+ userService.updateBatchById(updateUser);
|
|
|
+ }
|
|
|
+ resultStr = "已检测到:" + errorUserList.stream().map(User::getName).collect(Collectors.joining(","))+"不在授权范围,自动处理为停用";
|
|
|
}
|
|
|
- }
|
|
|
- if (errorUserList.size() == 0) {
|
|
|
- System.out.println("全部正确");
|
|
|
- resultStr = "全部在授权范围,无需停用";
|
|
|
} else {
|
|
|
- List<User> updateUser = new ArrayList<>();
|
|
|
- errorUserList.stream().forEach(err->{
|
|
|
- System.out.println("无效User:"+err.getName());
|
|
|
- User u = new User();
|
|
|
- u.setId(err.getId());
|
|
|
- u.setIsActive(0);
|
|
|
- u.setInductionDate(LocalDate.now());
|
|
|
- updateUser.add(u);
|
|
|
- });
|
|
|
- if (updateUser.size() > 0) {
|
|
|
- userService.updateBatchById(updateUser);
|
|
|
- }
|
|
|
- resultStr = "已检测到:" + errorUserList.stream().map(User::getName).collect(Collectors.joining(","))+"不在授权范围,自动处理为停用";
|
|
|
+ resultStr = "AccessToken为空";
|
|
|
}
|
|
|
-
|
|
|
} catch (ApiException e) {
|
|
|
e.printStackTrace();
|
|
|
resultStr = e.getMessage();
|