feat(payment): 支付宝余额查询

master
yang 2025-02-07 15:27:03 +08:00
parent 415e25cdd7
commit 7e0540104f
4 changed files with 65 additions and 12 deletions

View File

@ -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);
}
/**
*

View File

@ -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);
}

View File

@ -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;
}

View File

@ -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;
}
}