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