init
This commit is contained in:
3
sl-express-ms-trade-api/.gitignore
vendored
Normal file
3
sl-express-ms-trade-api/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
.idea
|
||||
target/
|
||||
*.iml
|
||||
36
sl-express-ms-trade-api/pom.xml
Normal file
36
sl-express-ms-trade-api/pom.xml
Normal file
@@ -0,0 +1,36 @@
|
||||
<?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.sl-express</groupId>
|
||||
<artifactId>sl-express-parent</artifactId>
|
||||
<version>1.4</version>
|
||||
</parent>
|
||||
|
||||
<groupId>com.sl-express.ms.trade</groupId>
|
||||
<artifactId>sl-express-ms-trade-api</artifactId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<description>交易(支付)微服务 - Feign接口</description>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>11</maven.compiler.source>
|
||||
<maven.compiler.target>11</maven.compiler.target>
|
||||
<sl-express-trade-domain.version>1.1-SNAPSHOT</sl-express-trade-domain.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.sl-express.ms.trade</groupId>
|
||||
<artifactId>sl-express-ms-trade-domain</artifactId>
|
||||
<version>${sl-express-trade-domain.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.sl.ms.trade.api;
|
||||
|
||||
import com.sl.ms.trade.api.fallback.JsapiPayFeignFallbackFactory;
|
||||
import com.sl.ms.trade.domain.request.JsapiPayDTO;
|
||||
import com.sl.ms.trade.domain.response.JsapiPayResponseDTO;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
@FeignClient(value = "sl-express-ms-trade", contextId = "JsapiPay", path = "jsapi", fallbackFactory = JsapiPayFeignFallbackFactory.class)
|
||||
public interface JsapiPayFeign {
|
||||
|
||||
/***
|
||||
* 统一jsapi交易预创建
|
||||
* 商户系统先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易会话标识后再按Native、
|
||||
* JSAPI、APP等不同场景生成交易串调起支付。
|
||||
* @param jsapiPayDTO jsapi提交支付请求对象
|
||||
*
|
||||
* @return 交易单,支付串码
|
||||
*/
|
||||
@PostMapping
|
||||
JsapiPayResponseDTO createJsapiTrading(@RequestBody JsapiPayDTO jsapiPayDTO);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.sl.ms.trade.api;
|
||||
|
||||
import com.sl.ms.trade.api.fallback.NativePayFeignFallbackFactory;
|
||||
import com.sl.ms.trade.domain.request.NativePayDTO;
|
||||
import com.sl.ms.trade.domain.response.NativePayResponseDTO;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
@FeignClient(value = "sl-express-ms-trade", contextId = "NativePay", path = "native", fallbackFactory = NativePayFeignFallbackFactory.class)
|
||||
public interface NativePayFeign {
|
||||
|
||||
/***
|
||||
* 扫码支付,收银员通过收银台或商户后台调用此接口,生成二维码后,展示给用户,由用户扫描二维码完成订单支付。
|
||||
*
|
||||
* @param nativePayDTO 扫码支付提交参数
|
||||
* @return 扫码支付响应数据,其中包含二维码路径
|
||||
*/
|
||||
@PostMapping
|
||||
NativePayResponseDTO createDownLineTrading(@RequestBody NativePayDTO nativePayDTO);
|
||||
|
||||
/**
|
||||
* 查看二维码
|
||||
*
|
||||
* @param tradingOrderNo 交易单号
|
||||
* @return 二维码图片 base64格式
|
||||
*/
|
||||
@GetMapping("qrcode/{tradingOrderNo}")
|
||||
String queryQrCode(@PathVariable("tradingOrderNo") Long tradingOrderNo);
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.sl.ms.trade.api;
|
||||
|
||||
import com.sl.ms.trade.api.fallback.TradingFeignFallbackFactory;
|
||||
import com.sl.ms.trade.domain.RefundRecordDTO;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@FeignClient(value = "sl-express-ms-trade", contextId = "RefundRecord", path = "refund/records", fallbackFactory = TradingFeignFallbackFactory.class)
|
||||
public interface RefundRecordFeign {
|
||||
|
||||
/**
|
||||
* 根据业务系统订单号 或 交易单号查询退款单 (二个至少传递一个,优先按照交易单号查询)
|
||||
*
|
||||
* @param productOrderNo 业务订单号
|
||||
* @param tradingOrderNo 交易单号
|
||||
* @return 退款单列表
|
||||
*/
|
||||
@GetMapping
|
||||
List<RefundRecordDTO> findList(@RequestParam(value = "productOrderNo", required = false) Long productOrderNo,
|
||||
@RequestParam(value = "tradingOrderNo", required = false) Long tradingOrderNo);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.sl.ms.trade.api;
|
||||
|
||||
import com.sl.ms.trade.api.fallback.TradingFeignFallbackFactory;
|
||||
import com.sl.ms.trade.domain.TradingDTO;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
@FeignClient(value = "sl-express-ms-trade", contextId = "Trading", path = "tradings", fallbackFactory = TradingFeignFallbackFactory.class)
|
||||
public interface TradingFeign {
|
||||
|
||||
/**
|
||||
* 根据业务系统订单号 或 交易单号查询交易单 (二个至少传递一个,优先按照交易单号查询)
|
||||
*
|
||||
* @param productOrderNo 业务订单号
|
||||
* @param tradingOrderNo 交易单号
|
||||
* @return 交易单数据
|
||||
*/
|
||||
@GetMapping
|
||||
TradingDTO queryTrading(@RequestParam(value = "productOrderNo", required = false) Long productOrderNo,
|
||||
@RequestParam(value = "tradingOrderNo", required = false) Long tradingOrderNo);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.sl.ms.trade.api.fallback;
|
||||
|
||||
import com.sl.ms.trade.api.JsapiPayFeign;
|
||||
import com.sl.ms.trade.domain.request.JsapiPayDTO;
|
||||
import com.sl.ms.trade.domain.response.JsapiPayResponseDTO;
|
||||
import org.springframework.cloud.openfeign.FallbackFactory;
|
||||
|
||||
/**
|
||||
* @author zzj
|
||||
* @version 1.0
|
||||
*/
|
||||
public class JsapiPayFeignFallbackFactory implements FallbackFactory<JsapiPayFeign> {
|
||||
@Override
|
||||
public JsapiPayFeign create(Throwable cause) {
|
||||
return new JsapiPayFeign() {
|
||||
@Override
|
||||
public JsapiPayResponseDTO createJsapiTrading(JsapiPayDTO jsapiPayDTO) {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.sl.ms.trade.api.fallback;
|
||||
|
||||
import com.sl.ms.trade.api.NativePayFeign;
|
||||
import com.sl.ms.trade.domain.request.NativePayDTO;
|
||||
import com.sl.ms.trade.domain.response.NativePayResponseDTO;
|
||||
import org.springframework.cloud.openfeign.FallbackFactory;
|
||||
|
||||
/**
|
||||
* @author zzj
|
||||
* @version 1.0
|
||||
*/
|
||||
public class NativePayFeignFallbackFactory implements FallbackFactory<NativePayFeign> {
|
||||
@Override
|
||||
public NativePayFeign create(Throwable cause) {
|
||||
return new NativePayFeign() {
|
||||
@Override
|
||||
public NativePayResponseDTO createDownLineTrading(NativePayDTO nativePayDTO) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String queryQrCode(Long tradingOrderNo) {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.sl.ms.trade.api.fallback;
|
||||
|
||||
import com.sl.ms.trade.api.RefundRecordFeign;
|
||||
import com.sl.ms.trade.domain.RefundRecordDTO;
|
||||
import org.springframework.cloud.openfeign.FallbackFactory;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zzj
|
||||
* @version 1.0
|
||||
*/
|
||||
public class RefundRecordFeignFallbackFactory implements FallbackFactory<RefundRecordFeign> {
|
||||
@Override
|
||||
public RefundRecordFeign create(Throwable cause) {
|
||||
return new RefundRecordFeign() {
|
||||
@Override
|
||||
public List<RefundRecordDTO> findList(Long productOrderNo, Long tradingOrderNo) {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.sl.ms.trade.api.fallback;
|
||||
|
||||
import com.sl.ms.trade.api.TradingFeign;
|
||||
import com.sl.ms.trade.domain.TradingDTO;
|
||||
import org.springframework.cloud.openfeign.FallbackFactory;
|
||||
|
||||
/**
|
||||
* @author zzj
|
||||
* @version 1.0
|
||||
*/
|
||||
public class TradingFeignFallbackFactory implements FallbackFactory<TradingFeign> {
|
||||
@Override
|
||||
public TradingFeign create(Throwable cause) {
|
||||
return new TradingFeign() {
|
||||
@Override
|
||||
public TradingDTO queryTrading(Long productOrderNo, Long tradingOrderNo) {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user