xujunwei 4 лет назад
Родитель
Сommit
cd70e271d3

+ 1 - 20
framework-common/src/main/java/com/mrxu/framework/common/xcx/bean/CloseorderRequest.java

@@ -2,32 +2,13 @@ package com.mrxu.framework.common.xcx.bean;
 
 
 import lombok.Data;
 import lombok.Data;
 
 
-import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.Size;
 import javax.validation.constraints.Size;
 
 
 @Data
 @Data
-public class CloseorderRequest {
+public class CloseorderRequest extends PayBaseRequest {
 
 
-    // 小程序ID	appid	是	String(32)	wxd678efh567hg6787	微信分配的小程序ID
-    @Size(max=32)
-    @NotEmpty
-    private String appid;
-    // 商户号	mch_id	是	String(32)	1230000109	微信支付分配的商户号
-    @Size(max=32)
-    @NotEmpty
-    private String mch_id;
     // 商户订单号	out_trade_no	String(32)	20150806125346	商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一。 详见商户订单号
     // 商户订单号	out_trade_no	String(32)	20150806125346	商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一。 详见商户订单号
     @Size(max=32)
     @Size(max=32)
     private String out_trade_no;
     private String out_trade_no;
-    // 随机字符串	nonce_str	是	String(32)	C380BEC2BFD727A4B6845133519F3AD6	随机字符串,不长于32位。推荐随机数生成算法
-    @Size(max=32)
-    @NotEmpty
-    private String nonce_str;
-    // 签名	sign	是	String(32)	5K8264ILTKCH16CQ2502SI8ZNMTM67VS	通过签名算法计算得出的签名值,详见签名生成算法
-    @Size(max=32)
-    private String sign;
-    // 签名类型	sign_type	否	String(32)	HMAC-SHA256	签名类型,目前支持HMAC-SHA256和MD5,默认为MD5
-    @Size(max=32)
-    private String sign_type;
 
 
 }
 }

+ 1 - 20
framework-common/src/main/java/com/mrxu/framework/common/xcx/bean/OrderqueryRequest.java

@@ -2,35 +2,16 @@ package com.mrxu.framework.common.xcx.bean;
 
 
 import lombok.Data;
 import lombok.Data;
 
 
-import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.Size;
 import javax.validation.constraints.Size;
 
 
 @Data
 @Data
-public class OrderqueryRequest {
+public class OrderqueryRequest extends PayBaseRequest {
 
 
-    // 小程序ID	appid	是	String(32)	wxd678efh567hg6787	微信分配的小程序ID
-    @Size(max=32)
-    @NotEmpty
-    private String appid;
-    // 商户号	mch_id	是	String(32)	1230000109	微信支付分配的商户号
-    @Size(max=32)
-    @NotEmpty
-    private String mch_id;
     // 微信订单号	transaction_id	二选一	String(32)	1009660380201506130728806387	微信的订单号,优先使用
     // 微信订单号	transaction_id	二选一	String(32)	1009660380201506130728806387	微信的订单号,优先使用
     @Size(max=32)
     @Size(max=32)
     private String transaction_id;
     private String transaction_id;
     // 商户订单号	out_trade_no	String(32)	20150806125346	商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一。 详见商户订单号
     // 商户订单号	out_trade_no	String(32)	20150806125346	商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一。 详见商户订单号
     @Size(max=32)
     @Size(max=32)
     private String out_trade_no;
     private String out_trade_no;
-    // 随机字符串	nonce_str	是	String(32)	C380BEC2BFD727A4B6845133519F3AD6	随机字符串,不长于32位。推荐随机数生成算法
-    @Size(max=32)
-    @NotEmpty
-    private String nonce_str;
-    // 签名	sign	是	String(32)	5K8264ILTKCH16CQ2502SI8ZNMTM67VS	通过签名算法计算得出的签名值,详见签名生成算法
-    @Size(max=32)
-    private String sign;
-    // 签名类型	sign_type	否	String(32)	HMAC-SHA256	签名类型,目前支持HMAC-SHA256和MD5,默认为MD5
-    @Size(max=32)
-    private String sign_type;
 
 
 }
 }

+ 7 - 2
framework-common/src/main/java/com/mrxu/framework/common/xcx/bean/OrderqueryResponse.java

@@ -1,5 +1,6 @@
 package com.mrxu.framework.common.xcx.bean;
 package com.mrxu.framework.common.xcx.bean;
 
 
+import com.mrxu.framework.common.xcx.enums.TradeState;
 import lombok.Data;
 import lombok.Data;
 
 
 @Data
 @Data
