Skip to content

Commit db34cb0

Browse files
author
郑灶生
committed
转账服务定义
1 parent bbc1056 commit db34cb0

File tree

3 files changed

+129
-7
lines changed

3 files changed

+129
-7
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.egzosn.pay.common.api;
2+
3+
import java.util.Map;
4+
5+
import com.egzosn.pay.common.bean.AssistOrder;
6+
import com.egzosn.pay.common.bean.TransferOrder;
7+
8+
/**
9+
* 转账服务
10+
*
11+
* @author Egan
12+
13+
* @date 2023/1/8
14+
*/
15+
public interface TransferService {
16+
17+
/**
18+
* 转账
19+
*
20+
* @param transferOrder 转账订单
21+
* @return 结果
22+
*/
23+
Map<String, Object> transfer(TransferOrder transferOrder);
24+
25+
/**
26+
* 转账查询
27+
*
28+
* @param assistOrder 辅助交易订单
29+
* @return 对应的转账订单
30+
*/
31+
Map<String, Object> transferQuery(AssistOrder assistOrder);
32+
33+
}

pay-java-common/src/main/java/com/egzosn/pay/common/bean/AssistOrder.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ public class AssistOrder implements Order {
1818

1919

2020
/**
21-
* 支付平台订单号,交易号
21+
* 支付平台订单号,交易号, 平台批次单号
2222
*/
2323
private String tradeNo;
2424
/**
25-
* 商户订单号
25+
* 商户订单号,商家批次单号
2626
*/
2727
private String outTradeNo;
2828
/**
@@ -77,18 +77,18 @@ public void setTradeNo(String tradeNo) {
7777
}
7878

7979
/**
80-
* 获取商户订单号
80+
* 获取商户订单号,商家批次单号
8181
*
82-
* @return 商户订单号
82+
* @return 商户订单号, 商家批次单号
8383
*/
8484
public String getOutTradeNo() {
8585
return outTradeNo;
8686
}
8787

8888
/**
89-
* 设置商户订单号
89+
* 设置商户订单号,商家批次单号
9090
*
91-
* @param outTradeNo 商户订单号
91+
* @param outTradeNo 商户订单号,商家批次单号
9292
*/
9393
public void setOutTradeNo(String outTradeNo) {
9494
this.outTradeNo = outTradeNo;

pay-java-common/src/main/java/com/egzosn/pay/common/bean/Attrs.java

+90-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.egzosn.pay.common.bean;
22

33
import java.io.Serializable;
4+
import java.math.BigDecimal;
5+
import java.util.Date;
46
import java.util.Map;
57

68
/**
@@ -27,5 +29,92 @@ public interface Attrs extends Serializable {
2729
* @param key 属性名
2830
* @return 属性
2931
*/
30-
Object getAttr(String key);
32+
default Object getAttr(String key) {
33+
return getAttrs().get(key);
34+
}
35+
36+
37+
/**
38+
* 获取属性 这里可用做覆盖已设置的属性信息属性。
39+
*
40+
* @param key 属性名
41+
* @return 属性
42+
*/
43+
default Number getAttrForNumber(String key) {
44+
final Object attr = getAttr(key);
45+
if (null == attr || "".equals(attr)) {
46+
return null;
47+
}
48+
if (attr instanceof Number) {
49+
return (Number) attr;
50+
}
51+
52+
return new BigDecimal(attr.toString());
53+
}
54+
55+
/**
56+
* 获取属性 这里可用做覆盖已设置的属性信息属性。
57+
*
58+
* @param key 属性名
59+
* @return 属性
60+
*/
61+
default Integer getAttrForInt(String key) {
62+
Number attr = getAttrForNumber(key);
63+
if (null == attr) {
64+
return null;
65+
}
66+
if (attr instanceof Integer) {
67+
return (Integer) attr;
68+
}
69+
return attr.intValue();
70+
}
71+
72+
/**
73+
* 获取属性 这里可用做覆盖已设置的属性信息属性。
74+
*
75+
* @param key 属性名
76+
* @return 属性
77+
*/
78+
default Integer getAttrForInt(String key, Integer defaultValue) {
79+
Integer value = getAttrForInt(key);
80+
return null == value ? defaultValue : value;
81+
}
82+
83+
/**
84+
* 获取属性 这里可用做覆盖已设置的属性信息属性。
85+
*
86+
* @param key 属性名
87+
* @return 属性
88+
*/
89+
default Long getAttrForLong(String key) {
90+
Number attr = getAttrForNumber(key);
91+
if (null == attr) {
92+
return null;
93+
}
94+
if (attr instanceof Long) {
95+
return (Long) attr;
96+
}
97+
98+
return attr.longValue();
99+
}
100+
101+
/**
102+
* 获取属性 这里可用做覆盖已设置的属性信息属性。
103+
*
104+
* @param key 属性名
105+
* @return 属性
106+
*/
107+
default String getAttrForString(String key) {
108+
return (String) getAttr(key);
109+
}
110+
111+
/**
112+
* 获取属性 这里可用做覆盖已设置的属性信息属性。
113+
*
114+
* @param key 属性名
115+
* @return 属性
116+
*/
117+
default Date getAttrForDate(String key) {
118+
return (Date) getAttr(key);
119+
}
31120
}

0 commit comments

Comments
 (0)