From d5cc56f53efdbc96bc46ae7a017cb376f4e5f403 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 14 Sep 2022 18:05:16 +0800 Subject: [PATCH] =?UTF-8?q?third=E9=9B=86=E6=88=90=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E5=9B=9E=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/ResiDingAppLoginResDTO.java | 2 + .../service/impl/ThirdLoginServiceImpl.java | 56 ++++++++++++++----- 2 files changed, 43 insertions(+), 15 deletions(-) diff --git a/epmet-auth/src/main/java/com/epmet/dto/result/ResiDingAppLoginResDTO.java b/epmet-auth/src/main/java/com/epmet/dto/result/ResiDingAppLoginResDTO.java index 83fc4accfe..28a5e899db 100644 --- a/epmet-auth/src/main/java/com/epmet/dto/result/ResiDingAppLoginResDTO.java +++ b/epmet-auth/src/main/java/com/epmet/dto/result/ResiDingAppLoginResDTO.java @@ -16,5 +16,7 @@ public class ResiDingAppLoginResDTO { * */ private String epmetUserId; + + private String extInfo; } diff --git a/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java b/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java index a1cd3e8ab7..166580cc04 100644 --- a/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java +++ b/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java @@ -11,6 +11,7 @@ import com.epmet.commons.rocketmq.messages.LoginMQMsg; import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.feign.ResultDataResolver; @@ -32,7 +33,11 @@ import com.epmet.jwt.JwtTokenProperties; import com.epmet.jwt.JwtTokenUtils; import com.epmet.redis.CaptchaRedis; import com.epmet.service.ThirdLoginService; +import com.taobao.api.ApiException; import com.taobao.dingtalk.client.DingTalkClientToken; +import com.taobao.dingtalk.client.DingTalkClientUser; +import com.taobao.dingtalk.vo.result.AccessTokenResult; +import com.taobao.dingtalk.vo.result.UserBaseInfo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -76,6 +81,8 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol private LoginUserUtil loginUserUtil; @Autowired private DingTalkClientToken dingTalkClientToken; + @Autowired + private DingTalkClientUser dingTalkClientUser; /** * @param formDTO @@ -709,22 +716,41 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol */ @Override public ResiDingAppLoginResDTO resiLoginDing(ResiDingAppLoginFormDTO formDTO) { - //获取用户手机号 - log.info("authCode:"+formDTO.getAuthCode()); - //todo 调用一下接口 - + ResiDingAppLoginResDTO resDTO= null; + try { + resDTO = new ResiDingAppLoginResDTO(); + + Map miniInfo = new HashMap<>(); + miniInfo.put("suitew6ccvkquinmrghqy","TooAxiegdsE5BPP6xo1AxK1LdmaUoMpPMyomOcGcBSXtnsxRc8dEfyOlG56oSmEB"); + miniInfo.put("suitezhyj12glsrp8em0f","-z5Q_lvMP6l7fTzlArEzUT8D_-5pvqBQaJMuTGHoXnz0nuiqGQMZ8aeya_cxTsN-"); + miniInfo.put("suite5yxliro6wawv514w","aQxiPi7DwJSUa9HlbUU_L7Q4wGCLEDmgf__Ffx75cTn3jZwuHy9vdl-9Iv5FeyJU"); + miniInfo.put("suitemcestnonr6y0xigc","kKCNCkfDhmLoVnl_wuAiScyDG4776mkTevuSBuiYhHg-Bvz1-vhb_4IA-Km7nK2I"); + //获取用户手机号 + log.info("authCode:"+formDTO.getAuthCode()); + //todo 调用一下接口 + String clientId = formDTO.getClientId(); + + com.aliyun.dingtalk.module.Result userAccessToken = dingTalkClientToken.getUserAccessToken(formDTO.getAuthCode(), clientId, miniInfo.get(clientId)); + log.info("resiLoginDing userAccessToken:{}",JSON.toJSONString(userAccessToken)); + if (userAccessToken.success() && userAccessToken.getData() != null){ + com.aliyun.dingtalk.module.Result me = dingTalkClientUser.getUserInfo("me", userAccessToken.getData().getAccessToken()); + log.info("resiLoginDing me:{}",JSON.toJSONString(me)); + resDTO.setExtInfo(JSON.toJSONString(me.getData())); + } - ResiDingAppLoginResDTO resDTO=new ResiDingAppLoginResDTO(); - resDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); - resDTO.setGridId("763d6e09b9081d63195d53da84b3ae3a"); - resDTO.setEpmetUserId("f838614e67cf8ae0edaefe562b6660e5"); - //生成token串 - Map map = new HashMap<>(); - map.put("app", "resi"); - map.put("client", "miniding"); - map.put("userId", resDTO.getEpmetUserId()); - String token = jwtTokenUtils.createToken(map); - resDTO.setAuthorization(token); + resDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); + resDTO.setGridId("763d6e09b9081d63195d53da84b3ae3a"); + resDTO.setEpmetUserId("f838614e67cf8ae0edaefe562b6660e5"); + //生成token串 + Map map = new HashMap<>(); + map.put("app", "resi"); + map.put("client", "miniding"); + map.put("userId", resDTO.getEpmetUserId()); + String token = jwtTokenUtils.createToken(map); + resDTO.setAuthorization(token); + } catch (ApiException e) { + throw new EpmetException(e.getErrMsg()); + } return resDTO; } }