AuthService.java 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package com.ywt.alipaympapi.service;
  2. import com.ptc.board.citymsg.sdk.UserAccountApi;
  3. import com.ptc.board.citymsg.sdk.response.UserAccountInfo;
  4. import com.ywt.alipaympapi.models.Constants;
  5. import com.ywt.alipaympapi.models.auth.AlipayMpCfg;
  6. import com.ywt.alipaympapi.models.auth.GetAlipayUserInfoReq;
  7. import com.ywt.alipaympapi.models.auth.GetAlipayUserInfoResp;
  8. import com.ywt.alipaympapi.models.enums.TerminalEnum;
  9. import com.ywt.core.exception.AppMessageException;
  10. import lombok.extern.slf4j.Slf4j;
  11. import org.springframework.stereotype.Service;
  12. /**
  13. * @author Walker
  14. * Created on 2022/9/1
  15. */
  16. @Slf4j
  17. @Service
  18. public class AuthService {
  19. /**
  20. * 换取支付宝用户信息
  21. */
  22. public GetAlipayUserInfoResp getAlipayUserInfo(GetAlipayUserInfoReq req) throws AppMessageException {
  23. GetAlipayUserInfoResp resp = new GetAlipayUserInfoResp();
  24. try {
  25. UserAccountApi api = new UserAccountApi("https", "ab-saas-api.alipay-eco.com", null, req.getSaasSecurityKey());
  26. UserAccountInfo userAccountInfo = api.queryUserInfo(req.getAppId(), req.getTicket());
  27. resp.setAlipayUid(userAccountInfo.getAlipayUid());
  28. resp.setAvatar(userAccountInfo.getAvatar());
  29. resp.setRealName(userAccountInfo.getFullName());
  30. resp.setNickName(userAccountInfo.getNickName());
  31. resp.setMobile(userAccountInfo.getPhone());
  32. resp.setAge(userAccountInfo.getAge());
  33. resp.setIdCardNo(userAccountInfo.getIdcardNo());
  34. } catch (Exception e) {
  35. log.error("AuthService#getAlipayUserInfo(req={} ):\n {}", req, e.getMessage(), e);
  36. throw new AppMessageException(e.getMessage());
  37. }
  38. return resp;
  39. }
  40. }