diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/Order.java b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/Order.java index 5f18b00..4ea0d8f 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/Order.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/Order.java @@ -25,4 +25,12 @@ public interface Order { */ Object getAttr(String key); + + /** + * 添加订单信息 + * @param key key + * @param value 值 + */ + void addAttr(String key, Object value); + } diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/PayOrder.java b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/PayOrder.java index 1982763..76a3451 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/PayOrder.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/PayOrder.java @@ -277,6 +277,7 @@ public class PayOrder implements Order { * @param key key * @param value 值 */ + @Override public void addAttr(String key, Object value) { getAttrs().put(key, value); } diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/RefundOrder.java b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/RefundOrder.java index b8bce56..62b8089 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/RefundOrder.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/RefundOrder.java @@ -2,6 +2,8 @@ package com.egzosn.pay.common.bean; import java.math.BigDecimal; import java.util.Date; +import java.util.HashMap; +import java.util.Map; /** * 退款订单信息 @@ -11,7 +13,7 @@ import java.util.Date; * date 2018/1/15 21:40 * */ -public class RefundOrder { +public class RefundOrder implements Order { /** * 退款单号,每次进行退款的单号,此处唯一 */ @@ -51,6 +53,11 @@ public class RefundOrder { */ private String userId; + /** + * 订单附加信息,可用于预设未提供的参数,这里会覆盖以上所有的订单信息, + */ + private Map attr; + public String getRefundNo() { return refundNo; } @@ -147,5 +154,27 @@ public class RefundOrder { this.totalAmount = totalAmount; } + @Override + public Map getAttrs() { + if (null == attr){ + attr = new HashMap<>(); + } + return attr; + } + @Override + public Object getAttr(String key) { + return getAttrs().get(key); + } + + + /** + * 添加订单信息 + * @param key key + * @param value 值 + */ + @Override + public void addAttr(String key, Object value) { + getAttrs().put(key, value); + } } diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/TransferOrder.java b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/TransferOrder.java index 83f05b8..bd3ecbb 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/TransferOrder.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/TransferOrder.java @@ -217,6 +217,7 @@ public class TransferOrder implements Order { * @param key key * @param value 值 */ + @Override public void addAttr(String key, Object value) { getAttrs().put(key, value); } diff --git a/pay-java-union/src/test/java/PayTest.java b/pay-java-union/src/test/java/PayTest.java index f64b70b..ff2f114 100644 --- a/pay-java-union/src/test/java/PayTest.java +++ b/pay-java-union/src/test/java/PayTest.java @@ -93,7 +93,7 @@ public class PayTest { /*-----------退货交易:后台资金类交易,有同步应答和后台通知应答------------------------------*/ payOrder.setTransactionType(UnionTransactionType.REFUND); - params = service.refund("原交易查询流水号", "订单号", null,new BigDecimal("退款金额" )); + params = service.refund(new RefundOrder("原交易查询流水号", "订单号", null, new BigDecimal("退款金额" ))); /*-----------退货交易:后台资金类交易,有同步应答和后台通知应答------------------------------*/