From bc89d8cc35ff1dc16a2add357f70af1cca848c01 Mon Sep 17 00:00:00 2001
From: zxc <1272811460@qq.com>
Date: Wed, 14 Sep 2022 15:43:39 +0800
Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=94=A8=E6=88=B7=E8=AF=A6?=
=?UTF-8?q?=E6=83=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/epmet/dto/OpenSyncBizDataDTO.java | 2 +
.../form/ExemptLoginUserDetailFormDTO.java | 28 +++++++
.../epmet-third/epmet-third-server/pom.xml | 5 ++
.../dingtalk/CallbackController.java | 13 ++++
.../com/epmet/dao/OpenSyncBizDataDao.java | 7 ++
.../epmet/entity/OpenSyncBizDataEntity.java | 2 +
.../com/epmet/service/DingTalkService.java | 14 ++++
.../service/impl/DingTalkServiceImpl.java | 78 +++++++++++++++++++
.../resources/mapper/OpenSyncBizDataDao.xml | 12 +++
9 files changed, 161 insertions(+)
create mode 100644 epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/ExemptLoginUserDetailFormDTO.java
create mode 100644 epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/DingTalkService.java
create mode 100644 epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/DingTalkServiceImpl.java
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