修改配置

This commit is contained in:
2025-09-25 01:11:13 +08:00
parent f2a35a6929
commit 27f5576aa2
9 changed files with 133 additions and 22 deletions

View File

@ -0,0 +1,48 @@
package com.sczx.pay.controller;
import com.sczx.pay.dto.*;
import com.sczx.pay.service.AlipayService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@Api(value = "支付宝芝麻免押支付接口", tags = "支付宝芝麻免押支付接口")
@Slf4j
@RestController
@RequestMapping("/api/authAlipay")
public class AliAuthPaymentController {
@Autowired
private AlipayService alipayService;
/**
* 免押冻结
*/
@ApiOperation(value = "免押冻结接口")
@PostMapping("/fundFreeze")
public AlipayFundFreezeResponse fundFreeze(@RequestBody AlipayFundFreezeRequest request) {
log.info("收到支付宝免押冻结请求: {}", request);
return alipayService.fundFreeze(request);
}
/**
* 取消冻结
*/
@ApiOperation(value = "取消冻结接口")
@PostMapping("/cancelFundFreeze")
public AlipayFundFreezeResponse cancelFundFreeze(@RequestBody AlipayFundFreezeRequest request) {
log.info("收到支付宝取消免押冻结请求: {}", request);
return alipayService.cancelFundFreeze(request);
}
@ApiOperation(value = "查询冻结接口")
@PostMapping("/queryFundFreeze")
public AlipayQueryFreezeResponse queryFundFreeze(@RequestBody AlipayQueryFreezeRequest alipayQueryFreezeRequest) {
log.info("收到支付宝查询免押冻结请求: {}", alipayQueryFreezeRequest);
return alipayService.queryFundFreeze(alipayQueryFreezeRequest);
}
}

View File

@ -66,24 +66,4 @@ public class AliPaymentController {
log.info("收到支付宝退款查询请求: {}", request);
return alipayService.refundQuery(request);
}
/**
* 免押冻结
*/
@ApiOperation(value = "免押冻结接口")
@PostMapping("/fundFreeze")
public AlipayFundFreezeResponse fundFreeze(@RequestBody AlipayFundFreezeRequest request) {
log.info("收到支付宝免押冻结请求: {}", request);
return alipayService.fundFreeze(request);
}
/**
* 取消冻结
*/
@ApiOperation(value = "取消冻结接口")
@PostMapping("/cancelFundFreeze")
public AlipayFundFreezeResponse cancelFundFreeze(@RequestBody AlipayFundFreezeRequest request) {
log.info("收到支付宝取消免押冻结请求: {}", request);
return alipayService.cancelFundFreeze(request);
}
}

View File

@ -0,0 +1,12 @@
package com.sczx.pay.dto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@ApiModel("支付宝资金冻结请求参数")
@Data
public class AlipayQueryFreezeRequest {
private String companyId;
private String outOrderNo;
private String operationType;
}

View File

@ -0,0 +1,14 @@
package com.sczx.pay.dto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@ApiModel("支付宝资金冻结响应参数")
@Data
public class AlipayQueryFreezeResponse {
private boolean success;
private String message;
private String outTradeNo; // 商户订单号
private String authNo; // 支付串(用于前端调起支付)
private String code; // 状态码
}

View File

@ -40,6 +40,11 @@ public interface AlipayService {
*/
AlipayFundFreezeResponse cancelFundFreeze(AlipayFundFreezeRequest alipayFundFreezeRequest);
/**
* 查询资金授权冻结接口
*/
AlipayQueryFreezeResponse queryFundFreeze(AlipayQueryFreezeRequest alipayQueryFreezeRequest);
/**
* 验证通知签名
*/

View File

@ -17,6 +17,7 @@ import com.sczx.pay.service.AlipayService;
import com.sczx.pay.utils.AlipaySdkUtil;
import com.sczx.pay.utils.ThreadPoolUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@ -405,6 +406,55 @@ public class AlipayServiceImpl implements AlipayService {
return response;
}
@Override
public AlipayQueryFreezeResponse queryFundFreeze(AlipayQueryFreezeRequest alipayQueryFreezeRequest) {
AlipayQueryFreezeResponse response = new AlipayQueryFreezeResponse();
try {
// 构造请求参数以调用接口
AlipayFundAuthOperationDetailQueryRequest request = new AlipayFundAuthOperationDetailQueryRequest();
AlipayFundAuthOperationDetailQueryModel model = new AlipayFundAuthOperationDetailQueryModel();
//
// // 设置支付宝授权资金订单号
// model.setAuthNo("2014021601002000640012345678");
// 设置商户的授权资金订单号
model.setOutOrderNo(alipayQueryFreezeRequest.getOutOrderNo());
// // 设置支付宝的授权资金操作流水号
// model.setOperationId("20140216010020006400");
// 设置商户的授权资金操作流水号
model.setOutRequestNo(alipayQueryFreezeRequest.getOutOrderNo());
// 设置需要查询的授权资金操作类型
model.setOperationType(alipayQueryFreezeRequest.getOperationType());
request.setBizModel(model);
log.info("查询免押冻结请求 : {}",request);
AlipayFundAuthOperationDetailQueryResponse queryResponse = alipaySdkUtil.execute(request);
log.info("查询免押冻结响应 : {}",queryResponse.getBody());
if (queryResponse.isSuccess() && StringUtils.equalsIgnoreCase(queryResponse.getOrderStatus(), "AUTHORIZED")) {
response.setSuccess(true);
response.setCode("SUCCESS");
response.setAuthNo(queryResponse.getAuthNo());
response.setOutTradeNo(queryResponse.getOutOrderNo());
response.setMessage("查询免押冻结成功");
} else {
response.setSuccess(false);
response.setCode("FAIL");
response.setMessage("查询免押冻结失败: " + queryResponse.getMsg() + ":" + queryResponse.getSubMsg());
}
} catch (Exception e) {
log.error("支付宝查询免押冻结异常公司ID: {}, 订单号: {}", alipayQueryFreezeRequest.getCompanyId(), alipayQueryFreezeRequest.getOutOrderNo(), e);
response.setSuccess(false);
response.setCode("FAIL");
response.setMessage("支付宝查询免押冻结失败异常: " + e.getMessage());
}
return response;
}
@Override
public boolean verifyNotifySign(Long companyId, Map<String, String> params) {
try {

View File

@ -3,7 +3,7 @@ spring:
name: sczx-singlepay # 应用名称,对应 Nacos 配置的 dataId
cloud:
nacos:
server-addr: 115.190.8.52:8848 # Nacos 服务器地址
server-addr: ${NACOS_SERVER_ADDR} # Nacos 服务器地址
config:
group: DEFAULT_GROUP # 配置分组
file-extension: yaml # 配置文件格式