From 6d5c5b1d257e950ae006825c082d02ebfca27986 Mon Sep 17 00:00:00 2001 From: winter <664946893@qq.com> Date: Sun, 3 Nov 2024 10:22:53 +0800 Subject: [PATCH] fix --- .../com/iformall/controller/callback/AliPayController.java | 7 +++---- .../java/com/iformall/service/pay/alipay/AliPayUtil.java | 6 ++++-- .../com/iformall/service/pay/alipay/api/AliPayApi.java | 2 +- .../service/pay/alipay/api/result/UserAuthData.java | 3 ++- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/mallinkCallback/src/main/java/com/iformall/controller/callback/AliPayController.java b/mallinkCallback/src/main/java/com/iformall/controller/callback/AliPayController.java index 57bf14194..939dcd927 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/AliPayController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/AliPayController.java @@ -142,13 +142,11 @@ public class AliPayController extends BaseController { return; }else { UserAuthData authData = alipayUtil.queryUserAuthData(wxMall.getAlipayAppAuthToken(), authCode); - logger.info(">>>> UserAuthData >>>>"+JSON.toJSONString(authData)); if (null == authData ) { writeResponse(response,"Auth Failed!queryUserAuthData return null."); return; }else { Map map = alipayUtil.queryUserFormData(wxMall.getAlipayAppAuthToken(), authData.getAccessToken(), templateId, requestId); - logger.info(">>>> queryUserFormData >>>>"+JSON.toJSONString(map)); if (null == map) { writeResponse(response,"Auth Failed!queryUserFormData return null."); return; @@ -160,13 +158,14 @@ public class AliPayController extends BaseController { }else { //查询该userId是否已经开卡,已经开卡不再开卡 AliPayCUser query = new AliPayCUser(); - query.setAlipayUserId(authData.getUserId()); + //query.setAlipayUserId(authData.getUserId()); + query.setAlipayUserId(authData.getOpenId()); query.updateTenantInfo(wxMall); AliPayCUser alicuser = aliPayCUserService.getByAliPayUserId(query); if (null == alicuser) { //添加用户信息 alicuser = new AliPayCUser(); - alicuser.setAlipayUserId(authData.getUserId()); + alicuser.setAlipayUserId(authData.getOpenId()); alicuser.setPhone(phone); alicuser.updateTenantInfo(wxMall); aliPayCUserService.saveOrUpdate(alicuser); diff --git a/mallinkService/src/main/java/com/iformall/service/pay/alipay/AliPayUtil.java b/mallinkService/src/main/java/com/iformall/service/pay/alipay/AliPayUtil.java index 96f923dbe..ccf8922b4 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/alipay/AliPayUtil.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/alipay/AliPayUtil.java @@ -207,7 +207,7 @@ public class AliPayUtil { return null; } - //商圈智能积分授权(算法授权)URL + //商圈智能积分授权(算法授权)URL https://opendocs.alipay.com/open/01lsmc?scene=SC00001296&sourceCode=SC00001296&projectCode=2191000403&sceneVersion=382 public String getH5SmartDistrictMallVipPointsUrl(String param) { try { return "https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id="+getConfig().appId+"&scope=mall_vip_points&redirect_uri="+URLEncoder.encode(getCallBack(),"utf-8")+"&state="+param; @@ -224,10 +224,12 @@ public class AliPayUtil { //JSONObject result = getGenericResponse(response.getHttpBody(),"alipay_system_oauth_token_response"); JSONObject responseResult = JSON.parseObject(response.getHttpBody()); if (null != responseResult) { + log.info("queryUserAuthData:"+JSON.toJSONString(responseResult)); JSONObject result = responseResult.getJSONObject("alipay_system_oauth_token_response"); if (null != result) { UserAuthData authData = new UserAuthData(); - authData.setUserId(result.getString("user_id")); + //authData.setUserId(result.getString("user_id")); + authData.setOpenId(result.getString("open_id")); authData.setAccessToken(result.getString("access_token")); return authData; }else { diff --git a/mallinkService/src/main/java/com/iformall/service/pay/alipay/api/AliPayApi.java b/mallinkService/src/main/java/com/iformall/service/pay/alipay/api/AliPayApi.java index d1132d712..fd3816a32 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/alipay/api/AliPayApi.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/alipay/api/AliPayApi.java @@ -254,7 +254,7 @@ public class AliPayApi { } /** - * https://opendocs.alipay.com/apis/api_9/alipay.system.oauth.token + * https://opendocs.alipay.com/open/84bc7352_alipay.system.oauth.token?scene=common&pathHash=fe1502d5 * 会员授权,换取授权访问令牌 * @return * @throws Exception diff --git a/mallinkService/src/main/java/com/iformall/service/pay/alipay/api/result/UserAuthData.java b/mallinkService/src/main/java/com/iformall/service/pay/alipay/api/result/UserAuthData.java index a7b3b1062..3a2051bc3 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/alipay/api/result/UserAuthData.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/alipay/api/result/UserAuthData.java @@ -5,6 +5,7 @@ import lombok.Data; @Data public class UserAuthData { - private String userId; + //private String userId; + private String openId; private String accessToken; }