Browse Source

third集成消息回调

master
jianjun 3 years ago
parent
commit
d5cc56f53e
  1. 2
      epmet-auth/src/main/java/com/epmet/dto/result/ResiDingAppLoginResDTO.java
  2. 56
      epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java

2
epmet-auth/src/main/java/com/epmet/dto/result/ResiDingAppLoginResDTO.java

@ -16,5 +16,7 @@ public class ResiDingAppLoginResDTO {
* *
*/ */
private String epmetUserId; private String epmetUserId;
private String extInfo;
} }

56
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.AppClientConstant;
import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode; 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.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.feign.ResultDataResolver;
@ -32,7 +33,11 @@ import com.epmet.jwt.JwtTokenProperties;
import com.epmet.jwt.JwtTokenUtils; import com.epmet.jwt.JwtTokenUtils;
import com.epmet.redis.CaptchaRedis; import com.epmet.redis.CaptchaRedis;
import com.epmet.service.ThirdLoginService; import com.epmet.service.ThirdLoginService;
import com.taobao.api.ApiException;
import com.taobao.dingtalk.client.DingTalkClientToken; 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 lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -76,6 +81,8 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol
private LoginUserUtil loginUserUtil; private LoginUserUtil loginUserUtil;
@Autowired @Autowired
private DingTalkClientToken dingTalkClientToken; private DingTalkClientToken dingTalkClientToken;
@Autowired
private DingTalkClientUser dingTalkClientUser;
/** /**
* @param formDTO * @param formDTO
@ -709,22 +716,41 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol
*/ */
@Override @Override
public ResiDingAppLoginResDTO resiLoginDing(ResiDingAppLoginFormDTO formDTO) { public ResiDingAppLoginResDTO resiLoginDing(ResiDingAppLoginFormDTO formDTO) {
//获取用户手机号 ResiDingAppLoginResDTO resDTO= null;
log.info("authCode:"+formDTO.getAuthCode()); try {
//todo 调用一下接口 resDTO = new ResiDingAppLoginResDTO();
Map<String,String> 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<AccessTokenResult> 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<UserBaseInfo> 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.setCustomerId("45687aa479955f9d06204d415238f7cc"); resDTO.setGridId("763d6e09b9081d63195d53da84b3ae3a");
resDTO.setGridId("763d6e09b9081d63195d53da84b3ae3a"); resDTO.setEpmetUserId("f838614e67cf8ae0edaefe562b6660e5");
resDTO.setEpmetUserId("f838614e67cf8ae0edaefe562b6660e5"); //生成token串
//生成token串 Map<String, Object> map = new HashMap<>();
Map<String, Object> map = new HashMap<>(); map.put("app", "resi");
map.put("app", "resi"); map.put("client", "miniding");
map.put("client", "miniding"); map.put("userId", resDTO.getEpmetUserId());
map.put("userId", resDTO.getEpmetUserId()); String token = jwtTokenUtils.createToken(map);
String token = jwtTokenUtils.createToken(map); resDTO.setAuthorization(token);
resDTO.setAuthorization(token); } catch (ApiException e) {
throw new EpmetException(e.getErrMsg());
}
return resDTO; return resDTO;
} }
} }

Loading…
Cancel
Save