mirror of
https://gitee.com/egzosn/pay-java-parent.git
synced 2026-05-22 18:11:39 +08:00
转账服务定义
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package com.egzosn.pay.common.api;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import com.egzosn.pay.common.bean.AssistOrder;
|
||||
import com.egzosn.pay.common.bean.TransferOrder;
|
||||
|
||||
/**
|
||||
* 转账服务
|
||||
*
|
||||
* @author Egan
|
||||
* @email egan@egzosn.com
|
||||
* @date 2023/1/8
|
||||
*/
|
||||
public interface TransferService {
|
||||
|
||||
/**
|
||||
* 转账
|
||||
*
|
||||
* @param transferOrder 转账订单
|
||||
* @return 结果
|
||||
*/
|
||||
Map<String, Object> transfer(TransferOrder transferOrder);
|
||||
|
||||
/**
|
||||
* 转账查询
|
||||
*
|
||||
* @param assistOrder 辅助交易订单
|
||||
* @return 对应的转账订单
|
||||
*/
|
||||
Map<String, Object> transferQuery(AssistOrder assistOrder);
|
||||
|
||||
}
|
||||
@@ -18,11 +18,11 @@ public class AssistOrder implements Order {
|
||||
|
||||
|
||||
/**
|
||||
* 支付平台订单号,交易号
|
||||
* 支付平台订单号,交易号, 平台批次单号
|
||||
*/
|
||||
private String tradeNo;
|
||||
/**
|
||||
* 商户订单号
|
||||
* 商户订单号,商家批次单号
|
||||
*/
|
||||
private String outTradeNo;
|
||||
/**
|
||||
@@ -77,18 +77,18 @@ public class AssistOrder implements Order {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取商户订单号
|
||||
* 获取商户订单号,商家批次单号
|
||||
*
|
||||
* @return 商户订单号
|
||||
* @return 商户订单号, 商家批次单号
|
||||
*/
|
||||
public String getOutTradeNo() {
|
||||
return outTradeNo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置商户订单号
|
||||
* 设置商户订单号,商家批次单号
|
||||
*
|
||||
* @param outTradeNo 商户订单号
|
||||
* @param outTradeNo 商户订单号,商家批次单号
|
||||
*/
|
||||
public void setOutTradeNo(String outTradeNo) {
|
||||
this.outTradeNo = outTradeNo;
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.egzosn.pay.common.bean;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@@ -27,5 +29,92 @@ public interface Attrs extends Serializable {
|
||||
* @param key 属性名
|
||||
* @return 属性
|
||||
*/
|
||||
Object getAttr(String key);
|
||||
default Object getAttr(String key) {
|
||||
return getAttrs().get(key);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取属性 这里可用做覆盖已设置的属性信息属性。
|
||||
*
|
||||
* @param key 属性名
|
||||
* @return 属性
|
||||
*/
|
||||
default Number getAttrForNumber(String key) {
|
||||
final Object attr = getAttr(key);
|
||||
if (null == attr || "".equals(attr)) {
|
||||
return null;
|
||||
}
|
||||
if (attr instanceof Number) {
|
||||
return (Number) attr;
|
||||
}
|
||||
|
||||
return new BigDecimal(attr.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取属性 这里可用做覆盖已设置的属性信息属性。
|
||||
*
|
||||
* @param key 属性名
|
||||
* @return 属性
|
||||
*/
|
||||
default Integer getAttrForInt(String key) {
|
||||
Number attr = getAttrForNumber(key);
|
||||
if (null == attr) {
|
||||
return null;
|
||||
}
|
||||
if (attr instanceof Integer) {
|
||||
return (Integer) attr;
|
||||
}
|
||||
return attr.intValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取属性 这里可用做覆盖已设置的属性信息属性。
|
||||
*
|
||||
* @param key 属性名
|
||||
* @return 属性
|
||||
*/
|
||||
default Integer getAttrForInt(String key, Integer defaultValue) {
|
||||
Integer value = getAttrForInt(key);
|
||||
return null == value ? defaultValue : value;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取属性 这里可用做覆盖已设置的属性信息属性。
|
||||
*
|
||||
* @param key 属性名
|
||||
* @return 属性
|
||||
*/
|
||||
default Long getAttrForLong(String key) {
|
||||
Number attr = getAttrForNumber(key);
|
||||
if (null == attr) {
|
||||
return null;
|
||||
}
|
||||
if (attr instanceof Long) {
|
||||
return (Long) attr;
|
||||
}
|
||||
|
||||
return attr.longValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取属性 这里可用做覆盖已设置的属性信息属性。
|
||||
*
|
||||
* @param key 属性名
|
||||
* @return 属性
|
||||
*/
|
||||
default String getAttrForString(String key) {
|
||||
return (String) getAttr(key);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取属性 这里可用做覆盖已设置的属性信息属性。
|
||||
*
|
||||
* @param key 属性名
|
||||
* @return 属性
|
||||
*/
|
||||
default Date getAttrForDate(String key) {
|
||||
return (Date) getAttr(key);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user