From 143bc0e662ad47bee14a8be60571829e07890f3e Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期五, 26 九月 2025 18:28:09 +0800
Subject: [PATCH] 钉钉 用户信息同步 与 主动推送

---
 server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java |   24 +++++++++++++++++++++---
 1 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java
index e23b927..05bda56 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java
@@ -248,6 +248,12 @@
     }
 
 
+    /**
+     * 鑾峰彇閽夐拤閮ㄩ棬璇︽儏
+     * @param deptId
+     * @return
+     * @throws ApiException
+     */
     public OapiV2DepartmentGetResponse.DeptGetResponse syncDepartmentInfo(Long deptId) throws ApiException {
         DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/department/get");
         OapiV2DepartmentGetRequest req = new OapiV2DepartmentGetRequest();
@@ -292,11 +298,11 @@
             return null;
         }
         Set<String> setUserIdList = new HashSet<>(allUserIdList);
-        return syncUserInfo(setUserIdList);
+        return syncUserInfoList(setUserIdList);
     }
 
 
-    public List<OapiV2UserGetResponse.UserGetResponse>  syncUserInfo(Set<String> setUserIdList) throws ApiException {
+    public List<OapiV2UserGetResponse.UserGetResponse>  syncUserInfoList(Set<String> setUserIdList) throws ApiException {
         List<OapiV2UserGetResponse.UserGetResponse> userList = new ArrayList<>();
         DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/get");
         OapiV2UserGetRequest req = new OapiV2UserGetRequest();
@@ -315,7 +321,19 @@
     }
 
 
-
+    public OapiV2UserGetResponse.UserGetResponse syncUserInfo(String userId)throws ApiException {
+        DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/get");
+        OapiV2UserGetRequest req = new OapiV2UserGetRequest();
+        req.setUserid(userId);
+        req.setLanguage("zh_CN");
+        OapiV2UserGetResponse rsp = client.execute(req, getToken());
+        if(rsp.getErrcode().equals(Constants.DD_ERR_CODE)){
+            OapiV2UserGetResponse.UserGetResponse userGetResponse = rsp.getResult();
+            return userGetResponse;
+        }else{
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),rsp.getMessage());
+        }
+    }
 
 
     public static void main(String[] args) throws Exception {

--
Gitblit v1.9.3