From 096332bfc98a56cca7c38a9bde0b6f363e5c8c58 Mon Sep 17 00:00:00 2001 From: "fuhai999@gmail.com" Date: Fri, 6 Dec 2019 12:33:59 +0800 Subject: [PATCH] optimize payorder constructor --- .../com/egzosn/pay/common/bean/PayOrder.java | 58 +++++++++++-------- 1 file changed, 35 insertions(+), 23 deletions(-) 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 1dc0c46..d4c52fa 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 @@ -7,7 +7,7 @@ import java.util.Date; * 支付订单信息 * * @author egan - *
+ * 
  *      email egzosn@gmail.com
  *      date 2016/10/19 22:34
  *  
@@ -66,7 +66,7 @@ public class PayOrder { private String wapName; /** * 用户唯一标识 - * 微信含 sub_openid 字段 + * 微信含 sub_openid 字段 */ private String openid; /** @@ -83,6 +83,21 @@ public class PayOrder { private Date expirationTime; + public PayOrder() { + } + + + public PayOrder(String subject, String body, BigDecimal price, String outTradeNo) { + this(subject, body, price, outTradeNo, null); + } + + public PayOrder(String subject, String body, BigDecimal price, String outTradeNo, TransactionType transactionType) { + this.subject = tryTrim(subject); + this.body = tryTrim(body); + this.price = price; + this.outTradeNo = tryTrim(outTradeNo); + this.transactionType = transactionType; + } public CurType getCurType() { @@ -127,13 +142,16 @@ public class PayOrder { /** * 支付平台订单号,交易号 - * @return 支付平台订单号,交易号 + * + * @return 支付平台订单号, 交易号 */ public String getTradeNo() { return tradeNo; } + /** * 支付平台订单号,交易号 + * * @param tradeNo 支付平台订单号,交易号 */ public void setTradeNo(String tradeNo) { @@ -141,7 +159,8 @@ public class PayOrder { } /** - * 获取商户订单号 + * 获取商户订单号 + * * @return 商户订单号 */ public String getOutTradeNo() { @@ -150,7 +169,8 @@ public class PayOrder { /** * 设置商户订单号 - * @param outTradeNo 商户订单号 + * + * @param outTradeNo 商户订单号 */ public void setOutTradeNo(String outTradeNo) { this.outTradeNo = outTradeNo; @@ -196,24 +216,6 @@ public class PayOrder { this.deviceInfo = deviceInfo; } - public PayOrder() { - } - - - public PayOrder(String subject, String body, BigDecimal price, String outTradeNo, TransactionType transactionType) { - this.subject = subject; - this.body = body; - this.price = price; - this.outTradeNo = outTradeNo; - this.transactionType = transactionType; - } - public PayOrder(String subject, String body, BigDecimal price, String outTradeNo) { - this.subject = subject; - this.body = body; - this.price = price; - this.outTradeNo = outTradeNo; - } - public String getWapUrl() { return wapUrl; } @@ -246,6 +248,16 @@ public class PayOrder { this.expirationTime = expirationTime; } + /** + * 对 subject body 进行 trim 运算, + * 以防止在签名是可能造成的签名错误问题 + * @param str + * @return + */ + private static String tryTrim(String str) { + return str == null ? null : str.trim(); + } + @Override public String toString() { return "PayOrder{" +