重构规范化微信支付相关接口类的命名

This commit is contained in:
Binary Wang
2016-10-25 12:06:26 +08:00
parent 912ef62841
commit a3ada2c0ae
19 changed files with 255 additions and 275 deletions

View File

@ -1,7 +1,11 @@
package me.chanjar.weixin.mp.api; package me.chanjar.weixin.mp.api;
import me.chanjar.weixin.common.exception.WxErrorException; import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.mp.bean.pay.*; import me.chanjar.weixin.mp.bean.pay.request.WxEntPayRequest;
import me.chanjar.weixin.mp.bean.pay.request.WxPayRefundRequest;
import me.chanjar.weixin.mp.bean.pay.request.WxPaySendRedpackRequest;
import me.chanjar.weixin.mp.bean.pay.request.WxPayUnifiedOrderRequest;
import me.chanjar.weixin.mp.bean.pay.result.*;
import java.io.File; import java.io.File;
import java.util.Map; import java.util.Map;
@ -47,13 +51,6 @@ public interface WxMpPayService {
*/ */
Map<String, String> getPayInfo(WxPayUnifiedOrderRequest request) throws WxErrorException; Map<String, String> getPayInfo(WxPayUnifiedOrderRequest request) throws WxErrorException;
/**
* 读取支付结果通知
* 详见http://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7
*
*/
WxPayJsSDKCallback getJSSDKCallbackData(String xmlData);
/** /**
* <pre> * <pre>
* 微信支付-申请退款 * 微信支付-申请退款

View File

@ -7,7 +7,8 @@ import me.chanjar.weixin.common.util.BeanUtils;
import me.chanjar.weixin.common.util.xml.XStreamInitializer; import me.chanjar.weixin.common.util.xml.XStreamInitializer;
import me.chanjar.weixin.mp.api.WxMpPayService; import me.chanjar.weixin.mp.api.WxMpPayService;
import me.chanjar.weixin.mp.api.WxMpService; import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.pay.*; import me.chanjar.weixin.mp.bean.pay.request.*;
import me.chanjar.weixin.mp.bean.pay.result.*;
import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -45,19 +46,6 @@ public class WxMpPayServiceImpl implements WxMpPayService {
this.wxMpService = wxMpService; this.wxMpService = wxMpService;
} }
@Override
public WxPayJsSDKCallback getJSSDKCallbackData(String xmlData) {
try {
XStream xstream = XStreamInitializer.getInstance();
xstream.alias("xml", WxPayJsSDKCallback.class);
return (WxPayJsSDKCallback) xstream.fromXML(xmlData);
} catch (Exception e) {
e.printStackTrace();
}
return new WxPayJsSDKCallback();
}
@Override @Override
public WxPayRefundResult refund(WxPayRefundRequest request, File keyFile) public WxPayRefundResult refund(WxPayRefundRequest request, File keyFile)
throws WxErrorException { throws WxErrorException {

View File

@ -3,281 +3,277 @@ package me.chanjar.weixin.mp.bean.pay;
import java.io.Serializable; import java.io.Serializable;
/** /**
* pre> 订单支付状态回调 * <pre>
* * 订单支付状态回调
* 支付结果通知(详见http://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7) * 支付结果通知(详见http://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7)
*
* /pre> * /pre>
* *
* @author ukid * @author ukid
*/ */
public class WxPayJsSDKCallback implements Serializable { public class WxPayJsSDKCallback implements Serializable {
/**
*
*/
private static final long serialVersionUID = -4143804055690843641L; private static final long serialVersionUID = -4143804055690843641L;
private String return_code; private String return_code;
private String return_msg; private String return_msg;
private String appid; private String appid;
private String mch_id; private String mch_id;
private String device_info; private String device_info;
private String nonce_str; private String nonce_str;
private String sign; private String sign;
private String result_code; private String result_code;
private String err_code; private String err_code;
private String err_code_des; private String err_code_des;
private String openid; private String openid;
private String is_subscribe; private String is_subscribe;
private String trade_type; private String trade_type;
private String bank_type; private String bank_type;
private String total_fee; private String total_fee;
private String fee_type; private String fee_type;
private String cash_fee; private String cash_fee;
private String cash_fee_type; private String cash_fee_type;
private String coupon_fee; private String coupon_fee;
private String coupon_count; private String coupon_count;
private String coupon_batch_id_$n; private String coupon_batch_id_$n;
private String coupon_id_$n; private String coupon_id_$n;
private String coupon_fee_$n; private String coupon_fee_$n;
private String transaction_id; private String transaction_id;
private String out_trade_no; private String out_trade_no;
private String attach; private String attach;
private String time_end; private String time_end;
public String getReturn_code() { public String getReturn_code() {
return this.return_code; return this.return_code;
} }
public String getReturn_msg() { public void setReturn_code(String return_code) {
return this.return_msg; this.return_code = return_code;
} }
public String getAppid() { public String getReturn_msg() {
return this.appid; return this.return_msg;
} }
public String getMch_id() { public void setReturn_msg(String return_msg) {
return this.mch_id; this.return_msg = return_msg;
} }
public String getDevice_info() { public String getAppid() {
return this.device_info; return this.appid;
} }
public String getNonce_str() { public void setAppid(String appid) {
return this.nonce_str; this.appid = appid;
} }
public String getSign() { public String getMch_id() {
return this.sign; return this.mch_id;
} }
public String getResult_code() { public void setMch_id(String mch_id) {
return this.result_code; this.mch_id = mch_id;
} }
public String getErr_code() { public String getDevice_info() {
return this.err_code; return this.device_info;
} }
public String getErr_code_des() { public void setDevice_info(String device_info) {
return this.err_code_des; this.device_info = device_info;
} }
public String getOpenid() { public String getNonce_str() {
return this.openid; return this.nonce_str;
} }
public String getIs_subscribe() { public void setNonce_str(String nonce_str) {
return this.is_subscribe; this.nonce_str = nonce_str;
} }
public String getTrade_type() { public String getSign() {
return this.trade_type; return this.sign;
} }
public String getBank_type() { public void setSign(String sign) {
return this.bank_type; this.sign = sign;
} }
public String getTotal_fee() { public String getResult_code() {
return this.total_fee; return this.result_code;
} }
public String getFee_type() { public void setResult_code(String result_code) {
return this.fee_type; this.result_code = result_code;
} }
public String getCash_fee() { public String getErr_code() {
return this.cash_fee; return this.err_code;
} }
public String getCash_fee_type() { public void setErr_code(String err_code) {
return this.cash_fee_type; this.err_code = err_code;
} }
public String getCoupon_fee() { public String getErr_code_des() {
return this.coupon_fee; return this.err_code_des;
} }
public String getCoupon_count() { public void setErr_code_des(String err_code_des) {
return this.coupon_count; this.err_code_des = err_code_des;
} }
public String getCoupon_batch_id_$n() { public String getOpenid() {
return this.coupon_batch_id_$n; return this.openid;
} }
public String getCoupon_id_$n() { public void setOpenid(String openid) {
return this.coupon_id_$n; this.openid = openid;
} }
public String getCoupon_fee_$n() { public String getIs_subscribe() {
return this.coupon_fee_$n; return this.is_subscribe;
} }
public String getTransaction_id() { public void setIs_subscribe(String is_subscribe) {
return this.transaction_id; this.is_subscribe = is_subscribe;
} }
public String getOut_trade_no() { public String getTrade_type() {
return this.out_trade_no; return this.trade_type;
} }
public String getAttach() { public void setTrade_type(String trade_type) {
return this.attach; this.trade_type = trade_type;
} }
public String getTime_end() { public String getBank_type() {
return this.time_end; return this.bank_type;
} }
public void setReturn_code(String return_code) { public void setBank_type(String bank_type) {
this.return_code = return_code; this.bank_type = bank_type;
} }
public void setReturn_msg(String return_msg) { public String getTotal_fee() {
this.return_msg = return_msg; return this.total_fee;
} }
public void setAppid(String appid) { public void setTotal_fee(String total_fee) {
this.appid = appid; this.total_fee = total_fee;
} }
public void setMch_id(String mch_id) { public String getFee_type() {
this.mch_id = mch_id; return this.fee_type;
} }
public void setDevice_info(String device_info) { public void setFee_type(String fee_type) {
this.device_info = device_info; this.fee_type = fee_type;
} }
public void setNonce_str(String nonce_str) { public String getCash_fee() {
this.nonce_str = nonce_str; return this.cash_fee;
} }
public void setSign(String sign) { public void setCash_fee(String cash_fee) {
this.sign = sign; this.cash_fee = cash_fee;
} }
public void setResult_code(String result_code) { public String getCash_fee_type() {
this.result_code = result_code; return this.cash_fee_type;
} }
public void setErr_code(String err_code) { public void setCash_fee_type(String cash_fee_type) {
this.err_code = err_code; this.cash_fee_type = cash_fee_type;
} }
public void setErr_code_des(String err_code_des) { public String getCoupon_fee() {
this.err_code_des = err_code_des; return this.coupon_fee;
} }
public void setOpenid(String openid) { public void setCoupon_fee(String coupon_fee) {
this.openid = openid; this.coupon_fee = coupon_fee;
} }
public void setIs_subscribe(String is_subscribe) { public String getCoupon_count() {
this.is_subscribe = is_subscribe; return this.coupon_count;
} }
public void setTrade_type(String trade_type) { public void setCoupon_count(String coupon_count) {
this.trade_type = trade_type; this.coupon_count = coupon_count;
} }
public void setBank_type(String bank_type) { public String getCoupon_batch_id_$n() {
this.bank_type = bank_type; return this.coupon_batch_id_$n;
} }
public void setTotal_fee(String total_fee) { public void setCoupon_batch_id_$n(String coupon_batch_id_$n) {
this.total_fee = total_fee; this.coupon_batch_id_$n = coupon_batch_id_$n;
} }
public void setFee_type(String fee_type) { public String getCoupon_id_$n() {
this.fee_type = fee_type; return this.coupon_id_$n;
} }
public void setCash_fee(String cash_fee) { public void setCoupon_id_$n(String coupon_id_$n) {
this.cash_fee = cash_fee; this.coupon_id_$n = coupon_id_$n;
} }
public void setCash_fee_type(String cash_fee_type) { public String getCoupon_fee_$n() {
this.cash_fee_type = cash_fee_type; return this.coupon_fee_$n;
} }
public void setCoupon_fee(String coupon_fee) { public void setCoupon_fee_$n(String coupon_fee_$n) {
this.coupon_fee = coupon_fee; this.coupon_fee_$n = coupon_fee_$n;
} }
public void setCoupon_count(String coupon_count) { public String getTransaction_id() {
this.coupon_count = coupon_count; return this.transaction_id;
} }
public void setCoupon_batch_id_$n(String coupon_batch_id_$n) { public void setTransaction_id(String transaction_id) {
this.coupon_batch_id_$n = coupon_batch_id_$n; this.transaction_id = transaction_id;
} }
public void setCoupon_id_$n(String coupon_id_$n) { public String getOut_trade_no() {
this.coupon_id_$n = coupon_id_$n; return this.out_trade_no;
} }
public void setCoupon_fee_$n(String coupon_fee_$n) { public void setOut_trade_no(String out_trade_no) {
this.coupon_fee_$n = coupon_fee_$n; this.out_trade_no = out_trade_no;
} }
public void setTransaction_id(String transaction_id) { public String getAttach() {
this.transaction_id = transaction_id; return this.attach;
} }
public void setOut_trade_no(String out_trade_no) { public void setAttach(String attach) {
this.out_trade_no = out_trade_no; this.attach = attach;
} }
public void setAttach(String attach) { public String getTime_end() {
this.attach = attach; return this.time_end;
} }
public void setTime_end(String time_end) { public void setTime_end(String time_end) {
this.time_end = time_end; this.time_end = time_end;
} }
@Override @Override
public String toString() { public String toString() {
return "WxPayJsSDKCallback [return_code=" + this.return_code + ", return_msg=" return "WxPayJsSDKCallback [return_code=" + this.return_code + ", return_msg="
+ this.return_msg + ", appid=" + this.appid + ", mch_id=" + this.mch_id + this.return_msg + ", appid=" + this.appid + ", mch_id=" + this.mch_id
+ ", device_info=" + this.device_info + ", nonce_str=" + this.nonce_str + ", device_info=" + this.device_info + ", nonce_str=" + this.nonce_str
+ ", sign=" + this.sign + ", result_code=" + this.result_code + ", sign=" + this.sign + ", result_code=" + this.result_code
+ ", err_code=" + this.err_code + ", err_code_des=" + this.err_code_des + ", err_code=" + this.err_code + ", err_code_des=" + this.err_code_des
+ ", openid=" + this.openid + ", is_subscribe=" + this.is_subscribe + ", openid=" + this.openid + ", is_subscribe=" + this.is_subscribe
+ ", trade_type=" + this.trade_type + ", bank_type=" + this.bank_type + ", trade_type=" + this.trade_type + ", bank_type=" + this.bank_type
+ ", total_fee=" + this.total_fee + ", fee_type=" + this.fee_type + ", total_fee=" + this.total_fee + ", fee_type=" + this.fee_type
+ ", cash_fee=" + this.cash_fee + ", cash_fee_type=" + this.cash_fee_type + ", cash_fee=" + this.cash_fee + ", cash_fee_type=" + this.cash_fee_type
+ ", coupon_fee=" + this.coupon_fee + ", coupon_count=" + ", coupon_fee=" + this.coupon_fee + ", coupon_count="
+ this.coupon_count + ", coupon_batch_id_$n=" + this.coupon_batch_id_$n + this.coupon_count + ", coupon_batch_id_$n=" + this.coupon_batch_id_$n
+ ", coupon_id_$n=" + this.coupon_id_$n + ", coupon_fee_$n=" + ", coupon_id_$n=" + this.coupon_id_$n + ", coupon_fee_$n="
+ this.coupon_fee_$n + ", transaction_id=" + this.transaction_id + this.coupon_fee_$n + ", transaction_id=" + this.transaction_id
+ ", out_trade_no=" + this.out_trade_no + ", attach=" + this.attach + ", out_trade_no=" + this.out_trade_no + ", attach=" + this.attach
+ ", time_end=" + this.time_end + "]"; + ", time_end=" + this.time_end + "]";
} }
} }

View File

@ -1,4 +1,4 @@
package me.chanjar.weixin.mp.bean.pay; package me.chanjar.weixin.mp.bean.pay.request;
import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAlias;
import me.chanjar.weixin.common.annotation.Required; import me.chanjar.weixin.common.annotation.Required;

View File

@ -1,4 +1,4 @@
package me.chanjar.weixin.mp.bean.pay; package me.chanjar.weixin.mp.bean.pay.request;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;

View File

@ -1,4 +1,4 @@
package me.chanjar.weixin.mp.bean.pay; package me.chanjar.weixin.mp.bean.pay.request;
import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAlias;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;

View File

@ -1,4 +1,4 @@
package me.chanjar.weixin.mp.bean.pay; package me.chanjar.weixin.mp.bean.pay.request;
import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAlias;

View File

@ -1,4 +1,4 @@
package me.chanjar.weixin.mp.bean.pay; package me.chanjar.weixin.mp.bean.pay.request;
import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAlias;
import me.chanjar.weixin.common.annotation.Required; import me.chanjar.weixin.common.annotation.Required;

View File

@ -1,4 +1,4 @@
package me.chanjar.weixin.mp.bean.pay; package me.chanjar.weixin.mp.bean.pay.request;
import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAlias;

View File

@ -1,4 +1,4 @@
package me.chanjar.weixin.mp.bean.pay; package me.chanjar.weixin.mp.bean.pay.request;
import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAlias;
import me.chanjar.weixin.common.annotation.Required; import me.chanjar.weixin.common.annotation.Required;

View File

@ -1,4 +1,4 @@
package me.chanjar.weixin.mp.bean.pay; package me.chanjar.weixin.mp.bean.pay.result;
import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAlias;

View File

@ -1,4 +1,4 @@
package me.chanjar.weixin.mp.bean.pay; package me.chanjar.weixin.mp.bean.pay.result;
import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAlias;

View File

@ -1,4 +1,4 @@
package me.chanjar.weixin.mp.bean.pay; package me.chanjar.weixin.mp.bean.pay.result;
import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAlias;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;

View File

@ -1,4 +1,4 @@
package me.chanjar.weixin.mp.bean.pay; package me.chanjar.weixin.mp.bean.pay.result;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAlias;
@ -436,7 +436,7 @@ public class WxPayOrderQueryResult extends WxPayBaseResult {
} }
public void composeCoupons(String xmlString){ public void composeCoupons(String xmlString){
if(this.couponCount > 0 ){ if(this.couponCount != null && this.couponCount > 0 ){
this.coupons = Lists.newArrayList(); this.coupons = Lists.newArrayList();
//TODO 暂时待实现 //TODO 暂时待实现
} }

View File

@ -1,4 +1,4 @@
package me.chanjar.weixin.mp.bean.pay; package me.chanjar.weixin.mp.bean.pay.result;
import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAlias;

View File

@ -1,4 +1,4 @@
package me.chanjar.weixin.mp.bean.pay; package me.chanjar.weixin.mp.bean.pay.result;
import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAlias;

View File

@ -1,4 +1,4 @@
package me.chanjar.weixin.mp.bean.pay; package me.chanjar.weixin.mp.bean.pay.result;
import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAlias;

View File

@ -4,7 +4,13 @@ import com.google.inject.Inject;
import me.chanjar.weixin.common.exception.WxErrorException; import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.mp.api.ApiTestModule; import me.chanjar.weixin.mp.api.ApiTestModule;
import me.chanjar.weixin.mp.api.WxXmlMpInMemoryConfigStorage; import me.chanjar.weixin.mp.api.WxXmlMpInMemoryConfigStorage;
import me.chanjar.weixin.mp.bean.pay.*; import me.chanjar.weixin.mp.bean.pay.request.WxEntPayRequest;
import me.chanjar.weixin.mp.bean.pay.request.WxPayRefundRequest;
import me.chanjar.weixin.mp.bean.pay.request.WxPaySendRedpackRequest;
import me.chanjar.weixin.mp.bean.pay.request.WxPayUnifiedOrderRequest;
import me.chanjar.weixin.mp.bean.pay.result.WxPayRefundResult;
import me.chanjar.weixin.mp.bean.pay.result.WxPaySendRedpackResult;
import me.chanjar.weixin.mp.bean.pay.result.WxPayUnifiedOrderResult;
import org.testng.annotations.Guice; import org.testng.annotations.Guice;
import org.testng.annotations.Test; import org.testng.annotations.Test;
@ -27,11 +33,6 @@ public class WxMpPayServiceImplTest {
} }
@Test
public void testGetJSSDKCallbackData() throws Exception {
}
@Test @Test
public void testRefund() throws Exception { public void testRefund() throws Exception {
WxPayRefundRequest request = new WxPayRefundRequest(); WxPayRefundRequest request = new WxPayRefundRequest();

View File

@ -1,26 +1,23 @@
package me.chanjar.weixin.mp.bean; package me.chanjar.weixin.mp.bean.pay.result;
import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Test;
import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.XStream;
import me.chanjar.weixin.common.util.xml.XStreamInitializer; import me.chanjar.weixin.common.util.xml.XStreamInitializer;
import me.chanjar.weixin.mp.bean.pay.WxPaySendRedpackResult; import org.testng.Assert;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class WxRedpackResultTest { public class WxPaySendRedpackResultTest {
private XStream xstream; private XStream xstream;
@Before @BeforeTest
public void setup() { public void setup() {
this.xstream = XStreamInitializer.getInstance(); this.xstream = XStreamInitializer.getInstance();
this.xstream.processAnnotations(WxPaySendRedpackResult.class); this.xstream.processAnnotations(WxPaySendRedpackResult.class);
} }
@Test public void loadSuccessResult() { @Test
public void loadSuccessResult() {
final String successSample = "<xml>\n" + final String successSample = "<xml>\n" +
"<return_code><![CDATA[SUCCESS]]></return_code>\n" + "<return_code><![CDATA[SUCCESS]]></return_code>\n" +
"<return_msg><![CDATA[发放成功.]]></return_msg>\n" + "<return_msg><![CDATA[发放成功.]]></return_msg>\n" +
@ -36,12 +33,13 @@ public class WxRedpackResultTest {
"<send_time>20150520102602</send_time>\n" + "<send_time>20150520102602</send_time>\n" +
"</xml>"; "</xml>";
WxPaySendRedpackResult wxMpRedpackResult = (WxPaySendRedpackResult) this.xstream.fromXML(successSample); WxPaySendRedpackResult wxMpRedpackResult = (WxPaySendRedpackResult) this.xstream.fromXML(successSample);
assertEquals("SUCCESS", wxMpRedpackResult.getReturnCode()); Assert.assertEquals("SUCCESS", wxMpRedpackResult.getReturnCode());
assertEquals("SUCCESS", wxMpRedpackResult.getResultCode()); Assert.assertEquals("SUCCESS", wxMpRedpackResult.getResultCode());
assertEquals("20150520102602", wxMpRedpackResult.getSendTime()); Assert.assertEquals("20150520102602", wxMpRedpackResult.getSendTime());
} }
@Test public void loadFailureResult() { @Test
public void loadFailureResult() {
final String failureSample = "<xml>\n" + final String failureSample = "<xml>\n" +
"<return_code><![CDATA[FAIL]]></return_code>\n" + "<return_code><![CDATA[FAIL]]></return_code>\n" +
"<return_msg><![CDATA[系统繁忙,请稍后再试.]]></return_msg>\n" + "<return_msg><![CDATA[系统繁忙,请稍后再试.]]></return_msg>\n" +
@ -55,9 +53,9 @@ public class WxRedpackResultTest {
"<total_amount>1</total_amount>\n" + "<total_amount>1</total_amount>\n" +
"</xml>"; "</xml>";
WxPaySendRedpackResult wxMpRedpackResult = (WxPaySendRedpackResult) this.xstream.fromXML(failureSample); WxPaySendRedpackResult wxMpRedpackResult = (WxPaySendRedpackResult) this.xstream.fromXML(failureSample);
assertEquals("FAIL", wxMpRedpackResult.getReturnCode()); Assert.assertEquals("FAIL", wxMpRedpackResult.getReturnCode());
assertEquals("FAIL", wxMpRedpackResult.getResultCode()); Assert.assertEquals("FAIL", wxMpRedpackResult.getResultCode());
assertEquals("onqOjjmM1tad-3ROpncN-yUfa6uI", wxMpRedpackResult.getReOpenid()); Assert.assertEquals("onqOjjmM1tad-3ROpncN-yUfa6uI", wxMpRedpackResult.getReOpenid());
assertEquals(1, wxMpRedpackResult.getTotalAmount()); Assert.assertEquals(1, wxMpRedpackResult.getTotalAmount());
} }
} }