diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/PayApi.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/PayApi.java
index a814d3d0..5106276e 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/PayApi.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/PayApi.java
@@ -18,8 +18,8 @@ import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.foxinmy.weixin4j.exception.WeixinException;
-import com.foxinmy.weixin4j.http.message.XmlResult;
import com.foxinmy.weixin4j.http.weixin.WeixinResponse;
+import com.foxinmy.weixin4j.http.weixin.XmlResult;
import com.foxinmy.weixin4j.model.Consts;
import com.foxinmy.weixin4j.model.WeixinPayAccount;
import com.foxinmy.weixin4j.payment.mch.APPPayRequest;
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/message/ApiResult.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/ApiResult.java
similarity index 93%
rename from weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/message/ApiResult.java
rename to weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/ApiResult.java
index 2a0955b3..d9a5d661 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/message/ApiResult.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/ApiResult.java
@@ -1,4 +1,4 @@
-package com.foxinmy.weixin4j.http.message;
+package com.foxinmy.weixin4j.http.weixin;
import java.io.Serializable;
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinRequestExecutor.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinRequestExecutor.java
index 58846e33..13674319 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinRequestExecutor.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinRequestExecutor.java
@@ -23,9 +23,7 @@ import com.foxinmy.weixin4j.http.entity.FormUrlEntity;
import com.foxinmy.weixin4j.http.entity.HttpEntity;
import com.foxinmy.weixin4j.http.entity.StringEntity;
import com.foxinmy.weixin4j.http.factory.HttpClientFactory;
-import com.foxinmy.weixin4j.http.message.ApiResult;
import com.foxinmy.weixin4j.http.message.XmlMessageConverter;
-import com.foxinmy.weixin4j.http.message.XmlResult;
import com.foxinmy.weixin4j.logging.InternalLogger;
import com.foxinmy.weixin4j.logging.InternalLoggerFactory;
import com.foxinmy.weixin4j.model.Consts;
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinResponse.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinResponse.java
index 7006e7ff..572070f0 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinResponse.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinResponse.java
@@ -12,11 +12,9 @@ import com.foxinmy.weixin4j.http.HttpHeaders;
import com.foxinmy.weixin4j.http.HttpResponse;
import com.foxinmy.weixin4j.http.HttpStatus;
import com.foxinmy.weixin4j.http.HttpVersion;
-import com.foxinmy.weixin4j.http.message.ApiResult;
import com.foxinmy.weixin4j.http.message.JsonMessageConverter;
import com.foxinmy.weixin4j.http.message.MessageConverter;
import com.foxinmy.weixin4j.http.message.XmlMessageConverter;
-import com.foxinmy.weixin4j.http.message.XmlResult;
import com.foxinmy.weixin4j.util.StringUtil;
/**
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/message/XmlResult.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/XmlResult.java
similarity index 93%
rename from weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/message/XmlResult.java
rename to weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/XmlResult.java
index 46f83b5c..111e76ce 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/message/XmlResult.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/XmlResult.java
@@ -1,4 +1,4 @@
-package com.foxinmy.weixin4j.http.message;
+package com.foxinmy.weixin4j.http.weixin;
import java.io.Serializable;
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/error.xml b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/error.xml
index 7bb4d439..df8f59b5 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/error.xml
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/error.xml
@@ -319,6 +319,10 @@
40094
invalid args
+
+ 40095
+ 修改失败,并发冲突
+
40099
卡券已被核销。
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/WeixinPayProxy.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/WeixinPayProxy.java
index a31b8add..94a944a0 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/WeixinPayProxy.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/WeixinPayProxy.java
@@ -12,7 +12,7 @@ import com.foxinmy.weixin4j.api.CouponApi;
import com.foxinmy.weixin4j.api.CustomsApi;
import com.foxinmy.weixin4j.api.PayApi;
import com.foxinmy.weixin4j.exception.WeixinException;
-import com.foxinmy.weixin4j.http.message.XmlResult;
+import com.foxinmy.weixin4j.http.weixin.XmlResult;
import com.foxinmy.weixin4j.model.Pageable;
import com.foxinmy.weixin4j.model.WeixinPayAccount;
import com.foxinmy.weixin4j.payment.coupon.CouponDetail;
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/mch/MerchantResult.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/mch/MerchantResult.java
index d6ce958d..102461e7 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/mch/MerchantResult.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/mch/MerchantResult.java
@@ -6,7 +6,7 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import com.alibaba.fastjson.annotation.JSONField;
-import com.foxinmy.weixin4j.http.message.XmlResult;
+import com.foxinmy.weixin4j.http.weixin.XmlResult;
import com.foxinmy.weixin4j.type.SignType;
/**
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/mch/RedpacketRecord.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/mch/RedpacketRecord.java
index ea5e699e..de1c35a7 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/mch/RedpacketRecord.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/mch/RedpacketRecord.java
@@ -11,7 +11,7 @@ import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import com.alibaba.fastjson.annotation.JSONField;
-import com.foxinmy.weixin4j.http.message.XmlResult;
+import com.foxinmy.weixin4j.http.weixin.XmlResult;
import com.foxinmy.weixin4j.type.RedpacketSendType;
import com.foxinmy.weixin4j.type.RedpacketStatus;
import com.foxinmy.weixin4j.type.RedpacketType;
diff --git a/weixin4j-base/src/test/java/com/foxinmy/weixin4j/base/test/CashTest.java b/weixin4j-base/src/test/java/com/foxinmy/weixin4j/base/test/CashTest.java
index f4258560..6743b810 100644
--- a/weixin4j-base/src/test/java/com/foxinmy/weixin4j/base/test/CashTest.java
+++ b/weixin4j-base/src/test/java/com/foxinmy/weixin4j/base/test/CashTest.java
@@ -3,10 +3,13 @@ package com.foxinmy.weixin4j.base.test;
import java.io.FileInputStream;
import java.io.IOException;
+import org.junit.Assert;
import org.junit.Test;
import com.foxinmy.weixin4j.exception.WeixinException;
+import com.foxinmy.weixin4j.model.Consts;
import com.foxinmy.weixin4j.payment.mch.CorpPayment;
+import com.foxinmy.weixin4j.payment.mch.CorpPaymentRecord;
import com.foxinmy.weixin4j.payment.mch.CorpPaymentResult;
import com.foxinmy.weixin4j.payment.mch.Redpacket;
import com.foxinmy.weixin4j.payment.mch.RedpacketRecord;
@@ -31,15 +34,19 @@ public class CashTest extends PayTest {
"快来领取红包吧!", "来就送钱");
RedpacketSendResult result = PAY.sendRedpack(
new FileInputStream(caFile), redpacket);
+ Assert.assertEquals(Consts.SUCCESS, result.getReturnCode());
+ Assert.assertEquals(Consts.SUCCESS, result.getResultCode());
System.err.println(result);
}
@Test
public void queryRedpacket() throws WeixinException, IOException {
String outTradeNo = "HB001";
- RedpacketRecord record = PAY.queryRedpack(new FileInputStream(caFile),
+ RedpacketRecord result = PAY.queryRedpack(new FileInputStream(caFile),
outTradeNo);
- System.err.println(record);
+ Assert.assertEquals(Consts.SUCCESS, result.getReturnCode());
+ Assert.assertEquals(Consts.SUCCESS, result.getResultCode());
+ System.err.println(result);
}
@Test
@@ -49,12 +56,17 @@ public class CashTest extends PayTest {
CorpPaymentCheckNameType.NO_CHECK, "企业付款测试", 1d, "127.0.0.1");
CorpPaymentResult result = PAY.sendCorpPayment(new FileInputStream(
caFile), payment);
+ Assert.assertEquals(Consts.SUCCESS, result.getReturnCode());
+ Assert.assertEquals(Consts.SUCCESS, result.getResultCode());
System.err.println(result);
}
@Test
public void queryCorpPayment() throws WeixinException, IOException {
- System.err.println(PAY.queryCorpPayment(new FileInputStream(caFile),
- "MP001"));
+ CorpPaymentRecord result = PAY.queryCorpPayment(new FileInputStream(caFile),
+ "MP001");
+ Assert.assertEquals(Consts.SUCCESS, result.getReturnCode());
+ Assert.assertEquals(Consts.SUCCESS, result.getResultCode());
+ System.err.println(result);
}
}
diff --git a/weixin4j-base/src/test/java/com/foxinmy/weixin4j/base/test/CouponTest.java b/weixin4j-base/src/test/java/com/foxinmy/weixin4j/base/test/CouponTest.java
index 8e1a9707..c8406144 100644
--- a/weixin4j-base/src/test/java/com/foxinmy/weixin4j/base/test/CouponTest.java
+++ b/weixin4j-base/src/test/java/com/foxinmy/weixin4j/base/test/CouponTest.java
@@ -31,18 +31,24 @@ public class CouponTest extends PayTest {
DateUtil.fortmat2yyyyMMdd(new Date()), "1");
CouponResult result = PAY.sendCoupon(new FileInputStream(caFile),
"123", partnerTradeNo, "oyFLst1bqtuTcxK-ojF8hOGtLQao", null);
- Assert.assertTrue(result.getRetCode().equalsIgnoreCase(Consts.SUCCESS));
+ Assert.assertEquals(Consts.SUCCESS, result.getReturnCode());
+ Assert.assertEquals(Consts.SUCCESS, result.getResultCode());
+ System.err.println(result);
}
@Test
public void queryCouponStock() throws WeixinException {
- CouponStock couponStock = PAY.queryCouponStock("couponStockId");
- System.err.println(couponStock);
+ CouponStock result = PAY.queryCouponStock("couponStockId");
+ Assert.assertEquals(Consts.SUCCESS, result.getReturnCode());
+ Assert.assertEquals(Consts.SUCCESS, result.getResultCode());
+ System.err.println(result);
}
@Test
public void queryCouponDetail() throws WeixinException {
- CouponDetail couponDetail = PAY.queryCouponDetail("couponId");
- System.err.println(couponDetail);
+ CouponDetail result = PAY.queryCouponDetail("couponId");
+ Assert.assertEquals(Consts.SUCCESS, result.getReturnCode());
+ Assert.assertEquals(Consts.SUCCESS, result.getResultCode());
+ System.err.println(result);
}
}
diff --git a/weixin4j-base/src/test/java/com/foxinmy/weixin4j/base/test/PayTest.java b/weixin4j-base/src/test/java/com/foxinmy/weixin4j/base/test/PayTest.java
index 86b5c551..9fa14f2c 100644
--- a/weixin4j-base/src/test/java/com/foxinmy/weixin4j/base/test/PayTest.java
+++ b/weixin4j-base/src/test/java/com/foxinmy/weixin4j/base/test/PayTest.java
@@ -10,8 +10,8 @@ import org.junit.Assert;
import org.junit.Test;
import com.foxinmy.weixin4j.exception.WeixinException;
-import com.foxinmy.weixin4j.exception.WeixinPayException;
-import com.foxinmy.weixin4j.http.message.XmlResult;
+import com.foxinmy.weixin4j.http.weixin.XmlResult;
+import com.foxinmy.weixin4j.model.Consts;
import com.foxinmy.weixin4j.model.WeixinPayAccount;
import com.foxinmy.weixin4j.payment.WeixinPayProxy;
import com.foxinmy.weixin4j.payment.mch.MchPayPackage;
@@ -43,19 +43,24 @@ public class PayTest {
protected final static WeixinPayProxy PAY;
static {
- ACCOUNT = new WeixinPayAccount("wx0d1d598c0c03c999", "GATFzDwbQdbbci3QEQxX2rUBvwTrsMiZ", "10020674");
+ ACCOUNT = new WeixinPayAccount("wx0d1d598c0c03c999",
+ "GATFzDwbQdbbci3QEQxX2rUBvwTrsMiZ", "10020674");
SIGNATURE = new WeixinPaymentSignature(ACCOUNT.getPaySignKey());
- PAY = new WeixinPayProxy(new Weixin4jSettings(ACCOUNT));
+ PAY = new WeixinPayProxy(
+ new Weixin4jSettings(ACCOUNT));
}
/**
* 商户证书文件
*/
- protected File caFile = new File("/Users/jy/workspace/feican/canyi-weixin-parent/canyi-weixin-service/src/main/resources/10020674.p12");
+ protected File caFile = new File(
+ "/Users/jy/workspace/feican/canyi-weixin-parent/canyi-weixin-service/src/main/resources/10020674.p12");
@Test
public void queryOrder() throws WeixinException {
Order order = PAY.queryOrder(new IdQuery("BY2016010800025",
IdType.TRADENO));
+ Assert.assertEquals(Consts.SUCCESS, order.getReturnCode());
+ Assert.assertEquals(Consts.SUCCESS, order.getResultCode());
System.err.println(order);
String sign = order.getSign();
order.setSign(null);
@@ -69,8 +74,9 @@ public class PayTest {
public void queryRefund() throws WeixinException {
RefundRecord record = PAY.queryRefund(new IdQuery("TT_1427183696238",
IdType.TRADENO));
+ Assert.assertEquals(Consts.SUCCESS, record.getReturnCode());
+ Assert.assertEquals(Consts.SUCCESS, record.getResultCode());
System.err.println(record);
- // 这里的验证签名需要把details循环拼接
String sign = record.getSign();
record.setSign(null);
String valiSign = SIGNATURE.sign(record);
@@ -96,6 +102,8 @@ public class PayTest {
RefundResult result = PAY.applyRefund(new FileInputStream(caFile),
idQuery, "TT_R" + System.currentTimeMillis(), 0.01d, 0.01d,
null, "10020674");
+ Assert.assertEquals(Consts.SUCCESS, result.getReturnCode());
+ Assert.assertEquals(Consts.SUCCESS, result.getResultCode());
System.err.println(result);
String sign = result.getSign();
result.setSign(null);
@@ -110,18 +118,17 @@ public class PayTest {
MchPayPackage payPackageV3 = new MchPayPackage("native测试", "T0001",
0.1d, "notify_url", "127.0.0.1", TradeType.NATIVE, null, null,
"productId", null);
- PrePay prePay = null;
- try {
- prePay = PAY.createPrePay(payPackageV3);
- } catch (WeixinPayException e) {
- e.printStackTrace();
- }
- System.err.println(prePay);
+ PrePay result = PAY.createPrePay(payPackageV3);
+ Assert.assertEquals(Consts.SUCCESS, result.getReturnCode());
+ Assert.assertEquals(Consts.SUCCESS, result.getResultCode());
+ System.err.println(result);
}
@Test
public void closeOrder() throws WeixinException {
MerchantResult result = PAY.closeOrder("D111");
+ Assert.assertEquals(Consts.SUCCESS, result.getReturnCode());
+ Assert.assertEquals(Consts.SUCCESS, result.getResultCode());
System.err.println(result);
String sign = result.getSign();
result.setSign(null);
@@ -149,6 +156,8 @@ public class PayTest {
returnXml.setResultCode("SUCCESS");
returnXml = PAY.reportInterface(interfaceUrl, executeTime, outTradeNo,
ip, time, returnXml);
+ Assert.assertEquals(Consts.SUCCESS, returnXml.getReturnCode());
+ Assert.assertEquals(Consts.SUCCESS, returnXml.getResultCode());
System.err.println(returnXml);
}