feat(payment): 支付宝余额查询
parent
415e25cdd7
commit
7e0540104f
|
@ -3,6 +3,7 @@ package com.mcwl.web.controller.pay.AliPay;
|
|||
import cn.hutool.core.lang.UUID;
|
||||
import cn.hutool.extra.qrcode.QrCodeUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alipay.api.AlipayApiException;
|
||||
import com.alipay.easysdk.factory.Factory;
|
||||
import com.mcwl.common.annotation.Anonymous;
|
||||
import com.mcwl.common.core.controller.BaseController;
|
||||
|
@ -97,6 +98,16 @@ public class AliPayController extends BaseController {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 余额查询接口
|
||||
*/
|
||||
@GetMapping("/balance")
|
||||
@ResponseBody
|
||||
public AjaxResult balance(@Valid @NotNull(message = "用户ID不能为空") Long userId) throws AlipayApiException {
|
||||
String balance = aliPayService.balance(userId);
|
||||
return AjaxResult.success(balance);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 支付接口
|
||||
|
|
|
@ -75,9 +75,11 @@ public class MallProductController extends BaseController {
|
|||
|
||||
String s = OssUtil.uploadMultipartFile(file);
|
||||
String fileName = file.getOriginalFilename();
|
||||
|
||||
Map<String, String> map = new HashMap<>();
|
||||
map.put("fileName", fileName);
|
||||
map.put("url", s);
|
||||
|
||||
return AjaxResult.success(map);
|
||||
}
|
||||
|
||||
|
|
|
@ -12,4 +12,6 @@ public interface AliPayService {
|
|||
String pointsPay(Double paymentAmount) throws Exception;
|
||||
|
||||
AjaxResult fetch(String outBizNo, String amount) throws AlipayApiException;
|
||||
|
||||
String balance(Long userId) throws AlipayApiException;
|
||||
}
|
||||
|
|
|
@ -297,18 +297,41 @@ public class AliPayServiceImpl implements AliPayService {
|
|||
}
|
||||
}
|
||||
|
||||
private AlipayConfig getAlipayConfig() {
|
||||
String privateKey = aliConfig.getPrivateKey();
|
||||
String alipayPublicKey = aliConfig.getPublicKey();
|
||||
AlipayConfig alipayConfig = new AlipayConfig();
|
||||
alipayConfig.setServerUrl(aliConfig.getGatewayUrl());
|
||||
alipayConfig.setAppId(aliConfig.getAppId());
|
||||
alipayConfig.setPrivateKey(privateKey);
|
||||
alipayConfig.setFormat("json");
|
||||
alipayConfig.setAlipayPublicKey(alipayPublicKey);
|
||||
alipayConfig.setCharset("UTF-8");
|
||||
alipayConfig.setSignType("RSA2");
|
||||
return alipayConfig;
|
||||
@Override
|
||||
public String balance(Long userId) throws AlipayApiException {
|
||||
// 初始化SDK
|
||||
AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
|
||||
|
||||
// 构造请求参数以调用接口
|
||||
AlipayFundAccountQueryRequest request = new AlipayFundAccountQueryRequest();
|
||||
AlipayFundAccountQueryModel model = new AlipayFundAccountQueryModel();
|
||||
|
||||
SysUserPayAccount sysUserPayAccount = sysUserPayAccountService
|
||||
.lambdaQuery()
|
||||
.eq(SysUserPayAccount::getUserId, userId)
|
||||
.eq(SysUserPayAccount::getType, 0)
|
||||
.one();
|
||||
if (Objects.isNull(sysUserPayAccount)) {
|
||||
return "fail";
|
||||
}
|
||||
|
||||
// 设置支付宝openId
|
||||
model.setAlipayOpenId("2021005114616085");
|
||||
|
||||
// 设置查询的账号类型
|
||||
model.setAccountType("ACCTRANS_ACCOUNT");
|
||||
|
||||
request.setBizModel(model);
|
||||
AlipayFundAccountQueryResponse response = alipayClient.execute(request);
|
||||
|
||||
if (response.isSuccess()) {
|
||||
System.out.println("调用成功");
|
||||
return response.getAvailableAmount();
|
||||
} else {
|
||||
System.out.println("调用失败");
|
||||
return "fail";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -352,4 +375,19 @@ public class AliPayServiceImpl implements AliPayService {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private AlipayConfig getAlipayConfig() {
|
||||
String privateKey = aliConfig.getPrivateKey();
|
||||
String alipayPublicKey = aliConfig.getPublicKey();
|
||||
AlipayConfig alipayConfig = new AlipayConfig();
|
||||
alipayConfig.setServerUrl(aliConfig.getGatewayUrl());
|
||||
alipayConfig.setAppId(aliConfig.getAppId());
|
||||
alipayConfig.setPrivateKey(privateKey);
|
||||
alipayConfig.setFormat("json");
|
||||
alipayConfig.setAlipayPublicKey(alipayPublicKey);
|
||||
alipayConfig.setCharset("UTF-8");
|
||||
alipayConfig.setSignType("RSA2");
|
||||
return alipayConfig;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue