转账服务定义

This commit is contained in:
郑灶生
2023-01-08 22:58:23 +08:00
parent bbc10565b8
commit db34cb0c7e
3 changed files with 129 additions and 7 deletions

View File

@@ -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);
}

View File

@@ -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;

View File

@@ -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);
}
}