@@ -28,7 +29,7 @@ public class OrderqueryResponse extends PayBaseResponse {
     // 是否关注公众账号	is_subscribe	是	String(1)	Y	用户是否关注公众账号,Y-关注,N-未关注
     // 是否关注公众账号	is_subscribe	是	String(1)	Y	用户是否关注公众账号,Y-关注,N-未关注
     private String is_subscribe;
     private String is_subscribe;
     // 交易类型	trade_type	是	String(16)	JSAPI	调用接口提交的交易类型,取值如下:JSAPI,NATIVE,APP,MICROPAY,详细说明见参数规定
     // 交易类型	trade_type	是	String(16)	JSAPI	调用接口提交的交易类型,取值如下:JSAPI,NATIVE,APP,MICROPAY,详细说明见参数规定
-    private String trade_type;
+    private TradeState trade_type;
     /* 交易状态	trade_state	是	String(32)	SUCCESS	SUCCESS--支付成功
     /* 交易状态	trade_state	是	String(32)	SUCCESS	SUCCESS--支付成功
     REFUND--转入退款
     REFUND--转入退款
     NOTPAY--未支付
     NOTPAY--未支付
@@ -37,7 +38,7 @@ public class OrderqueryResponse extends PayBaseResponse {
     USERPAYING--用户支付中
     USERPAYING--用户支付中
     PAYERROR--支付失败(其他原因,如银行返回失败)
     PAYERROR--支付失败(其他原因,如银行返回失败)
     ACCEPT--已接收,等待扣款*/
     ACCEPT--已接收,等待扣款*/
-    private String trade_state;
+    private TradeState trade_state;
     // 付款银行	bank_type	是	String(16)	CMC	银行类型,采用字符串类型的银行标识
     // 付款银行	bank_type	是	String(16)	CMC	银行类型,采用字符串类型的银行标识
     private String bank_type;
     private String bank_type;
     // 标价金额	total_fee	是	int	100	订单总金额,单位为分
     // 标价金额	total_fee	是	int	100	订单总金额,单位为分
@@ -74,6 +75,10 @@ public class OrderqueryResponse extends PayBaseResponse {
     // 交易状态描述	trade_state_desc	是	String(256)	支付失败,请重新下单支付	对当前查询订单状态的描述和下一步操作的指引
     // 交易状态描述	trade_state_desc	是	String(256)	支付失败,请重新下单支付	对当前查询订单状态的描述和下一步操作的指引
     private String trade_state_desc;
     private String trade_state_desc;
 
 
+    public void setTrade_type(String trade_type) {
+        this.trade_state = TradeState.getState(trade_type);
+    }
+
     public boolean isSuccess() {
     public boolean isSuccess() {
         return super.isSuccess() && "SUCCESS".equals(result_code);
         return super.isSuccess() && "SUCCESS".equals(result_code);
     }
     }

+ 33 - 0
framework-common/src/main/java/com/mrxu/framework/common/xcx/bean/PayBaseRequest.java

@@ -0,0 +1,33 @@
+package com.mrxu.framework.common.xcx.bean;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.Size;
+
+@Data
+public class PayBaseRequest {
+
+    // 小程序ID	appid	是	String(32)	wxd678efh567hg6787	微信分配的小程序ID
+    @Size(max=32)
+    @NotEmpty
+    private String appid;
+    // 商户号	mch_id	是	String(32)	1230000109	微信支付分配的商户号
+    @Size(max=32)
+    @NotEmpty
+    private String mch_id;
+
+    // 随机字符串	nonce_str	是	String(32)	5K8264ILTKCH16CQ2502SI8ZNMTM67VS	随机字符串,长度要求在32位以内。推荐随机数生成算法
+    @Size(max=32)
+    @NotEmpty
+    private String nonce_str;
+    // 签名	sign	是	String(64)	C380BEC2BFD727A4B6845133519F3AD6	通过签名算法计算得出的签名值,详见签名生成算法
+    //@Size(max=64)
+    //@NotEmpty
+    private String sign;
+    // 签名类型	sign_type	否	String(32)	MD5	签名类型,默认为MD5,支持HMAC-SHA256和MD5。
+    @Size(max=32)
+    private String sign_type;
+
+
+}

+ 1 - 19
framework-common/src/main/java/com/mrxu/framework/common/xcx/bean/RefundRequest.java

@@ -6,26 +6,8 @@ import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.Size;
 import javax.validation.constraints.Size;
 
 
 @Data
 @Data
-public class RefundRequest {
+public class RefundRequest extends PayBaseRequest {
 
 
-    // 小程序ID	appid	是	String(32)	wx8888888888888888	微信分配的小程序ID
-    @Size(max=32)
-    @NotEmpty
-    private String appid;
-    // 商户号	mch_id	是	String(32)	1900000109	微信支付分配的商户号
-    @Size(max=32)
-    @NotEmpty
-    private String mch_id;
-    // 随机字符串	nonce_str	是	String(32)	5K8264ILTKCH16CQ2502SI8ZNMTM67VS	随机字符串,不长于32位。推荐随机数生成算法
-    @Size(max=32)
-    @NotEmpty
-    private String nonce_str;
-    // 签名	sign	是	String(32)	C380BEC2BFD727A4B6845133519F3AD6	签名,详见签名生成算法
-    @Size(max=32)
-    private String sign;
-    // 签名类型	sign_type	否	String(32)	HMAC-SHA256	签名类型,目前支持HMAC-SHA256和MD5,默认为MD5
-    @Size(max=32)
-    private String sign_type;
     // 微信支付订单号	transaction_id	二选一	String(32)	1217752501201407033233368018	微信生成的订单号,在支付通知中有返回
     // 微信支付订单号	transaction_id	二选一	String(32)	1217752501201407033233368018	微信生成的订单号,在支付通知中有返回
     @Size(max=32)
     @Size(max=32)
     private String transaction_id;
     private String transaction_id;

+ 1 - 20
framework-common/src/main/java/com/mrxu/framework/common/xcx/bean/UnifiedorderRequest.java

@@ -6,29 +6,10 @@ import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.Size;
 import javax.validation.constraints.Size;
 
 
 @Data
 @Data
-public class UnifiedorderRequest {
+public class UnifiedorderRequest extends PayBaseRequest {
 
 
-    //小程序ID	appid  是	String(32)	wxd678efh567hg6787	微信分配的小程序ID
-    @Size(max=32)
-    @NotEmpty
-    private String appid;
-    // 商户号	mch_id	是	String(32)	1230000109	微信支付分配的商户号
-    @Size(max=32)
-    @NotEmpty
-    private String mch_id;
     // 设备号	device_info	否	String(32)	013467007045764	自定义参数,可以为终端设备号(门店号或收银设备ID),PC网页或公众号内支付可以传"WEB"
     // 设备号	device_info	否	String(32)	013467007045764	自定义参数,可以为终端设备号(门店号或收银设备ID),PC网页或公众号内支付可以传"WEB"
     private String device_info;
     private String device_info;
-    // 随机字符串	nonce_str	是	String(32)	5K8264ILTKCH16CQ2502SI8ZNMTM67VS	随机字符串,长度要求在32位以内。推荐随机数生成算法
-    @Size(max=32)
-    @NotEmpty
-    private String nonce_str;
-    // 签名	sign	是	String(64)	C380BEC2BFD727A4B6845133519F3AD6	通过签名算法计算得出的签名值,详见签名生成算法
-    //@Size(max=64)
-    //@NotEmpty
-    private String sign;
-    // 签名类型	sign_type	否	String(32)	MD5	签名类型,默认为MD5,支持HMAC-SHA256和MD5。
-    @Size(max=32)
-    private String sign_type;
     // 商品描述	body	是	String(127)	腾讯充值中心-QQ会员充值 商品简单描述,该字段请按照规范传递,具体请见参数规定
     // 商品描述	body	是	String(127)	腾讯充值中心-QQ会员充值 商品简单描述,该字段请按照规范传递,具体请见参数规定
     @Size(max=127)
     @Size(max=127)
     @NotEmpty
     @NotEmpty

+ 28 - 0
framework-common/src/main/java/com/mrxu/framework/common/xcx/enums/TradeState.java

@@ -22,4 +22,32 @@ public enum TradeState {
         this.state = state;
         this.state = state;
         this.caption = caption;
         this.caption = caption;
     }
     }
+
+    public static TradeState getState(String state) {
+        if(SUCCESS.state.equals(state)) {
+            return SUCCESS;
+        }
+        if(REFUND.state.equals(state)) {
+            return REFUND;
+        }
+        if(NOTPAY.state.equals(state)) {
+            return NOTPAY;
+        }
+        if(CLOSED.state.equals(state)) {
+            return CLOSED;
+        }
+        if(REVOKED.state.equals(state)) {
+            return REVOKED;
+        }
+        if(USERPAYING.state.equals(state)) {
+            return USERPAYING;
+        }
+        if(PAYERROR.state.equals(state)) {
+            return PAYERROR;
+        }
+        if(ACCEPT.state.equals(state)) {
+            return ACCEPT;
+        }
+        return null;
+    }
 }
 }