diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/OpenSyncBizDataDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/OpenSyncBizDataDTO.java
index b94711e55e..12dac445f0 100644
--- a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/OpenSyncBizDataDTO.java
+++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/OpenSyncBizDataDTO.java
@@ -27,6 +27,8 @@ public class OpenSyncBizDataDTO implements Serializable {
      */
 	private String subscribeId;
 
+    private String suiteKey;
+
     /**
      * 第三方企业应用的corpid
      */
diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/ExemptLoginUserDetailFormDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/ExemptLoginUserDetailFormDTO.java
new file mode 100644
index 0000000000..7e84993d2f
--- /dev/null
+++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/ExemptLoginUserDetailFormDTO.java
@@ -0,0 +1,28 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @Author zxc
+ * @DateTime 2022/9/14 14:52
+ * @DESC
+ */
+@Data
+public class ExemptLoginUserDetailFormDTO implements Serializable {
+
+    private static final long serialVersionUID = -4333806195203619201L;
+
+    public interface ExemptLoginUserDetailForm{}
+
+    @NotBlank(message = "code不能为空",groups = ExemptLoginUserDetailForm.class)
+    private String code;
+
+    @NotBlank(message = "corpId不能为空",groups = ExemptLoginUserDetailForm.class)
+    private String corpId;
+
+    @NotBlank(message = "miniAppId不能为空",groups = ExemptLoginUserDetailForm.class)
+    private String miniAppId;
+}
diff --git a/epmet-module/epmet-third/epmet-third-server/pom.xml b/epmet-module/epmet-third/epmet-third-server/pom.xml
index a70d2ac789..d3abda724e 100644
--- a/epmet-module/epmet-third/epmet-third-server/pom.xml
+++ b/epmet-module/epmet-third/epmet-third-server/pom.xml
@@ -167,6 +167,11 @@
             commons-codec
             1.15
         
+        
+            com.aliyun
+            alibaba-dingtalk-service-sdk
+            2.0.0
+        
     
 
     
diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/dingtalk/CallbackController.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/dingtalk/CallbackController.java
index 5940ce57f5..89bcfb3dbd 100644
--- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/dingtalk/CallbackController.java
+++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/dingtalk/CallbackController.java
@@ -4,10 +4,14 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.aliyun.dingtalk.util.DingCallbackCrypto;
 import com.epmet.commons.tools.constant.NumConstant;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.commons.tools.validator.ValidatorUtils;
 import com.epmet.dao.OpenSyncBizDataDao;
 import com.epmet.dto.DingMiniInfoDTO;
+import com.epmet.dto.form.ExemptLoginUserDetailFormDTO;
 import com.epmet.entity.OpenSyncBizDataEntity;
 import com.epmet.redis.DingDingCallbackRedis;
+import com.epmet.service.DingTalkService;
 import com.epmet.service.OpenSyncBizDataService;
 import org.apache.commons.collections4.CollectionUtils;
 import org.slf4j.Logger;
@@ -56,6 +60,8 @@ public class CallbackController {
     private OpenSyncBizDataDao openSyncBizDataDao;
     @Autowired
     private DingDingCallbackRedis dingCallbackRedis;
+    @Autowired
+    private DingTalkService dingTalkService;
 
     @PostMapping(value = "dingCallback")
     public Object dingCallback(
@@ -99,6 +105,7 @@ public class CallbackController {
                     List list = new ArrayList<>();
                     bizData.forEach(b -> {
                         OpenSyncBizDataEntity e = new OpenSyncBizDataEntity();
+                        e.setSuiteKey(suiteKey);
                         e.setSubscribeId(b.get("subscribe_id").toString());
                         e.setCorpId(b.get("corp_id").toString());
                         e.setBizId(b.get("biz_id").toString());
@@ -125,4 +132,10 @@ public class CallbackController {
             return "fail";
         }
     }
+
+    @PostMapping("getExemptLoginUserDetail")
+    public Result