#1007 增加微信支付的 spring boot starter
This commit is contained in:
1
pom.xml
1
pom.xml
@@ -105,6 +105,7 @@
|
|||||||
<module>weixin-java-pay</module>
|
<module>weixin-java-pay</module>
|
||||||
<module>weixin-java-miniapp</module>
|
<module>weixin-java-miniapp</module>
|
||||||
<module>weixin-java-open</module>
|
<module>weixin-java-open</module>
|
||||||
|
<module>starters/wx-java-pay-starter</module>
|
||||||
<!--module>weixin-java-osgi</module-->
|
<!--module>weixin-java-osgi</module-->
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
|
|||||||
65
starters/wx-java-pay-starter/pom.xml
Normal file
65
starters/wx-java-pay-starter/pom.xml
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
<?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">
|
||||||
|
<parent>
|
||||||
|
<artifactId>wx-java</artifactId>
|
||||||
|
<groupId>com.github.binarywang</groupId>
|
||||||
|
<version>3.3.8.B</version>
|
||||||
|
</parent>
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<artifactId>wx-java-pay-starter</artifactId>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<spring.boot.version>2.1.4.RELEASE</spring.boot.version>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-autoconfigure</artifactId>
|
||||||
|
<version>${spring.boot.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-configuration-processor</artifactId>
|
||||||
|
<version>${spring.boot.version}</version>
|
||||||
|
<optional>true</optional>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.projectlombok</groupId>
|
||||||
|
<artifactId>lombok</artifactId>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.github.binarywang</groupId>
|
||||||
|
<artifactId>weixin-java-pay</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
|
<version>${spring.boot.version}</version>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-source-plugin</artifactId>
|
||||||
|
<version>2.2.1</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>attach-sources</id>
|
||||||
|
<goals>
|
||||||
|
<goal>jar-no-fork</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
</project>
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
package com.binarywang.spring.starter.wxjava.pay.config;
|
||||||
|
|
||||||
|
import com.binarywang.spring.starter.wxjava.pay.properties.WxPayProperties;
|
||||||
|
import com.github.binarywang.wxpay.config.WxPayConfig;
|
||||||
|
import com.github.binarywang.wxpay.service.WxPayService;
|
||||||
|
import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||||
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||||
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 微信支付自动配置
|
||||||
|
* Created by BinaryWang on 2019/4/17.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @author <a href="https://github.com/binarywang">Binary Wang</a>
|
||||||
|
*/
|
||||||
|
@Configuration
|
||||||
|
@EnableConfigurationProperties(WxPayProperties.class)
|
||||||
|
@ConditionalOnClass(WxPayService.class)
|
||||||
|
@ConditionalOnProperty(prefix = "wx.pay", value = "enabled", matchIfMissing = true)
|
||||||
|
public class WxPayAutoConfiguration {
|
||||||
|
private WxPayProperties properties;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public WxPayAutoConfiguration(WxPayProperties properties) {
|
||||||
|
this.properties = properties;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构造微信支付服务对象.
|
||||||
|
*
|
||||||
|
* @return 微信支付service
|
||||||
|
*/
|
||||||
|
@Bean
|
||||||
|
@ConditionalOnMissingBean(WxPayService.class)
|
||||||
|
public WxPayService wxPayService() {
|
||||||
|
final WxPayServiceImpl wxPayService = new WxPayServiceImpl();
|
||||||
|
WxPayConfig payConfig = new WxPayConfig();
|
||||||
|
payConfig.setAppId(StringUtils.trimToNull(this.properties.getAppId()));
|
||||||
|
payConfig.setMchId(StringUtils.trimToNull(this.properties.getMchId()));
|
||||||
|
payConfig.setMchKey(StringUtils.trimToNull(this.properties.getMchKey()));
|
||||||
|
payConfig.setSubAppId(StringUtils.trimToNull(this.properties.getSubAppId()));
|
||||||
|
payConfig.setSubMchId(StringUtils.trimToNull(this.properties.getSubMchId()));
|
||||||
|
payConfig.setKeyPath(StringUtils.trimToNull(this.properties.getKeyPath()));
|
||||||
|
|
||||||
|
wxPayService.setConfig(payConfig);
|
||||||
|
return wxPayService;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
package com.binarywang.spring.starter.wxjava.pay.properties;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 微信支付属性配置类
|
||||||
|
* Created by Binary Wang on 2019/4/17.
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @author <a href="https://github.com/binarywang">Binary Wang</a>
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ConfigurationProperties(prefix = "wx.pay")
|
||||||
|
public class WxPayProperties {
|
||||||
|
/**
|
||||||
|
* 设置微信公众号或者小程序等的appid.
|
||||||
|
*/
|
||||||
|
private String appId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 微信支付商户号.
|
||||||
|
*/
|
||||||
|
private String mchId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 微信支付商户密钥.
|
||||||
|
*/
|
||||||
|
private String mchKey;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 服务商模式下的子商户公众账号ID,普通模式请不要配置,请在配置文件中将对应项删除.
|
||||||
|
*/
|
||||||
|
private String subAppId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 服务商模式下的子商户号,普通模式请不要配置,最好是请在配置文件中将对应项删除.
|
||||||
|
*/
|
||||||
|
private String subMchId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* apiclient_cert.p12文件的绝对路径,或者如果放在项目中,请以classpath:开头指定.
|
||||||
|
*/
|
||||||
|
private String keyPath;
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.binarywang.spring.starter.wxjava.pay.config.WxPayAutoConfiguration
|
||||||
Reference in New Issue
Block a user