Commit bf13278e authored by jiaorz's avatar jiaorz

添加支付宝授权接口

parent 2883ad2c
...@@ -37,6 +37,8 @@ public class AppUserAlipay { ...@@ -37,6 +37,8 @@ public class AppUserAlipay {
@Column(name = "is_del") @Column(name = "is_del")
private Integer isDel; private Integer isDel;
@ApiModelProperty("昵称")
private String nickname;
......
package com.github.wxiaoqi.security.admin.biz; package com.github.wxiaoqi.security.admin.biz;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.entity.AppUserAlipay; import com.github.wxiaoqi.security.admin.entity.AppUserAlipay;
import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
import com.github.wxiaoqi.security.admin.entity.AppUserRelationTemp; import com.github.wxiaoqi.security.admin.entity.AppUserRelationTemp;
import com.github.wxiaoqi.security.admin.mapper.AppUserAlipayMapper; import com.github.wxiaoqi.security.admin.mapper.AppUserAlipayMapper;
import com.github.wxiaoqi.security.admin.mapper.AppUserRelationTempMapper; import com.github.wxiaoqi.security.admin.mapper.AppUserRelationTempMapper;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.universal.feign.ThirdFeign;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -18,7 +31,19 @@ import java.util.List; ...@@ -18,7 +31,19 @@ import java.util.List;
* @date 2019-07-03 16:36:44 * @date 2019-07-03 16:36:44
*/ */
@Service @Service
public class AppUserAlipayBiz extends BaseBiz<AppUserAlipayMapper, AppUserAlipay> { @Slf4j
public class AppUserAlipayBiz extends BaseBiz<AppUserAlipayMapper, AppUserAlipay>{
@Autowired
private UserAuthUtil userAuthUtil;
@Autowired
private UserAuthConfig userAuthConfig;
@Autowired
AppUserLoginBiz appUserLoginBiz;
@Autowired
ThirdFeign thirdFeign;
//添加支付宝账号 //添加支付宝账号
public void addAlipay(Integer userId,String txAlipay){ public void addAlipay(Integer userId,String txAlipay){
...@@ -43,5 +68,46 @@ public class AppUserAlipayBiz extends BaseBiz<AppUserAlipayMapper, AppUserAlipay ...@@ -43,5 +68,46 @@ public class AppUserAlipayBiz extends BaseBiz<AppUserAlipayMapper, AppUserAlipay
return selectByExample(example); return selectByExample(example);
} }
/**
* 支付宝授权获取用户信息
* @param code
* @return
*/
public ObjectRestResponse getUserInfo(String code, HttpServletRequest request) {
String username = null;
AppUserAlipay appUserAlipay = new AppUserAlipay();
try {
username = userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request)).getId();
if (StringUtils.isBlank(username)) {
return ObjectRestResponse.createFailedResult(ResultCode.RSTOKEN_EXPIRED_CODE, ResultCode.getMsg(ResultCode.RSTOKEN_EXPIRED_CODE));
} else {
appUserAlipay.setUserId(Integer.parseInt(username));
}
} catch (Exception e) {
e.printStackTrace();
}
String result = thirdFeign.getAliPayUserInfo(code).getData();
if (StringUtils.isNotBlank(result)) {
JSONObject jsonObject = JSONObject.parseObject(result);
if (jsonObject != null && jsonObject.getString("code").equals("10000")) {
String account = jsonObject.getString("userId");
if (account != null) {
appUserAlipay.setTxAlipay(account);
appUserAlipay.setCrtTime(new Date().getTime());
appUserAlipay.setIsDel(0);
}
String nickname = jsonObject.getString("nickName");
if (nickname != null) {
appUserAlipay.setNickname(nickname);
}
log.info("用户支付宝信息: {}", appUserAlipay.toString());
insertSelectiveRe(appUserAlipay);
return ObjectRestResponse.succ();
} else {
return ObjectRestResponse.createFailedResult(Integer.parseInt(jsonObject.getString("code")), jsonObject.getString("sub_msg"));
}
}
return ObjectRestResponse.createDefaultFail();
}
} }
\ No newline at end of file
package com.github.wxiaoqi.security.admin.rest;
import com.github.wxiaoqi.security.admin.biz.AppUserAlipayBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
@RestController
@RequestMapping("/alipay")
public class AppUserAliPayController {
@Autowired
AppUserAlipayBiz appUserAlipayBiz;
@GetMapping("/getUserInfo")
public ObjectRestResponse getUserInfo(String code, HttpServletRequest request) {
return appUserAlipayBiz.getUserInfo(code, request);
}
}
...@@ -83,4 +83,8 @@ public interface ThirdFeign { ...@@ -83,4 +83,8 @@ public interface ThirdFeign {
/*************************************支付***************************************/ /*************************************支付***************************************/
@PostMapping("/pay/app/unauth/transfer_account") @PostMapping("/pay/app/unauth/transfer_account")
String transferAccount(@RequestBody FundPayVo fundPayVo) throws Exception; String transferAccount(@RequestBody FundPayVo fundPayVo) throws Exception;
@GetMapping("/info/app/unauth/getAliPayUserInfo")
public ObjectRestResponse<String> getAliPayUserInfo(@RequestParam(value = "code")String code);
} }
...@@ -460,15 +460,22 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> implements In ...@@ -460,15 +460,22 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> implements In
request.setCode(code); request.setCode(code);
AlipaySystemOauthTokenResponse response = alipayClient.execute(request); AlipaySystemOauthTokenResponse response = alipayClient.execute(request);
if(response.isSuccess()){ if(response.isSuccess()){
System.out.println("调用成功"); log.info("获取用户token调用成功,获取用户信息 {}", response.getBody());
if(response.getAccessToken() != null) {
AlipayUserInfoShareRequest alipayUserInfoShareRequest = new AlipayUserInfoShareRequest();
AlipayUserInfoShareResponse alipayUserInfoShareResponse = alipayClient.execute(alipayUserInfoShareRequest,response.getAccessToken());
if(alipayUserInfoShareResponse.isSuccess()){
log.info("获取用户支付宝信息调用成功, {}", alipayUserInfoShareResponse.getBody());
return alipayUserInfoShareResponse.getBody();
} else { } else {
System.out.println("调用失败"); log.info("获取用户支付宝信息调用失败, {}", alipayUserInfoShareResponse.getBody());
} }
return response.toString();
} }
} else {
log.info("获取用户token调用失败, {}", response.getBody());
}
return response.getBody();
}
...@@ -587,7 +594,12 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> implements In ...@@ -587,7 +594,12 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> implements In
} }
public static void main(String[] args) { public static void main(String[] args) {
OrderPayBiz orderPayBiz = new OrderPayBiz();
try {
System.out.println(orderPayBiz.getAlipayToken(""));
} catch (AlipayApiException e) {
e.printStackTrace();
}
} }
@Override @Override
......
...@@ -4,9 +4,11 @@ package com.xxfc.platform.universal.controller; ...@@ -4,9 +4,11 @@ package com.xxfc.platform.universal.controller;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alipay.api.AlipayApiException;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken; import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.UserAgentUtil; import com.github.wxiaoqi.security.common.util.UserAgentUtil;
import com.xxfc.platform.universal.biz.OrderPayBiz;
import com.xxfc.platform.universal.biz.WeixinService; import com.xxfc.platform.universal.biz.WeixinService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -28,6 +30,9 @@ public class UserInfoController { ...@@ -28,6 +30,9 @@ public class UserInfoController {
@Autowired @Autowired
WeixinService weixinService; WeixinService weixinService;
@Autowired
OrderPayBiz orderPayBiz;
@Value("${wx.sendUrl}") @Value("${wx.sendUrl}")
private String sendUrl; private String sendUrl;
...@@ -51,5 +56,15 @@ public class UserInfoController { ...@@ -51,5 +56,15 @@ public class UserInfoController {
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
@GetMapping("/app/unauth/getAliPayUserInfo")
public ObjectRestResponse<String> getAliPayUserInfo(String code) {
try {
return ObjectRestResponse.succ(orderPayBiz.getAlipayToken(code));
} catch (AlipayApiException e) {
e.printStackTrace();
}
return ObjectRestResponse.createDefaultFail();
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment