app菜单相关,支付宝自动打款,详情,实名,商户相关

This commit is contained in:
liuyingfang
2023-08-04 16:24:09 +08:00
parent 222c206aca
commit e5a29ff40a
28 changed files with 560 additions and 72 deletions

View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.chaozhanggui.system</groupId>
<artifactId>ysk-system</artifactId>
<version>1.0.0</version>
</parent>
<artifactId>aliPay-service-api</artifactId>
<dependencies>
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.38.37.ALL</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.8</version>
</dependency>
</dependencies>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>

View File

@@ -0,0 +1,11 @@
package com.chaozhanggui.system;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@EntityScan(basePackageClasses = AliPayServiceConfig.class)
@ComponentScan(basePackageClasses = AliPayServiceConfig.class)
public class AliPayServiceConfig {
}

View File

@@ -0,0 +1,36 @@
package com.chaozhanggui.system.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import java.io.Serializable;
/**
* @author lyf
*/
@Configuration
@ConfigurationProperties(prefix = "alipay-config")
@Data
public class AliPayConfig implements Serializable {
/**
* 应用私钥
*/
private String privateKey;
/**
* 支付宝AppID
*/
private String alipayAppId;
/**
* app公钥证书路径
*/
private String appCertPublicKeyPath;
/**
* 阿里公钥证书路径
*/
private String alipayCertPublicKeyPath;
/**
* 阿里根证书路径
*/
private String alipayRootCertPath;
}

View File

@@ -0,0 +1,70 @@
package com.chaozhanggui.system.service;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.CertAlipayRequest;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.domain.AlipayFundTransUniTransferModel;
import com.alipay.api.domain.Participant;
import com.alipay.api.request.AlipayFundTransUniTransferRequest;
import com.alipay.api.response.AlipayFundTransUniTransferResponse;
import com.chaozhanggui.system.config.AliPayConfig;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* @author lyf
*/
@Service
public class AliPayService {
@Resource
AliPayConfig aliPayConfig;
public String alipayTransfer(String amount, String accountNo, String accountName,String remake,
String cashNumber) throws AlipayApiException {
CertAlipayRequest alipayConfig = new CertAlipayRequest();
alipayConfig.setPrivateKey(aliPayConfig.getPrivateKey());
alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do");
alipayConfig.setAppId(aliPayConfig.getAlipayAppId());
alipayConfig.setCharset("UTF8");
alipayConfig.setSignType("RSA2");
alipayConfig.setEncryptor("");
alipayConfig.setFormat("json");
alipayConfig.setCertPath(aliPayConfig.getAppCertPublicKeyPath());
alipayConfig.setAlipayPublicCertPath(aliPayConfig.getAlipayCertPublicKeyPath());
alipayConfig.setRootCertPath(aliPayConfig.getAlipayRootCertPath());
AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);
AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest();
AlipayFundTransUniTransferModel model = new AlipayFundTransUniTransferModel();
//商家侧唯一订单号
model.setOutBizNo(cashNumber);
model.setRemark(remake);
model.setBusinessParams("{\"payer_show_name_use_alias\":\"true\"}");
model.setBizScene("DIRECT_TRANSFER");
//收款方信息
Participant payeeInfo = new Participant();
//登录号
payeeInfo.setIdentity(accountNo);
payeeInfo.setIdentityType("ALIPAY_LOGON_ID");
//实名
payeeInfo.setName(accountName);
model.setPayeeInfo(payeeInfo);
//打款金额
model.setTransAmount(amount);
model.setProductCode("TRANS_ACCOUNT_NO_PWD");
model.setOrderTitle("");
request.setBizModel(model);
AlipayFundTransUniTransferResponse response = alipayClient.certificateExecute(request);
if (response.isSuccess()) {
System.out.println("调用成功");
return response.getSubMsg();
} else {
System.out.println("调用失败");
return response.getSubMsg();
}
}
}