From 478bd10698d4bbc7121332e5b7683918398a6580 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 16 Sep 2022 11:20:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DingTalkServiceImpl.java | 43 +------------------ 1 file changed, 2 insertions(+), 41 deletions(-) diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/DingTalkServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/DingTalkServiceImpl.java index 3360ead835..7fd6f809b5 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/DingTalkServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/DingTalkServiceImpl.java @@ -1,16 +1,8 @@ package com.epmet.service.impl; import cn.hutool.core.bean.BeanUtil; -import com.alibaba.fastjson.JSON; import com.aliyun.dingtalk.module.DingTalkResult; -import com.dingtalk.api.DefaultDingTalkClient; -import com.dingtalk.api.DingTalkClient; -import com.dingtalk.api.request.OapiV2UserGetRequest; -import com.dingtalk.api.request.OapiV2UserGetuserinfoRequest; -import com.dingtalk.api.response.OapiV2UserGetResponse; -import com.dingtalk.api.response.OapiV2UserGetuserinfoResponse; import com.epmet.commons.tools.dto.form.DingMiniInfoFormDTO; -import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.redis.common.bean.DingMiniInfoCache; @@ -20,9 +12,7 @@ import com.epmet.dto.DingMiniInfoDTO; import com.epmet.dto.form.ExemptLoginUserDetailFormDTO; import com.epmet.redis.DingDingCallbackRedis; import com.epmet.service.DingTalkService; -import com.taobao.api.ApiException; import com.taobao.dingtalk.client.DingTalkClientToken; -import com.taobao.dingtalk.vo.result.AccessTokenResult; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -51,37 +41,8 @@ public class DingTalkServiceImpl implements DingTalkService { @Override public Object getExemptLoginUserDetail(ExemptLoginUserDetailFormDTO formDTO) { DingMiniInfoDTO dingMiniInfo = openSyncBizDataDao.getDingMiniInfoByAppId(formDTO.getMiniAppId()); - DingTalkResult isvAccessToken = dingTalkClientToken.getIsvAccessToken(formDTO.getCorpId(), dingMiniInfo.getSuiteKey(), dingMiniInfo.getSuiteSecret(), dingCallbackRedis.get(dingMiniInfo.getSuiteKey())); - if (!isvAccessToken.success()){ - throw new EpmetException("获取accessToken失败..."); - } - String accessToken = isvAccessToken.getData().getAccessToken(); - DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/getuserinfo"); - OapiV2UserGetuserinfoRequest req = new OapiV2UserGetuserinfoRequest(); - req.setCode(formDTO.getCode()); - Object o = new Object(); - try { - OapiV2UserGetuserinfoResponse rsp = client.execute(req, accessToken); - Map map = JSON.parseObject(rsp.getBody(), Map.class); - if (!map.containsValue("ok")){ - throw new EpmetException("通过免登码获取用户信息失败..."); - } - Map userInfo = JSON.parseObject(map.get("result").toString(), Map.class); - DingTalkClient userDetailClient = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/get"); - OapiV2UserGetRequest userDetailRequest = new OapiV2UserGetRequest(); - userDetailRequest.setUserid(userInfo.get("userid").toString()); - //userDetailRequest.setLanguage("zh_CN"); - OapiV2UserGetResponse execute = userDetailClient.execute(userDetailRequest, accessToken); - Map userDetailResult = JSON.parseObject(execute.getBody(), Map.class); - if (!userDetailResult.containsValue("ok")){ - throw new EpmetException("查询用户详情失败..."); - } - o = userDetailResult.get("result"); - } catch (ApiException e) { - log.error(e.getMessage()); - e.printStackTrace(); - } - return o; + DingTalkResult exemptLoginUserDetail = dingTalkClientToken.getExemptLoginUserDetail(formDTO.getCorpId(), dingMiniInfo.getSuiteKey(), dingMiniInfo.getSuiteSecret(), dingCallbackRedis.get(dingMiniInfo.getSuiteKey()), formDTO.getCode()); + return exemptLoginUserDetail.getData(); } /**