diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/MemberController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/MemberController.java index a285c3502..d7ba9c045 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/MemberController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/MemberController.java @@ -157,6 +157,9 @@ public class MemberController extends BaseController { String memberToken = memberService.alipayLogin(dto); response = new RestApiResponse<>(ImmutableMap.of("memberToken", memberToken)); + } catch (BusinessException e) { + logger.error("支付宝登录异常 param:{}", JSON.toJSONString(dto), e); + response = new RestApiResponse<>(e.getCode(), e.getMessage()); } catch (Exception e) { logger.error("支付宝登录异常 param:{}", JSON.toJSONString(dto), e); response = new RestApiResponse<>(ReturnCodeEnum.CODE_ALIPAY_LOGIN_ERROR); diff --git a/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java b/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java index 88fed0c51..6c64559a2 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java @@ -8,8 +8,10 @@ import com.alipay.api.AlipayApiException; import com.alipay.api.AlipayClient; import com.alipay.api.request.AlipaySystemOauthTokenRequest; import com.alipay.api.request.AlipayUserInfoShareRequest; +import com.alipay.api.request.AlipayUserUserinfoShareRequest; import com.alipay.api.response.AlipaySystemOauthTokenResponse; import com.alipay.api.response.AlipayUserInfoShareResponse; +import com.alipay.api.response.AlipayUserUserinfoShareResponse; import com.alipay.easysdk.factory.Factory; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -285,13 +287,14 @@ public class MemberService { // 获取buyer_id AlipayUserInfoShareRequest request = new AlipayUserInfoShareRequest(); + // AlipayUserUserinfoShareRequest request = new AlipayUserUserinfoShareRequest(); AlipayUserInfoShareResponse response = alipayClient.execute(request, accessToken); if(response.isSuccess()){ log.info("调用成功:" + JSON.toJSONString(response)); } else { log.info("调用失败:" + JSON.toJSONString(response)); } - String userId = response.getUserId(); + String userId = response.getOpenId(); String mobile = response.getMobile(); // 根据appid查询merchantId @@ -312,24 +315,18 @@ public class MemberService { * @param authCode * @return */ - private String getAccessToken(String authCode) { + private String getAccessToken(String authCode) throws AlipayApiException { AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest(); // 设置授权码 request.setCode(authCode); // 设置授权方式 request.setGrantType("authorization_code"); - AlipaySystemOauthTokenResponse response = null; - try { - response = alipayClient.execute(request); - } catch (AlipayApiException e) { - throw new RuntimeException(e); + AlipaySystemOauthTokenResponse response = alipayClient.execute(request); + if (!response.isSuccess()) { + throw new BusinessException(ReturnCodeEnum.CODE_ALIPAY_ACCESS_TOKEN_ERROR); } - String accessToken = ""; - if (response.isSuccess()) { - System.out.println("调用成功"); - accessToken = response.getAccessToken(); - } - return accessToken; + log.info("支付宝getAccessToken:{}", JSON.toJSONString(response)); + return response.getAccessToken(); } /** diff --git a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java index a7ddfb376..9ad7192d4 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java +++ b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java @@ -141,6 +141,8 @@ public enum ReturnCodeEnum { CODE_ALIPAY_LOGIN_ERROR("00100065", "支付宝登录异常"), + CODE_ALIPAY_ACCESS_TOKEN_ERROR("00100066", "获取支付宝accessToken失败"), + /* 个人桩 start */ CODE_PILE_HAS_BEEN_BINDING_ERROR("00400001", "此桩已被绑定,请联系管理员!"),