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); }