Переглянути джерело

新增接口,根据unionId获取userId、根据userId获取unionId

lvjs 2 тижнів тому
батько
коміт
f035aba5c4

+ 45 - 0
src/main/java/com/malk/eastar/controller/EastarDdController.java

@@ -1,10 +1,12 @@
 package com.malk.eastar.controller;
 
 import com.alibaba.fastjson.JSONObject;
+import com.malk.eastar.service.DDCoreClient;
 import com.malk.server.common.McException;
 import com.malk.server.common.McR;
 import com.malk.service.dingtalk.DDClient;
 import com.malk.service.dingtalk.DDClient_Report;
+import com.malk.utils.UtilMap;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -22,9 +24,13 @@ public class EastarDdController {
 
     @Autowired
     private DDClient_Report ddClientReport;
+
     @Autowired
     private DDClient ddClient;
 
+    @Autowired
+    private DDCoreClient ddCoreClient;
+
     @PostMapping("/report/create")
     public McR createReport(@RequestBody JSONObject param){
         log.info("创建日志:{}",param);
@@ -39,4 +45,43 @@ public class EastarDdController {
                 list);
         return McR.success(result);
     }
+
+
+    /**
+     * 根据unionId获取userId
+     * @param data
+     * @return
+     */
+//    @PostMapping("/getUserIdByUnionId")
+    McR getUserIdByUnionId(@RequestBody JSONObject data) {
+        log.info("根据unionId获取userId, {}", data);
+        McException.assertParamException_Null(data, "unionid");
+        String unionId = UtilMap.getString(data, "unionid");
+        try {
+            String userId = ddCoreClient.getUserIdByUnionId(unionId);
+            return McR.success(userId);
+        } catch (Exception e) {
+            return McR.error("400",e.getMessage());
+        }
+    }
+
+    /**
+     * 根据userId获取unionId
+     * @param data
+     * @return
+     */
+//    @PostMapping("/getUnionIdByUserId")
+    McR getUnionIdByUserId(@RequestBody JSONObject data) {
+        log.info("根据userId获取unionId, {}", data);
+        McException.assertParamException_Null(data, "userid");
+        String userId = UtilMap.getString(data, "userid");
+        try {
+            String unionId = ddCoreClient.getUnionIdByUserId(userId);
+            return McR.success(unionId);
+        } catch (Exception e) {
+            return McR.error("400",e.getMessage());
+        }
+    }
+
+
 }

+ 9 - 1
src/main/java/com/malk/eastar/service/DDCoreClient.java

@@ -11,7 +11,15 @@ import java.util.Map;
 public interface DDCoreClient {
 
     /**
-     * 根据unionId获取userid
+     * 根据userId获取unionId
+     * @param userId
+     * @return
+     * @throws Exception
+     */
+    String getUnionIdByUserId(String userId) throws Exception;
+
+    /**
+     * 根据unionId获取userId
      * @param unionId
      * @return
      * @throws Exception

+ 10 - 0
src/main/java/com/malk/eastar/service/impl/DDCoreClientImpl.java

@@ -25,6 +25,16 @@ public class DDCoreClientImpl implements DDCoreClient {
     @Autowired
     private DDClient_Contacts ddClientContacts;
 
+    @Override
+    public String getUnionIdByUserId(String userId) throws Exception {
+        String unionid = "";
+        Map result = ddClientContacts.getUserInfoById(ddClient.getAccessToken(),userId);
+        if(result != null){
+            unionid = UtilMap.getString(result, "unionid");
+        }
+        return unionid;
+    }
+
     @Override
     public String getUserIdByUnionId(String unionId) throws Exception {
         String userId = "";