feat: payment fix to startup
This commit is contained in:
@@ -90,17 +90,27 @@
|
||||
</dependency>
|
||||
|
||||
<!-- Swagger 依赖项 -->
|
||||
<dependency>
|
||||
<!-- <dependency>
|
||||
<groupId>io.springfox</groupId>
|
||||
<artifactId>springfox-boot-starter</artifactId>
|
||||
<version>3.0.0</version>
|
||||
</dependency> -->
|
||||
<!-- <dependency>
|
||||
<groupId>io.springfox</groupId>
|
||||
<artifactId>springfox-swagger2</artifactId>
|
||||
<version>2.9.2</version>
|
||||
<version>3.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.springfox</groupId>
|
||||
<artifactId>springfox-swagger-ui</artifactId>
|
||||
<version>2.9.2</version>
|
||||
<version>3.0.0</version>
|
||||
</dependency> -->
|
||||
<dependency>
|
||||
<groupId>org.springdoc</groupId>
|
||||
<artifactId>springdoc-openapi-ui</artifactId>
|
||||
<version>1.6.14</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
||||
@@ -1,26 +1,21 @@
|
||||
package org.wfc.payment.wxpay.config;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.EnvironmentAware;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.util.StopWatch;
|
||||
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
|
||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
|
||||
import springfox.documentation.builders.ApiInfoBuilder;
|
||||
import springfox.documentation.builders.RequestHandlerSelectors;
|
||||
import springfox.documentation.service.ApiInfo;
|
||||
import springfox.documentation.spi.DocumentationType;
|
||||
import springfox.documentation.spring.web.plugins.Docket;
|
||||
import springfox.documentation.swagger2.annotations.EnableSwagger2;
|
||||
|
||||
import static springfox.documentation.builders.PathSelectors.regex;
|
||||
import io.swagger.v3.oas.models.OpenAPI;
|
||||
import io.swagger.v3.oas.models.info.Info;
|
||||
import org.springdoc.core.GroupedOpenApi;
|
||||
|
||||
@Configuration
|
||||
@EnableSwagger2
|
||||
@Slf4j
|
||||
public class SwaggerConfig extends WebMvcConfigurationSupport implements EnvironmentAware {
|
||||
@Autowired
|
||||
private Environment environment;
|
||||
|
||||
@Override
|
||||
@@ -38,29 +33,57 @@ public class SwaggerConfig extends WebMvcConfigurationSupport implements Environ
|
||||
super.addResourceHandlers(registry);
|
||||
}
|
||||
|
||||
// @Bean
|
||||
// public Docket docket() {
|
||||
// //最重要的就是这里,定义了/test/.*开头的rest接口都分在了test分组里,可以通过/v2/api-docs?group=test得到定义的json
|
||||
// log.info("Starting Swagger");
|
||||
// StopWatch watch = new StopWatch();
|
||||
// watch.start();
|
||||
// Docket docket = new Docket(DocumentationType.SWAGGER_2)
|
||||
// .groupName("pay")
|
||||
// .apiInfo(this.apiInfo())
|
||||
// .select()
|
||||
// .apis(RequestHandlerSelectors.any())
|
||||
// .paths(regex("/payment/wxpay/.*"))
|
||||
// .build();
|
||||
// watch.stop();
|
||||
// log.info("Started Swagger in {} ms", watch.getTotalTimeMillis());
|
||||
// return docket;
|
||||
// }
|
||||
|
||||
// @Bean
|
||||
// public Docket api() {
|
||||
// return new Docket(DocumentationType.SWAGGER_2)
|
||||
// .select()
|
||||
// .apis(RequestHandlerSelectors.any())
|
||||
// .paths(PathSelectors.any())
|
||||
// .build()
|
||||
// .apiInfo(apiInfo());
|
||||
// }
|
||||
|
||||
// private ApiInfo apiInfo() {
|
||||
// return new ApiInfoBuilder()
|
||||
// .title("WeChat Pay API")
|
||||
// .description("WeChat Pay API for Java")
|
||||
// .version("1.0.0")
|
||||
// .build();
|
||||
// }
|
||||
|
||||
@Bean
|
||||
public Docket docket() {
|
||||
//最重要的就是这里,定义了/test/.*开头的rest接口都分在了test分组里,可以通过/v2/api-docs?group=test得到定义的json
|
||||
log.info("Starting Swagger");
|
||||
StopWatch watch = new StopWatch();
|
||||
watch.start();
|
||||
Docket docket = new Docket(DocumentationType.SWAGGER_2)
|
||||
.groupName("pay")
|
||||
.apiInfo(this.apiInfo())
|
||||
.select()
|
||||
.apis(RequestHandlerSelectors.any())
|
||||
.paths(regex("/payment/wxpay/.*"))
|
||||
.build();
|
||||
watch.stop();
|
||||
log.info("Started Swagger in {} ms", watch.getTotalTimeMillis());
|
||||
return docket;
|
||||
public GroupedOpenApi publicApi() {
|
||||
return GroupedOpenApi.builder()
|
||||
.group("public")
|
||||
.pathsToMatch("/api/payment/**")
|
||||
.packagesToScan("org.wfc.payment.wxpay.controller")
|
||||
.build();
|
||||
}
|
||||
|
||||
private ApiInfo apiInfo() {
|
||||
return new ApiInfoBuilder()
|
||||
.title("WeChat Pay API")
|
||||
.description("WeChat Pay API for Java")
|
||||
.version("1.0.0")
|
||||
.build();
|
||||
@Bean
|
||||
public OpenAPI customOpenAPI() {
|
||||
return new OpenAPI()
|
||||
.info(new Info()
|
||||
.title("WeChat Pay API")
|
||||
.version("1.0.0")
|
||||
.description("WeChat Pay API for Java"));
|
||||
}
|
||||
}
|
||||
@@ -9,20 +9,24 @@ import com.github.binarywang.wxpay.bean.request.*;
|
||||
import com.github.binarywang.wxpay.bean.result.*;
|
||||
import com.github.binarywang.wxpay.exception.WxPayException;
|
||||
import com.github.binarywang.wxpay.service.WxPayService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springdoc.api.annotations.ParameterObject;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
@Api("WeChat Pay")
|
||||
@Tag(name = "WeChat Pay")
|
||||
@RestController
|
||||
@RequestMapping("/payment/wxpay")
|
||||
@AllArgsConstructor
|
||||
public class WxPayController {
|
||||
@Autowired
|
||||
private WxPayService wxService;
|
||||
|
||||
/**
|
||||
@@ -40,7 +44,7 @@ public class WxPayController {
|
||||
* @param transactionId 微信订单号
|
||||
* @param outTradeNo 商户系统内部的订单号,当没提供transactionId时需要传这个。
|
||||
*/
|
||||
@ApiOperation(value = "Query order")
|
||||
@Operation(summary = "Query order")
|
||||
@GetMapping("/queryOrder")
|
||||
public WxPayOrderQueryResult queryOrder(@RequestParam(required = false) String transactionId,
|
||||
@RequestParam(required = false) String outTradeNo)
|
||||
@@ -48,7 +52,7 @@ public class WxPayController {
|
||||
return this.wxService.queryOrder(transactionId, outTradeNo);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "Query order")
|
||||
@Operation(summary = "Query order")
|
||||
@PostMapping("/queryOrder")
|
||||
public WxPayOrderQueryResult queryOrder(@RequestBody WxPayOrderQueryRequest wxPayOrderQueryRequest) throws WxPayException {
|
||||
return this.wxService.queryOrder(wxPayOrderQueryRequest);
|
||||
@@ -68,13 +72,13 @@ public class WxPayController {
|
||||
*
|
||||
* @param outTradeNo 商户系统内部的订单号
|
||||
*/
|
||||
@ApiOperation(value = "Close order")
|
||||
@Operation(summary = "Close order")
|
||||
@GetMapping("/closeOrder/{outTradeNo}")
|
||||
public WxPayOrderCloseResult closeOrder(@PathVariable String outTradeNo) throws WxPayException {
|
||||
return this.wxService.closeOrder(outTradeNo);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "Close order")
|
||||
@Operation(summary = "Close order")
|
||||
@PostMapping("/closeOrder")
|
||||
public WxPayOrderCloseResult closeOrder(@RequestBody WxPayOrderCloseRequest wxPayOrderCloseRequest) throws WxPayException {
|
||||
return this.wxService.closeOrder(wxPayOrderCloseRequest);
|
||||
@@ -87,7 +91,7 @@ public class WxPayController {
|
||||
* @param <T> 请使用{@link com.github.binarywang.wxpay.bean.order}包下的类
|
||||
* @return 返回 {@link com.github.binarywang.wxpay.bean.order}包下的类对象
|
||||
*/
|
||||
@ApiOperation(value = "统一下单,并组装所需支付参数")
|
||||
@Operation(summary = "统一下单,并组装所需支付参数")
|
||||
@PostMapping("/createOrder")
|
||||
public <T> T createOrder(@RequestBody WxPayUnifiedOrderRequest request) throws WxPayException {
|
||||
return this.wxService.createOrder(request);
|
||||
@@ -100,7 +104,7 @@ public class WxPayController {
|
||||
*
|
||||
* @param request 请求对象,注意一些参数如appid、mchid等不用设置,方法内会自动从配置对象中获取到(前提是对应配置中已经设置)
|
||||
*/
|
||||
@ApiOperation(value = "原生的统一下单接口")
|
||||
@Operation(summary = "原生的统一下单接口")
|
||||
@PostMapping("/unifiedOrder")
|
||||
public WxPayUnifiedOrderResult unifiedOrder(@RequestBody WxPayUnifiedOrderRequest request) throws WxPayException {
|
||||
return this.wxService.unifiedOrder(request);
|
||||
@@ -116,7 +120,7 @@ public class WxPayController {
|
||||
* @param request 请求对象
|
||||
* @return 退款操作结果
|
||||
*/
|
||||
@ApiOperation(value = "Refund")
|
||||
@Operation(summary = "Refund")
|
||||
@PostMapping("/refund")
|
||||
public WxPayRefundResult refund(@RequestBody WxPayRefundRequest request) throws WxPayException {
|
||||
return this.wxService.refund(request);
|
||||
@@ -139,7 +143,7 @@ public class WxPayController {
|
||||
* @param refundId 微信退款单号
|
||||
* @return 退款信息
|
||||
*/
|
||||
@ApiOperation(value = "退款查询")
|
||||
@Operation(summary = "退款查询")
|
||||
@GetMapping("/refundQuery")
|
||||
public WxPayRefundQueryResult refundQuery(@RequestParam(required = false) String transactionId,
|
||||
@RequestParam(required = false) String outTradeNo,
|
||||
@@ -149,13 +153,13 @@ public class WxPayController {
|
||||
return this.wxService.refundQuery(transactionId, outTradeNo, outRefundNo, refundId);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "退款查询")
|
||||
@Operation(summary = "退款查询")
|
||||
@PostMapping("/refundQuery")
|
||||
public WxPayRefundQueryResult refundQuery(@RequestBody WxPayRefundQueryRequest wxPayRefundQueryRequest) throws WxPayException {
|
||||
return this.wxService.refundQuery(wxPayRefundQueryRequest);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "支付回调通知处理")
|
||||
@Operation(summary = "支付回调通知处理")
|
||||
@PostMapping("/notify/order")
|
||||
public String parseOrderNotifyResult(@RequestBody String xmlData) throws WxPayException {
|
||||
final WxPayOrderNotifyResult notifyResult = this.wxService.parseOrderNotifyResult(xmlData);
|
||||
@@ -163,7 +167,7 @@ public class WxPayController {
|
||||
return WxPayNotifyResponse.success("成功");
|
||||
}
|
||||
|
||||
@ApiOperation(value = "退款回调通知处理")
|
||||
@Operation(summary = "退款回调通知处理")
|
||||
@PostMapping("/notify/refund")
|
||||
public String parseRefundNotifyResult(@RequestBody String xmlData) throws WxPayException {
|
||||
final WxPayRefundNotifyResult result = this.wxService.parseRefundNotifyResult(xmlData);
|
||||
@@ -171,7 +175,7 @@ public class WxPayController {
|
||||
return WxPayNotifyResponse.success("成功");
|
||||
}
|
||||
|
||||
@ApiOperation(value = "扫码支付回调通知处理")
|
||||
@Operation(summary = "扫码支付回调通知处理")
|
||||
@PostMapping("/notify/scanpay")
|
||||
public String parseScanPayNotifyResult(String xmlData) throws WxPayException {
|
||||
final WxScanPayNotifyResult result = this.wxService.parseScanPayNotifyResult(xmlData);
|
||||
@@ -191,7 +195,7 @@ public class WxPayController {
|
||||
*
|
||||
* @param request 请求对象
|
||||
*/
|
||||
@ApiOperation(value = "发送红包")
|
||||
@Operation(summary = "发送红包")
|
||||
@PostMapping("/sendRedpack")
|
||||
public WxPaySendRedpackResult sendRedpack(@RequestBody WxPaySendRedpackRequest request) throws WxPayException {
|
||||
return this.wxService.getRedpackService().sendRedpack(request);
|
||||
@@ -208,7 +212,7 @@ public class WxPayController {
|
||||
*
|
||||
* @param mchBillNo 商户发放红包的商户订单号,比如10000098201411111234567890
|
||||
*/
|
||||
@ApiOperation(value = "查询红包")
|
||||
@Operation(summary = "查询红包")
|
||||
@GetMapping("/queryRedpack/{mchBillNo}")
|
||||
public WxPayRedpackQueryResult queryRedpack(@PathVariable String mchBillNo) throws WxPayException {
|
||||
return this.wxService.getRedpackService().queryRedpack(mchBillNo);
|
||||
@@ -276,7 +280,7 @@ public class WxPayController {
|
||||
* 是否需要证书:不需要
|
||||
* </pre>
|
||||
*/
|
||||
@ApiOperation(value = "提交交易保障数据")
|
||||
@Operation(summary = "提交交易保障数据")
|
||||
@PostMapping("/report")
|
||||
public void report(@RequestBody WxPayReportRequest request) throws WxPayException {
|
||||
this.wxService.report(request);
|
||||
@@ -301,14 +305,14 @@ public class WxPayController {
|
||||
* @param deviceInfo 设备号 device_info 非必传参数,终端设备号
|
||||
* @return 保存到本地的临时文件
|
||||
*/
|
||||
@ApiOperation(value = "下载对账单")
|
||||
@Operation(summary = "下载对账单")
|
||||
@GetMapping("/downloadBill/{billDate}/{billType}/{tarType}/{deviceInfo}")
|
||||
public WxPayBillResult downloadBill(@PathVariable String billDate, @PathVariable String billType,
|
||||
@PathVariable String tarType, @PathVariable String deviceInfo) throws WxPayException {
|
||||
return this.wxService.downloadBill(billDate, billType, tarType, deviceInfo);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "下载对账单")
|
||||
@Operation(summary = "下载对账单")
|
||||
@PostMapping("/downloadBill")
|
||||
public WxPayBillResult downloadBill(WxPayDownloadBillRequest wxPayDownloadBillRequest) throws WxPayException {
|
||||
return this.wxService.downloadBill(wxPayDownloadBillRequest);
|
||||
@@ -326,7 +330,7 @@ public class WxPayController {
|
||||
* 是否需要证书:不需要。
|
||||
* </pre>
|
||||
*/
|
||||
@ApiOperation(value = "提交刷卡支付")
|
||||
@Operation(summary = "提交刷卡支付")
|
||||
@PostMapping("/micropay")
|
||||
public WxPayMicropayResult micropay(@RequestBody WxPayMicropayRequest request) throws WxPayException {
|
||||
return this.wxService.micropay(request);
|
||||
@@ -344,37 +348,37 @@ public class WxPayController {
|
||||
* 是否需要证书:请求需要双向证书。
|
||||
* </pre>
|
||||
*/
|
||||
@ApiOperation(value = "撤销订单")
|
||||
@Operation(summary = "撤销订单")
|
||||
@PostMapping("/reverseOrder")
|
||||
public WxPayOrderReverseResult reverseOrder(@RequestBody WxPayOrderReverseRequest request) throws WxPayException {
|
||||
return this.wxService.reverseOrder(request);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "获取沙箱环境签名key")
|
||||
@Operation(summary = "获取沙箱环境签名key")
|
||||
@GetMapping("/getSandboxSignKey")
|
||||
public String getSandboxSignKey() throws WxPayException {
|
||||
return this.wxService.getSandboxSignKey();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "发放代金券")
|
||||
@Operation(summary = "发放代金券")
|
||||
@PostMapping("/sendCoupon")
|
||||
public WxPayCouponSendResult sendCoupon(@RequestBody WxPayCouponSendRequest request) throws WxPayException {
|
||||
return this.wxService.sendCoupon(request);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询代金券批次")
|
||||
@Operation(summary = "查询代金券批次")
|
||||
@PostMapping("/queryCouponStock")
|
||||
public WxPayCouponStockQueryResult queryCouponStock(@RequestBody WxPayCouponStockQueryRequest request) throws WxPayException {
|
||||
return this.wxService.queryCouponStock(request);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询代金券信息")
|
||||
@Operation(summary = "查询代金券信息")
|
||||
@PostMapping("/queryCouponInfo")
|
||||
public WxPayCouponInfoQueryResult queryCouponInfo(@RequestBody WxPayCouponInfoQueryRequest request) throws WxPayException {
|
||||
return this.wxService.queryCouponInfo(request);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "拉取订单评价数据")
|
||||
@Operation(summary = "拉取订单评价数据")
|
||||
@PostMapping("/queryComment")
|
||||
public String queryComment(Date beginDate, Date endDate, Integer offset, Integer limit) throws WxPayException {
|
||||
return this.wxService.queryComment(beginDate, endDate, offset, limit);
|
||||
|
||||
Reference in New Issue
Block a user