From 61d8d0853b531b12e919539af8576e85ce3cc329 Mon Sep 17 00:00:00 2001 From: afon Date: Wed, 19 Oct 2016 16:02:29 +0800 Subject: [PATCH 001/104] RateLimitException added --- CHANGELOG.md | 5 +++++ README.md | 4 ++-- VERSION | 2 +- ...77\347\224\250\346\226\207\346\241\243.md" | 2 +- .../SimpleExample/libs/pingpp-java-2.1.8.jar | Bin 50362 -> 0 bytes .../SimpleExample/libs/pingpp-java-2.1.9.jar | Bin 0 -> 51025 bytes .../com/pingxx/example/ChargeExample.java | 15 ++++++++++++- .../java/com/pingxx/example/EventExample.java | 10 ++++----- .../pingxx/example/IdentificationExample.java | 4 ++++ .../pingxx/example/RedEnvelopeExample.java | 12 ++++++----- .../com/pingxx/example/RefundExample.java | 14 +++++++----- .../com/pingxx/example/TransferExample.java | 12 ++++++----- libs/pingpp-java-2.1.8.jar | Bin 50362 -> 0 bytes libs/pingpp-java-2.1.9.jar | Bin 0 -> 51025 bytes src/main/java/com/pingplusplus/Pingpp.java | 4 ++-- .../exception/RateLimitException.java | 11 ++++++++++ .../java/com/pingplusplus/model/Card.java | 12 +++++------ .../pingplusplus/model/CardCollection.java | 6 +++--- .../java/com/pingplusplus/model/Charge.java | 14 +++++------- .../model/ChargeRefundCollection.java | 12 ++++------- .../java/com/pingplusplus/model/Customer.java | 20 +++++++++--------- .../java/com/pingplusplus/model/Event.java | 12 ++++------- .../pingplusplus/model/Identification.java | 8 ++----- .../com/pingplusplus/model/RedEnvelope.java | 14 +++++------- .../java/com/pingplusplus/model/Refund.java | 10 +++------ .../java/com/pingplusplus/model/SMSCode.java | 8 ++----- .../java/com/pingplusplus/model/Token.java | 10 +++------ .../java/com/pingplusplus/model/Transfer.java | 14 +++++------- .../com/pingplusplus/net/APIResource.java | 20 +++++++++++------- 29 files changed, 131 insertions(+), 124 deletions(-) delete mode 100644 example/SimpleExample/libs/pingpp-java-2.1.8.jar create mode 100644 example/SimpleExample/libs/pingpp-java-2.1.9.jar delete mode 100644 libs/pingpp-java-2.1.8.jar create mode 100644 libs/pingpp-java-2.1.9.jar create mode 100644 src/main/java/com/pingplusplus/exception/RateLimitException.java diff --git a/CHANGELOG.md b/CHANGELOG.md index e1876b6..fae460d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## 2.1.9 +* 修改: +添加 RateLimitException +兼容 http 地址,仅为方便测试 + ## 2.1.8 * 新增: Identification 身份证银行卡接口 diff --git a/README.md b/README.md index 9ae54a0..844d873 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.1.8 + 2.1.9 jar ``` @@ -52,7 +52,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.1.8' +compile 'Pingplusplus:pingpp-java:2.1.9' ``` ### 初始化 diff --git a/VERSION b/VERSION index ebf14b4..63a1a1c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.1.8 +2.1.9 diff --git "a/docs/ping++_java_sdk_\344\275\277\347\224\250\346\226\207\346\241\243.md" "b/docs/ping++_java_sdk_\344\275\277\347\224\250\346\226\207\346\241\243.md" index dd24d7a..73769c5 100644 --- "a/docs/ping++_java_sdk_\344\275\277\347\224\250\346\226\207\346\241\243.md" +++ "b/docs/ping++_java_sdk_\344\275\277\347\224\250\346\226\207\346\241\243.md" @@ -12,7 +12,7 @@ #### 依赖包 gons-2.6.2.jar 或更高版本 - pingpp-java-2.1.8.jar 或更高版本 + pingpp-java-2.1.9.jar 或更高版本 #### 设置 apiKey diff --git a/example/SimpleExample/libs/pingpp-java-2.1.8.jar b/example/SimpleExample/libs/pingpp-java-2.1.8.jar deleted file mode 100644 index 8fae6e4bf2fbdf5a60c95b49ab45ad665cd52020..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50362 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 diff --git a/example/SimpleExample/libs/pingpp-java-2.1.9.jar b/example/SimpleExample/libs/pingpp-java-2.1.9.jar new file mode 100644 index 0000000000000000000000000000000000000000..6fd8066099dc16e199b91cf9f6d244a205ec484c GIT binary patch literal 51025 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 literal 0 HcmV?d00001 diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/ChargeExample.java b/example/SimpleExample/src/main/java/com/pingxx/example/ChargeExample.java index 26ffa1c..c328342 100644 --- a/example/SimpleExample/src/main/java/com/pingxx/example/ChargeExample.java +++ b/example/SimpleExample/src/main/java/com/pingxx/example/ChargeExample.java @@ -14,6 +14,7 @@ import com.pingplusplus.exception.AuthenticationException; import com.pingplusplus.exception.ChannelException; import com.pingplusplus.exception.InvalidRequestException; +import com.pingplusplus.exception.RateLimitException; import com.pingplusplus.exception.PingppException; import com.pingplusplus.model.Charge; import com.pingplusplus.model.ChargeCollection; @@ -79,7 +80,17 @@ public Charge createCharge() { // 传到客户端请先转成字符串 .toString(), 调该方法,会自动转成正确的 JSON 字符串 String chargeString = charge.toString(); System.out.println(chargeString); - } catch (PingppException e) { + } catch (APIConnectionException e) { + e.printStackTrace(); + } catch (ChannelException e) { + e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); + } catch (AuthenticationException e) { + e.printStackTrace(); + } catch (APIException e) { + e.printStackTrace(); + } catch (InvalidRequestException e) { e.printStackTrace(); } return charge; @@ -178,6 +189,8 @@ public ChargeCollection all() { e.printStackTrace(); } catch (ChannelException e) { e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); } return chargeCollection; diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/EventExample.java b/example/SimpleExample/src/main/java/com/pingxx/example/EventExample.java index 07bfd71..870b3e7 100644 --- a/example/SimpleExample/src/main/java/com/pingxx/example/EventExample.java +++ b/example/SimpleExample/src/main/java/com/pingxx/example/EventExample.java @@ -3,11 +3,7 @@ import java.util.HashMap; import java.util.Map; -import com.pingplusplus.exception.APIConnectionException; -import com.pingplusplus.exception.APIException; -import com.pingplusplus.exception.AuthenticationException; -import com.pingplusplus.exception.ChannelException; -import com.pingplusplus.exception.InvalidRequestException; +import com.pingplusplus.exception.*; import com.pingplusplus.model.Charge; import com.pingplusplus.model.Event; import com.pingplusplus.model.EventCollection; @@ -70,6 +66,8 @@ public void retrieve(String id) { e.printStackTrace(); } catch (ChannelException e) { e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); } } @@ -100,6 +98,8 @@ public void all() { e.printStackTrace(); } catch (ChannelException e) { e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); } } diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/IdentificationExample.java b/example/SimpleExample/src/main/java/com/pingxx/example/IdentificationExample.java index 9e87af6..df758f1 100644 --- a/example/SimpleExample/src/main/java/com/pingxx/example/IdentificationExample.java +++ b/example/SimpleExample/src/main/java/com/pingxx/example/IdentificationExample.java @@ -65,6 +65,8 @@ public void identifyIdCard() { e.printStackTrace(); } catch (ChannelException e) { e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); } } @@ -101,6 +103,8 @@ public void identifyBankCard() { e.printStackTrace(); } catch (ChannelException e) { e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); } } } diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/RedEnvelopeExample.java b/example/SimpleExample/src/main/java/com/pingxx/example/RedEnvelopeExample.java index b82c9b5..4b22349 100644 --- a/example/SimpleExample/src/main/java/com/pingxx/example/RedEnvelopeExample.java +++ b/example/SimpleExample/src/main/java/com/pingxx/example/RedEnvelopeExample.java @@ -7,11 +7,7 @@ */ package com.pingxx.example; -import com.pingplusplus.exception.APIConnectionException; -import com.pingplusplus.exception.APIException; -import com.pingplusplus.exception.AuthenticationException; -import com.pingplusplus.exception.ChannelException; -import com.pingplusplus.exception.InvalidRequestException; +import com.pingplusplus.exception.*; import com.pingplusplus.model.RedEnvelope; import com.pingplusplus.model.RedEnvelopeCollection; @@ -94,6 +90,8 @@ public RedEnvelope create() { e.printStackTrace(); } catch (ChannelException e) { e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); } return red; @@ -120,6 +118,8 @@ public void retrieve(String id) { e.printStackTrace(); } catch (ChannelException e) { e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); } } @@ -145,6 +145,8 @@ public void all() { e.printStackTrace(); } catch (ChannelException e) { e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); } } diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/RefundExample.java b/example/SimpleExample/src/main/java/com/pingxx/example/RefundExample.java index c255f94..07a3dd7 100644 --- a/example/SimpleExample/src/main/java/com/pingxx/example/RefundExample.java +++ b/example/SimpleExample/src/main/java/com/pingxx/example/RefundExample.java @@ -7,11 +7,7 @@ */ package com.pingxx.example; -import com.pingplusplus.exception.APIConnectionException; -import com.pingplusplus.exception.APIException; -import com.pingplusplus.exception.AuthenticationException; -import com.pingplusplus.exception.ChannelException; -import com.pingplusplus.exception.InvalidRequestException; +import com.pingplusplus.exception.*; import com.pingplusplus.model.Charge; import com.pingplusplus.model.ChargeRefundCollection; import com.pingplusplus.model.Refund; @@ -47,6 +43,8 @@ public class RefundExample { e.printStackTrace(); } catch (ChannelException e) { e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); } } @@ -97,6 +95,8 @@ public Refund refund(Integer amount) { } catch (ChannelException e) { // TODO Auto-generated catch block e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); } return refund; } @@ -126,6 +126,8 @@ public void retrieve(String id) { e.printStackTrace(); } catch (ChannelException e) { e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); } } @@ -155,6 +157,8 @@ public void all() { e.printStackTrace(); } catch (ChannelException e) { e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); } } } diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/TransferExample.java b/example/SimpleExample/src/main/java/com/pingxx/example/TransferExample.java index 3ac6851..bd10de4 100644 --- a/example/SimpleExample/src/main/java/com/pingxx/example/TransferExample.java +++ b/example/SimpleExample/src/main/java/com/pingxx/example/TransferExample.java @@ -7,11 +7,7 @@ */ package com.pingxx.example; -import com.pingplusplus.exception.APIConnectionException; -import com.pingplusplus.exception.APIException; -import com.pingplusplus.exception.AuthenticationException; -import com.pingplusplus.exception.ChannelException; -import com.pingplusplus.exception.InvalidRequestException; +import com.pingplusplus.exception.*; import com.pingplusplus.model.Transfer; import com.pingplusplus.model.TransferCollection; @@ -94,6 +90,8 @@ public Transfer transfer() { e.printStackTrace(); } catch (ChannelException e) { e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); } return transfer; } @@ -120,6 +118,8 @@ public void retrieve(String id) { e.printStackTrace(); } catch (ChannelException e) { e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); } } @@ -146,6 +146,8 @@ public void all() { e.printStackTrace(); } catch (ChannelException e) { e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); } } } diff --git a/libs/pingpp-java-2.1.8.jar b/libs/pingpp-java-2.1.8.jar deleted file mode 100644 index 8fae6e4bf2fbdf5a60c95b49ab45ad665cd52020..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50362 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 diff --git a/libs/pingpp-java-2.1.9.jar b/libs/pingpp-java-2.1.9.jar new file mode 100644 index 0000000000000000000000000000000000000000..6fd8066099dc16e199b91cf9f6d244a205ec484c GIT binary patch literal 51025 zcmb@ubyQzTvo(x_AMWl>a1SoQ-QC^Y-QC??gG+FCcX#(d2=0)VnLIXg=gxE2w?5W7 zoPW9(-J4xiyQ-^?tOV!>C?FsRARu8c1u>xi_<;oa03;=($VVe4Ell?|3IrtkkD(Ai zLhnPTw?C1qzYjNge^B0^e+`x5lNJ*eQc$Fo626uiACr`zp`C%1prM=`pQ@9mpJ&=W zupbvdvZEH2oD@|83I`^oxgB?F$&8RkmXKF)%%bG`MsowRD<$ca03(IM{1Snb;2@8h zc^v_D6@et-`}E1J#kJ*MYXSOwE&s9V_eBE%8Q56S{d2Yda|Gf)M%bEJo7h@9IsEqg z&2a3$8gArjU}WoPW@G&~6Vd-_qLq!Ik>%e^Lj9{r)<%whGX?FhrZ_p8{rk`S`j5GR zXy{OZ00DJ?0s-Ov)g0O10I{Vtu+(#K@RHYZnEi~xJ*L7h85h&IyjcCDRKgF`u)1mo zh_y3K>m5!F>2xHLBE*$sB%!bD8UarN$HjjEej^`hV?araW*W)n_BhY(xIce;xqSuq zMRFz?9u~F(%kXq1-$fkC4CN9L66E7YB$dX4b|u=T=;JS_T8tj8e3C0#uVNs<{<12n z@RYuyw0ho6-$qAXVxAUVo>o~kwV!h$QS=oLLbR*g z2@K*A4zf>IC!_OaBd%E3bFvON7d?Qd47r9HBb6!`3eCiJ$~N#hUR2aGmtii=j3->a zxDS#3lKXh|RwSMc zLIF?MO(@W#-4=eX(|ckFl{ea)2xT}TU1(2AACg}fWAg>-4)X%UX6G)GOIVkvdT+Ap z>KjH+m?!$ZC;NHW=VNGpe6L#`yzz2BnaK1QVU%NrQ3PD-T0)^s;Kb# zy2h?HJXf2~Lu**w3;js|H@uvojr@;g1xN_0V<)5?1IR!7=mLom|3W-)7zhG`CXD)i$vPIJF#W5anZR z6Wc`OE^PIZl_2u8?Uh^?$;hrT%fC{>AHQTAR==&Jfww+j4&q^*WoPN4)AVa13nQ-L zpg7u|GcxJo*hS6FK;5Xf!6S7&33SeFrxzCVq2{{-<@^yxr8Fgnxp(|<-*Ke*uQ>i0 zy_hj`5IzJUn@22Wte~^?mMc_K+wu>BS{Ppu=2x0lQF3DalBs%v@MB}3O8Jm9 z)nu#3{4{P~9Xf%I^VIp#4uFz?Vgl9k^=YI^b_F@xGNU1H#7iPGrP}Lx5{;{`ngNJV zpjHh&gpTSqoR1Vian4kSJd4h2U225372 zc!U9dyYuE`J$`&&5Mc?GY;rg^NJIfhv>B)>l`qZ@@)$F>52Fx66+_jJ z89R2UzZ=ew!G9fyq{WYj|1$#_!9;OUN0y%*aX;(70^=`ZtT|b#{SBgp_lM!{VG=Oa zdpAYPKNCr=N4)Pdf){c^@uK3Is!+R|g#zicMMTOm-=(aqgU)HZaAQWSWkXI;E(G2S z5U=<;Gb&UN_1Wb3TGMz&6K|K!77&2VvRlvtTf^4sZ0#69oqbB5j6eIpj_5}i z9o?T|e};c{!Z5Yc2aOKWg0|vkItbIvn@Ug=ys~zb&XwRdz!*_vDD^}$UKgwl)g7eP zWAb;n9X=d~PJ?O3PJ+O^fn4y5<smND@rUom`bG|F>{uIp9hzVn#>9d7!+=kqTy^Cy_CVrr%P=n;Z{N+bx=P$-tQ*3|Na z8-}6w%VVfB5F{D9L?mHha*AsnTR8E5>ju4$4UHfY2dB=GxqoiE_R-mDlL1mWcA4R) z8?=i={&!Hxk~xQ9CcPP)RMu9{5vx;1Ocw~ei)vimLJB^Dr@NAZBDSJ6?wn`o>KumH zS>~qVf10}XyQ-($Xw$?P;D+Q7Z8kX37V6Q|TU5g3w@NO%u$16hw72`Ifei2|xHESR z_Ej;+U=s=rb;u|OVgSGVsMQ&xib;=Z8$E~U<=Z%6-4Fqqy8x8p0rV%l8ed3S7T<9q ze#eXH@9~n?b2O4PvoiZ1%#7(U=jTHRntE`VF-18$J41@1F8s7y5~NR?jELkiZZX1B=+XlrfCWtC~8VRnIF z_aE~w=2%rHE5f{RxKo=ZHTIBGCuM?;fG zBSX_g9p9h(j{8Ume278u+-i+92x}X9(C4nHS--^ubi>z?4%Y5raeoXKE55^BW7@M5 z4QoW}-8h(pcm1I?^=AEsFE>Q*f$4>C!7k$`TpBo z4UR=$N7SW$Se%I8CM2l?!Dc$MYZB4yc_nDc)JML3uDwP+qmE&t|L~9judhKmugx zz*TJ9%8{g*=t65fX(zn<#}1Dh`ehOY4>w=HI{XEF(nOIO``GcFug@PD#{%jgB=nxD zPQB;eg#SC^1oZ3;f9c^QZcKKz>;o(W4EGiiz<``LJh!%@cL`PpRm*3XwGa9@cB zh5!{=aRY=1>P;iNlmYH{?WU?PXIz^(2z72^dfOQeuUcL9Kp&u;sK~YbD$@SQ79^wU zGkTs=O8;O;1EwGpl;S_&4!~Yk)T0PhLj_xzO|CUKR_fcF9_zGN!DfPrpIl9*_W~f@8rb#u4Yb7$Gb(V2iznNH_ki5Ye+xFPxZ}$y%nCH(xa&mF5+fDRFjpp(sBf@P1iV2dJzHBoI3ufv+W zG*2CXh>$}wz>t?)+U{Ah1y6vQ7k{mdaz{(U(*3+x)&LI8S|ZbblVkkw`T{7Bu74b)nbWI)qT z#CqKy7)s?|N$^+#kD7dGoevdlkKqpU1Ql@UCFYAr%Z(cj*?zY3!-ce?1$CXs;@{z{ zT0r;r(oBE2{?O5}uUV_8NlV#0{dVgTDG8g`Diz?Lwf<8Ge<2ojtL)pnd?g(4O4_2{ z;>&a>f78NhtctxAxmw29VW(U*G@gdS*RVBXsElY|iY>Er)9xws6t^3PP2WjTPF%CA z&OVmiy7T5w0hF9HJJ-1#Nb$|gK7bP$nppnGFG!X8T&W;ZbrjP_y|1<-i*{^V3-QIt>`w55k3cpzVo$Z`&IrU?F-~^m_MCh(R?k*^-vR^= zanKi{2PJkc)Shawof8OeEjSsG3+!ewWggzBDxhqyNJ($_4RPLjubUUhO3YIvQY4>leH&r}6(67g1KlYaKzOHy9A>W+o>0UBK%g7)15Zr9n z96 zbCT@I+Sfapr4e@U)7)Mhmihqy(FbLWh!?cIM?GV3ARwy0_dx&T5C4F3yLn4h~EnUEV&=z`Bqt^iOtlfzLP!dV=)0!uZC$p+t)jY)CkD z(T22vZg4AzG`7@?AC{D~8WdnUP0vsRcnuQ41cp%>OTz&)=mjkTMR~*N`6~NFVz=Uq z$yAt1Ey82z%1xPsDkIVfOyO$MjDbx&iGmZ#up7IoyRO}rv3rO^j6(+YMW$GNqYTZ~ z<>~DO^X;XW0&{{Rd`MkQCCZKiRT(H-87$-OCe5@X=W7D_Bnnz=(8-c{%ll@X<-Q~K zKX?O$mv`Nc+(ZtWgqBazTT4|F$Ky;Z>MTpCM30OJUCLzDLmclW>C3|>YTO4mE?evNr);|~ z{jsWu`L&k6o+`=UcE#c9;bRyDzcqFw7U85}O4U;HB^|A8t{SKwTY||@b5pZwfCLNI zYn)!YzwM*hQ7{v8Cq?hU$X)NdM4-I%3vDupHF@%8=HQQ?m_OkcZYZT=PWU~j)W}GI z3HK7-Fvp}I`o0r%YN zs&NL1Rk=XIVg{E`&6Z8n!SDwDM;k!5kzA;J=f4leyGZ^U8!*+gH!=DL_fD=0_Hh>*4eb$;juNcD{J-sbhP7XS~^&G=x0 zw7Qe*o(kR+-yGHdo#dRLHl$x0=~;ALY?l_vC1F`+7Y_+sbX{Us7wJ6U`E(l?6;E>a zp-IdY0i@Ott%~Py0B%5UOigV}CoZ!~f>h1gGE774Yxu0LNI84hCH@>EZaj%Uq zn3P8iSD4X{oeD|v<2OVkqi>ZhU8!cXhc5ab5FWab5$n#_r6zHsudEZf6dQ+R^@VXv zVHkmS8i{?oJEO&b+XLl`y~5eBzpXG?MpMfN@H9giK7GA2E%pUhqK}|`H93YEm%I-> z-(ShCUb4y{yY4a7FwkAob%lcEbn2t#s957|Bf+<_yEa`XzrM*lKY?Nfi$>$_8@HT+ z7FFam+^5-~if^FWEw>o!Q{}0HV~@v}!O1So%Sa&Ei6e?vZ^WJg#~oo{J;eaCM-ixB ztbwt?6=v_S#l~~l*0#!a>o~rdzu{j|Dt8JvFgv+Y(k~Tp{RsbBk1^nSak^obbz&9< zg-9A#qOpFsh=JTSCB~Z1K&n;tnFLl4NxKrj%F^4=Nl(1n7=83XZ?Hjs5sGwGROst= zbXnE$3?NQoUsxonxsd@YQn<;GCgJe!L}YhZeQ2ghq^bDsqb={Az7zDDP%}19j!-kt#9fPB8nG5qgHAjiI&05Nh)p%Hx6Zs9d^`gl^rltZN(i@RBdJ5wJ(vYfzP{j(Y7qX%5*8HKOiAnNlL^#co_*teva>$ zZ}gY98OI}rFJyiHnW8J$IIRoRncG9eCLFM*7X=vN7Y=A()&!CG^a32A&mQKTz9y-U z9EK-)C0i<zXydX;=6NcQ-&Q9}C^wIOiv|H6-&*?IGp>>eziK^v|aN;Q>MUEqlwJeB-l^_GvcC98cY zGJ#f}EvRYbHB$9-t=MHBUP#!~K&sI$6t)#H+ts^e0_I3Buz-0%JIMo_bk9X z+twe{ftU0`K4c?YQ12UF1o|>jXrf+Z**8;eyHT`DcZ=*_Z~(Iwb}m6b(6;=z1@TTs z$wskNfRllGC_&jI*iOcI|J8W2Y6_wqtAj1oJ(b+60CGOOLjmkkG{_3o{E@X&t~)~B zHNiJ#WJe0b8}97z6gT!_M})ZDjklf)im7yIRs9-BlD(+ai&qkt18DB9&oO;-uV6|@ z4OSf6c`AU8(5n=e353&M{=z8p4azgAeBdmtmNnmn=bILR(<%MV;?lk~F4_7MhbFln zKJ7Mo&j91Y4v2Ty`e>RQ6`fGWSfTV(B*!ak=3B9%m2&Co!IhRt(z$!kjioX4Q70*H z#!7FCjl_<_hZj!!2OQv^RVdzpzB&{k_=MXkVml&G5BK{Q#9%Mavsm0J-97}>GY()c zA@Z&nzCT6bY>+STC3Zw0A7u6~3P4=BUr@Y*PxwzA@&-d>Ho$YzK(67sU!1$xp9oXY zYhH1FVl$BX0CxrI^i=PdHwWwZS;U=iJivBQT4kE8@~HZvd9F z$QNil1QfO+T2tOz@EtGl=a}sXO0p7P(VUUidO`URceLo;ef(pzrx7wf%zlsZzm>%Q z@=WDdo#(w2{vPfBta<-^RDk!}QGv8GfYupcEev4E7;hg(;uHoL!%ol(1JI6M5*393 zliTAr?fvnyLCB<@&_iGrEx+X(_JOz>e9gk;5+i;q6X&rivM6Le3w z1jLzOq`w>ZPj!E}XuqC;cWEE`E^Yp@?)RS?l{YeWvNrtlb}N;Bm-ya`ot6~fM7a+j zP@@t$z5)5<^+ZKPEEIWWL4gk^mMQNFztUxCFsH~{RzLr;j(3!8sn5Q?-uE)TVlFw=fFqQL3uYT}$Phsx6^_U^jesBGp1_}csG>3rS~pvuQ3)C+0_H8S ztb7qG;3LYW!9_8p5TAd(8O&+kc$~b-etMDlRik`V2vd-_T2+~QY1x9L$FR}YrTzIl z{X{`&ocSC5vV60A-BMKUNrd$mSp+2wdUkyr37i=AY+GsvE~Dd-a#F2YbATOQeGMs& zoWf0fW)loiR2wtrkLXa6&O3MpFc?1DeCbSyJm>gmUpN%t2k2l~YI~h#NB{IrkDrf; zQrjESXlfct+!LP}GbSPHRh+frOl@ z9jv7#3`&7x zxOf^~jOMWGC6$^yW>$->z>-yV+=`qtW>VZ1Gsd_&5FanOoIck2${}6ppg4`$P|<3D zZ&v3LFK(rUr2Mtanw*T(fepo)PX8Oy*OdvQNyVr-F%NLmf(lg_sw3v@wL1V?i0|H~ zK2MFn)*8blC7JB?;l>&`Dxu&`G&OOB=*Yz4)Z*OmYfG!nyhdxAh^iV#Rckh=VE5y) z&8$wKiR$pNT*Q+!$4tXecjmT)FWWUH!Jl+_wdvcsPPjkM!oI8h&f#~p4+|7?G<9O!~-b=jh@IXMMesTUVmmu*(w{P$99eI3Ieb1J&q`~1zUTFMfz-v}{m9_E@S#<=M%CaF0G%Kd z7c|goET?Z55Y*Qz)h(bl;2w{+X=s1-5`;xuTfMEC0l!%TdSuEN@j&= z{3cVID84_wR{unMg|K+8VRhuG=9@}!sDRV=uLus zfxN8tG8 zw5Xn4dxZ#Gm>X}3CY}lWA2!b+R&^?_Nr_Jv$hbmJ$WU+gz3?@p+^b(@J}TCQi6`04 zbfqgbG0xe7eEh`a>xG49Sc?yD#^xJ<1+WwCL)6CBXBgilk2b>?NDbaw{<6yitFs&J zAHd0$w?pMwxr6OlzQegbbHVLBeL*Y`!;(S)%UgRZIyYm^7U=~AI0Z_+n4N>Ji|B=g z@@bzG3~b2Eru8WAy^3s~j9I|4fk|&zbebcl4#zgyaYvjk73QQFH?|xrW5e&kv4{*) zjs8?KUh%EpO1MIXxkkItdlXZM_}lYH7MwkKXiC+jQiirvmPU4i+Ew>RYU}A0>|!f@ zSAE6y&eN0C@EC4}Nwh=+J6PXL^lj6wS;i*7Yj*a<9$lpl=q8jkaOE z-+vd8?H3!o3O_o}0P$YE6NU~e2h=m#!?b${UN^AQF2%uU=Z5JGwoK2&w{^Vo63@g= z4ZL`8HzNLaT&R(cVc!TKWt+4PVL%Zwtoub^@D_L zrwNqV6~p}PwL<~Ph1WZ!rw)h-xwxKPUO>o>8>$Mvz@%vB4m3HqxI=iWN6CiRLEpa+ zgzy2>)wiN%S9DX|-cZx9tAzr0u^1soEB54=i_O58XrM?^HL! zA|l%~(*fX#a3UK94W!bL)He0OR4zLBKbBIxG1dmZ^bgYJQV`MkiKs_IO6>;j!iQ zC&(Z56RE(zfFO6l2BpXJb7{`|- zdiuM_;sO0#WP$$QM3#TgFzasztDoP67Wx0aTR|gBBS#~{e;?&|$&J1DRG@IPnqgt@ zQCWR+DA*veL$ob#uCe~W$9K%bA|NW3Fe}(4!H1~%0PLOU`o)TV_PBdp@7ztxn5S!# z7btVP+c(%68rE{`Yk`5vPiF#ph{2Y zZP)$6lv2qYD^g8+2ykHQYI%1u#jawKX22f<&z7cGUF76+ClLUkHJa3hW z4-$4Y0laC*Ur@Q=_IJaYM|osMoT6+rJmb&YZE}w=qiUj~NFTsP=Rh_y8%Ql{yChBB zhpJ`8TY{XUG-(cSm!0gLXopz;NGo-987H!LpatK7rvC3h{~>(;6YK=$sHn>%mfIFY zzW8Q{W+hEkR{vZANBj)J!hIp8+cp%G_fDv7kuaB40C5!DIPPKglF{My=__bA1ssg& zvCDLCBQ+<7v(wqhvWe_&Y)>mDc#L1p2etjJ2(e5d6BzelWLmbK4J^;JBS?70-nAn; zvZ|ZKPFNflQ+?E8 zNL(s14tk7e5w~yXi3%ih^47dXe#kz0%&EylGLL~f$MCyZmZ(ke20TbGn?IeM7~xJP zK21mP<^9NwBS4oDQo1vfFSBr5%TE}ox(D2G6);p77(jZz_Zs-Jnpi<IxeWB!+27QeEGe-QguqlJvV`TGIEFUj<8 zJAQAbvUUdG2?G{y=8>jQgaL@KQaKgRLhG;UMPUZy5;_2_p$Z(B0cR+&$h6VhFS`)eR_K!DQ=Z{s@XL3i+p$ zX+|t#cHzA9;_ATT|QFWEZ*p0p&8$!FaE29bj-ccF*mLH2eWQ>-oT zs0l+n3e-UtEBd4{Y9rUA?YmNNMUzi=r7z*pGN|`)1DgOlp#6s%9IF<;xpGVf@W;F~ z)%KkrMgL1g`@s3L;&$|{7VnfSVwyet}FnV9w)~yitA-8_GZZi2W>utcg zX50rFUkId>&A7j`@!Xg8pQV3a?coq;{rZx++fcJAnE~!pX5RRVWJGZ z40N#_n5achG1W53!3Y#m@mdFWC*iGELoe}85UyE}u%v|_u;}wCD)}^0Ev@;WL#!=$ zUr2XBK{k|WGaTbe(Z+K3jN0?} zK*Tvld&l*qhlIGk?76k)?g_OQ8fbr@%`5Dgp8;vG=$K2Jw4c^k+RqZiz79P$kn2%N2#dUQym-k3+9 zJZHj%-vm^02WRZHQOYUfv^1WA7h7D4OaS__9`=KF%ggroFZ<|aGs8w&K4xPY6j8^> zAZ1x4hXyUsMX6Mmpr)KOc?Q3s?#CiI2&qsosONn-f#QZ$JvJNUmoY$ldW3MHxT(|C z=Nh4%-T=Fb^eleDUY0??7apmK4D#XoHbnkHiB@16rl_!Aw~(Y07k@)a%1v{kvT##h zs3Rc6mlJ*G;#AcTU zRV(3!b9C{5C+$J=lGGiUV?7N;g;#3p9ofgn*I0+Q4~ zKP?*`8YM3?Fw$F?1~V|$uz{j7FxnP>Nq!KJl3$u8nWdi852S^K&1W_XzND{Vvb}h( zj@2+Ql5bD%swbzb?8d9c4-e-`2A0BvcN6FV0}zQ3Kw$y#x^?>>rTs@0N6 zja@Vz8}3395gCGy&UuxKcDeQq><@2D*f`sCnDpAWUd`$1^a7_3QV}C>PWTKGp)VSt zCkBJbKpnAT4RUX*GZ;WZ^HtxKd@n8#W2=%8Qmci=N<;y6g1X$Iy*T559dbgw0gJh^ zb46cBy4WyE%_+cyl9b5h89^coFPPHG-&zcI$7Re)3|lyreqP?e=MxPMqJf=WP{t zza9X)E9kY!A|bhPmT&s@^J(+<@!b>=0r8WF5m9N!#V6a$2q*hj_ws!N|72a~-|R~T ze>l))iQYPwaFyhKc(EA=P5sr;u}wb2FlcRM-sc3$Jd;Q|;tiUo;1w=Xql)_?RI?7j zbU|W#|7mT*7Q>;hMc+uHGQO!yuBpGsS^*gL)2Z!E{@`u6Yvf4VkBACNwB*RlNL0)i zql(etF;}9UTVB#*;U-(dpHR|!k^U_8RL6YP{?>L&VYFagY&(Cvxz2>Pj!KM5#j(zT_s|QeiJx4U1?W(h+c@f) zW0+Tl6?igAQ^`>2j!jD#hC*JhDz!8(=dtkLjek1MZ|@0U=$4E1ehM|dAC;E+Oc zmijn7e<|MLwSg6|l>q~sh=}EF)v;;KUn1a}+jx5W(*cf^e@B=?ayQ zyD^UOW}o#KFVG3Q!@E8f5EYu%;CiAL&OfHX^FmQEyQk+qpU%RHp1EUFL`RDa`|)Ut z9GFq)gSTU9NSAKWjE5R^HcUbvg>BmS9W-?1COgLTyYMbmJn^0588}k(DvZ|md5pT| zFpbncF6%ZwY6OR@^LXa1f;%;hv!8!brs!7A;ivEZ$?e@w{Y`=?ZS!u7ZX{yw4ej=S zEllNp^HuM4e6-*C{oj2S;eR+R!oN_cmSV!jwc)_T0qrvO-c{bfvi1KdKVPpT80RSY z#H|>w870mzFcX;}N)~?a{0D@;yQ|-PmMtSh9aAVhqv`HK@orj5iuyjh6Add=4EVUi zq!=}=G>x$#!smw%#r|rbhUL`S*cd3jd3_)-Sq`O`Nx0g+8PD4Qh|2Z5CtwvjL5B$|T+0?oRK2l0A|%(N+%0x2nGx}hyK zVu8iVwHq?D2|!X+MR=SAn!Uta#>cN2ERT8JQX-!mA!X>v38U43Wk|<&Fc*|u3sgyI zci0cXs6|C}|7WU|A??Kg2`?VuYP4e(6%#t?E1j8!VIyaX~FN0I61U>&J zBCZ8xr?>F#Ib?nFu52yn%wd(C;Izp7rk8s6x(ELr!s~6Uk>MIybPtaQ9G_;7t=A*5 z`U%)La(z38@Tnl3r&7IF2;D2>?y4dx2xlgjkn0sR$d_YVDbya&dPK?VSXH5CV2&69 zIaBbU#cgSLJPtneT4(&cFX6JN9s9`6UdwqODFyRincKv#tshvyG@l{6eB> zZR09pUTA^4{?yWj(6P19`tBP}-b41^9Ps^0S^q59qU6VmRhzO(lOX%Ur^J4+M#-9U0GB_n2%sl0JGqx`ys%h-M~V zRvtpFdQeuBmA4%x@NkK#H13YA3A1zkGPLT~3nm%M+;RCWeUZry#@0=ku@pBISykN7=V?AP>P)-`IqwejMyF$d=A;+AeXbpYOZ6XXVJJBg0yo5BUb%< z)KN;!c;i9o$EPWR)XEsnqwjEx4#^qA(`Lb!E%2qMfF5hFu;uCG+<+tG*d@X#!tGBk za4Gocbi=+D+&GHDTTv^xgOwv%ijuuz^;IHT<6=Wvlk6BHYl!{!;6+EpMZEX zJ#_xByRpA6Jyp`51x>$`;QXBge|b0TSNY=4BzV7#C~xFo<798}k4CQ``5Ec8&j^_k zIM~<<1ZKX;^11cff#S)oWuhphMevGHAaUJo*cG~lo^qatZQ&ov=0m(c^Ok+nK0_v} zRg`e?Sj|ey;@-;X>hcC<>lT3q@T5-HQZ;e6u-jW;m|`uPOh4XZ`w(E1ZD9YHbP%A! zYUO5t%h!v@%ZwBN?5#$~JS>}(9DLScgZH8%N_0MejM1Z@AtQp=uttC`OYP9ba3hLa ze^PAO_|e1>IJ3rw5(@Xp0V{>XxxX613eL+eUCrZ!Iea|r61nhvoTxCJk5T92d6_uL z4;v@4QccWSqQy+JY!vN`$znmZuO&ydt+h`~KV)2t2iT{>6@265ImEOwT}}{8LS(+b z>A_`AZhdnEe_6zxnJ=IZJFq9#Y0jDI%z9>!83gSzGQd>AcA&SS-VTa#TV|n7g#l;U z*LVWY^B_|wAjS)xC*GEmj@CQ%!ELZ|Hvw=9M4>eVy;M-kUyG4^)Kx81fRs=)m?i!G zX_Q*Q5QSOsKB2TsQrb6! z5qktEc0z^kixXS|d!pzs9uPI`=$lPNn;eZFn09(U-+*V^}68vV`Ez4LofqY+S0p-F>PuJc*X5~ht_bpXK zZV0E!LUrj92peW>F5F7SbLJ>7I)vU)QO~sG#5Hh;BYV3PPN5}dhrKU7Kc;k2Rg%bQ zoY09>Qln+?`yTSSSn%VP)~jPu@j?-%QB4j8w(vD$DUVaDet!|JJ%x)h4hAVxnzdM-SVG{uO<%gmdH;j zntGX-Wnm`IJI5xGWh4h(0A5QoX1EnN!JmOh@}S9IU1X|#%gars;;UnBY$tl`h0Lh96m6~XzwejoE>6RM zn%n<=nN-(6*Tird#Eg1)T!L+*ntmjB9$b^rWfht&$kM&Ng?IQwoGl>fV7$Qv07Svwn9 z+SnSAF#M8?9q*Fyy(`>187*2Ho}6G8I@iy?1C8spfRvAO9iwF}+- zYzc1s`U0PaJ+Qv~@+S=>m>8T4)jO|unm=H3+n&ext zp9Yz=!H6K*7(iKa-*%{53)BJ-4uiaweU*t~#u8M^U)DUcgJyxN*05zVQ`a*qp|5}N8%({9? zKAobXQL4F6`?GP(Gk7Khol@-I1T%SFwNBbmI$E(HO11N+xRO$IyqAiJ4$CE4^&f+Hg zS&U72OvDeqHz29Le+c7m&d2_PNWW;*paSlKqk{S-Y$QSz<=zvfaMs^r!ETHju=jyN zTygQrpE^v7eeeUq-p0{w>Pp(gWJQet9b|_KM900Vm?5$N1TOzaNB$oNthUWA&YR|A zbtKQ-*>(2~&tCVP&!b+~7e08d2;F!uZMbc=E+`oncxXS2E_u*?m|Oy*;Tv8OqTw4~ zBBJ3NT{58In_NPo2Q8JH>vIAHfeTN9y)U3 znvSNjWsPv4?(E);kmCxav-_S$-WgeK`@Ni_vv}|HduUQaSI=&S<(>vdXC*LJWZ_=u zZlRTX_60Muni{MZ)5mdAChH7o+U&cCqf$`YlRxc95)quJi2CMkL=N0VS>h3 z$Zm0A`UG8Sh>5B5fMY#6)vam&p}{yln$A976h+vLjmC3}OlOs`NMDXEO#v%^ze%a) zgMm{uigd$4Nk&mmbj1auPWivR%C9^t4u^$`uW#_cV2ErRnM@ zJ98-!=BfrK$129wU^YXvvG#-U;?2nCAD)!8HMWL!JV}{as+rPL6XqD{Bh8PllTHqe zp+{UxVKNEZw$bX*2QhMN2AtMKW|Dxsn8UyvxIHd}wLJCxlBP0742yZ)M!bBr5?GIz zrRfE6buslPirp7I>ro=(6Fm5sqr+dFpZ>J=3uIeM~2fz#Y&@Qzp3dB zDpjVliIF;YMGP00-CL!oEX{~vJ(u6ve^FUGB+Y=90ilbk0G~-RVSp&K6m+$E09vxH z9z~3H-Ep1RgbGWxb0vV%-#Sta>!6o8+1grY3XVmRTN!v%byxWSe#Y`n4F>nfJ1tlZDCCl z-N*rJG}b*d&^>Crn2#9CW4rEX$XpyF`uNuLH8~b@)OR%)Mwfz-7;L_Uei_Z|14KRg z05M!%<_iO^{GGB}T$T&um-+6g3kT4y?)R@Ogz1D5vCNGDQfz}5Ka?8$+4 z>0N4YmF>9zykmGV9*Exx_oe`E{#{rP*l*G&HlL0atWU^Ia;;7|zeX9q!oSRQmtW9< zg7ZOoNq~+bdV6~Eq#7ft6*aKyqZcmk@a4Aek>ICSi)MRXvHw8Xjl6FytfFw-)P(EIDqFu zVdk>fpmBIK3ytN>ikI~%?BT-jfyRscQ^8L9HxDvb{TOl`E%(~-JUt5MJit;1@{(g- zd|JjAWabUHvAmGx1Vq2*XRHkst<7-ATluT>FA`h4pJcdsoXndU8wDOUVPn=rFFsSK z*Q5VHs3Tn~MmP0YyprUQ27hVKx?nUWBv@6S`nrYW?7TQWcie8F@iMu}#pJ>kr=E!; z^AQdHBRU*4UV4^z;cS9Ksi1n_0&Fz1Y%C|}3yyhVcBmCl$EIS_68v>J6RtEbTgR*> zNylfpH#69%#G@XB*P<6eF8n>eLCDM)vktTW$J$#3#}O^rqLu{~V+&f$%*>L-%*@Qp zEQ>8>vY45fnVFf%VztHSrxR!9y_pj;b0=QhpWV?B_0e6GdspVlwN~C?icbIWQPkm7 zMLy7M5L87NJM$GL2=Lh&))bD(93E@zI;< z*E!O?7V5nzR6h*_`;?m!>ODGCKM@4`_?wbFcF0cE{+t-|(%mZ54;eCE;=M>K50U;H zNM*1UvNuX*>Q?$aO|nke{t)bK^1YFyo6_Ku#m|L6U94NTpU(AggX}FBb(?5!Ms0wH zbW=gtEBQ@(V71)gZ@9#uXp}e?KG&O;@0EjqT@r%!vBwh z{To>=it*P!nrh;Vl+27^@87;g2|_o*O4Nh>#~fM#@-IH<*s_yVRXiFsk8K8iMVwRXn0d;)L6mEl?^(;(F?wc=;mB;8{J}_U zN$(su)Fr!CW4xB)ulC)XyCFBX0z;7FR7 z(y19Fd;i>Ff5WKWP-gVXYcbR06ua@OYf&g?2x78CcY``?qLq>7y|~~ z?g71&k1fGoWg|BC$*jvIxx`R=P*!LpmNKX-l;EZy^jod|K#+&TzyN3N9^nk4V=a)} zl3ZBkfeF}G8u(7fZ?iBXH+g&_GgHt%aBO7_E1k{_d>Qx4Qi9>8;D4 zJ;ZhEwRHCe{ab@azTr93cta&kOgwDenD|$LEo)h!NeAv6|E8FCjF4${??nW5f(*Wk&AUCm zdz^rnMYcYPXtbzBo<2_8aiq{U;XQ7=m~@9ivA{rai{*d;kywZ~qW!t#?{`>LP!=i{ z7x>Qz<5OS6WCQCkKn%ZEp@(AkMJVMGju5epNeX)Mg?kASCwM}9a4F`1qspxHI(R@; zyS$3yU4XCe&ppS?VIXfn11BcABmWoq;9Vk@xv0!HnY}F`8&=4B_U3m;R~nu~6AJYi z5N>-At~lk$(++2x%;1OMjFCC)x~y=j2rdCo2{=O)Gqt%1CNWlO=23v%>hQG%LZmMQ$MpMz4T{kzaLO?|GNJ!jRFeMpFA-%~W#Lbk#ebft$*R|%U3g?)_4UxCAG1ntA+Qlj z5y*mork{eMmCgN)y8O&qp>{aa z0eZJMDb5N867AP9t*0!MWE88|V!piQ%ZLwLu9 zEs9i~Cfo^q8Bj(n?8v2L`mIYE+O8@M6k)m-<|@2O&H+P_N`5c! z?j-?9nB}8~)0ogs(Gm}G8* z7HzmoUTZF~_uO>nZVPDo?`aOrdKHTh0l)3fgT~H3tHkU;1jr272-s|@Rizu90W5ke ztiiZYxPEwJ5n*f~LV;1nP+Xub0s|;w&+FRUlCmIwkIfB>yj=?K>Kvz|h&pwlc2Tvz zNWr(@l)!1EMMl`>FZ(Qxic_Fs<)25{t7oEFqZ*3Kl!)qs*~(1cSr>bmQm1BdQ_w7- z9ghm%NxdCzmRfTgADKGZPJ+s12t z9t%Mu<^(5ZY)5SZo@P%IeiTk|0O%N(ES8a$m;9=azU6Z%vCv}EWwZ#Vo8OPRt}XnAtd48Tjj*TRSnCNJ@1 zyBQuxLF&V;wIKmeT0KM+9T9~h9M zu;Jp|SCc-->q2V~{~>gZQYbP9c>X#y5_u2$7n7$Jsw6pv&usw@^*?V5S6f>{C(nOw z3)jT+e>fP0%pC6z#$-e;+=OU>X@p^pv9K2Fu{XJ z_&>sgE=W5_?NTJTMtFF3Ow3lE-%m~$zVLV$8p0sSta?cN`FY4RhL%wBd6hTmjKqT^ zBCLm=U|8RckASD|UYfeE`u)bj(ofuP(yVQLvN@x-Dq(oFdj=kwBFy3De?4jOQM4aSZwB zQwP~v_M-)+Zma^gopIy*?!^YOeO*^8IV(g@JB*x(QjQt&S!7eiLyHfWi8qzrYU6h#r+E?I42IMpv4LUOG3qhwF>Y*l96vyN zU2CETUx@A6ka2t zpWIFE>${J@h%NgYvaTG)y#Mx+z(D^yL1^Tv#_C7tBxaj0OzKfHNx4}t&gJFxD5Z~b zq&d2uXskJUchQhDY)|>f=Tba$3)@pY^10*y~?m>p^%?|LMhID9csyyNG*-^h$W3&Le3r6Tdb{6)@LUvXTil}0G{_{D!^lF(h`H2oUeVP{$ z|M%yxioLa|-9N)ETGiTlLj{@7$!5ZBah_MlB4fU=anaFYD^wgTYmk$ zKBPu1J)FRIQSOuR0A%=v8)NO@jpFl5=3D#e;u%WHu z)e#^j_A%%NQqVPsH&n1qoF}yd8qV*0KN#vVmCI+@L9RUq>O${FmZQURK`5EGp`Q%d z;?VT|Gq4aWRAo986{amQVh+%9+?IA5wufpFqfsAT>kKN z3Y-WAAWhV=XsI-TJSUw&O@Cb1y4){yX>vvb*yr82jz5k|A81{8jeS@;;fKXZ_*Fev zRw&aOuEdN|;p!CRVkVa2+&z8UA3(NF&tg&P#bR*~hza=Jst84;V(-0fQaolYyli?4 z-o&lLZI?N8a|kvw_pUxA2i|xBzZqS5mksBpI4)BDL68l<&OzNt^Wik68F*CM=H&^I zkw?~sryOiQV;a6ipfw)q<;8%ftsgtc55NQ^1W4P^-`>I6)9#fAq&muu@3ENw3EoL_|&~wA|XbgtXrOsb@GmEqwqLmVc6B zUu)_8&fo;FNVXy)8`Y~ks-@i>m}jdzrm>vppfoKr3NNGb>_>9X?>Md9M(}6er!_-5 zQL@~{A#7uRU2c}ODHg$dp^x18?k%X>+qcXuI=KI78a(^++Mr?FqqpGT{PrF)Z+bMM ze2u`y3J*ZQCUDSNiSlA+4=Jtst^L;`BZkMi!_S~S1$v=JAicXhhdiZLs3*$#&N@Rh zkSAOW#;$l)Ss)}^i~25=*q=+Q2X(KsOGqA1j2|f)C-K7d*Hrw>&?~~5_zwGK z+Uf^hxPHN9h6mevHpLRevy0;;5-I6>N&-L0DI}Y(*u1);%4}jncj$`BU18zQFdify z*(uqk>YQ?dpS+~J^h^7%?3BBevx%r)e;)raV`34UHBu2C=1`^;rW{!~?*f2{bP3YCz4r8d5_MJbzC9eo1 zfdLM|J_PQcSJg) zhd+zl0M!3cQ>o%)Xyev;MT$-I2pmi#%_au1hMP<9O7C-_&LnyS3`Uab5rde+)g?Nm z_SsNt5~9ZWWlQJVdhuCzFczkpf2 zZlVn;BY$?+S)$`XZ7eNPddDvA8Z7`ge`k|5GnlBqo#eM5D#56#KV9ya`bAH}h=WqZ z%r~O5(!0u36?M+kq>MUfTYO5Eg|d-t9%FV+rrsh0gF2$RMY&-!P9-sWI?t{WT^#cZ zt2R1okZ9AGOmA%|`YuVUU!#uLd8zYk-^53bA+41F$M~v}0~gMmgO^zj2wafe!W)Sy zghDdjX3=|Chn<`<67p6K$~U%hre5$ZyP@?AC*i-$G1)9@GR4iQ!L1z7hQXbBJiX z!L%FPKUe70l^)Ejkj>^4lX*z)t;}xtHwl*=tt6P0XVJrIxg(w5Ds)uq$`zRE(zg-` zjKTc98p+biK+P`Oc9OEGD%st%xm>4_(`^AafBaVM7pA;(J^1X~Cv@t94b^_?gMC)C z0TVkkYgex%w#AFqC*)MVFs3p<+oP~gEvuc9qcPXwh$+c{v~e@j z41Ix&l@4ec_OakH63yCEr6QV0!FFsq8^1>ako~cSj+sCVI*bXd-YM zfZPVscT(Z_QRuC!6ub1q-y$d4pOIR&^075)j4^%GfD?>q?vZn2b$?GazJ3R+BCJq3 zKqi83E9_cxlJu>cVifms+*Ezt>3f8I`(h4wLh(y5a2VQ%Hy|{zX6E2yO3X5iQEg_U z&W(dP7>duP?0|bxIQ=EHWi`hdR)3se_4`@VEq@Z184s2}$!l2?Q|H6iHI_5-a(|b*L-2=f zxwfR`$*V#j`{ABl-~RFbXH8u@Uo<2ls!n7T^o5W;Y8NGC%}Bi6BI;Rl-p+UK^K@xO zSmV4?eWE{+0>0o;uM3iQSl{vRus;xpaeEYhwmA62V%hIK1tZ%ZJ?SxRkAvVZ&~|Nc zbAsQAJEIT2?UIAxA9-NdVeBc!><~xMJM&V+&^!A`wLW5vAVoalA3U*6Lf>$X*oSDM z;GaBYGI|9b-0uH|i6KDUzr+=w9p2#b!@)(_g&naE;}L1?2l0e>d>gq&J;1~5(QbW` zi`gO3^Pw1tg$2>a?9dE%a8|>DRB;8!ht(Z*(Dt`*XCgs%F)T#chfj`7*@qrr7!V#v zBd!{NJwDtXB#;F3b=7XN`b6&@aeH|1)?GHjYC7^aIH}qFH3Y$mlj=v@yL-XEo~VG~8@t;Co}FOfu; z@m`n%GfV6|ZuOF)tLN7-!us{Q0)1;XWhCWHS6 z?dQM02>!3ZyZ<}wXDEQ|7`>$E|C;u5i8%+i?-R?``b>lW2P*+}QzHv|du!)^X2Bs! zx}W?A0N+XqqOKZ0#4{=+L|)Y|Sr1U&VDJ|rY!U?08(zAD`qr$q3%S>hA7NHLjQpXIJB)}o9SJTnTg&flQa4|-QcVJ)=2nfd`V0v{hi+eAdw(BqtF9X z15SeH-3m!wQxr;7l*%TrIQ8#<@*5|JCVB1ktx}AxQ&sp8T5ON{R1(nNTz{WkvFRbW*ULoud?zz`j`$^ zfg3s>gqo#bWMhvn1mhmXI)FAJQkIjtr6Cc07muP-|fTH zBM1n$>zj*a0S6f3(R(3Vulp3+wRB?5n11!*ezgKhmX$4dql0?q&2A>R#qkuEc+XtP zj`JyFjJS*@Zrbq2H1f{@Ih|&s?7yyoQTGmnK&dVf4+6<%hKHoWuUO-DyJd{U@FlRg zEnF$Is~U9y`V~qZUh#>_cwbz{p-enw{cSYE(iU2W;tFxUeOJ@StP%`RG zF6~y~5FT?l|H&^<73dJmTI$3xrjrWkg}*QGBp3`!bqfb?Zu(75^vYafZo`C%xc@GQ zIlI3)Suvc(w`}qc6inzJ8nWJi=MDSj4+FR4Vw3*hTs3dFpEkZ$>zB=K0xV-RipqKN zNzy0{BYe_-)6@gNGDZw2dLjklpYzlophM@Lp$?|7ZiCxkociA&WQF*LuNfKfl@1k# zn41K`xTkJd{>;>cBK%pT80YwQ3qHcS{ujrDQCJ^gGC{YHPnZHy7Cq6$ysoqT2I)W7 z#nK;EW`92eBI`3C{!6vkzXpV;lau|w*^GSB?X4FSu=rZ+C5_vwx0YY*HjghRtS)@6 zMP}=eg2D&F^LMV+I}*~#i6leb(R(6x&`H6+y=?7}?mH*K*Wp zd>;MyUV(Y-zP&q+3&+#5n+U!Wz-kss5)=p@376_?MCd>GkIz5zZf2b-Z%~Ar=X@kD z#3sx0GBkk4I8zIH8tVw2e=n7kLz-Gn`3xdClqqj zG#>irl5zm;KXCk=@N4LrK!tC!JK@Woeo2uCW#JKF&YK5N+J$3l8Bj6!3@-?G%Ugv}>)cgEk1lXH0!bHW>6JeQOz zOFY+M(oVYrOw2X0aa(3p45Pjx;zGf1-n31z ziiA>SER z#ea?zNQ||^F_wMrd{8L7ukW)KjoZy5q{Q#^&^l03+P51ke%FN!-0dUSjYXy4^8gu` zqwKn!aUauC7`wo-s_7=d6~N&rk7mFos7odQm_wLOs*uT)-*|^Db*^ zCR+uYE!1jX@ppkGt8t4`?5AE7wD#99i07H_!6tdjQYqt;NB09lCv1DISO`SF z(La!cZ+?lUd%k&Se}r>kGol)M{DHa-fk~imuDhjqhxM|X$8}q~u9phyGN8+;i~WuB zpKt6Dsg*O}^QJO>>R?#^H#hd*rZvc#x>(r%n-h1I^0ocE0)Q_TLo3(D<{<3T|FE>z z1#kKpvYxSJIL?5OMqB93$P`_(o!PRZXQFNp7;TpGUJ&(|?DxYY+_2`9kL%L&G27ky z_2fEs=ZoIHD}XqA@CGnLdPtgNB#}Qk&>mHU)#Wpd&R|l=Wj8wNpkivmWhYh22yNel zD7@eMwx1sJI_)BW6bnoWwaqBtn{dEgFkH2H2rW5V>%Gd+%pR~`V%K$T+2Ul(%Hudo z4@rkmg{s?{r*bsWx3XyxE#9}CJU zx(_$(S>Q}QhK-$C$okV!XE+Ppn<^R1AdLCWcscQA@!+8 z294$4MW!(pGo3{k58m5(L*$vb1!vIXUU==?Sy<{Rh|_*jJMb2n9`YXfw30l0VbG zh^cVP;E#=(n5CtEQPi$#TBdJqZfer7UZSs~NBUx-4$EY4O&I}QY*t-)|ca$6?$H$8YH!uyDx^m(YjV`^lc?W z1K6zI*Je!%2Sazaz#7y; zmxXk+e~82GfoJ-g1>Z*VUTks7cvofC1o&W!aN^F-Qs?;UJ4?I`N8C)uW)Kl5l){)2Xifj0w$u! z%h}tQ2j#rF{Dh@DG4Lm83q*eqd7yEYzw)>KsAdC~+-e5wOSlYI-*AgUJ3REp?Ivyj z4A}}HKt;ta??`q|Z(SA3 z_ZTri?&eU^Q4qlkq*x<}y|RtIfC(1vk~QN6t^;A`+kl1%oNi(V-~ok;ah4cr=aVMv zQd{Q1^BE${1A%5NHsn(mx5XQs;pFwR3WKPkv_<|vTApvtwY2qO4EU@E!p2Th&`dRY z0#YCcnQC+LL0O*aLXvZex?v@_NQ6W2N+zYPtUW}iEVW(I@;dks)uJ0@{aHmb4qj$u#b zjVsUh`XK%mDzUmW&wI}GdCbzzfHuqvb)WC(u9;Gzi>OGhKB9ymhnyl1L97wpAJ&v+ zg&yOa25^x|5W(K+?yrAFK|L{Z!15W0neDA9DN(YaUmt>n95$$kZt$OOUTlqOcJYo{ z*DO@DiA)YU%7e_~vH-_w;^_j~-~`xl3d-bM+CbvvGXo7MH9Wl_vR;IXGqe!W$OE+i3e7l+X_7D@_ zq60~_LCAIu;gLQZ2PI7Fp%B0}COIlM_b#a^PNOT4YbI;BXemijiLH?{DHB$t=z(N| zdMG(D|3nRa1|dHSpQbsFiMF3+#yE#KC&3MA0lu;rk9<@Y6xXOn;5QC;{X<e2QS&B4Je;6>ANgH3)pYhKQ;tG2g(!VCV(j1n&xNV@2?;1UJEpBauw44Fnb3u140 z@OSZ1%b=8bkd%;91i2Lnv*~`fb@dFL2{qGGmfX z5tMV+x$%AKEkkAI=HBe1l9zZ4{g-Zi`-C`9b*eUm8-I zxGZc>%m}-<*9auMUch0n!!x||J1mNJc2W=uhZ|Z102hz&X#o=b4J&sL;PDcyl3xOo zc*4R;QBLpgpc25KX!kU0t;ZtoA|}SNDwjg2+?0$_!hH+_|DJK;NV{aln3{Z?Yqh)1 zQT(RfwX(CcKDC<@?b!|PaZb#+Lgm)y)}U$+TRobD88k8!i*9ow+W`cor0ez?s5hWa zkIu!)cVz)vp7=AKPir|UqOcowlO$&EM_7Cz}*d$ zK~seGR=v)kOT!RiyV)V0q3CuGOh>enT}|%nsUaQu;{#1-XAbdwGsbmH7+ulv*6xmu zM3q<)dQV=pvJ4IQYmDo;I*hUTZD~3Xzaz_0u6bMxqulk%&^L|W3(RB7#k9`c*-N)~ zh|D>>CSH~wjNr6!*%2Y(QUpXtr|=m85No16z|A9IzE0mhM^-jFSEy)Sri|k#+V6r_ z=c*D{3P;8y0}Ley?3=;WaFoB+&_5{V2=L$^*O99ZFenN&LjuVqV;j?h#X~2$C)6p* zwp(gafCjS5XZsj2bv5Bg+1#v74nzy}Q&f>iNG>8|TOE@`!;bQ$D;HJwDwXz^zaJ#K z;)09S;r~>vHmnLYu_MFT7WTpMR#ruFeP;RH7hW4xCx`;N$rAC zT|i937G_#C46q?nm65^p4-KcA^!(Faj^BiwLt5JFOm(fpO7bUmcFS}&)|T3f@;Ziu zQE%1sG4#DP53%iCrNwU#Z>?!uK`^w6gIVoQh0w|lvhZSOCKk|SVYKeEHp2~dxeYK| z9fMo#t>QirPPOD^=NIEf7sFJju68zm7|5#NE)DsJ@XAyNOI$&~xxAkx|pv0aLlOZm+UH&o(7Huj*QRLZ|0HSmkcm3mcXUkRJ%u;|<^nh-tuU@xZmBRUy4W^s z5?WwT5Y_A21&CsZCUYQkFi#FnUj=3L(ln*(!ALS$U?#6P$#8f)MNRd7oIdMVpxH8I z?9w}*7!(&a@E?uTB1=51u!X*8QAypW zpTa4rbrN0Ao0Gri1!$}`>XnzMANr0^Nr`RbdrxsfQYv@H4fcbjh&WFtGFTSoq$9)p zx=)NgfxOON6HJ?>sz`f!Qt+gLjD*>g*B^V@Y9_+4O8VJWsV*I?>ZwQAd<2$-l)hyD zV8}v}>E-v4lj7UafM4+h_uAcTp~7uPb{Ifp3v4+!m!l#c$z0NPl`@W zeC4vf#vqV)+y;d_XyOuNLpwh5-WhuoEPTwZopKH4BYk{f!irV&Q(H(v#EHHJU6Y~j zKtG^_oH=%CD-VoioYz^Uk$E)%LO=q_i{*eDVV19xO3>3HFjaSaLM5@L+Ak49rfSsh ztuXH;Gb2W)Ae4ETlf>L}UCJ_62y+(ESzpQTH&Ky`hzZ4t$?&1bp)^<7Vr>s85Y_#Z ze7LawX>$7^oSZDlVlNWKf2uBlH{X4_kbIOgB_=D)O-7V;5w}Sv`o25k+|8`$6nGMM zMyG@wmN0qjWABrE@hj7Nj0B}>I>I(Os*wdNMrs2-Bfi_D$3(9}#aIbiXvABL!24o? z`XDZ&b5@_R|5dboeJmcD+pMD8 zbEu5?IwlrPag-}JxJ_k9urZ~LDL&%9Uybc*6>Y6;^z*$!!!5Wab7VfKyInA*yxl&GgN)vgr>imwZ4JlqrxbpGVC^CcO9v zNRANg$S}EQ;k2rjl9VNGs&m*1A34pX67PTf_li>5M(rvqdeC2yP(smuG(ouHodAjw zA$zmraLv|Npb=l`g63M|D$)C>@%k6q4_7llJ^#BIBgo2goRZm*OC05+eh@rKI(CHO zT;e#|nsJ#1g+gHF91op&8mJ~_US`crJY}#kn#v>_u4#n{eU&dwM-#kJ{n77>KO2p1 zUi<1&=d87P0jF3DJfXM_-4>J?&dU6Yg2LhcXQ?qp{ZQ6X-Zjt|zw^@)_Y0Wa6H+Gx zG{eNU%~{Xa8YORx=q@OVQlBg@|H71lAl;Aga==dj01I&- z{j0imQ(mFq77~5IjbKyW+GRfY(l-kxWggyin$NP){PD~_Ju-fPw40xi+-Gi46~Yh zO}KDZdO?gIPCqE7tr<`D{~FlkH_H?C`DLiQ|Fu)(J33t1W$s$~0}-~x8`Z+FHUCm) zXX}}z!+rp@@dNZE&{!M{S;!Ka#loB^WtC?FhA)(Jf|DjlPm|p%p|-Az+CQWIVINgN zuqZuM+|X{ukTZkSIfm&K+5^_Wx`}Bf%^ozW(fgy)uwR}F`Us~YI%JqQBgD92X?Qxj;cOqXHUOu)cG^YW2oPKX87n7^USOYqj|7Eu}k*>fhn(B_2Jq=f+#Nsad3w4tz zyi>7cQy0xvLiD!owwH|2~uvD_BmD zx#@)#vPXVy#FL|BSc@5iR~qJU5!LFkThwWNB*r#5Q-=4;RH|(I^Tp)x$QS@nUQ@Ym zi>D_JOaF+iJ}XyKx8)IO3*C?oyU&4#Y%n{LH)?(1u&^&HF)#Uj_QZv!B6^MLw`{Y&38o#st~euVm#eVQDKNZ)**hnQAAH*h-Qx_Bszx^hiXKtU;;XK(!XJXh;;3B3RAQ zIJiL#0D&#tX^d5bGISr_rN^Mt0%S5$W2)7xKo4y;$U)ULlrVQyqhwKnZZSr-a(hB^ zZ4;gma7#>GHZe2rXi;)KwM6nns+Q6}T%8HD7+aWxbp-kB5GkvPaX0bOQ%;=a+D)F# z5!&nvuv_#bmLcdZL9}bSlzk1|4h=!>4HS6%&nitDqVt?zgT99D0r@{s&DPA=^#kXk zShdY+z=du#1}y_E4XyHZfL4pq#RPY5r2|ALsfW6zA#8O$pC6Iu+etYWRH6K;rOp($ z_(xOrKus0IFdM0W+GZ_CjedK0s42bfyp*u79d9&m{n7`!SS``Nb)8)30qbnzGJxZ1 z8Wx58_scn>tW{rSVl4`+X`*)_f>J;Q3yI*`{JMJX6X_&4-A+3;wqa{c|9ooR6PpEN zsT7T`TlOy5Qt1%4b{@t&ZfuA6-V6RXD&hc76pqr(G+=X8OzOV+Y|~*T#t(+RY2e-N z4`iYGjrtuIV!v$T$5zv$Vo!3*C|)KZn9A(6&P!EUH7KUn+b70QgDm6v$gIkyJ2nH( zh=l!!8vviAf%*ry zL(*#BJwte7!3~Y3c77Mc9h$;-JBb2;1^qD5i)2{+Fz3S66vscmRc+9EIieaF zn!t<+_avYG;(etkf=FXxMlmICjh%bai*ksF_&Qo-k6xW0fw@Q@VIJ|fwZ2~kES3hQd0tG8C=WT zjX>KaOzA>&PRCT6*An`;Ky=E_xy@LiD|W6Z?qkGzBZZIc z?YeX(1t%7Hr@QM=&4vqx=^g5Iho4t1&ftAGvBD2{EwnrVw(27)oPeG2rt!T#8&A69 z8%)Rc3!f%`i!o&_#L}VI<%K+#mcE}SmQ0qznjvi`l@*ydb778^Pe=x;U?xkop|lGl#xX%E zw~2F2(sIUbsvIM>(rkF45CQH8(I7-3G2s= z;KvRtP%_P6a*|qb!|Uot#={WRUsHCAv-W&R`4+?7lbR(E)lX1%OL3;)#`w+hc8B0hVHT%U~i z|I&BtA03~6jujFybvAXf{G0^u_3w?^E;a4X(Y}BW#JEXD8SU{Qc7r?xTX4XF7ZrP+ z1+*nx@edfxjdI6P-1)r3bk6iIRrhM|Nc8@K_f0R1u47vCIX*Y~PaH05NBqLDR6s#} zlX&Op%!bF7p01f~@8ic3fxlmOReh>!w;S+|D(^v<8$JKTgo15P(7yhno1K@f!0JdPMo;;)wF{*y5@EJwudt~X6l!V~@hvs!PEA^qby&sQTshebL7(XfH9Hf_=C(Hxp9*w7sdd!hyVPU4LR zh1JQr@ed1gzBq1z7f8*>#i3}jE_LsRMU=25Z z_(Eq<#Kp3oN44EgOoumxuZ6!CyH1U76t5sYy3?VfJv0#SAif%O`27Q>%2ATn?t9xa zge_iq7zqkD*V$fL*uym_`U~e3_~f!0h>;{2QRoTLn5}Y$@kL)D@oUq9c$bRyb7On< zx8LPpPwo8U?7bN6maicMj{O5;aw5&M!ZTg?dUp=g_{1l#&_9udNwR)FI=ragjgT3= zLxZCbbKTGp$A3cd;otu{Fw%<`{=C?e5%Ibh@kkox5B?aog{hhSt3S&A9!?`aG@>fg z4+(>LnurAO4_#SLbfKuR-+^hjs0lIi^f-Jg4NJv;ZD}Tv?%}Z53YPv?^J}m8re9{C zER^4$gb9KFjx6!dL+xKji2cVy?%!!|SxQ|};NL$dn1^SFmx#Sx187m{)NDoQS2L-S zR!a*75Sf~7)QIR>>!y<{E$*PT{&QK%+@B!OFI{^K@XEOqiTgJFv)2b`$gGWS(e##c{Gat*2~k8BNxtFws@{x z$_|z5PHG~>sT<@R%70+>ye7bHf|6$aE2cT7L2m5PhND;Mr)gzyTCd5^FBOwxX%jYA zu!4lV?4k7<6w~o&t55D|0q;yaurlsF-CvQK2s*QBEv?QHL30$w+)Sq}MEUxW-7ln` z8>`szE&SzwMQ^Vcn2(0Ex}shA`%v`@O4Xc;Z-27&0$!QLCn#&bBv)Nh{H!tu;K%n6 zQ`^9$iH&v#11F7$W)9l-DZ&3mF}p+Efo7hTa>jT>zyV<=LJ_6pUBVtE=?Ulxfi6ebqNJhAxP>gOUY#REso{Syy7>_Wd6 zn(E+B%1m!{-)1Fxr}(^ooU;6|rnLHL{No@nlpWq>pP0TZJx@ewfH0IZlx>hP{}aV0 zuXfNmYAw!#1DDcSaRBF7x=0BnX`ONmGfpBI`U2&<>{ysu7ji9~L&R;yrN%ftYe$+2 zBnGz70uhsn82F@Dm#wwBn4HL3tkiT`jHDa(J7T!RiLEEfT>@RM+B~Rav^mii63?4y zA&=+9WQ(<_WiOEs{5{yI{za@$g`(Ik_%VY!v@K-Y{rcP+_uv>lSO zvJ9;@B9vk{7PXb+Z6f<-Yq|FSbaoa{RW;qi2ayJmPC**!6bV7PyHns&m+nTSE+Hk| z9g+glDGf@u64HVoAxJ3bcX)h!(fbE|);F%p#kDxUy=PCHIdk^xtwF7&@?M~aK;+El z_$-F%`vH%A6j_>B@ltT+_Q+hH=}X(=JnqAU1h(`^`)kM$70)EHsKgQ-7cCDGSLd+h z^oXyC!)zgFJ+Tpt`Gn#rTRiO3J#TF!5XHsz-Hk(pg+bBePst z%-=@4xC^QForz7=NE73f>OP{@(R?k7^TLwhg$##fBz}Hnpb^c(UOd7tz$v{DKV_!v z*O~C2jUCsxEooC&8%G1{a;OzTA3Gcej1VOQ??oF?!rlh27Jm+S9}-^PQNkWZIPm7o z%wDz_p^JfCQSFu8sN}Xr8(M|)Q0ZXcUh-Kj^KfM)kKR!%()A8Z$|K9 zIw+Mx4^bMK_czgc!Y1ZQW{@W8f?dRq_sc#I^n~FhuCRL)CiE2glI49D24=J3V`!y@DLgsccSzaDelIpLWY40E4INw{0+qAE|b5RP@iY{(A-ocM@` zm2ZXgD*DM|c=@J>+GIUZy^-(cN1KgKBE5SUxo(q5+s2K2k7TLguE-NJ$?lgeAmxli&5I7I4|Les0@2JyocO#a-{a(rhRxft;qI1cvkxI+Gej+(u zMSXpS>s~|(ZxHqpm9@%ktCflp8w?O*O>i!D2c?h@bxz4$P%alUjPGR{Z1Ihe+l>w;6ofrpc;`Abv>}jNi=Q}o*^Sze>Y1)Bcq6y02M?)C zS@1e!u76P$)Q2Q+Gzqs+vzjz1ztjj>oM7L+xyyy3|77Zp+kJV2U4&EvHxSI`9v-9? z<+uhWf7b=VhwFp{yQ6rsThH$-O}H;0BeqFqw<*Q&ZRF8HGun>I?jx_qi~dGKK>>th z@oXJ-(%oQ4qls6*Vh;N#+6(q=!^9Z-=V2V|0yN74ghw1+sf#7oTisXaB6%CDa|6EU zNmSc2MLR5c1R%{-@sdOmCdX9P1r$qbcve0uBdq8x2X%#Ox?<)%oU&?cOb|WxSQ4Mz zh*KoC;iGFCvyF%=}W_N7Ac&9Cu$}`5}72bDAKL@c$ zw6K^^>*O3I)@|csRT^ho!(+}4I8`ZCQB^!N3~5CKAp4LqQZ=CfCHd#?M);c;cA7yLuDJua`bMPmAv z5L+p8I&QJ9+Pz!Swz%(b`C5X4sC1ixdsJs1i_o{QB>Fsd#3DjXaxFEDR5~m?CMQ+5 zr%caZlJMK%`0obrs+e0IvnaKtv z%HZt?Yn@;CY&?KlE&SkvcRbt8ud-_57sD87kOX7wjD0R~`I<}mE` znZ;zb5)hCkNTRAvzxT?gM>FkRuvXeK>Y18N+-%MQv1OC@F(JvPIvDutiR0 zJlGbi%ApNa#N4hRil_^I$8^-l^;(k3qBF%rU>K=WT^Y67woy!Q5$`)_tNr&-y!yADXk=%)hrw(x5 zaY!SgkD{nr>iL+Zx)f|@dYh6phzSGVwpY2)QT9zGi9o!=rOVq~No92z&r<&}It%~d{bLVl+ zF>~v(IUs2NE~A%tm)x6LS39!Wfmqx;M~@m6)CYkt9^}=z zh&qXj5vSGr)#%%eC7ekXnn%A|lP~jXU$i*W-0P6W>?ZnxwlC6t{|H)?ld$N0R8WQr}XeeoCO1d8r_BX0T(N)!Jt73E&B@Q+?)^G3g zHS%lGrs7D@-k(pE(rbwt;`$JfSg&4j^R*83lX}azR7SpWpqgbW*1Iq5j*V z>z%Zee$QAa=;-|-E6T{J=K_p3KhmD!dMgUGVeIB~hDhQv>FcBQr_T-W1ic|#+c^1# z`I0{$-B@XO#O!vUpYJ2Is(qW`#}U~P|^^$A1GRrA5mrv_H5Bd1uXlq>g#Lbr*;iSeQ(s&qZ>ONktS+HP5eV zE{Plu!NdL@gD6WyLwXAPjc%E-N>c_Kd&bF(W52&~Ea~jj<2#I9@En!Vw5$ONd<)J= zC2o%k2_Krnl-*XuDnUUSr0r!9?37f&UT0Lj`9@^JD7cUYN7 zI_9L~K#fb`Oed9v>DcI;euC4`BZ){_F1VM08+DkXf%=f?3UHE5prKNsJo~B+0{DO- z@0r^($%uDn180r8Wf>Mk+XK&Oo=7LXO?7C0BvlB(7N_i`U+pEoXUJM0T1$l;MWVp? zu^7Qr9sTRKvrTqoy1rnLw)izELXIfHn$0xC0h(@`Ba(06_(hAUS;MdJ?ET;A^yg~B z8u+%}Foilff}9G(kaQDWu1%3@M+!54n^@RRs!qm9^Ac)bAX}OEiKwG zebiputB|{+bm!3*qRHlD{|#k9#TA5IsH`|6v{ml1!1yi&p7JjZu6W+ozl2%7WNfSH zoad_g7O!8^8GJjl+q1bwH|$8}iTNEhq3c$dvG`#hv2wuCQpyr%aNpp}PGMV$G3>=n zNq~%1AEXc~YBm;P(%#Hj9i`e19i_c!eCOkJg0jG`PK`#%V0b-;1cYVOduT*r*3J^Q z%-F+&TsTYt**A104}5~fyvW{zi>zVKbTDAQLVaK;+2W@>yI7etQ*il%ZMI zRMF55crf~~6Gx5+KH^RUMGvP$2pxxHUV_?Uz&dFU6Quh)(szvB_87AOp|(SHw7Jn! zhzwSl3z3yS%WR0xh%q}0h~@C<4R)L58y&tb(=+38Txc(7bR!4}U(_*xZX6MGH!k33 zSd=lpGHN!Q2(2NM7S<&!bDGv^-!Yn#7VYN8GiF>8h)Y_#7t26sqDl~9Jrq?*4?@N; zW&{Nq`rt?UE%&+wORygg-#C#*~&0#hGIti)+ygC)cWZH=4{-#6RPL z*=x&{>7V1G#*Myx)jyh6jkrIS=a5&Y$gI>7>1s6$EA$o3y*=`A`Un1=wD~j~?GG8{ zhH~NYgI5R#qu?PM^v)Fj5Tb z?9fBT8!V^HQos?zIj@`5Ik|?OwB#BuKPSr6Fo>g5yte*;4b6<=n1xa3=Ej^f;sXBOqQ{`c5K#rk6Q-s0yb4~TOj`VR54J|kIt9rwZ}T9v_~HzB z!b!rqtYArd)sh&PF&9#aBaYx3OmQEq-cyO*d8!@_`{kXG5*AAR4NiPShdY4`g)oh{ z-?HjI3w;jkDT5|xA#$hpNAEepFNca#%2~UHZRRsbv`zK9*VzoU^jrF({cW(MpLKM*Ov5y>nrb{}^ek-p33~r7oEsu(Ct5!%|9;M6 z1yUrM_#W>fQx}cm`<{nv%Nv|4;G+`*eh#MI0s1RHjex!3Og4S_XauDqU#5+it@XPRA1kT(J=tF3`%y+yO& znSn}>*tgqRXbGOXHE3Tl8`Yj^b~J>d&*oppE|c+9RuT(eT!C@NQNVScRjLSKf>3%d zP*17t0r^$#`Q@OUX!5l>xaf4VHgMCS6(ERFclYVN>9nI0NF&Jq?kV7n*@%BS(H&Ap z$06JG@y$(OXAaeG@iDo7^t%BUiiAkHt~vg}Z9P5qya`=wCWlWDP*S+WO3cLPQfcQ# z-6FM`+W1ZG+MN<6^`h!e9@WB61?C(dV8EwwEWW-C@yM$6@^n3tUVr7aM0%8K_{H}C zIH8l=j-D;a{Qe7`k3#(oUh=u!TqL@|AkZnH5OU1z_Z+%g0@ZkKxfGD*uc1c0TW<1} zdDv?NJ_q%Kui|&ljvJ-8T3^F9oa{Wkjsl~G-C@iu{+*`sU^(%6-o3LpEY8shk!JB1 zY(#|Ng&R`_ESUEh=_Syd<1;8i42g(2$RQ|wwUV>m;VTTe!nr+d?)5H4&6d2ZBEgS4lvyp<3vy(a1KR+>$sPyiT(uagv#dBygU~`yR1!)lKvE z^rSQn4nEqHos1zCn4sygsE!ZUIZN)?>IrGJLHy+4b+oL^luUYcYM64Hw&qYHvz+YB z?rY~;y5D+%dvNQyV`pXv?Yj+Bt%B?7W((f-GBY;1F&iiCjy43NqcjQEgr=Ux!9fO4 z8;=aWjCZ+;6vh)GL|Ezzo)|XT6Cvn*Nau0kr@d!5T^1q#T#qd*Ejr<>O#%>sKeSu@IGS__; zL=#~}K93J7W+>j2Hqd1YCuHr9<_^MX9`Bg;MC1^N@(8yeVB5DJ#L*JJYu#kHMV*gd zp7uRmGoa>|<4UZsT{G#ll4|bV^zERHPjv)%Z(|PL`}zSB5a&84bO6 zV6!2&F=zC4G(Nt;6|O4O-#4ErPb|Qv7MO^r17~KT}`weDlUcl~~TB@>rVvCq;f=SI)lXxn~lr9yj;^13P!If!AF9hbuFW$50_&{79UrHX3)7Qi}*ht zd7NQ!Oqi~`=ZN0=k|nQRCG2Zl=)>0?wxXvxxUDLCp13}WdlKjq$1$OT#m7%VTZ@iU zLR*WEgF=0ZjuS$CERQkLr54iNmju`g|SH#bm#-lX?o#v0S`8nmbEEy zxPZ5|329YEPpt#qpzmqEx@&Z(CeCS%M1TN-+r%i*}=1C;Qk2+(@4jD{y_Y{TTUo=`#dX)@F zIuUy-#qe~LP%{cB#JHJNxH?8myJQPki+z1Ao6;8(z@@bco(YAxWe7i_%ViZL%x7l6 z;@EPE4!21 z;{%udvn2URLz1&3=}A$!?3V-DW$9H*V&q>qCyO{b(`UH{&}(HZpkt3XNq^HT@q}P) z2+&eauB`?N!=|l`T}#6orJ#A~lvC+}lz=>0n5;-Q7^dmkUIi(cZdmS_3aPY9Rbj9S zT53-TCkHP}ZSp!6$Ugxi(?&j()I6(3a|MrX)kZhfaHmzdwR>iIDtuNC^y6jf3J*AG zx*caQnbLgN7obJ#5?mIW-(C_wH6+(XrQN&{+c$~c$ zlb77wv_orpK|E$|$zp1Jx>O~&D6wjgmw~iM0Rt^D%&Y)>uODgcI#Y${Thr!zw)Iy| z+6u&?Q{v#e8%~5wqZIz3_?6sp+Dg^>1vcRE$>fj8OEmRM4fA*kYuRX$valXA0E|ZW+a;ld+|_jH;)( zAjk1DlQ&5OLIUJC%KHkr$jh*{g9rBODbqffGjTAzlX@4Dr9Y^wbaA`&YVL$uDUHn0~3RT{x!L-&d zTG_f;*%9~SSDz*g#S3-R1U^WYnY1NI7M_o2$?1O(sO@Z#9ygs_#t4 z&9Wnc7QXfrtpNsCH#|TqXcM_O|M@g1Y2=#=C@O9zQlgaAY@u>8BE5TX9@0?OJ)a)G zy*3Z`v5}ask%*U0Ef)Zl~nSnH;+h5hIyIeeB(9-_DtcD~6dRRq?_*A~!V7f<$&&Sv7xh=B|KU zSaAJJDC>u99i~AIsbfER!65{zoCI5q8*=Ui9xaji0r~JXPbt=AXuqUgTZ)^Z59*xC zsP0f%V@%{YN#E*vq{|SnNf4DNU;i#tvzKRK+^hZY8ZX8}R`LQ;{F(AlL1d=hG@9UL zNr#N30xhK79`3%?q!~+hQ_>@^&%U)woa-*V8DzAqoibugx5ResTU)X#EpT4EEtXJH zT_*H@zW{dIdCUSw4ac>fgyDnmR_oZZNyrwVs~|N^{!?pE?aurA&pTvZc+PivdejNt zLrAMln$y3P7}GYJ{^0?#EAF-(scW3?OS-kjA=FtLa@W^ESqOOHFNrm`(Ue}d&m)LLlNwmE_kwDRh1$S$u3UWUoCVl^=xUWELa=!SDKFd)lNVEHp+00Wz zHMLDl%peb6V@;f)*da&FcjC<=-6WEBM2c^<)x+Tqxk*vkk)A1|Ny;xay-OTX-W73i zdcybMT5@VCqGgaf%$I}+7a3p8FmODpgV#2Z0wcuTkDD-4r1twj;z3=_KlEZVzyB~S z%#6O^aW#zCkdZH3m*t>gp5K&!|0{mt=dMTxyftyHb(IJ8DNivUiC!azn4JlkjzDUP z(C(&p(R6QAqA`$v$b=o=v|oUiNRXCDQ_a zSZ}O)kW@EZ)zXdNLhT-lC~qE28JJBT%k4&hZZ+Ac;x;L@rQkFX-V0LW2R10O8QBeA z>LlaLE*Pq};BuShcttdi*ZHs#uhtZW&}qnt)`x<05^gzI%{XS2nspTGEqC!qVeJqQ zY1TA$;~#{8!U?wumHebL@A$779{Z=>V=A~8>UjdO&v>lnvzqT;XYL^7~9}5)t1d!V)6$e%Zq<5j<=QwKif4tYRlmXG-PFS97)W&I= z>8ac65xOhGIEdL7tp_475Tq={wN^XYrhB`kwXS8)psvAmVD)yZ6pdtW7H-pEM0kfT zg59deqwHw7_c#VkvMM~Kt*9@GIlf(;!pSGYFQtx}c}W4p^aPvnM!Ci#0oWyeW(kCc z`zPN4cURbJIBE8xi>?yVvPyh-?9L52bLnExp^VLl3-{~{-*D#RouFV6Dq)p>To zpO^kf&pN!oMW+q?ks0v8IsfZ_ORg^i@Z0|`l@pSe5*JfZWtJ1aAi%(gK?(mU8V2TE zcr8Ex*;=#w=?cuB0{^+<&A(UJfo;s}tehRsKYzTO__xcEfak|^fxlgD;s!FYa{}Ai z{1F6X#rwCMYc6yd=-))O|1;qKtv>K@^9#h~GRQw0{eM8<{UrQjkHX6k|2!&P*z`v` zx?j_I$N;zoHUp2(xBka~fywoqyNvPUUBi#3ENE0$hr`4^fB*v*0x@&`S8{ztfcE`^ zeSzqDK-4Q66VSP}#eSOoav^F-YK~(7`W7JM+(-Lo$@P5##4rA{kiVcY1XUPE03H^A zKF>J(v*h{~0x|jjga)=1Ol+LMAjAJqf%1*1igO7Qz=!Rp2;e){cNo}Q{DTz0M-#A- z)n6)+GlPal2%u;GPbJup|A?2eaRJ=fjsFdm^%p4!zLqFUfYQQ%lyi5epC#8f6PR88 zP>CP?=P&e{Q>yw&07(hZIewynZ@@&rR=^+V%7#uRvS4el(_aJ-LUd0#fli+abeY?~ z2{=N#M8J;$EM#YQd6&Ek=O`uy^zb2|>g2!Cz!+E3L<}ANjYI}Lj8gifa~c8VOo8rj zK9~M1xxOE<|A>PQ#tIF_x0RhZf4SsC@FSDe1$YmbJ^qhbf7JSiXYl0}XA(1AO9v?D z-TC*i_>S~1z`yCL6ye*}1sEY1(D(N)&`b6gG_)7<<+@`(4>%wEkc^0_1F<=Uz?>E9OzYL5@h z=)cbpn7~-MLR%^0^IMeZzc;DN!T8oLp__n)?trrAuep8}U|PR>C0O1Tz`9dO0XHXy zKebtzlzK@4(9c$Ysgm+18Tiiiod#A5S7`kMez~?co8L_|0Ge(9rucpOc?tN)Tmk&i zxBk{@rL0?l!vK04K>xlJ=;Hs+=wE^cUtR&|H2{acv&-4XXPV~QUFE=rC#>xw-mh69_{;i`xXNSDt z%gOzLZ|ZDw#oZq|JK6;>UHMAjZ@JQ-4GW!E>VjCUb~W+WG*i$-=*&SEL>kR2iNE9# zg62VIAGzSM>t4zgx3oR;?{qcaQTD-eTMjgc`xV+=2a((q1A;x$#;Q95Bnn;dPV%JgUVH12l~v} zg|Ol9|8HTJn+*DF&4nnHr&oyj!$})xt3kWYUeHIAuAu)|Bm8zR{MBTa*8HwtrU}+Oz3`ubg!S|7t%cXyu`OGcMpCb1#8Iz03c< mo*K}6Xzzdv{_Fg|^MAG@Jg~b110w+Z!vQwpXe-bE_x}Kz;4MV} literal 0 HcmV?d00001 diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index 5ce7e21..9df0354 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,7 +11,7 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.1.8"; + public static final String VERSION = "2.1.9"; /** * api key */ @@ -19,7 +19,7 @@ public abstract class Pingpp { /** * api version */ - public static volatile String apiVersion = "2016-09-20"; + public static volatile String apiVersion = "2016-10-10"; public static String AcceptLanguage = "zh-CN"; diff --git a/src/main/java/com/pingplusplus/exception/RateLimitException.java b/src/main/java/com/pingplusplus/exception/RateLimitException.java new file mode 100644 index 0000000..3ce1429 --- /dev/null +++ b/src/main/java/com/pingplusplus/exception/RateLimitException.java @@ -0,0 +1,11 @@ +package com.pingplusplus.exception; + +public class RateLimitException extends PingppException { + + private static final long serialVersionUID = 1L; + + public RateLimitException(String message, Throwable e) { + super(message, e); + } + +} diff --git a/src/main/java/com/pingplusplus/model/Card.java b/src/main/java/com/pingplusplus/model/Card.java index 2eb510d..32a6766 100644 --- a/src/main/java/com/pingplusplus/model/Card.java +++ b/src/main/java/com/pingplusplus/model/Card.java @@ -1,10 +1,6 @@ package com.pingplusplus.model; -import com.pingplusplus.exception.APIConnectionException; -import com.pingplusplus.exception.APIException; -import com.pingplusplus.exception.AuthenticationException; -import com.pingplusplus.exception.ChannelException; -import com.pingplusplus.exception.InvalidRequestException; +import com.pingplusplus.exception.*; import com.pingplusplus.net.APIResource; import java.util.Map; @@ -86,13 +82,15 @@ public void setCustomer(String customer) { this.customer = customer; } - public DeletedCard delete() throws ChannelException, APIException, AuthenticationException, InvalidRequestException, APIConnectionException { + public DeletedCard delete() throws ChannelException, APIException, + AuthenticationException, InvalidRequestException, + APIConnectionException, RateLimitException { return request(RequestMethod.DELETE, this.getInstanceURL(), null, DeletedCard.class); } public static Card retrieve(String customerId, String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, - APIException, ChannelException { + APIException, ChannelException, RateLimitException { String url = instanceURL(Customer.class, customerId) + "/sources/" + id; return request(APIResource.RequestMethod.GET, url, null, Card.class); } diff --git a/src/main/java/com/pingplusplus/model/CardCollection.java b/src/main/java/com/pingplusplus/model/CardCollection.java index c392398..fba0266 100644 --- a/src/main/java/com/pingplusplus/model/CardCollection.java +++ b/src/main/java/com/pingplusplus/model/CardCollection.java @@ -9,14 +9,14 @@ public class CardCollection extends PingppCollectionAPIResource { public Card retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, - APIException, ChannelException { + APIException, ChannelException, RateLimitException { String url = String.format("%s%s/%s", Pingpp.getApiBase(), this.getURL(), id); return request(RequestMethod.GET, url, null, Card.class); } public CardCollection all(Map params) throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException { + APIConnectionException, APIException, ChannelException, RateLimitException { String url = String.format("%s%s", Pingpp.getApiBase(), this.getURL()); return request(RequestMethod.GET, url, params, CardCollection.class); @@ -24,7 +24,7 @@ public CardCollection all(Map params) public Card create(Map params) throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException { + APIConnectionException, APIException, ChannelException, RateLimitException { String url = String.format("%s%s", Pingpp.getApiBase(), this.getURL()); return request(RequestMethod.POST, url, params, Card.class); diff --git a/src/main/java/com/pingplusplus/model/Charge.java b/src/main/java/com/pingplusplus/model/Charge.java index 4fa9e14..8d66aaa 100644 --- a/src/main/java/com/pingplusplus/model/Charge.java +++ b/src/main/java/com/pingplusplus/model/Charge.java @@ -1,10 +1,6 @@ package com.pingplusplus.model; -import com.pingplusplus.exception.APIConnectionException; -import com.pingplusplus.exception.APIException; -import com.pingplusplus.exception.AuthenticationException; -import com.pingplusplus.exception.ChannelException; -import com.pingplusplus.exception.InvalidRequestException; +import com.pingplusplus.exception.*; import com.pingplusplus.net.APIResource; import java.util.Map; @@ -269,7 +265,7 @@ public void setTimeSettle(Long timeSettle) { */ public static Charge create(Map params) throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException { + APIConnectionException, APIException, ChannelException, RateLimitException { return request(RequestMethod.POST, classURL(Charge.class), params, Charge.class); } @@ -286,7 +282,7 @@ public static Charge create(Map params) */ public static Charge retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, - APIException, ChannelException { + APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, instanceURL(Charge.class, id), null, Charge.class); } @@ -304,7 +300,7 @@ public static Charge retrieve(String id) throws AuthenticationException, */ public static Charge retrieve(String id, Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, - APIException, ChannelException { + APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, instanceURL(Charge.class, id), params, Charge.class); } @@ -321,7 +317,7 @@ public static Charge retrieve(String id, Map params) throws Auth */ public static ChargeCollection all(Map params) throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException { + APIConnectionException, APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, classURL(Charge.class), params, ChargeCollection.class); } diff --git a/src/main/java/com/pingplusplus/model/ChargeRefundCollection.java b/src/main/java/com/pingplusplus/model/ChargeRefundCollection.java index 5f7524a..dd61cd5 100644 --- a/src/main/java/com/pingplusplus/model/ChargeRefundCollection.java +++ b/src/main/java/com/pingplusplus/model/ChargeRefundCollection.java @@ -1,11 +1,7 @@ package com.pingplusplus.model; import com.pingplusplus.Pingpp; -import com.pingplusplus.exception.APIConnectionException; -import com.pingplusplus.exception.APIException; -import com.pingplusplus.exception.AuthenticationException; -import com.pingplusplus.exception.ChannelException; -import com.pingplusplus.exception.InvalidRequestException; +import com.pingplusplus.exception.*; import java.util.Map; @@ -13,7 +9,7 @@ public class ChargeRefundCollection extends PingppCollectionAPIResource public ChargeRefundCollection all(Map params) throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException { + APIConnectionException, APIException, ChannelException, RateLimitException { String url = String.format("%s%s", Pingpp.getApiBase(), this.getURL()); return request(RequestMethod.GET, url, params, ChargeRefundCollection.class); @@ -21,7 +17,7 @@ public ChargeRefundCollection all(Map params) public Refund retrieve(String id) throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException { + APIConnectionException, APIException, ChannelException, RateLimitException { String url = String.format("%s%s/%s", Pingpp.getApiBase(), this.getURL(), id); return request(RequestMethod.GET, url, null, Refund.class); @@ -29,7 +25,7 @@ public Refund retrieve(String id) public Refund create(Map params) throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException { + APIConnectionException, APIException, ChannelException, RateLimitException { String url = String.format("%s%s", Pingpp.getApiBase(), this.getURL()); return request(RequestMethod.POST, url, params, Refund.class); diff --git a/src/main/java/com/pingplusplus/model/Customer.java b/src/main/java/com/pingplusplus/model/Customer.java index 62f8dcb..d571ec2 100644 --- a/src/main/java/com/pingplusplus/model/Customer.java +++ b/src/main/java/com/pingplusplus/model/Customer.java @@ -1,10 +1,6 @@ package com.pingplusplus.model; -import com.pingplusplus.exception.APIConnectionException; -import com.pingplusplus.exception.APIException; -import com.pingplusplus.exception.AuthenticationException; -import com.pingplusplus.exception.ChannelException; -import com.pingplusplus.exception.InvalidRequestException; +import com.pingplusplus.exception.*; import com.pingplusplus.net.APIResource; import java.util.Map; @@ -116,27 +112,31 @@ public void setDefaultSource(String defaultSource) { public static Customer create(Map params) throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException { + APIConnectionException, APIException, ChannelException, RateLimitException { return request(RequestMethod.POST, classURL(Customer.class), params, Customer.class); } - public Customer update(Map params) throws ChannelException, APIException, AuthenticationException, InvalidRequestException, APIConnectionException { + public Customer update(Map params) throws ChannelException, + APIException, AuthenticationException, InvalidRequestException, + APIConnectionException, RateLimitException { return request(RequestMethod.PUT, instanceURL(Customer.class, this.id), params, Customer.class); } - public DeletedCustomer delete() throws ChannelException, APIException, AuthenticationException, InvalidRequestException, APIConnectionException { + public DeletedCustomer delete() throws ChannelException, APIException, + AuthenticationException, InvalidRequestException, + APIConnectionException, RateLimitException { return request(RequestMethod.DELETE, instanceURL(Customer.class, this.id), null, DeletedCustomer.class); } public static Customer retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, - APIException, ChannelException { + APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, instanceURL(Customer.class, id), null, Customer.class); } public static CustomerCollection all(Map params) throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException { + APIConnectionException, APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, classURL(Customer.class), params, CustomerCollection.class); } diff --git a/src/main/java/com/pingplusplus/model/Event.java b/src/main/java/com/pingplusplus/model/Event.java index dd4c022..e9d9c3d 100644 --- a/src/main/java/com/pingplusplus/model/Event.java +++ b/src/main/java/com/pingplusplus/model/Event.java @@ -1,10 +1,6 @@ package com.pingplusplus.model; -import com.pingplusplus.exception.APIConnectionException; -import com.pingplusplus.exception.APIException; -import com.pingplusplus.exception.AuthenticationException; -import com.pingplusplus.exception.ChannelException; -import com.pingplusplus.exception.InvalidRequestException; +import com.pingplusplus.exception.*; import com.pingplusplus.net.APIResource; import java.util.Map; @@ -100,7 +96,7 @@ public void setRequest(String request) { */ public static Event retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, - APIException, ChannelException { + APIException, ChannelException, RateLimitException { return request(APIResource.RequestMethod.GET, instanceURL(Event.class, id), null, Event.class); } @@ -118,7 +114,7 @@ public static Event retrieve(String id) throws AuthenticationException, */ public static Event retrieve(String id, Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, - APIException, ChannelException { + APIException, ChannelException, RateLimitException { return request(APIResource.RequestMethod.GET, instanceURL(Event.class, id), params, Event.class); } @@ -135,7 +131,7 @@ public static Event retrieve(String id, Map params) throws Authe */ public static EventCollection all(Map params) throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException { + APIConnectionException, APIException, ChannelException, RateLimitException { return request(APIResource.RequestMethod.GET, classURL(Event.class), params, EventCollection.class); } diff --git a/src/main/java/com/pingplusplus/model/Identification.java b/src/main/java/com/pingplusplus/model/Identification.java index b2519a3..bc23a14 100644 --- a/src/main/java/com/pingplusplus/model/Identification.java +++ b/src/main/java/com/pingplusplus/model/Identification.java @@ -1,10 +1,6 @@ package com.pingplusplus.model; -import com.pingplusplus.exception.APIConnectionException; -import com.pingplusplus.exception.APIException; -import com.pingplusplus.exception.AuthenticationException; -import com.pingplusplus.exception.ChannelException; -import com.pingplusplus.exception.InvalidRequestException; +import com.pingplusplus.exception.*; import com.pingplusplus.net.APIResource; import java.util.Map; @@ -78,7 +74,7 @@ public void setApp(Object app) { */ public static Identification identify(Map params) throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException { + APIConnectionException, APIException, ChannelException, RateLimitException { return request(RequestMethod.POST, singleClassURL(Identification.class), params, Identification.class); } } diff --git a/src/main/java/com/pingplusplus/model/RedEnvelope.java b/src/main/java/com/pingplusplus/model/RedEnvelope.java index 0be2ceb..ee13370 100644 --- a/src/main/java/com/pingplusplus/model/RedEnvelope.java +++ b/src/main/java/com/pingplusplus/model/RedEnvelope.java @@ -8,11 +8,7 @@ import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; import com.google.gson.LongSerializationPolicy; -import com.pingplusplus.exception.APIConnectionException; -import com.pingplusplus.exception.APIException; -import com.pingplusplus.exception.AuthenticationException; -import com.pingplusplus.exception.ChannelException; -import com.pingplusplus.exception.InvalidRequestException; +import com.pingplusplus.exception.*; import com.pingplusplus.net.APIResource; import java.lang.reflect.Type; @@ -240,7 +236,7 @@ public void setMetadata(Map metadata) { */ public static RedEnvelope create(Map params) throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException { + APIConnectionException, APIException, ChannelException, RateLimitException { return request(RequestMethod.POST, classURL(RedEnvelope.class), params, RedEnvelope.class); } @@ -257,7 +253,7 @@ public static RedEnvelope create(Map params) */ public static RedEnvelope retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, - APIException, ChannelException { + APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, instanceURL(RedEnvelope.class, id), null, RedEnvelope.class); } @@ -275,7 +271,7 @@ public static RedEnvelope retrieve(String id) throws AuthenticationException, */ public static RedEnvelope retrieve(String id, Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, - APIException, ChannelException { + APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, instanceURL(RedEnvelope.class, id), params, RedEnvelope.class); } @@ -292,7 +288,7 @@ public static RedEnvelope retrieve(String id, Map params) throws */ public static RedEnvelopeCollection all(Map params) throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException { + APIConnectionException, APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, classURL(RedEnvelope.class), params, RedEnvelopeCollection.class); } diff --git a/src/main/java/com/pingplusplus/model/Refund.java b/src/main/java/com/pingplusplus/model/Refund.java index a18ade3..f7250a1 100644 --- a/src/main/java/com/pingplusplus/model/Refund.java +++ b/src/main/java/com/pingplusplus/model/Refund.java @@ -1,10 +1,6 @@ package com.pingplusplus.model; -import com.pingplusplus.exception.APIConnectionException; -import com.pingplusplus.exception.APIException; -import com.pingplusplus.exception.AuthenticationException; -import com.pingplusplus.exception.ChannelException; -import com.pingplusplus.exception.InvalidRequestException; +import com.pingplusplus.exception.*; import com.pingplusplus.net.APIResource; import java.util.Map; @@ -39,13 +35,13 @@ public void setId(String id) { public Refund update(Map params) throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException { + APIConnectionException, APIException, ChannelException, RateLimitException { return update(params, null); } public Refund update(Map params, String apiKey) throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException { + APIConnectionException, APIException, ChannelException, RateLimitException { return request(RequestMethod.POST, this.getInstanceURL(), params, Refund.class); } diff --git a/src/main/java/com/pingplusplus/model/SMSCode.java b/src/main/java/com/pingplusplus/model/SMSCode.java index fa26ed7..4b14a82 100644 --- a/src/main/java/com/pingplusplus/model/SMSCode.java +++ b/src/main/java/com/pingplusplus/model/SMSCode.java @@ -1,10 +1,6 @@ package com.pingplusplus.model; -import com.pingplusplus.exception.APIConnectionException; -import com.pingplusplus.exception.APIException; -import com.pingplusplus.exception.AuthenticationException; -import com.pingplusplus.exception.ChannelException; -import com.pingplusplus.exception.InvalidRequestException; +import com.pingplusplus.exception.*; import com.pingplusplus.net.APIResource; /** @@ -68,7 +64,7 @@ public void setCode(String code) { public static SMSCode retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, - APIException, ChannelException { + APIException, ChannelException, RateLimitException { return request(APIResource.RequestMethod.GET, instanceURL(SMSCode.class, id), null, SMSCode.class); } } diff --git a/src/main/java/com/pingplusplus/model/Token.java b/src/main/java/com/pingplusplus/model/Token.java index eb379c9..9cd38b8 100644 --- a/src/main/java/com/pingplusplus/model/Token.java +++ b/src/main/java/com/pingplusplus/model/Token.java @@ -1,10 +1,6 @@ package com.pingplusplus.model; -import com.pingplusplus.exception.APIConnectionException; -import com.pingplusplus.exception.APIException; -import com.pingplusplus.exception.AuthenticationException; -import com.pingplusplus.exception.ChannelException; -import com.pingplusplus.exception.InvalidRequestException; +import com.pingplusplus.exception.*; import com.pingplusplus.net.APIResource; import java.util.Map; @@ -97,13 +93,13 @@ public void setSmsCode(SMSCode smsCode) { public static Token create(Map params) throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException { + APIConnectionException, APIException, ChannelException, RateLimitException { return request(APIResource.RequestMethod.POST, classURL(Token.class), params, Token.class); } public static Token retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, - APIException, ChannelException { + APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, instanceURL(Token.class, id), null, Token.class); } } diff --git a/src/main/java/com/pingplusplus/model/Transfer.java b/src/main/java/com/pingplusplus/model/Transfer.java index fb0b8da..57d6015 100644 --- a/src/main/java/com/pingplusplus/model/Transfer.java +++ b/src/main/java/com/pingplusplus/model/Transfer.java @@ -4,11 +4,7 @@ * Created by sunkai on 15/5/11. */ -import com.pingplusplus.exception.APIConnectionException; -import com.pingplusplus.exception.APIException; -import com.pingplusplus.exception.AuthenticationException; -import com.pingplusplus.exception.ChannelException; -import com.pingplusplus.exception.InvalidRequestException; +import com.pingplusplus.exception.*; import com.pingplusplus.net.APIResource; import java.util.Map; @@ -202,7 +198,7 @@ public void setMetadata(Map metadata) { */ public static Transfer create(Map params) throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException { + APIConnectionException, APIException, ChannelException, RateLimitException { return request(RequestMethod.POST, classURL(Transfer.class), params, Transfer.class); } @@ -218,7 +214,7 @@ public static Transfer create(Map params) */ public static Transfer retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, - APIException, ChannelException { + APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, instanceURL(Transfer.class, id), null, Transfer.class); } @@ -235,7 +231,7 @@ public static Transfer retrieve(String id) throws AuthenticationException, */ public static Transfer retrieve(String id, Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, - APIException, ChannelException { + APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, instanceURL(Transfer.class, id), params, Transfer.class); } @@ -251,7 +247,7 @@ public static Transfer retrieve(String id, Map params) throws Au */ public static TransferCollection all(Map params) throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException { + APIConnectionException, APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, classURL(Transfer.class), params, TransferCollection.class); } diff --git a/src/main/java/com/pingplusplus/net/APIResource.java b/src/main/java/com/pingplusplus/net/APIResource.java index 7f5876d..8918afc 100644 --- a/src/main/java/com/pingplusplus/net/APIResource.java +++ b/src/main/java/com/pingplusplus/net/APIResource.java @@ -4,10 +4,7 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.pingplusplus.Pingpp; -import com.pingplusplus.exception.APIConnectionException; -import com.pingplusplus.exception.APIException; -import com.pingplusplus.exception.AuthenticationException; -import com.pingplusplus.exception.ChannelException; +import com.pingplusplus.exception.*; import com.pingplusplus.exception.InvalidRequestException; import com.pingplusplus.model.*; import org.apache.commons.codec.binary.Base64; @@ -16,6 +13,7 @@ import java.io.*; import java.math.BigInteger; +import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.security.*; @@ -175,8 +173,12 @@ private static java.net.HttpURLConnection createPingppConnection( String url, String apiKey) throws IOException { URL pingppURL = null; pingppURL = new URL(url); - - HttpsURLConnection conn = (HttpsURLConnection) pingppURL.openConnection(); + HttpURLConnection conn; + if (pingppURL.getProtocol().equals("https")) { + conn = (HttpsURLConnection) pingppURL.openConnection(); + } else { + conn = (HttpURLConnection) pingppURL.openConnection(); + } conn.setConnectTimeout(30 * 1000); conn.setReadTimeout(80 * 1000); @@ -503,7 +505,7 @@ private static PingppResponse makeURLConnectionRequest( */ protected static T request(APIResource.RequestMethod method, String url, Map params, Class clazz) throws AuthenticationException, InvalidRequestException, APIConnectionException, - APIException, ChannelException { + APIException, ChannelException, RateLimitException { if ((Pingpp.apiKey == null || Pingpp.apiKey.length() == 0)) { throw new AuthenticationException( "No API key provided. (HINT: set your API key using 'Pingpp.apiKey = '. " @@ -554,7 +556,7 @@ protected static T request(APIResource.RequestMethod method, String url, Map */ private static void handleAPIError(String rBody, int rCode) throws InvalidRequestException, AuthenticationException, - APIException, ChannelException { + APIException, ChannelException, RateLimitException { APIResource.Error error = GSON.fromJson(rBody, APIResource.ErrorContainer.class).error; switch (rCode) { @@ -562,6 +564,8 @@ private static void handleAPIError(String rBody, int rCode) throw new InvalidRequestException(error.toString(), error.param, null); case 404: throw new InvalidRequestException(error.toString(), error.param, null); + case 403: + throw new RateLimitException(error.toString(), null); case 402: throw new ChannelException(error.toString(), error.param, null); case 401: From a08ff4554d2e75141c1df901da6647b9ebd98f19 Mon Sep 17 00:00:00 2001 From: afon Date: Thu, 1 Dec 2016 17:37:59 +0800 Subject: [PATCH 002/104] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20batch=5Ftransfer,?= =?UTF-8?q?=20batch=5Frefund,=20customs=20=E6=8E=A5=E5=8F=A3;=20=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=20event=20list;=20=E6=B7=BB=E5=8A=A0=E7=A4=BA?= =?UTF-8?q?=E4=BE=8B;=20=E7=A7=BB=E9=99=A4=E6=97=A0=E5=8D=A1=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 72 +++--- README.md | 4 +- VERSION | 2 +- ..._java_sdk_api_\346\226\207\346\241\243.md" | 18 +- ...77\347\224\250\346\226\207\346\241\243.md" | 2 +- .../SimpleExample/libs/pingpp-java-2.1.9.jar | Bin 51025 -> 0 bytes .../pingxx/example/BatchTransferExample.java | 152 ++++++++++++ .../com/pingxx/example/ChargeExample.java | 14 +- .../com/pingxx/example/CustomsExample.java | 112 +++++++++ .../java/com/pingxx/example/EventExample.java | 38 +-- .../main/java/com/pingxx/example/Main.java | 13 +- .../pingxx/example/RedEnvelopeExample.java | 10 +- .../com/pingxx/example/RefundExample.java | 39 +-- .../com/pingxx/example/TransferExample.java | 10 +- libs/pingpp-java-2.1.9.jar | Bin 51025 -> 0 bytes src/main/java/com/pingplusplus/Pingpp.java | 7 +- .../com/pingplusplus/model/BatchRefund.java | 171 +++++++++++++ .../model/BatchRefundCollection.java | 4 + .../com/pingplusplus/model/BatchTransfer.java | 234 ++++++++++++++++++ .../model/BatchTransferCollection.java | 4 + .../model/BatchTransferRecipient.java | 79 ++++++ .../java/com/pingplusplus/model/Card.java | 105 -------- .../pingplusplus/model/CardCollection.java | 32 --- .../java/com/pingplusplus/model/Charge.java | 26 +- .../model/ChargeRefundCollection.java | 9 +- .../java/com/pingplusplus/model/Customer.java | 150 ----------- .../model/CustomerCollection.java | 4 - .../java/com/pingplusplus/model/Customs.java | 226 +++++++++++++++++ .../pingplusplus/model/CustomsCollection.java | 4 + .../com/pingplusplus/model/DeletedCard.java | 22 -- .../pingplusplus/model/DeletedCustomer.java | 22 -- .../java/com/pingplusplus/model/Event.java | 18 -- .../java/com/pingplusplus/model/Notify.java | 1 + .../com/pingplusplus/model/PingppObject.java | 16 +- .../com/pingplusplus/model/RedEnvelope.java | 8 +- .../java/com/pingplusplus/model/Refund.java | 133 +++++++--- .../java/com/pingplusplus/model/SMSCode.java | 70 ------ .../java/com/pingplusplus/model/Token.java | 105 -------- .../java/com/pingplusplus/model/Transfer.java | 48 +++- .../com/pingplusplus/net/APIResource.java | 87 +++++-- .../BatchTransferRecipientSerializer.java | 21 ++ .../ChargeDeserializer.java | 2 +- .../ChargeRefundCollectionDeserializer.java | 14 +- .../EventDataDeserializer.java | 3 +- .../PingppRawJsonObjectDeserializer.java | 2 +- .../RedEnvelopeDeserializer.java | 2 +- .../TransferDeserializer.java | 2 +- 47 files changed, 1371 insertions(+), 746 deletions(-) delete mode 100644 example/SimpleExample/libs/pingpp-java-2.1.9.jar create mode 100644 example/SimpleExample/src/main/java/com/pingxx/example/BatchTransferExample.java create mode 100644 example/SimpleExample/src/main/java/com/pingxx/example/CustomsExample.java delete mode 100644 libs/pingpp-java-2.1.9.jar create mode 100644 src/main/java/com/pingplusplus/model/BatchRefund.java create mode 100644 src/main/java/com/pingplusplus/model/BatchRefundCollection.java create mode 100644 src/main/java/com/pingplusplus/model/BatchTransfer.java create mode 100644 src/main/java/com/pingplusplus/model/BatchTransferCollection.java create mode 100644 src/main/java/com/pingplusplus/model/BatchTransferRecipient.java delete mode 100644 src/main/java/com/pingplusplus/model/Card.java delete mode 100644 src/main/java/com/pingplusplus/model/CardCollection.java delete mode 100644 src/main/java/com/pingplusplus/model/Customer.java delete mode 100644 src/main/java/com/pingplusplus/model/CustomerCollection.java create mode 100644 src/main/java/com/pingplusplus/model/Customs.java create mode 100644 src/main/java/com/pingplusplus/model/CustomsCollection.java delete mode 100644 src/main/java/com/pingplusplus/model/DeletedCard.java delete mode 100644 src/main/java/com/pingplusplus/model/DeletedCustomer.java delete mode 100644 src/main/java/com/pingplusplus/model/SMSCode.java delete mode 100644 src/main/java/com/pingplusplus/model/Token.java create mode 100644 src/main/java/com/pingplusplus/serializer/BatchTransferRecipientSerializer.java rename src/main/java/com/pingplusplus/{net => serializer}/ChargeDeserializer.java (98%) rename src/main/java/com/pingplusplus/{net => serializer}/ChargeRefundCollectionDeserializer.java (61%) rename src/main/java/com/pingplusplus/{net => serializer}/EventDataDeserializer.java (97%) rename src/main/java/com/pingplusplus/{net => serializer}/PingppRawJsonObjectDeserializer.java (94%) rename src/main/java/com/pingplusplus/{net => serializer}/RedEnvelopeDeserializer.java (97%) rename src/main/java/com/pingplusplus/{net => serializer}/TransferDeserializer.java (97%) diff --git a/CHANGELOG.md b/CHANGELOG.md index fae460d..5e4c265 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,73 +1,83 @@ +# ChangeLog + +## 2.2.0 +#### 新增 +- 添加 BatchRefund、BatchTransfer、Customs + +#### 修改 +- 签名生成规则变更 +- 列表查询接口换成 `list` 方法,代替 `all` 方法 + ## 2.1.9 -* 修改: -添加 RateLimitException -兼容 http 地址,仅为方便测试 +#### 修改 +- 添加 RateLimitException +- 兼容 http 地址,仅为方便测试 ## 2.1.8 -* 新增: -Identification 身份证银行卡接口 +#### 新增 +- Identification 身份证银行卡接口 ## 2.1.7 -* 修正: -RedEnvelope、Transfer 添加字段 +#### 修正 +- RedEnvelope、Transfer 添加字段 ## 2.1.6 -* 修正: -签名内容编码问题 +#### 修正 +- 签名内容编码问题 ## 2.1.5 -* 修改: -补充 RedEnvelope、Transfer 缺少字段 +#### 修改 +- 补充 RedEnvelope、Transfer 缺少字段 ## 2.1.4 -* 修改: -更改 content-type 为 application/json +#### 修改 +- 更改 content-type 为 application/json ## 2.1.3 -* 兼容两种微信公众号接入方式 +- 兼容两种微信公众号接入方式 ## 2.1.2 -* 补全确实字段 -* 修正 Event 解析 -* 修正部分字符 JSON 序列化问题 -* 添加请求签名 +- 补全确实字段 +- 修正 Event 解析 +- 修正部分字符 JSON 序列化问题 +- 添加请求签名 ## 2.1.1 -* 修正 extra 类型 -* 兼容 jdk 1.6 +- 修正 extra 类型 +- 兼容 jdk 1.6 ## 2.1.0 -* 添加应用内快捷支付对应接口 +- 添加应用内快捷支付对应接口 ## 2.0.10 -* 增加 Refund 对象 status 字段 +- 增加 Refund 对象 status 字段 ## 2.0.8 -* 增加 ChannelException +- 增加 ChannelException ## 2.0.6 -* 增加企业转账、修改红包接口 +- 增加企业转账、修改红包接口 ## 2.0.5 -* 增加 event sdk +- 增加 event sdk ## 2.0.4 -* 更改 sdk 目录格式,修复wx_pub渠道timeStamp 类型问题。 +- 更改 sdk 目录格式,修复wx_pub渠道timeStamp 类型问题。 ## 2.0.3 -* 增加 apple pay ,重写 getcredential 方法。 +- 增加 apple pay ,重写 getcredential 方法。 ## 2.0.2 -* 增加微信红包 +- 增加微信红包 ## 2.0.1 -* 更改: +#### 更改 修改 wx credential 里的 timeStamp 类型为字符串,防止变成科学计数法 ## 2.0.0 -* 更改: +#### 更改 添加新渠道支持:百付宝、百付宝WAP、微信公众平台 ## 1.0.4 -* 更改: +#### 更改: 添加 `Expanding` 机制 diff --git a/README.md b/README.md index 844d873..4f16db0 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.1.9 + 2.2.0 jar ``` @@ -52,7 +52,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.1.9' +compile 'Pingplusplus:pingpp-java:2.2.0' ``` ### 初始化 diff --git a/VERSION b/VERSION index 63a1a1c..ccbccc3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.1.9 +2.2.0 diff --git "a/docs/ping++_java_sdk_api_\346\226\207\346\241\243.md" "b/docs/ping++_java_sdk_api_\346\226\207\346\241\243.md" index 95e0d29..12a6b21 100644 --- "a/docs/ping++_java_sdk_api_\346\226\207\346\241\243.md" +++ "b/docs/ping++_java_sdk_api_\346\226\207\346\241\243.md" @@ -48,9 +48,9 @@ Charge charge = Charge.retrieve(CHARGE_ID); ##### 查询 Charge 列表 ``` java -all(Map params) +list(Map params) ``` -方法名:all +方法名:list 类型:静态方法 参数:Map 返回:ChargeCollection @@ -61,7 +61,7 @@ app.put("id", APP_ID); chargeParams.put("app", app); chargeParams.put("limit", 3); Map app = new HashMap(); -ChargeCollection charges = Charge.all(chargeParams); +ChargeCollection charges = Charge.list(chargeParams); System.out.println(charges); ``` @@ -98,9 +98,9 @@ Refund re = ch.getRefunds().retrieve(REFUND_ID); ##### 查询 Refund 列表 ``` java -all(Map params) +list(Map params) ``` -方法名:all +方法名:list 类型:实例方法 参数:Map 返回:RefundCollection @@ -109,7 +109,7 @@ all(Map params) Charge ch = Charge.retrieve(CHARGE_ID); Map refundParams = new HashMap(); refundParams.put("limit", 3); -Refund re = ch.getRefunds().all(refundParams); +Refund re = ch.getRefunds().list(refundParams); ``` #### RedEnvelope @@ -157,9 +157,9 @@ RedEnvelope redEnvelope = RedEnvelope.retrieve(RED_ID); ##### 查询 RedEnvelope 列表 ``` java -all(Map params) +list(Map params) ``` -方法名:all +方法名:list 类型:静态方法 参数:Map 返回:RedEnvelopeCollection @@ -168,7 +168,7 @@ all(Map params) RedEnvelopeCollection redEnvelopeCollection = null; Map chargeParams = new HashMap(); chargeParams.put("limit", 3); -RedEnvelopeCollection redEnvelopeCollection = RedEnvelope.all(chargeParams); +RedEnvelopeCollection redEnvelopeCollection = RedEnvelope.list(chargeParams); ``` #### Webhooks diff --git "a/docs/ping++_java_sdk_\344\275\277\347\224\250\346\226\207\346\241\243.md" "b/docs/ping++_java_sdk_\344\275\277\347\224\250\346\226\207\346\241\243.md" index 73769c5..fcb6041 100644 --- "a/docs/ping++_java_sdk_\344\275\277\347\224\250\346\226\207\346\241\243.md" +++ "b/docs/ping++_java_sdk_\344\275\277\347\224\250\346\226\207\346\241\243.md" @@ -12,7 +12,7 @@ #### 依赖包 gons-2.6.2.jar 或更高版本 - pingpp-java-2.1.9.jar 或更高版本 + pingpp-java-2.2.0.jar 或更高版本 #### 设置 apiKey diff --git a/example/SimpleExample/libs/pingpp-java-2.1.9.jar b/example/SimpleExample/libs/pingpp-java-2.1.9.jar deleted file mode 100644 index 6fd8066099dc16e199b91cf9f6d244a205ec484c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51025 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 diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/BatchTransferExample.java b/example/SimpleExample/src/main/java/com/pingxx/example/BatchTransferExample.java new file mode 100644 index 0000000..4f498fc --- /dev/null +++ b/example/SimpleExample/src/main/java/com/pingxx/example/BatchTransferExample.java @@ -0,0 +1,152 @@ +/* * + * Ping++ Server SDK + * 说明: + * 以下代码只是为了方便商户测试而提供的样例代码,商户可根据自己网站需求按照技术文档编写, 并非一定要使用该代码。 + * 接入企业付款流程参考开发者中心:https://www.pingxx.com/docs/server/transfer ,文档可筛选后端语言和接入渠道。 + * 该代码仅供学习和研究 Ping++ SDK 使用,仅供参考。 +*/ +package com.pingxx.example; + +import com.pingplusplus.exception.*; +import com.pingplusplus.model.BatchTransfer; +import com.pingplusplus.model.BatchTransferCollection; +import com.pingplusplus.model.Transfer; +import com.pingplusplus.model.TransferCollection; + +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * + * 该实例演示如何使用 Ping++ 进行批量转账。 + * + * 开发者需要填写 apiKey 和 appId , + * + * apiKey 有 TestKey 和 LiveKey 两种。 + * + * TestKey 模式下不会产生真实的交易。 + ** + */ +public class BatchTransferExample { + + private String appId; + + public static void runDemos(String appId) { + + BatchTransferExample batchTransferExample = new BatchTransferExample(appId); + System.out.println("------- 创建 BatchTransfer -------"); + BatchTransfer batchTransfer = batchTransferExample.create(); + System.out.println("------- 查询 BatchTransfer -------"); + batchTransferExample.retrieve(batchTransfer.getId()); + System.out.println("------- 查询 BatchTransfer 列表 -------"); + batchTransferExample.list(); + + } + + BatchTransferExample(String appId) { + this.appId = appId; + } + + /** + * 创建批量转账 + * + * 创建企业转账需要传递一个 map 给 BatchTransfer.create(); + * map 填写的具体介绍可以参考:https://www.pingxx.com/api + * + * @return + */ + public BatchTransfer create() { + BatchTransfer obj = null; + String orderNo = new SimpleDateFormat("yyyyMMddhhmmss").format(new Date()) + Main.randomString(7); + Map params = new HashMap(); + params.put("app", appId); + params.put("channel", "alipay"); // 目前支持 wx(新渠道)、 wx_pub + params.put("batch_no", orderNo); // 企业转账使用的商户内部订单号。wx(新渠道)、wx_pub 规定为 1 ~ 50 位不能重复的数字字母组合 + params.put("amount", 2000); // 订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100,企业付款最小发送金额为 1 元) + params.put("type", "b2c"); // 付款类型,当前仅支持 b2c 企业付款 + params.put("currency", "cny"); + params.put("description", "your description"); + List> recipients = new ArrayList>(); + + Map recipient = new HashMap(); + recipient.put("account", "user001@gmail.com"); + recipient.put("amount", 2000); + recipient.put("name", "NAME"); + recipients.add(recipient); + + params.put("recipients", recipients); + + + try { + obj = BatchTransfer.create(params); + System.out.println(obj); + } catch (AuthenticationException e) { + e.printStackTrace(); + } catch (InvalidRequestException e) { + e.printStackTrace(); + } catch (APIConnectionException e) { + e.printStackTrace(); + } catch (APIException e) { + e.printStackTrace(); + } catch (ChannelException e) { + e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); + } + return obj; + } + + /** + * 根据 ID 查询 + * + * 根据 ID 查询批量转账记录。 + * 参考文档:https://www.pingxx.com/api + * @param id + */ + public void retrieve(String id) { + try { + BatchTransfer obj = BatchTransfer.retrieve(id); + System.out.println(obj); + } catch (AuthenticationException e) { + e.printStackTrace(); + } catch (InvalidRequestException e) { + e.printStackTrace(); + } catch (APIConnectionException e) { + e.printStackTrace(); + } catch (APIException e) { + e.printStackTrace(); + } catch (ChannelException e) { + e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); + } + + } + + /** + * 查询列表 + * + * 查询批量转账记录列表,默认一次查询 10 条,用户可以使用 per_page 自定义查询数目,但是最多不超过 20 条。 + */ + public void list() { + Map parm = new HashMap(); + parm.put("per_page", 3); + + try { + BatchTransferCollection objs = BatchTransfer.list(parm); + System.out.println(objs); + } catch (AuthenticationException e) { + e.printStackTrace(); + } catch (InvalidRequestException e) { + e.printStackTrace(); + } catch (APIConnectionException e) { + e.printStackTrace(); + } catch (APIException e) { + e.printStackTrace(); + } catch (ChannelException e) { + e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); + } + } +} diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/ChargeExample.java b/example/SimpleExample/src/main/java/com/pingxx/example/ChargeExample.java index c328342..5d7197d 100644 --- a/example/SimpleExample/src/main/java/com/pingxx/example/ChargeExample.java +++ b/example/SimpleExample/src/main/java/com/pingxx/example/ChargeExample.java @@ -46,14 +46,14 @@ public static void runDemos(String appId) { System.out.println("------- 查询 charge -------"); chargeExample.retrieve(charge.getId()); System.out.println("------- 查询 charge 列表 -------"); - chargeExample.all(); + chargeExample.list(); } /** * 创建 Charge * * 创建 Charge 用户需要组装一个 map 对象作为参数传递给 Charge.create(); - * map 里面参数的具体说明请参考:https://pingxx.com/document/api#api-c-new + * map 里面参数的具体说明请参考:https://www.pingxx.com/api#api-c-new * @return Charge */ public Charge createCharge() { @@ -100,7 +100,7 @@ public Charge createCharge() { * 创建 Charge (微信公众号) * * 创建 Charge 用户需要组装一个 map 对象作为参数传递给 Charge.create(); - * map 里面参数的具体说明请参考:https://pingxx.com/document/api#api-c-new + * map 里面参数的具体说明请参考:https://www.pingxx.com/api#api-c-new * @return Charge */ public Charge createChargeWithOpenid(String openid) { @@ -137,10 +137,10 @@ public Charge createChargeWithOpenid(String openid) { * 查询 Charge * * 该接口根据 charge Id 查询对应的 charge 。 - * 参考文档:https://pingxx.com/document/api#api-c-inquiry + * 参考文档:https://www.pingxx.com/api#api-c-inquiry * * 该接口可以传递一个 expand , 返回的 charge 中的 app 会变成 app 对象。 - * 参考文档: https://pingxx.com/document/api#api-expanding + * 参考文档: https://www.pingxx.com/api#api-expanding * @param id */ public Charge retrieve(String id) { @@ -168,7 +168,7 @@ public Charge retrieve(String id) { * 该接口同样可以使用 expand 参数。 * @return chargeCollection */ - public ChargeCollection all() { + public ChargeCollection list() { ChargeCollection chargeCollection = null; Map params = new HashMap(); params.put("limit", 3); @@ -177,7 +177,7 @@ public ChargeCollection all() { params.put("app", app); try { - chargeCollection = Charge.all(params); + chargeCollection = Charge.list(params); System.out.println(chargeCollection); } catch (AuthenticationException e) { e.printStackTrace(); diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/CustomsExample.java b/example/SimpleExample/src/main/java/com/pingxx/example/CustomsExample.java new file mode 100644 index 0000000..54e82b2 --- /dev/null +++ b/example/SimpleExample/src/main/java/com/pingxx/example/CustomsExample.java @@ -0,0 +1,112 @@ +/** + * Ping++ Server SDK + * 说明: + * 以下代码只是为了方便商户测试而提供的样例代码,商户可根据自己网站需求按照技术文档编写, 并非一定要使用该代码。 + * 接入支付流程参考开发者中心:https://www.pingxx.com/docs/server/charge ,文档可筛选后端语言和接入渠道。 + * 该代码仅供学习和研究 Ping++ SDK 使用,仅供参考。 + */ +package com.pingxx.example; + +import com.pingplusplus.Pingpp; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.Charge; +import com.pingplusplus.model.ChargeCollection; +import com.pingplusplus.model.Customs; + +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/** + * Customs 对象相关示例 + * + * 该实例程序演示了如何从 Ping++ 服务器创建 customs ,查询 customs。 + * + * 开发者需要填写 apiKey 和 appId , + * + * apiKey 有 TestKey 和 LiveKey 两种。 + * + * 报关(customs)仅支持 Live 模式。 + */ +public class CustomsExample { + + private String appId; + + CustomsExample(String appId) { + this.appId = appId; + } + + public static void runDemos(String appId) { + CustomsExample example = new CustomsExample(appId); + System.out.println("------- 报关 customs 仅支持 live 模式 -------"); + +// System.out.println("------- 创建 customs -------"); +// Customs obj = example.createCustoms(); +// System.out.println("------- 查询 customs -------"); +// example.retrieve(obj.getId()); + } + + /** + * 创建 Customs + * + * 创建 Customs 用户需要组装一个 map 对象作为参数传递给 Customs.create(); + * map 里面参数的具体说明请参考:https://www.pingxx.com/api + * @return Charge + */ + public Customs createCustoms() { + Customs obj = null; + Map params = new HashMap(); + params.put("channel", "alipay"); + String orderNo = new Date().getTime() + Main.randomString(7); + params.put("trade_no", orderNo); // 8-20 位,要求数字或字母,不允许其他字符 + params.put("customs_code", "SHANGHAI"); // https://www.pingxx.com/api#海关编号说明 + params.put("amount", 10000); // 报关金额, 人民币单位:分(如金额为 100 元,此处请填 10000) + params.put("charge", ""); + params.put("app", appId); + Map extra = new HashMap(); + // 根据不同渠道传不同参数 + // extra.put("pay_account", ""); + // extra.put("certif_type", "01"); // https://www.pingxx.com/api#报关接口 + // extra.put("customer_name", ""); + // extra.put("certif_id", ""); + params.put("extra", extra); + + try { + //发起交易请求 + obj = Customs.create(params); + System.out.println(obj); + } catch (APIConnectionException e) { + e.printStackTrace(); + } catch (ChannelException e) { + e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); + } catch (AuthenticationException e) { + e.printStackTrace(); + } catch (APIException e) { + e.printStackTrace(); + } catch (InvalidRequestException e) { + e.printStackTrace(); + } + return obj; + } + + /** + * 查询 Customs + * + * 参考文档:https://www.pingxx.com/api + * + * @param id + */ + public Customs retrieve(String id) { + Customs obj = null; + try { + obj = Customs.retrieve(id); + System.out.println(obj); + } catch (PingppException e) { + e.printStackTrace(); + } + + return obj; + } +} diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/EventExample.java b/example/SimpleExample/src/main/java/com/pingxx/example/EventExample.java index 870b3e7..d22baff 100644 --- a/example/SimpleExample/src/main/java/com/pingxx/example/EventExample.java +++ b/example/SimpleExample/src/main/java/com/pingxx/example/EventExample.java @@ -14,7 +14,7 @@ /** * - * Event 事件参考文档:https://pingxx.com/document/api#api-event + * Event 事件参考文档:https://www.pingxx.com/api#api-event * * 该实例演示如何查询 Event * @@ -31,15 +31,13 @@ public static void runDemos() { String eventId = "evt_vTmGHwcHc842hWLRWNS4bwFM"; eventExample.retrieve(eventId); - System.out.println("------- 查询 event 列表 -------"); - eventExample.all(); } /** * 根据 ID 查询 Evnet * * 传递 Event 的 Id 查询 Event。 - * 参考文档:https://pingxx.com/document/api#api-event-inquiry + * 参考文档:https://www.pingxx.com/api#api-event-inquiry * @param id */ public void retrieve(String id) { @@ -71,36 +69,4 @@ public void retrieve(String id) { } } - - /** - * 批量查询 - * - * 该接口为批量查询接口,默认一次查询10条。 - * 用户可以通过添加 limit 参数自行设置查询数目,最多一次不能超过 100 条。 - * - */ - public void all() { - Map params = new HashMap(); - params.put("limit", 3); -// params.put("type", "charge.succeeded"); -// params.put("type", "refund.succeeded"); -// ... - try { - EventCollection eventCollection = Event.all(params); - System.out.println(eventCollection); - } catch (AuthenticationException e) { - e.printStackTrace(); - } catch (InvalidRequestException e) { - e.printStackTrace(); - } catch (APIConnectionException e) { - e.printStackTrace(); - } catch (APIException e) { - e.printStackTrace(); - } catch (ChannelException e) { - e.printStackTrace(); - } catch (RateLimitException e) { - e.printStackTrace(); - } - } - } diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/Main.java b/example/SimpleExample/src/main/java/com/pingxx/example/Main.java index e9a9c71..713ea40 100644 --- a/example/SimpleExample/src/main/java/com/pingxx/example/Main.java +++ b/example/SimpleExample/src/main/java/com/pingxx/example/Main.java @@ -1,8 +1,8 @@ package com.pingxx.example; import com.pingplusplus.Pingpp; +import com.pingplusplus.model.Customs; -import java.io.UnsupportedEncodingException; import java.math.BigInteger; import java.security.SecureRandom; @@ -46,6 +46,7 @@ public static void main(String[] args) throws Exception { "-----END RSA PRIVATE KEY-----\n"; */ + // Charge 示例 ChargeExample.runDemos(appId); @@ -69,6 +70,12 @@ public static void main(String[] args) throws Exception { // 身份证银行卡信息认证接口 IdentificationExample.runDemos(appId); + + // 批量付款示例 + BatchTransferExample.runDemos(appId); + + // 报关 + CustomsExample.runDemos(appId); } private static SecureRandom random = new SecureRandom(); @@ -77,4 +84,8 @@ public static String randomString(int length) { String str = new BigInteger(130, random).toString(32); return str.substring(0, length); } + + public static int currentTimeSeconds() { + return (int)(System.currentTimeMillis() / 1000); + } } diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/RedEnvelopeExample.java b/example/SimpleExample/src/main/java/com/pingxx/example/RedEnvelopeExample.java index 4b22349..1f8a130 100644 --- a/example/SimpleExample/src/main/java/com/pingxx/example/RedEnvelopeExample.java +++ b/example/SimpleExample/src/main/java/com/pingxx/example/RedEnvelopeExample.java @@ -49,14 +49,14 @@ public static void runDemos(String appId) { System.out.println("------- 查询 RedEnvelope -------"); redEnvelopeExample.retrieve(redEnvelope.getId()); System.out.println("------- 查询 RedEnvelope 列表 -------"); - redEnvelopeExample.all(); + redEnvelopeExample.list(); } /** * 创建红包 * * 创建红包需要传递一个 map 到 RedEnvelope.create(redenvelope) - * map 里面的具体参数参考:https://pingxx.com/document/api#api-e-new + * map 里面的具体参数参考:https://www.pingxx.com/api#api-e-new * @return */ public RedEnvelope create() { @@ -101,7 +101,7 @@ public RedEnvelope create() { * 查询红包 * * 根据红包的 ID 查询红包。 - * 参考文档:https://pingxx.com/document/api#api-e-inquiry + * 参考文档:https://www.pingxx.com/api#api-e-inquiry * @param id */ public void retrieve(String id) { @@ -128,12 +128,12 @@ public void retrieve(String id) { * * 批量查询接口,默认一次查询 10 条。用户可以通过 limit 自定义查询数目,最多不超过 100 条。 */ - public void all() { + public void list() { RedEnvelopeCollection redEnvelopeCollection = null; Map chargeParams = new HashMap(); chargeParams.put("limit", 3); try { - redEnvelopeCollection = RedEnvelope.all(chargeParams); + redEnvelopeCollection = RedEnvelope.list(chargeParams); System.out.println(redEnvelopeCollection); } catch (AuthenticationException e) { e.printStackTrace(); diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/RefundExample.java b/example/SimpleExample/src/main/java/com/pingxx/example/RefundExample.java index 07a3dd7..e6cb351 100644 --- a/example/SimpleExample/src/main/java/com/pingxx/example/RefundExample.java +++ b/example/SimpleExample/src/main/java/com/pingxx/example/RefundExample.java @@ -28,24 +28,10 @@ */ public class RefundExample { - private Charge charge; + private String charge; RefundExample(String chargeId) { - try { - this.charge = Charge.retrieve(chargeId); - } catch (AuthenticationException e) { - e.printStackTrace(); - } catch (InvalidRequestException e) { - e.printStackTrace(); - } catch (APIConnectionException e) { - e.printStackTrace(); - } catch (APIException e) { - e.printStackTrace(); - } catch (ChannelException e) { - e.printStackTrace(); - } catch (RateLimitException e) { - e.printStackTrace(); - } + this.charge = chargeId; } public static void runDemos() { @@ -53,10 +39,10 @@ public static void runDemos() { String chargeId = "ch_5CWrz5rnz9GS84arXHLiPOqL"; RefundExample refundExample = new RefundExample(chargeId); - System.out.println("------- 创建 refund -------"); - Refund refund = refundExample.refund(1); - System.out.println("------- 查询 refund -------"); - refundExample.retrieve(refund.getId()); +// System.out.println("------- 创建 refund -------"); +// Refund refund = refundExample.refund(1); +// System.out.println("------- 查询 refund -------"); +// refundExample.retrieve(refund.getId()); System.out.println("------- 查询 refund 列表 -------"); refundExample.all(); } @@ -65,7 +51,7 @@ public static void runDemos() { * 退款 * * 创建退款,需要先获得 charge ,然后调用 charge.getRefunds().create(); - * 参数具体说明参考:https://pingxx.com/document/api#api-r-new + * 参数具体说明参考:https://www.pingxx.com/api#api-r-new * * 可以一次退款,也可以分批退款。 * @@ -82,7 +68,7 @@ public Refund refund(Integer amount) { params.put("amount", amount);// 退款的金额, 单位为对应币种的最小货币单位,例如:人民币为分(如退款金额为 1 元,此处请填 100)。必须小于等于可退款金额,默认为全额退款 try { - refund = charge.getRefunds().create(params); + refund = Refund.create(this.charge, params); System.out.println(refund); } catch (AuthenticationException e) { e.printStackTrace(); @@ -93,7 +79,6 @@ public Refund refund(Integer amount) { } catch (APIException e) { e.printStackTrace(); } catch (ChannelException e) { - // TODO Auto-generated catch block e.printStackTrace(); } catch (RateLimitException e) { e.printStackTrace(); @@ -105,7 +90,7 @@ public Refund refund(Integer amount) { * 查询退款 * * 根据 Id 查询退款记录。需要传递 charge。 - * 参考文档:https://pingxx.com/document/api#api-r-inquiry + * 参考文档:https://www.pingxx.com/api#api-r-inquiry * * @param id */ @@ -114,7 +99,7 @@ public void retrieve(String id) { return; } try { - Refund refund = charge.getRefunds().retrieve(id); + Refund refund = Refund.retrieve(this.charge, id); System.out.println(refund); } catch (AuthenticationException e) { e.printStackTrace(); @@ -135,7 +120,7 @@ public void retrieve(String id) { * 分页查询退款 * * 批量查询退款。默认一次 10 条,用户可以通过 limit 自定义查询数目,但是最多不超过 100 条。 - * 参考文档:https://pingxx.com/document/api#api-r-list + * 参考文档:https://www.pingxx.com/api#api-r-list * */ public void all() { @@ -145,7 +130,7 @@ public void all() { Map refundParams = new HashMap(); refundParams.put("limit", 3); try { - ChargeRefundCollection refunds = charge.getRefunds().all(refundParams); + ChargeRefundCollection refunds = Refund.list(this.charge, refundParams); System.out.println(refunds); } catch (AuthenticationException e) { e.printStackTrace(); diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/TransferExample.java b/example/SimpleExample/src/main/java/com/pingxx/example/TransferExample.java index bd10de4..24a6b7e 100644 --- a/example/SimpleExample/src/main/java/com/pingxx/example/TransferExample.java +++ b/example/SimpleExample/src/main/java/com/pingxx/example/TransferExample.java @@ -46,7 +46,7 @@ public static void runDemos(String appId) { System.out.println("------- 查询 Transfer -------"); transferExample.retrieve(transfer.getId()); System.out.println("------- 查询 Transfer 列表 -------"); - transferExample.all(); + transferExample.list(); } @@ -58,7 +58,7 @@ public static void runDemos(String appId) { * 创建企业转账 * * 创建企业转账需要传递一个 map 给 Transfer.create(); - * map 填写的具体介绍可以参考:https://pingxx.com/document/api#api-t-new + * map 填写的具体介绍可以参考:https://www.pingxx.com/api#api-t-new * * @return */ @@ -100,7 +100,7 @@ public Transfer transfer() { * 根据 ID 查询 * * 根据 ID 查询企业转账记录。 - * 参考文档:https://pingxx.com/document/api#api-t-inquiry + * 参考文档:https://www.pingxx.com/api#api-t-inquiry * @param id */ public void retrieve(String id) { @@ -129,12 +129,12 @@ public void retrieve(String id) { * * 批量查询企业转账记录,默认一次查询 10 条,用户可以使用 limit 自定义查询数目,但是最多不超过 100 条。 */ - public void all() { + public void list() { Map parm = new HashMap(); parm.put("limit", 3); try { - TransferCollection transferCollection = Transfer.all(parm); + TransferCollection transferCollection = Transfer.list(parm); System.out.println(transferCollection); } catch (AuthenticationException e) { e.printStackTrace(); diff --git a/libs/pingpp-java-2.1.9.jar b/libs/pingpp-java-2.1.9.jar deleted file mode 100644 index 6fd8066099dc16e199b91cf9f6d244a205ec484c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51025 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 diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index 9df0354..94031fb 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,15 +11,16 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.1.9"; + public static final String VERSION = "2.2.0"; /** * api key */ public static volatile String apiKey; /** - * api version + * 该 AppID 目前仅对账户系统相关接口有效 */ - public static volatile String apiVersion = "2016-10-10"; + public static volatile String appId; + public static volatile String apiVersion; public static String AcceptLanguage = "zh-CN"; diff --git a/src/main/java/com/pingplusplus/model/BatchRefund.java b/src/main/java/com/pingplusplus/model/BatchRefund.java new file mode 100644 index 0000000..1e9235a --- /dev/null +++ b/src/main/java/com/pingplusplus/model/BatchRefund.java @@ -0,0 +1,171 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; + +import java.util.List; +import java.util.Map; + +public class BatchRefund extends APIResource { + String id; + String object; + String app; + String batchNo; + Long created; + String description; + Boolean livemode; + Map metadata; + List charges; + ChargeRefundCollection refunds; + String refundUrl; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public String getApp() { + return app; + } + + public void setApp(String app) { + this.app = app; + } + + public String getBatchNo() { + return batchNo; + } + + public void setBatchNo(String batchNo) { + this.batchNo = batchNo; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Map getMetadata() { + return metadata; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + public List getCharges() { + return charges; + } + + public void setCharges(List charges) { + this.charges = charges; + } + + public ChargeRefundCollection getRefunds() { + return refunds; + } + + public void setRefunds(ChargeRefundCollection refunds) { + this.refunds = refunds; + } + + public String getRefundUrl() { + return refundUrl; + } + + public void setRefundUrl(String refundUrl) { + this.refundUrl = refundUrl; + } + + /** + * @param clazz + * @return + */ + protected static String classURL(Class clazz) { + return apiBasePrefixedURL("/v1/batch_refunds"); + } + + /** + * 创建 batch_refund + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BatchRefund create(Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, classURL(BatchRefund.class), params, BatchRefund.class); + } + + /** + * 查询 batch_refund + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BatchRefund retrieve(String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, instanceURL(BatchRefund.class, id), null, BatchRefund.class); + } + + /** + * 查询 batch_refund 列表 + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BatchRefundCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, classURL(BatchRefund.class), params, BatchRefundCollection.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/BatchRefundCollection.java b/src/main/java/com/pingplusplus/model/BatchRefundCollection.java new file mode 100644 index 0000000..2d89805 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/BatchRefundCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class BatchRefundCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/BatchTransfer.java b/src/main/java/com/pingplusplus/model/BatchTransfer.java new file mode 100644 index 0000000..a6b75fc --- /dev/null +++ b/src/main/java/com/pingplusplus/model/BatchTransfer.java @@ -0,0 +1,234 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; + +import java.util.List; +import java.util.Map; + +public class BatchTransfer extends APIResource { + String id; + String object; + String app; + Integer amount; + String batchNo; + String channel; + String currency; + Long created; + String description; + Map extra; + String failureMsg; + Integer fee; + Boolean livemode; + Map metadata; + List recipients; + String status; + Long timeSucceeded; + String type; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public String getApp() { + return app; + } + + public void setApp(String app) { + this.app = app; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + public String getBatchNo() { + return batchNo; + } + + public void setBatchNo(String batchNo) { + this.batchNo = batchNo; + } + + public String getChannel() { + return channel; + } + + public void setChannel(String channel) { + this.channel = channel; + } + + public String getCurrency() { + return currency; + } + + public void setCurrency(String currency) { + this.currency = currency; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Map getExtra() { + return extra; + } + + public void setExtra(Map extra) { + this.extra = extra; + } + + public String getFailureMsg() { + return failureMsg; + } + + public void setFailureMsg(String failureMsg) { + this.failureMsg = failureMsg; + } + + public Integer getFee() { + return fee; + } + + public void setFee(Integer fee) { + this.fee = fee; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public Map getMetadata() { + return metadata; + } + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + public List getRecipients() { + return recipients; + } + + public void setRecipients(List recipients) { + this.recipients = recipients; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Long getTimeSucceeded() { + return timeSucceeded; + } + + public void setTimeSucceeded(Long timeSucceeded) { + this.timeSucceeded = timeSucceeded; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + /** + * @param clazz + * @return + */ + protected static String classURL(Class clazz) { + return apiBasePrefixedURL("/v1/batch_transfers"); + } + + /** + * 创建 batch_transfer + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BatchTransfer create(Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, classURL(BatchTransfer.class), params, BatchTransfer.class); + } + + /** + * 查询 batch_transfer + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BatchTransfer retrieve(String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, instanceURL(BatchTransfer.class, id), null, BatchTransfer.class); + } + + /** + * 查询 batch_transfer 列表 + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BatchTransferCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, classURL(BatchTransfer.class), params, BatchTransferCollection.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/BatchTransferCollection.java b/src/main/java/com/pingplusplus/model/BatchTransferCollection.java new file mode 100644 index 0000000..f9f5014 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/BatchTransferCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class BatchTransferCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/BatchTransferRecipient.java b/src/main/java/com/pingplusplus/model/BatchTransferRecipient.java new file mode 100644 index 0000000..07be21a --- /dev/null +++ b/src/main/java/com/pingplusplus/model/BatchTransferRecipient.java @@ -0,0 +1,79 @@ +package com.pingplusplus.model; + +/** + * Created by Afon on 16/11/05. + */ +public class BatchTransferRecipient extends PingppObject { + String account; + Integer amount; + String name; + String description; + String transfer; + String status; + String openBankCode; + String openBank; + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getTransfer() { + return transfer; + } + + public void setTransfer(String transfer) { + this.transfer = transfer; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getOpenBankCode() { + return openBankCode; + } + + public void setOpenBankCode(String openBankCode) { + this.openBankCode = openBankCode; + } + + public String getOpenBank() { + return openBank; + } + + public void setOpenBank(String openBank) { + this.openBank = openBankCode; + } +} diff --git a/src/main/java/com/pingplusplus/model/Card.java b/src/main/java/com/pingplusplus/model/Card.java deleted file mode 100644 index 32a6766..0000000 --- a/src/main/java/com/pingplusplus/model/Card.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.pingplusplus.model; - -import com.pingplusplus.exception.*; -import com.pingplusplus.net.APIResource; - -import java.util.Map; - -/** - * Created by sunkai on 15/9/21. - */ -public class Card extends APIResource { - private String id; - private String object; - private Long created; - private String last4; - private String funding; - private String brand; - private String bank; - private String customer; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getObject() { - return object; - } - - public void setObject(String object) { - this.object = object; - } - - public Long getCreated() { - return created; - } - - public void setCreated(Long created) { - this.created = created; - } - - public String getLast4() { - return last4; - } - - public void setLast4(String last4) { - this.last4 = last4; - } - - public String getFunding() { - return funding; - } - - public void setFunding(String funding) { - this.funding = funding; - } - - public String getBrand() { - return brand; - } - - public void setBrand(String brand) { - this.brand = brand; - } - - public String getBank() { - return bank; - } - - public void setBank(String bank) { - this.bank = bank; - } - - public String getCustomer() { - return customer; - } - - public void setCustomer(String customer) { - this.customer = customer; - } - - public DeletedCard delete() throws ChannelException, APIException, - AuthenticationException, InvalidRequestException, - APIConnectionException, RateLimitException { - return request(RequestMethod.DELETE, this.getInstanceURL(), null, DeletedCard.class); - } - - public static Card retrieve(String customerId, String id) throws AuthenticationException, - InvalidRequestException, APIConnectionException, - APIException, ChannelException, RateLimitException { - String url = instanceURL(Customer.class, customerId) + "/sources/" + id; - return request(APIResource.RequestMethod.GET, url, null, Card.class); - } - - public String getInstanceURL() { - if (this.getCustomer() != null) { - return String.format("%s/%s/sources/%s", classURL(Customer.class), this.getCustomer(), this.getId()); - } else { - return null; - } - } -} diff --git a/src/main/java/com/pingplusplus/model/CardCollection.java b/src/main/java/com/pingplusplus/model/CardCollection.java deleted file mode 100644 index fba0266..0000000 --- a/src/main/java/com/pingplusplus/model/CardCollection.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.pingplusplus.model; - -import com.pingplusplus.Pingpp; -import com.pingplusplus.exception.*; - -import java.util.Map; - -public class CardCollection extends PingppCollectionAPIResource { - - public Card retrieve(String id) throws AuthenticationException, - InvalidRequestException, APIConnectionException, - APIException, ChannelException, RateLimitException { - String url = String.format("%s%s/%s", Pingpp.getApiBase(), this.getURL(), id); - return request(RequestMethod.GET, url, null, Card.class); - } - - public CardCollection all(Map params) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - - String url = String.format("%s%s", Pingpp.getApiBase(), this.getURL()); - return request(RequestMethod.GET, url, params, CardCollection.class); - } - - public Card create(Map params) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - - String url = String.format("%s%s", Pingpp.getApiBase(), this.getURL()); - return request(RequestMethod.POST, url, params, Card.class); - } -} diff --git a/src/main/java/com/pingplusplus/model/Charge.java b/src/main/java/com/pingplusplus/model/Charge.java index 8d66aaa..651fa8e 100644 --- a/src/main/java/com/pingplusplus/model/Charge.java +++ b/src/main/java/com/pingplusplus/model/Charge.java @@ -29,7 +29,7 @@ public class Charge extends APIResource { Integer amountRefunded; String failureCode; String failureMsg; - Map metadata; + Map metadata; Map credential; Map extra; String description; @@ -147,19 +147,14 @@ public void setObject(String object) { } public ChargeRefundCollection getRefunds() { - // API versions 2014-05-19 and earlier render charge refunds as an array - // instead of an object, meaning there is no sublist URL. - if (refunds.getURL() == null) { - refunds.setURL(String.format("/v1/charges/%s/refunds", getId())); - } return refunds; } - public Map getMetadata() { + public Map getMetadata() { return metadata; } - public void setMetadata(Map metadata) { + public void setMetadata(Map metadata) { this.metadata = metadata; } @@ -262,6 +257,7 @@ public void setTimeSettle(Long timeSettle) { * @throws APIConnectionException * @throws APIException * @throws ChannelException + * @throws RateLimitException */ public static Charge create(Map params) throws AuthenticationException, InvalidRequestException, @@ -279,6 +275,7 @@ public static Charge create(Map params) * @throws APIConnectionException * @throws APIException * @throws ChannelException + * @throws RateLimitException */ public static Charge retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, @@ -297,6 +294,7 @@ public static Charge retrieve(String id) throws AuthenticationException, * @throws APIConnectionException * @throws APIException * @throws ChannelException + * @throws RateLimitException */ public static Charge retrieve(String id, Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, @@ -305,7 +303,7 @@ public static Charge retrieve(String id, Map params) throws Auth } /** - * 查询 charge + * 查询 charge 列表 * * @param params * @return @@ -314,11 +312,19 @@ public static Charge retrieve(String id, Map params) throws Auth * @throws APIConnectionException * @throws APIException * @throws ChannelException + * @throws RateLimitException */ - public static ChargeCollection all(Map params) + public static ChargeCollection list(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, classURL(Charge.class), params, ChargeCollection.class); } + @Deprecated + public static ChargeCollection all(Map params) + throws RateLimitException, APIException, ChannelException, + InvalidRequestException, APIConnectionException, AuthenticationException { + return list(params); + } + } diff --git a/src/main/java/com/pingplusplus/model/ChargeRefundCollection.java b/src/main/java/com/pingplusplus/model/ChargeRefundCollection.java index dd61cd5..8dc19c5 100644 --- a/src/main/java/com/pingplusplus/model/ChargeRefundCollection.java +++ b/src/main/java/com/pingplusplus/model/ChargeRefundCollection.java @@ -7,7 +7,7 @@ public class ChargeRefundCollection extends PingppCollectionAPIResource { - public ChargeRefundCollection all(Map params) + public ChargeRefundCollection list(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { @@ -15,6 +15,13 @@ public ChargeRefundCollection all(Map params) return request(RequestMethod.GET, url, params, ChargeRefundCollection.class); } + @Deprecated + public ChargeRefundCollection all(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return list(params); + } + public Refund retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { diff --git a/src/main/java/com/pingplusplus/model/Customer.java b/src/main/java/com/pingplusplus/model/Customer.java deleted file mode 100644 index d571ec2..0000000 --- a/src/main/java/com/pingplusplus/model/Customer.java +++ /dev/null @@ -1,150 +0,0 @@ -package com.pingplusplus.model; - -import com.pingplusplus.exception.*; -import com.pingplusplus.net.APIResource; - -import java.util.Map; - -/** - * Created by sunkai on 15/9/21. - */ -public class Customer extends APIResource { - private String id; - private String object; - private Long created; - private Boolean livemode; - private Object app; - private String name; - private String email; - private String currency; - private String description; - private Map metadata; - private CardCollection sources; - private String defaultSource; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getObject() { - return object; - } - - public void setObject(String object) { - this.object = object; - } - - public Long getCreated() { - return created; - } - - public void setCreated(Long created) { - this.created = created; - } - - public Boolean getLivemode() { - return livemode; - } - - public void setLivemode(Boolean livemode) { - this.livemode = livemode; - } - - public Object getApp() { - return app; - } - - public void setApp(Object app) { - this.app = app; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - public String getCurrency() { - return currency; - } - - public void setCurrency(String currency) { - this.currency = currency; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public Map getMetadata() { - return metadata; - } - - public void setMetadata(Map metadata) { - this.metadata = metadata; - } - - public CardCollection getSources() { - return sources; - } - - public void setSources(CardCollection sources) { - this.sources = sources; - } - - public String getDefaultSource() { - return defaultSource; - } - - public void setDefaultSource(String defaultSource) { - this.defaultSource = defaultSource; - } - - public static Customer create(Map params) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.POST, classURL(Customer.class), params, Customer.class); - } - - public Customer update(Map params) throws ChannelException, - APIException, AuthenticationException, InvalidRequestException, - APIConnectionException, RateLimitException { - return request(RequestMethod.PUT, instanceURL(Customer.class, this.id), params, Customer.class); - } - - public DeletedCustomer delete() throws ChannelException, APIException, - AuthenticationException, InvalidRequestException, - APIConnectionException, RateLimitException { - return request(RequestMethod.DELETE, instanceURL(Customer.class, this.id), null, DeletedCustomer.class); - } - - public static Customer retrieve(String id) throws AuthenticationException, - InvalidRequestException, APIConnectionException, - APIException, ChannelException, RateLimitException { - return request(RequestMethod.GET, instanceURL(Customer.class, id), null, Customer.class); - } - - public static CustomerCollection all(Map params) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.GET, classURL(Customer.class), params, CustomerCollection.class); - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } -} diff --git a/src/main/java/com/pingplusplus/model/CustomerCollection.java b/src/main/java/com/pingplusplus/model/CustomerCollection.java deleted file mode 100644 index 75cc88f..0000000 --- a/src/main/java/com/pingplusplus/model/CustomerCollection.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.pingplusplus.model; - -public class CustomerCollection extends PingppCollection { -} diff --git a/src/main/java/com/pingplusplus/model/Customs.java b/src/main/java/com/pingplusplus/model/Customs.java new file mode 100644 index 0000000..f6f4635 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/Customs.java @@ -0,0 +1,226 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; + +import java.util.Map; + +public class Customs extends APIResource { + String id; + String object; + Long created; + Object app; + String channel; + String tradeNo; + String customsCode; + Integer amount; + String charge; + Integer transportAmount; + Boolean isSplit; + String subOrderNo; + Map extra; + Long timeSucceeded; + String status; + String failureCode; + String failureMsg; + String transactionNo; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public Object getApp() { + return app; + } + + public void setApp(Object app) { + this.app = app; + } + + public String getChannel() { + return channel; + } + + public void setChannel(String channel) { + this.channel = channel; + } + + public String getTradeNo() { + return tradeNo; + } + + public void setTradeNo(String tradeNo) { + this.tradeNo = tradeNo; + } + + public String getCustomsCode() { + return customsCode; + } + + public void setCustomsCode(String customsCode) { + this.customsCode = customsCode; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + public String getCharge() { + return charge; + } + + public void setCharge(String charge) { + this.charge = charge; + } + + public Integer getTransportAmount() { + return transportAmount; + } + + public void setTransportAmount(Integer transportAmount) { + this.transportAmount = transportAmount; + } + + public Boolean getSplit() { + return isSplit; + } + + public void setSplit(Boolean split) { + isSplit = split; + } + + public String getSubOrderNo() { + return subOrderNo; + } + + public void setSubOrderNo(String subOrderNo) { + this.subOrderNo = subOrderNo; + } + + public Map getExtra() { + return extra; + } + + public void setExtra(Map extra) { + this.extra = extra; + } + + public Long getTimeSucceeded() { + return timeSucceeded; + } + + public void setTimeSucceeded(Long timeSucceeded) { + this.timeSucceeded = timeSucceeded; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getFailureCode() { + return failureCode; + } + + public void setFailureCode(String failureCode) { + this.failureCode = failureCode; + } + + public String getFailureMsg() { + return failureMsg; + } + + public void setFailureMsg(String failureMsg) { + this.failureMsg = failureMsg; + } + + public String getTransactionNo() { + return transactionNo; + } + + public void setTransactionNo(String transactionNo) { + this.transactionNo = transactionNo; + } + + /** + * 创建 customs + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Customs create(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, classURL(Customs.class), params, Customs.class); + } + + /** + * 查询 customs + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Customs retrieve(String id) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, instanceURL(Customs.class, id), null, Customs.class); + } + + /** + * 查询 customs 列表 + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static CustomsCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, classURL(Customs.class), params, CustomsCollection.class); + } + +} diff --git a/src/main/java/com/pingplusplus/model/CustomsCollection.java b/src/main/java/com/pingplusplus/model/CustomsCollection.java new file mode 100644 index 0000000..7005866 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/CustomsCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class CustomsCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/DeletedCard.java b/src/main/java/com/pingplusplus/model/DeletedCard.java deleted file mode 100644 index b57fef6..0000000 --- a/src/main/java/com/pingplusplus/model/DeletedCard.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.pingplusplus.model; - -/** - * Created by Afon on 15/12/23. - */ -public class DeletedCard extends PingppObject implements DeletedPingppObject { - String id; - Boolean deleted; - - public String getId() { - return id; - } - public void setId(String id) { - this.id = id; - } - public Boolean getDeleted() { - return deleted; - } - public void setDeleted(Boolean deleted) { - this.deleted = deleted; - } -} diff --git a/src/main/java/com/pingplusplus/model/DeletedCustomer.java b/src/main/java/com/pingplusplus/model/DeletedCustomer.java deleted file mode 100644 index e2e6f07..0000000 --- a/src/main/java/com/pingplusplus/model/DeletedCustomer.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.pingplusplus.model; - -/** - * Created by Afon on 15/12/23. - */ -public class DeletedCustomer extends PingppObject implements DeletedPingppObject { - String id; - Boolean deleted; - - public String getId() { - return id; - } - public void setId(String id) { - this.id = id; - } - public Boolean getDeleted() { - return deleted; - } - public void setDeleted(Boolean deleted) { - this.deleted = deleted; - } -} diff --git a/src/main/java/com/pingplusplus/model/Event.java b/src/main/java/com/pingplusplus/model/Event.java index e9d9c3d..fbfc39a 100644 --- a/src/main/java/com/pingplusplus/model/Event.java +++ b/src/main/java/com/pingplusplus/model/Event.java @@ -117,22 +117,4 @@ public static Event retrieve(String id, Map params) throws Authe APIException, ChannelException, RateLimitException { return request(APIResource.RequestMethod.GET, instanceURL(Event.class, id), params, Event.class); } - - /** - * 查询 Event - * - * @param params - * @return - * @throws AuthenticationException - * @throws InvalidRequestException - * @throws APIConnectionException - * @throws APIException - * @throws ChannelException - */ - public static EventCollection all(Map params) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - return request(APIResource.RequestMethod.GET, classURL(Event.class), params, EventCollection.class); - } - } diff --git a/src/main/java/com/pingplusplus/model/Notify.java b/src/main/java/com/pingplusplus/model/Notify.java index 3d26dc5..0969384 100644 --- a/src/main/java/com/pingplusplus/model/Notify.java +++ b/src/main/java/com/pingplusplus/model/Notify.java @@ -10,6 +10,7 @@ class InnerObject { String object; } + @Deprecated public static Object parseNotify(String notifyJson) { InnerObject innerObject; diff --git a/src/main/java/com/pingplusplus/model/PingppObject.java b/src/main/java/com/pingplusplus/model/PingppObject.java index 5a47b45..42d51f7 100644 --- a/src/main/java/com/pingplusplus/model/PingppObject.java +++ b/src/main/java/com/pingplusplus/model/PingppObject.java @@ -3,17 +3,17 @@ import com.google.gson.FieldNamingPolicy; import com.google.gson.Gson; import com.google.gson.GsonBuilder; - -import java.lang.reflect.Field; +import com.pingplusplus.serializer.BatchTransferRecipientSerializer; public abstract class PingppObject { - public static final Gson PRETTY_PRINT_GSON = new GsonBuilder(). - setPrettyPrinting(). - serializeNulls(). - setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES). - disableHtmlEscaping(). - create(); + public static final Gson PRETTY_PRINT_GSON = new GsonBuilder() + .setPrettyPrinting() + .serializeNulls() + .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) + .disableHtmlEscaping() + .registerTypeAdapter(BatchTransferRecipientSerializer.class, new BatchTransferRecipientSerializer()) + .create(); @Override public String toString() { diff --git a/src/main/java/com/pingplusplus/model/RedEnvelope.java b/src/main/java/com/pingplusplus/model/RedEnvelope.java index ee13370..15ff476 100644 --- a/src/main/java/com/pingplusplus/model/RedEnvelope.java +++ b/src/main/java/com/pingplusplus/model/RedEnvelope.java @@ -286,10 +286,16 @@ public static RedEnvelope retrieve(String id, Map params) throws * @throws APIException * @throws ChannelException */ - public static RedEnvelopeCollection all(Map params) + public static RedEnvelopeCollection list(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, classURL(RedEnvelope.class), params, RedEnvelopeCollection.class); } + @Deprecated + public static RedEnvelopeCollection all(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return list(params); + } } diff --git a/src/main/java/com/pingplusplus/model/Refund.java b/src/main/java/com/pingplusplus/model/Refund.java index f7250a1..0c9a142 100644 --- a/src/main/java/com/pingplusplus/model/Refund.java +++ b/src/main/java/com/pingplusplus/model/Refund.java @@ -5,53 +5,42 @@ import java.util.Map; -public class Refund extends APIResource /*implements MetadataStore*/ { +public class Refund extends APIResource { String id; String object; String orderNo; Integer amount; Long created; Boolean succeed; - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public void setId(String id) { - this.id = id; - } - String status; Long timeSucceed; String description; String failureCode; String failureMsg; - Map metadata; + Map metadata; String charge; + String chargeOrderNo; + String transactionNo; + String fundingSource; - public Refund update(Map params) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - return update(params, null); - } - - public Refund update(Map params, String apiKey) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.POST, this.getInstanceURL(), params, Refund.class); - } - - public String getInstanceURL() { + public String getInstanceURL() throws InvalidRequestException { if (this.charge != null) { return String.format("%s/%s/refunds/%s", classURL(Charge.class), this.charge, this.getId()); } return null; } + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public void setId(String id) { + this.id = id; + } public String getId() { return id; } @@ -136,11 +125,95 @@ public void setObject(String object) { this.object = object; } - public Map getMetadata() { + public Map getMetadata() { return metadata; } - public void setMetadata(Map metadata) { + public void setMetadata(Map metadata) { this.metadata = metadata; } + + public String getChargeOrderNo() { + return chargeOrderNo; + } + + public void setChargeOrderNo(String chargeOrderNo) { + this.chargeOrderNo = chargeOrderNo; + } + + public String getTransactionNo() { + return transactionNo; + } + + public void setTransactionNo(String transactionNo) { + this.transactionNo = transactionNo; + } + + public String getFundingSource() { + return fundingSource; + } + + public void setFundingSource(String fundingSource) { + this.fundingSource = fundingSource; + } + + /** + * 创建 refund + * + * @param charge + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Refund create(String charge, Map params) + throws AuthenticationException, InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, String.format("%s/refunds", instanceURL(Charge.class, charge)), + params, Refund.class); + } + + /** + * 查询 refund + * + * @param charge + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Refund retrieve(String charge, String id) + throws AuthenticationException, InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, String.format("%s/refunds/%s", instanceURL(Charge.class, charge), id), + null, Refund.class); + } + + /** + * 查询 refund 列表 + * + * @param charge + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static ChargeRefundCollection list(String charge, Mapparams) + throws AuthenticationException, InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, String.format("%s/refunds", instanceURL(Charge.class, charge)), + params, ChargeRefundCollection.class); + } } diff --git a/src/main/java/com/pingplusplus/model/SMSCode.java b/src/main/java/com/pingplusplus/model/SMSCode.java deleted file mode 100644 index 4b14a82..0000000 --- a/src/main/java/com/pingplusplus/model/SMSCode.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.pingplusplus.model; - -import com.pingplusplus.exception.*; -import com.pingplusplus.net.APIResource; - -/** - * Created by sunkai on 15/9/21. - */ -public class SMSCode extends APIResource { - private String id; - private String object; - private Long created; - private Boolean validated; - private String source; - private String code; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getObject() { - return object; - } - - public void setObject(String object) { - this.object = object; - } - - public Long getCreated() { - return created; - } - - public void setCreated(Long created) { - this.created = created; - } - - public Boolean getValidated() { - return validated; - } - - public void setValidated(Boolean validated) { - this.validated = validated; - } - - public String getSource() { - return source; - } - - public void setSource(String source) { - this.source = source; - } - - public String getCode() { - return code; - } - - public void setCode(String code) { - this.code = code; - } - - public static SMSCode retrieve(String id) throws AuthenticationException, - InvalidRequestException, APIConnectionException, - APIException, ChannelException, RateLimitException { - return request(APIResource.RequestMethod.GET, instanceURL(SMSCode.class, id), null, SMSCode.class); - } -} diff --git a/src/main/java/com/pingplusplus/model/Token.java b/src/main/java/com/pingplusplus/model/Token.java deleted file mode 100644 index 9cd38b8..0000000 --- a/src/main/java/com/pingplusplus/model/Token.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.pingplusplus.model; - -import com.pingplusplus.exception.*; -import com.pingplusplus.net.APIResource; - -import java.util.Map; - -/** - * Created by sunkai on 15/9/21. - */ -public class Token extends APIResource { - private String id; - private String object; - private Long created; - private Boolean livemode; - private Boolean used; - private Long timeUsed; - private String type; - private Card card; - private SMSCode smsCode; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getObject() { - return object; - } - - public void setObject(String object) { - this.object = object; - } - - public Long getCreated() { - return created; - } - - public void setCreated(Long created) { - this.created = created; - } - - public Boolean getLivemode() { - return livemode; - } - - public void setLivemode(Boolean livemode) { - this.livemode = livemode; - } - - public Boolean getUsed() { - return used; - } - - public void setUsed(Boolean used) { - this.used = used; - } - - public Long getTimeUsed() { - return timeUsed; - } - - public void setTimeUsed(Long timeUsed) { - this.timeUsed = timeUsed; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public Card getCard() { - return card; - } - - public void setCard(Card card) { - this.card = card; - } - - public SMSCode getSmsCode() { - return smsCode; - } - - public void setSmsCode(SMSCode smsCode) { - this.smsCode = smsCode; - } - - public static Token create(Map params) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - return request(APIResource.RequestMethod.POST, classURL(Token.class), params, Token.class); - } - - public static Token retrieve(String id) throws AuthenticationException, - InvalidRequestException, APIConnectionException, - APIException, ChannelException, RateLimitException { - return request(RequestMethod.GET, instanceURL(Token.class, id), null, Token.class); - } -} diff --git a/src/main/java/com/pingplusplus/model/Transfer.java b/src/main/java/com/pingplusplus/model/Transfer.java index 57d6015..984584b 100644 --- a/src/main/java/com/pingplusplus/model/Transfer.java +++ b/src/main/java/com/pingplusplus/model/Transfer.java @@ -7,6 +7,7 @@ import com.pingplusplus.exception.*; import com.pingplusplus.net.APIResource; +import java.util.HashMap; import java.util.Map; /** @@ -237,18 +238,59 @@ public static Transfer retrieve(String id, Map params) throws Au /** * 查询 Transfer - * @param params - * @return + * @param params 分页参数等 + * @return TransferCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException * @throws APIException * @throws ChannelException */ - public static TransferCollection all(Map params) + public static TransferCollection list(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, classURL(Transfer.class), params, TransferCollection.class); } + @Deprecated + public static TransferCollection all(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return list(params); + } + + /** + * 更新 Transfer + * @param id transfer id + * @param params 更新参数 + * @return TransferCollection + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + */ + public static Transfer update(String id, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.PUT, instanceURL(Transfer.class, id), params, Transfer.class); + } + + /** + * 撤销/取消 Transfer + * @param id transfer id + * @return TransferCollection + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + */ + public static Transfer cancel(String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + Map params = new HashMap(); + params.put("status", "canceled"); + return update(id, params); + } } diff --git a/src/main/java/com/pingplusplus/net/APIResource.java b/src/main/java/com/pingplusplus/net/APIResource.java index 8918afc..e82bf1a 100644 --- a/src/main/java/com/pingplusplus/net/APIResource.java +++ b/src/main/java/com/pingplusplus/net/APIResource.java @@ -7,6 +7,7 @@ import com.pingplusplus.exception.*; import com.pingplusplus.exception.InvalidRequestException; import com.pingplusplus.model.*; +import com.pingplusplus.serializer.*; import org.apache.commons.codec.binary.Base64; import sun.security.util.DerInputStream; import sun.security.util.DerValue; @@ -18,11 +19,7 @@ import java.net.URLEncoder; import java.security.*; import java.security.spec.*; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Scanner; +import java.util.*; import javax.net.ssl.HttpsURLConnection; @@ -35,6 +32,10 @@ public abstract class APIResource extends PingppObject { */ public static final String CHARSET = "UTF-8"; + private static final String REQUEST_TIME_KEY = "Pingplusplus-Request-Timestamp"; + + public static int CONNECT_TIMEOUT = 30; + public static int READ_TIMEOUT = 80; /** * Http requset method @@ -60,14 +61,17 @@ protected enum RequestMethod { * @param clazz * @return */ - private static String className(Class clazz) { + protected static String className(Class clazz) { String className = clazz.getSimpleName().toLowerCase().replace("$", " "); if (className.equals("redenvelope")) { return "red_envelope"; - } - if (className.equals("smscode")) { - return "sms_code"; + } else if (className.equals("batchrefund")) { + return "batch_refund"; + } else if (className.equals("batchtransfer")) { + return "batch_transfer"; + } else if (className.equals("customs")) { + return "custom"; } else { return className; } @@ -77,7 +81,7 @@ private static String className(Class clazz) { * @param clazz * @return */ - protected static String singleClassURL(Class clazz) { + protected static String singleClassURL(Class clazz) throws InvalidRequestException { return String.format("%s/v1/%s", Pingpp.getApiBase(), className(clazz)); } @@ -85,7 +89,7 @@ protected static String singleClassURL(Class clazz) { * @param clazz * @return */ - protected static String classURL(Class clazz) { + protected static String classURL(Class clazz) throws InvalidRequestException { return String.format("%ss", singleClassURL(clazz)); } @@ -103,13 +107,16 @@ protected static String instanceURL(Class clazz, String id) throws InvalidReq } } + protected static String apiBasePrefixedURL(String url) { + return String.format("%s%s", Pingpp.getApiBase(), url); + } /** * @param str * @return * @throws UnsupportedEncodingException */ - private static String urlEncode(String str) throws UnsupportedEncodingException { + protected static String urlEncode(String str) throws UnsupportedEncodingException { if (str == null) { return null; } else { @@ -171,8 +178,7 @@ static Map getHeaders(String apiKey) { */ private static java.net.HttpURLConnection createPingppConnection( String url, String apiKey) throws IOException { - URL pingppURL = null; - pingppURL = new URL(url); + URL pingppURL = new URL(url); HttpURLConnection conn; if (pingppURL.getProtocol().equals("https")) { conn = (HttpsURLConnection) pingppURL.openConnection(); @@ -180,8 +186,8 @@ private static java.net.HttpURLConnection createPingppConnection( conn = (HttpURLConnection) pingppURL.openConnection(); } - conn.setConnectTimeout(30 * 1000); - conn.setReadTimeout(80 * 1000); + conn.setConnectTimeout(CONNECT_TIMEOUT * 1000); + conn.setReadTimeout(READ_TIMEOUT * 1000); conn.setUseCaches(false); for (Map.Entry header : getHeaders(apiKey).entrySet()) { conn.setRequestProperty(header.getKey(), header.getValue()); @@ -227,6 +233,14 @@ private static java.net.HttpURLConnection createGetConnection( apiKey); conn.setRequestMethod("GET"); + String requestTime = currentTimeString(); + String stringToBeSigned = getRequestURIFromURL(conn.getURL()) + requestTime; + conn.setRequestProperty(REQUEST_TIME_KEY, requestTime); + String signature = generateSign(stringToBeSigned); + if (signature != null) { + conn.setRequestProperty("Pingplusplus-Signature", signature); + } + return conn; } @@ -237,6 +251,14 @@ private static java.net.HttpURLConnection createDeleteConnection( apiKey); conn.setRequestMethod("DELETE"); + String requestTime = currentTimeString(); + String stringToBeSigned = getRequestURIFromURL(conn.getURL()) + requestTime; + conn.setRequestProperty(REQUEST_TIME_KEY, requestTime); + String signature = generateSign(stringToBeSigned); + if (signature != null) { + conn.setRequestProperty("Pingplusplus-Signature", signature); + } + return conn; } @@ -257,10 +279,17 @@ private static java.net.HttpURLConnection createPostConnection( conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", String.format( "application/json;charset=%s", CHARSET)); - String signature = generateSign(query); + + String stringToBeSigned = query; + stringToBeSigned += getRequestURIFromURL(conn.getURL()); + String requestTime = currentTimeString(); + stringToBeSigned += requestTime; + + String signature = generateSign(stringToBeSigned); if (signature != null) { conn.setRequestProperty("Pingplusplus-Signature", signature); } + conn.setRequestProperty(REQUEST_TIME_KEY, requestTime); OutputStream output = null; try { @@ -291,10 +320,17 @@ private static java.net.HttpURLConnection createPutConnection( conn.setRequestMethod("PUT"); conn.setRequestProperty("Content-Type", String.format( "application/json;charset=%s", CHARSET)); - String signature = generateSign(query); + + String stringToBeSigned = query; + stringToBeSigned += getRequestURIFromURL(conn.getURL()); + String requestTime = currentTimeString(); + stringToBeSigned += requestTime; + + String signature = generateSign(stringToBeSigned); if (signature != null) { conn.setRequestProperty("Pingplusplus-Signature", signature); } + conn.setRequestProperty(REQUEST_TIME_KEY, requestTime); OutputStream output = null; try { @@ -514,7 +550,6 @@ protected static T request(APIResource.RequestMethod method, String url, Map } String query = null; - switch (method) { case GET: case DELETE: @@ -640,4 +675,18 @@ private static String generateSign(String data) return null; } + + private static String currentTimeString() { + Integer requestTime = (int) (System.currentTimeMillis() / 1000); + return requestTime.toString(); + } + + private static String getRequestURIFromURL(URL url) { + String path = url.getPath(); + String query = url.getQuery(); + if (query == null) { + return path; + } + return path + "?" + query; + } } diff --git a/src/main/java/com/pingplusplus/serializer/BatchTransferRecipientSerializer.java b/src/main/java/com/pingplusplus/serializer/BatchTransferRecipientSerializer.java new file mode 100644 index 0000000..8676b15 --- /dev/null +++ b/src/main/java/com/pingplusplus/serializer/BatchTransferRecipientSerializer.java @@ -0,0 +1,21 @@ +package com.pingplusplus.serializer; + +import com.google.gson.*; +import com.pingplusplus.model.BatchTransferRecipient; + +import java.lang.reflect.Type; + +/** + * Created by afon on 16/11/28. + */ +public class BatchTransferRecipientSerializer implements JsonSerializer { + + @Override + public JsonElement serialize(BatchTransferRecipient batchTransferRecipient, Type type, JsonSerializationContext jsonSerializationContext) { + GsonBuilder gsonBuilder = new GsonBuilder() + .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) + .disableHtmlEscaping(); + + return gsonBuilder.create().toJsonTree(batchTransferRecipient, type); + } +} diff --git a/src/main/java/com/pingplusplus/net/ChargeDeserializer.java b/src/main/java/com/pingplusplus/serializer/ChargeDeserializer.java similarity index 98% rename from src/main/java/com/pingplusplus/net/ChargeDeserializer.java rename to src/main/java/com/pingplusplus/serializer/ChargeDeserializer.java index cca138b..19c054c 100644 --- a/src/main/java/com/pingplusplus/net/ChargeDeserializer.java +++ b/src/main/java/com/pingplusplus/serializer/ChargeDeserializer.java @@ -1,4 +1,4 @@ -package com.pingplusplus.net; +package com.pingplusplus.serializer; import com.google.gson.FieldNamingPolicy; import com.google.gson.Gson; diff --git a/src/main/java/com/pingplusplus/net/ChargeRefundCollectionDeserializer.java b/src/main/java/com/pingplusplus/serializer/ChargeRefundCollectionDeserializer.java similarity index 61% rename from src/main/java/com/pingplusplus/net/ChargeRefundCollectionDeserializer.java rename to src/main/java/com/pingplusplus/serializer/ChargeRefundCollectionDeserializer.java index 2eb7b43..8b1231a 100644 --- a/src/main/java/com/pingplusplus/net/ChargeRefundCollectionDeserializer.java +++ b/src/main/java/com/pingplusplus/serializer/ChargeRefundCollectionDeserializer.java @@ -1,4 +1,4 @@ -package com.pingplusplus.net; +package com.pingplusplus.serializer; import com.google.gson.FieldNamingPolicy; import com.google.gson.Gson; @@ -22,18 +22,6 @@ public ChargeRefundCollection deserialize(JsonElement json, Type typeOfT, JsonDe .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) .create(); - // API versions 2014-05-19 and earlier render charge refunds as an array instead of an object - if (json.isJsonArray()) { - Type refundListType = new TypeToken>() { - }.getType(); - List refunds = gson.fromJson(json, refundListType); - ChargeRefundCollection collection = new ChargeRefundCollection(); - collection.setData(refunds); - collection.setHasMore(false); - //collection.setTotalCount(refunds.size()); - return collection; - } - return gson.fromJson(json, typeOfT); } } diff --git a/src/main/java/com/pingplusplus/net/EventDataDeserializer.java b/src/main/java/com/pingplusplus/serializer/EventDataDeserializer.java similarity index 97% rename from src/main/java/com/pingplusplus/net/EventDataDeserializer.java rename to src/main/java/com/pingplusplus/serializer/EventDataDeserializer.java index 319b723..cb8f64b 100644 --- a/src/main/java/com/pingplusplus/net/EventDataDeserializer.java +++ b/src/main/java/com/pingplusplus/serializer/EventDataDeserializer.java @@ -1,7 +1,8 @@ -package com.pingplusplus.net; +package com.pingplusplus.serializer; import com.google.gson.*; import com.pingplusplus.model.*; +import com.pingplusplus.net.APIResource; import java.lang.reflect.Type; import java.util.HashMap; diff --git a/src/main/java/com/pingplusplus/net/PingppRawJsonObjectDeserializer.java b/src/main/java/com/pingplusplus/serializer/PingppRawJsonObjectDeserializer.java similarity index 94% rename from src/main/java/com/pingplusplus/net/PingppRawJsonObjectDeserializer.java rename to src/main/java/com/pingplusplus/serializer/PingppRawJsonObjectDeserializer.java index 3af89a4..8d8287c 100644 --- a/src/main/java/com/pingplusplus/net/PingppRawJsonObjectDeserializer.java +++ b/src/main/java/com/pingplusplus/serializer/PingppRawJsonObjectDeserializer.java @@ -1,4 +1,4 @@ -package com.pingplusplus.net; +package com.pingplusplus.serializer; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonDeserializer; diff --git a/src/main/java/com/pingplusplus/net/RedEnvelopeDeserializer.java b/src/main/java/com/pingplusplus/serializer/RedEnvelopeDeserializer.java similarity index 97% rename from src/main/java/com/pingplusplus/net/RedEnvelopeDeserializer.java rename to src/main/java/com/pingplusplus/serializer/RedEnvelopeDeserializer.java index 9e20e73..e2b6ee9 100644 --- a/src/main/java/com/pingplusplus/net/RedEnvelopeDeserializer.java +++ b/src/main/java/com/pingplusplus/serializer/RedEnvelopeDeserializer.java @@ -1,4 +1,4 @@ -package com.pingplusplus.net; +package com.pingplusplus.serializer; import com.google.gson.FieldNamingPolicy; import com.google.gson.Gson; diff --git a/src/main/java/com/pingplusplus/net/TransferDeserializer.java b/src/main/java/com/pingplusplus/serializer/TransferDeserializer.java similarity index 97% rename from src/main/java/com/pingplusplus/net/TransferDeserializer.java rename to src/main/java/com/pingplusplus/serializer/TransferDeserializer.java index a78459e..cc7812f 100644 --- a/src/main/java/com/pingplusplus/net/TransferDeserializer.java +++ b/src/main/java/com/pingplusplus/serializer/TransferDeserializer.java @@ -1,4 +1,4 @@ -package com.pingplusplus.net; +package com.pingplusplus.serializer; import com.google.gson.FieldNamingPolicy; import com.google.gson.Gson; From d571de836ccc1406670b460a3fb82d98056a99ab Mon Sep 17 00:00:00 2001 From: afon Date: Thu, 1 Dec 2016 17:39:44 +0800 Subject: [PATCH 003/104] 2.2.0 make jar --- .../SimpleExample/libs/pingpp-java-2.2.0.jar | Bin 0 -> 51734 bytes libs/pingpp-java-2.2.0.jar | Bin 0 -> 51734 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 example/SimpleExample/libs/pingpp-java-2.2.0.jar create mode 100644 libs/pingpp-java-2.2.0.jar diff --git a/example/SimpleExample/libs/pingpp-java-2.2.0.jar b/example/SimpleExample/libs/pingpp-java-2.2.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..309e1814c6bc824f3818ae2ac0829c8fda58d7ab GIT binary patch literal 51734 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 W?Cr=Xr`HJsKlg!W-<;ah-~I;%v+%|M literal 0 HcmV?d00001 diff --git a/libs/pingpp-java-2.2.0.jar b/libs/pingpp-java-2.2.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..309e1814c6bc824f3818ae2ac0829c8fda58d7ab GIT binary patch literal 51734 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 W?Cr=Xr`HJsKlg!W-<;ah-~I;%v+%|M literal 0 HcmV?d00001 From 22af531a1ffe783fd9562f39c8dacdbb3546e06f Mon Sep 17 00:00:00 2001 From: afon Date: Thu, 1 Dec 2016 18:04:13 +0800 Subject: [PATCH 004/104] =?UTF-8?q?=E5=88=A0=E9=99=A4=20appId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/pingplusplus/Pingpp.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index 94031fb..affe3ae 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -16,10 +16,7 @@ public abstract class Pingpp { * api key */ public static volatile String apiKey; - /** - * 该 AppID 目前仅对账户系统相关接口有效 - */ - public static volatile String appId; + public static volatile String apiVersion; public static String AcceptLanguage = "zh-CN"; From 356803c49c5a47b742da359e4883906173181c5d Mon Sep 17 00:00:00 2001 From: afon Date: Wed, 14 Dec 2016 17:50:46 +0800 Subject: [PATCH 005/104] update CHANGELOG --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e4c265..c84c3f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ #### 修改 - 签名生成规则变更 - 列表查询接口换成 `list` 方法,代替 `all` 方法 +- 退款接口调用方式变更,直接使用 Refund 对象 +- Refund 对象添加 charge_order_no, transaction_no 属性 ## 2.1.9 #### 修改 From 897c94aaada56c758af0a979e8cbb5ca0e64ad64 Mon Sep 17 00:00:00 2001 From: afon Date: Tue, 20 Dec 2016 15:29:48 +0800 Subject: [PATCH 006/104] fix webhooks parse; charge list params edit --- .gitignore | 33 ++++ CHANGELOG.md | 13 ++ README.md | 4 +- VERSION | 2 +- build.gradle | 13 ++ ...77\347\224\250\346\226\207\346\241\243.md" | 150 +++++++--------- example/{SimpleExample => }/.classpath | 0 example/SimpleExample/.project | 17 -- .../.settings/org.eclipse.jdt.core.prefs | 11 -- example/SimpleExample/bin/sign | 1 - example/build.gradle | 12 ++ .../libs/commons-codec-1.10.jar | Bin .../{SimpleExample => }/libs/gson-2.6.2.jar | Bin .../libs/pingpp-java-2.2.1.jar | Bin 51734 -> 52881 bytes .../bin/charge => res/charge.json} | 0 .../res/pingpp_public_key.pem | 0 example/{SimpleExample => }/res/signature.txt | 0 .../res/webhooks_raw_post_data.json | 0 .../your_rsa_private_key_pkcs1.pem} | 0 example/res/your_rsa_private_key_pkcs8.pem | 28 +++ .../res/your_rsa_public_key.pem | 0 .../pingxx/example/BatchTransferExample.java | 0 .../com/pingxx/example/ChargeExample.java | 3 - .../com/pingxx/example/CustomsExample.java | 0 .../java/com/pingxx/example/EventExample.java | 0 .../pingxx/example/IdentificationExample.java | 0 .../main/java/com/pingxx/example/Main.java | 2 +- .../pingxx/example/RedEnvelopeExample.java | 0 .../com/pingxx/example/RefundExample.java | 0 .../com/pingxx/example/TransferExample.java | 0 .../pingxx/example/WebhooksVerifyExample.java | 0 .../com/pingxx/example/WxPubOAuthExample.java | 0 gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 52928 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 169 ++++++++++++++++++ gradlew.bat | 84 +++++++++ .../pingpp-java-2.2.1.jar | Bin 51734 -> 52881 bytes settings.gradle | 2 + src/main/java/com/pingplusplus/Pingpp.java | 2 +- .../java/com/pingplusplus/model/Charge.java | 7 +- .../java/com/pingplusplus/model/Webhooks.java | 4 +- .../com/pingplusplus/net/APIResource.java | 55 +----- .../serializer/EventDataDeserializer.java | 3 + .../pingplusplus/util/PingppSignature.java | 106 +++++++++++ .../java/com/pingplusplus/PingppTest.java | 120 +++++++++++++ .../java/com/pingplusplus/PingppTestData.java | 83 +++++++++ 46 files changed, 755 insertions(+), 175 deletions(-) create mode 100644 build.gradle rename example/{SimpleExample => }/.classpath (100%) delete mode 100644 example/SimpleExample/.project delete mode 100644 example/SimpleExample/.settings/org.eclipse.jdt.core.prefs delete mode 100644 example/SimpleExample/bin/sign create mode 100644 example/build.gradle rename example/{SimpleExample => }/libs/commons-codec-1.10.jar (100%) rename example/{SimpleExample => }/libs/gson-2.6.2.jar (100%) rename libs/pingpp-java-2.2.0.jar => example/libs/pingpp-java-2.2.1.jar (60%) rename example/{SimpleExample/bin/charge => res/charge.json} (100%) rename example/{SimpleExample => }/res/pingpp_public_key.pem (100%) rename example/{SimpleExample => }/res/signature.txt (100%) rename example/{SimpleExample => }/res/webhooks_raw_post_data.json (100%) rename example/{SimpleExample/res/your_rsa_private_key.pem => res/your_rsa_private_key_pkcs1.pem} (100%) create mode 100644 example/res/your_rsa_private_key_pkcs8.pem rename example/{SimpleExample => }/res/your_rsa_public_key.pem (100%) rename example/{SimpleExample => }/src/main/java/com/pingxx/example/BatchTransferExample.java (100%) rename example/{SimpleExample => }/src/main/java/com/pingxx/example/ChargeExample.java (98%) rename example/{SimpleExample => }/src/main/java/com/pingxx/example/CustomsExample.java (100%) rename example/{SimpleExample => }/src/main/java/com/pingxx/example/EventExample.java (100%) rename example/{SimpleExample => }/src/main/java/com/pingxx/example/IdentificationExample.java (100%) rename example/{SimpleExample => }/src/main/java/com/pingxx/example/Main.java (99%) rename example/{SimpleExample => }/src/main/java/com/pingxx/example/RedEnvelopeExample.java (100%) rename example/{SimpleExample => }/src/main/java/com/pingxx/example/RefundExample.java (100%) rename example/{SimpleExample => }/src/main/java/com/pingxx/example/TransferExample.java (100%) rename example/{SimpleExample => }/src/main/java/com/pingxx/example/WebhooksVerifyExample.java (100%) rename example/{SimpleExample => }/src/main/java/com/pingxx/example/WxPubOAuthExample.java (100%) create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat rename example/SimpleExample/libs/pingpp-java-2.2.0.jar => libs/pingpp-java-2.2.1.jar (60%) create mode 100644 settings.gradle create mode 100644 src/main/java/com/pingplusplus/util/PingppSignature.java create mode 100644 src/test/java/com/pingplusplus/PingppTest.java create mode 100644 src/test/java/com/pingplusplus/PingppTestData.java diff --git a/.gitignore b/.gitignore index f4e3896..e18827b 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,36 @@ build/ .idea/ bin/ *.iml + +!gradle-wrapper.jar + +# User-specific stuff: +.idea/workspace.xml +.idea/tasks.xml + +# Sensitive or high-churn files: +.idea/dataSources/ +.idea/dataSources.ids +.idea/dataSources.xml +.idea/dataSources.local.xml +.idea/sqlDataSources.xml +.idea/dynamic.xml +.idea/uiDesigner.xml + +# Gradle: +.idea/gradle.xml +.idea/libraries + +# Mongo Explorer plugin: +.idea/mongoSettings.xml + +## File-based project format: +*.iws + +## Plugin-specific files: + +# IntelliJ +/out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ diff --git a/CHANGELOG.md b/CHANGELOG.md index c84c3f1..7bb0359 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # ChangeLog +## 2.2.1 +2016-12-20 +#### 新增 +- 添加 gradle 相关文件 +- 添加部分测试文件 + +#### 修改 +- 更改签名私钥获取方式 +- Charge.list app[id] 参数改为必传 + +#### 修正 +- Webhooks 解析对象 batch_refund、batch_transfer、csutoms 对应事件错误 + ## 2.2.0 #### 新增 - 添加 BatchRefund、BatchTransfer、Customs diff --git a/README.md b/README.md index 4f16db0..c8912ca 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.2.0 + 2.2.1 jar ``` @@ -52,7 +52,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.2.0' +compile 'Pingplusplus:pingpp-java:2.2.1' ``` ### 初始化 diff --git a/VERSION b/VERSION index ccbccc3..c043eea 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.2.0 +2.2.1 diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..f33d441 --- /dev/null +++ b/build.gradle @@ -0,0 +1,13 @@ +apply plugin: 'java' + +repositories { + jcenter() +} + +dependencies { + compile 'org.slf4j:slf4j-api:1.7.21' + compile 'com.google.code.gson:gson:2.6.2' + compile 'commons-codec:commons-codec:1.10' + + testCompile 'junit:junit:4.12' +} diff --git "a/docs/ping++_java_sdk_\344\275\277\347\224\250\346\226\207\346\241\243.md" "b/docs/ping++_java_sdk_\344\275\277\347\224\250\346\226\207\346\241\243.md" index fcb6041..87191d3 100644 --- "a/docs/ping++_java_sdk_\344\275\277\347\224\250\346\226\207\346\241\243.md" +++ "b/docs/ping++_java_sdk_\344\275\277\347\224\250\346\226\207\346\241\243.md" @@ -1,100 +1,84 @@ -### Ping++ Java SDK 使用文档 +# Ping++ Java SDK 使用文档 -- 接入准备 +#### apiKey 和 appId +SDK 需要 Ping++ 提供的 apiKey 和 AppID 作为凭证获取移动端支付所需的 Charge 对象。 +其中,apiKey 可以在 Ping++ 管理平台的【企业设置】->【开发设置】中得到。 +AppID 可以在 Ping++ 管理平台应用卡片下方得到。 -##### apiKey 和 appId - - SDK 需要 Ping++ 提供的 APIKey 和 AppId 作为凭证获取移动端支付所需的 charge 对象。 - 其中,APIKey 可以在 Ping++ 管理平台的【基本信息】中得到。 - AppId 可以在 Ping++ 管理平台【应用名称】->【应用信息】中得得到。 - - -#### 依赖包 - - gons-2.6.2.jar 或更高版本 - pingpp-java-2.2.0.jar 或更高版本 +#### 依赖 +- gons-2.6.2 +- commons-codec-1.10 #### 设置 apiKey - - Pingpp.apiKey = "YOUR-KEY"; - - 在获得 charge 前,请设置 aipKey。 +``` java +Pingpp.apiKey = "YOUR-KEY"; +``` +在创建 Charge 前,请设置 apiKey。 #### 设置请求签名密钥 -密钥需要你自己生成,公钥请填写到 [Ping++ Dashboard](https://dashboard.pingxx.com) - - 设置你的私钥路径 - Pingpp.privateKeyPath = "/path/to/your_rsa_private_key.pem"; - -#### 接受请求 - - 客户端会向服务端发送一个带有 json 对象的 post 请求,用来请求 charge 对象。 - json 对象格式如下: - { - "amount": 10, - "order_no": "1234567890", - "channel": "alipay" - } +密钥需要你自己生成,公钥请填写到 [Ping++ Dashboard](https://dashboard.pingxx.com)。 +建议使用 PKCS\#8 编码的私钥文件。openssl 命令如下: +```shell +openssl pkcs8 -topk8 -inform PEM -in pkcs1.pem -outform PEM -nocrypt -out pkcs8.pem +``` + +设置你的私钥 +```java +Pingpp.privateKey = ""; +``` + +#### 创建 Charge +```java +Map chargeMap = new HashMap(); +// 某些渠道需要添加extra参数,具体参数详见接口文档 +chargeMap.put("amount", 100); +chargeMap.put("currency", "cny"); +chargeMap.put("subject", "Your Subject"); +chargeMap.put("body", "Your Body"); +chargeMap.put("order_no", "123456789"); +chargeMap.put("channel", "alipay"); +chargeMap.put("client_ip", "127.0.0.1"); +Map app = new HashMap(); +app.put("id", "YOUR_APP_ID"); +chargeMap.put("app", app); +try { + //发起交易请求 + Charge charge = Charge.create(chargeMap); + System.out.println(charge.toString()); +} catch (PingppException e) { + e.printStackTrace(); +} +``` ##### 备注 - amount :int 类型,表示支付的金额,以分为单位。 - order_no :String 类型,表示订单号,由字母和数字组成8-20位。 - channel :String 类型,表示支付渠道。 - - 以上字段详细说明可以参考 Ping++ 【文档】-> 【api文档】-> 【创建charge】。 - -##### 获得 charge - - Map chargeMap = new HashMap(); - //某些渠道需要添加extra参数,具体参数详见接口文档 - chargeMap.put("amount", 100); - chargeMap.put("currency", "cny"); - chargeMap.put("subject", "Your Subject"); - chargeMap.put("body", "Your Body"); - chargeMap.put("order_no", "123456789"); - chargeMap.put("channel", "alipay"); - chargeMap.put("client_ip", "127.0.0.1"); - Map app = new HashMap(); - app.put("id", "YOUR-APP-ID"); - chargeMap.put("app", app); - try { - //发起交易请求 - Charge charge = Charge.create(chargeMap); - System.out.println(charge); - } catch (PingppException e) { - e.printStackTrace(); - } - -##### 备注 - - 获得 charge 对象,必须的参数有 amount、currency、subject、body、order_no、channel、client_ip、app 这 8 个参数。 + 获得 Charge 对象,必须的参数有 amount、currency、subject、body、order_no、channel、client_ip、app 这 8 个参数。 其中 amount、order_no、channel 三个参数由客户端的 post 请求中获得。 client_ip 从客户端的 request 请求中解析。 currency 为交易的货币代码,目前仅支持人民币 cny。 app 参数为一个包含 appId 的 map 对象。 subject 和 body 参数用来在用户付款、以及在第三方支付软件的账单显示。 -#### 返回 charge - - 请用 Json 格式把 charge 对象返回给客户端。 - -###### servlet 返回 charge 时注意配置 - - response.setContentType("application/json;charset=UTF-8"); - -##### struct2 获得 post 请求参数,建议使用 struct2-json-pligun.jar 。返回的 result 的 type 设置为 json - - struct2.xml 配置如下: - - - - - charge - - - +#### 返回 Charge +请用 JSON 格式把 Charge 对象返回给客户端。 + +##### servlet 返回 Charge 时注意配置 +```java +response.setContentType("application/json;charset=UTF-8"); +``` + +##### struct2 获得 POST 请求参数,建议使用 struct2-json-pligun.jar。返回的 result 的 type 设置为 json +struct2.xml 配置如下: +```xml + + + + + charge + + + +``` #### 补充 - - SDK 根目录下面的 example 目录下提供了一个 eclipse 工程,里面含有部分操作的示例程序,供开发者参考 +SDK 根目录下面的 example 目录下提供了一个 gradle 工程,里面含有部分操作的示例程序,供开发者参考。 diff --git a/example/SimpleExample/.classpath b/example/.classpath similarity index 100% rename from example/SimpleExample/.classpath rename to example/.classpath diff --git a/example/SimpleExample/.project b/example/SimpleExample/.project deleted file mode 100644 index a18ea41..0000000 --- a/example/SimpleExample/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - SimpleExample - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/example/SimpleExample/.settings/org.eclipse.jdt.core.prefs b/example/SimpleExample/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 7341ab1..0000000 --- a/example/SimpleExample/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,11 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.7 diff --git a/example/SimpleExample/bin/sign b/example/SimpleExample/bin/sign deleted file mode 100644 index e990ae3..0000000 --- a/example/SimpleExample/bin/sign +++ /dev/null @@ -1 +0,0 @@ -PcU0SMJhbPObiIVinNnalZOjI02koWozxLrxa3WQW3rK/n7I+EuVGuXvhsq2MIfUaNiHZDgRFYybGtKr1uuFzEXjA4PwmnDHfWgwRPdjgseoU0eke6ZqGpklBRVTbF6PUy6/vAqur4xb7h1wpdrteUpCPafzDmVPsQLicdojJ/TF9ACjQW8gTNiS6tE9gL5hxy0RJ3/okRJo6dz2pvJBWkjCrgp/r98z/LQijA1o//atZrH63+DcL/GwEOgaymqbodzusXF+g6WMJ/GTJgjdPRHvpO9UAAUKkOQqvwthJvsXIH/L1xqvy+tFpo2J0Ptwg85bowKoyy1qC5ak3sqWqw== \ No newline at end of file diff --git a/example/build.gradle b/example/build.gradle new file mode 100644 index 0000000..fd0b9e2 --- /dev/null +++ b/example/build.gradle @@ -0,0 +1,12 @@ +apply plugin: 'java' + +repositories { + jcenter() +} + +dependencies { + compile 'com.google.code.gson:gson:2.6.2' + compile 'commons-codec:commons-codec:1.10' + + compile project(':') +} diff --git a/example/SimpleExample/libs/commons-codec-1.10.jar b/example/libs/commons-codec-1.10.jar similarity index 100% rename from example/SimpleExample/libs/commons-codec-1.10.jar rename to example/libs/commons-codec-1.10.jar diff --git a/example/SimpleExample/libs/gson-2.6.2.jar b/example/libs/gson-2.6.2.jar similarity index 100% rename from example/SimpleExample/libs/gson-2.6.2.jar rename to example/libs/gson-2.6.2.jar diff --git a/libs/pingpp-java-2.2.0.jar b/example/libs/pingpp-java-2.2.1.jar similarity index 60% rename from libs/pingpp-java-2.2.0.jar rename to example/libs/pingpp-java-2.2.1.jar index 309e1814c6bc824f3818ae2ac0829c8fda58d7ab..9fdb14f90b17e755b66da0ff7305b3603c1cd1b7 100644 GIT binary patch delta 15658 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 diff --git a/example/SimpleExample/bin/charge b/example/res/charge.json similarity index 100% rename from example/SimpleExample/bin/charge rename to example/res/charge.json diff --git a/example/SimpleExample/res/pingpp_public_key.pem b/example/res/pingpp_public_key.pem similarity index 100% rename from example/SimpleExample/res/pingpp_public_key.pem rename to example/res/pingpp_public_key.pem diff --git a/example/SimpleExample/res/signature.txt b/example/res/signature.txt similarity index 100% rename from example/SimpleExample/res/signature.txt rename to example/res/signature.txt diff --git a/example/SimpleExample/res/webhooks_raw_post_data.json b/example/res/webhooks_raw_post_data.json similarity index 100% rename from example/SimpleExample/res/webhooks_raw_post_data.json rename to example/res/webhooks_raw_post_data.json diff --git a/example/SimpleExample/res/your_rsa_private_key.pem b/example/res/your_rsa_private_key_pkcs1.pem similarity index 100% rename from example/SimpleExample/res/your_rsa_private_key.pem rename to example/res/your_rsa_private_key_pkcs1.pem diff --git a/example/res/your_rsa_private_key_pkcs8.pem b/example/res/your_rsa_private_key_pkcs8.pem new file mode 100644 index 0000000..e4e042c --- /dev/null +++ b/example/res/your_rsa_private_key_pkcs8.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHYyS3FwoESp1h +GLYiBhy6k9Ag3lzGCIEvm50IIEkE0Ftc9qq44TWqyl+EHUpTMdcBOcI42JLO5stw +FOfCLa3PQStEJ4llIRFEKlsrHh67pvWd5RNaSBrvGlnFY40S+SZmjk2WF/h9dE9R +ic79t0YI0alD8dIl9Yu3OaEKo7VonBWFwOYMxjPhtORlq+EUF1XJd//yftQrKWTT +d7KaUonWzBCl4VzFop/OyTWYlTuZz3eYJaNpH5VaQ1vDgBAcPIeBvMf7NgBHMKW6 +LLmFd2LEYQ/6I7hkGTjysSzWEpO8bPWT6OEsJ2R2kFGOrSkr+G2MDcJ7ykXYAmz5 ++A3plS6ZAgMBAAECggEAVrgwR9GlcahiOtDcpn+yDxQq+aC9CQS561LrQZWJLKbS +leRS7IZHKTlLwdJbeUO8F7RfXQoVEBghc2YkRrhHWFUn1ES95VY0hElHzcET7Nn5 +CeuQNzwVOtljIg7iVNY4dXJ/HEDguu/Tb8tYU9FajItj60FJ/WiGk/JksJPzWsOC +VPVniy9fTbTLy1e+dCpCI6OXirtm7hvbodRNDjree0wSEzm7vL0wVzEZFo6kX+AB +GUwaoO7pPyH+hgyI5Iuhc65NHsHzTJpf8yNFl9QGhkxvm2Ff2oEtDt1idOTBrHB6 +tg+ti9Ctb2+2yzBnk14hsSYJnKitR7wM6ZCFPX4eYQKBgQD+JAREeFkodec/SC+G +X+4Q4Y68uMPkfUPrMKXM4cyY5wgXk64RBvRVxIxX7x6Y3tIKn9v8tWAprbsyVr15 +eb4RcAFEVwjuoZixhd9sIPsRhfdNolKn/fSPIsHL4ywcJMSIt7KVKHuQeqBNHy0o +0PxQjNej1ozsmrAWqV55cbKHswKBgQDI2JQRTPIEC/2y6LdmBVhGJW9OKWTYdVNj +q7rX+Yw4uxOtfd5hBqpvgZEklKEk72aazFdEcERlAm9SqoX09qk6zK/wcq4Xn5Q/ +qy8ecmjuyf2AK9X+HUdMerMVxhK9RpeevKYP/RO2F/wIN64anlQVYygVkXXgdOvW +hBE4YABKgwKBgDRtmbPGYB5ItHwJmERQZfx1i8zDESaB8RED6DBsJJkmkDTM8ovw +s1c+RPWfDuDalto6QFfR0xTGEmhAHLaCtwNB6AEBM4aHL8jvpTfZVfI3gN0zL3oY +mestcG1vYBouO504yE6dG2Ci6479b4OMGYFEjPfvuwLUpp8GMcc7/WihAoGANCp8 +mtm/ammq5VMof2kX+nAyrrx1ovsmQ5cRGpOIZhvBCqjMn6rZjci7aCLqj+tWXRKC +ABagzROK0o/T50JBxjHv6KYArcYW/Up7HI9ezdbM7wNzu2LjZ+veo+MkbuDs9J/P +CgwTmJI2NfQwVl2VPVDZ0nBLi5cSwk7fIiNdL/0CgYEAtECmC1QDs53Di2MIsa/F +e4sWfJGSDqEWqhcA/aPwf1skM6VJJXBBMV1qFtwgO1AlLnu9dQYra6ylsUoubVYI +XM9XK7EMhbqi57+Q75jHFTc0DnzOTyho5Gp4Ddi8dztmZGNWdWTGdeMqh+svqMXk +D6VdJeddyGu/Zlgj7Wk6whU= +-----END PRIVATE KEY----- diff --git a/example/SimpleExample/res/your_rsa_public_key.pem b/example/res/your_rsa_public_key.pem similarity index 100% rename from example/SimpleExample/res/your_rsa_public_key.pem rename to example/res/your_rsa_public_key.pem diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/BatchTransferExample.java b/example/src/main/java/com/pingxx/example/BatchTransferExample.java similarity index 100% rename from example/SimpleExample/src/main/java/com/pingxx/example/BatchTransferExample.java rename to example/src/main/java/com/pingxx/example/BatchTransferExample.java diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/ChargeExample.java b/example/src/main/java/com/pingxx/example/ChargeExample.java similarity index 98% rename from example/SimpleExample/src/main/java/com/pingxx/example/ChargeExample.java rename to example/src/main/java/com/pingxx/example/ChargeExample.java index 5d7197d..5a06604 100644 --- a/example/SimpleExample/src/main/java/com/pingxx/example/ChargeExample.java +++ b/example/src/main/java/com/pingxx/example/ChargeExample.java @@ -147,9 +147,6 @@ public Charge retrieve(String id) { Charge charge = null; try { Map params = new HashMap(); -// List expand = new ArrayList(); -// expand.add("app"); -// params.put("expand", expand); charge = Charge.retrieve(id, params); System.out.println(charge); } catch (PingppException e) { diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/CustomsExample.java b/example/src/main/java/com/pingxx/example/CustomsExample.java similarity index 100% rename from example/SimpleExample/src/main/java/com/pingxx/example/CustomsExample.java rename to example/src/main/java/com/pingxx/example/CustomsExample.java diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/EventExample.java b/example/src/main/java/com/pingxx/example/EventExample.java similarity index 100% rename from example/SimpleExample/src/main/java/com/pingxx/example/EventExample.java rename to example/src/main/java/com/pingxx/example/EventExample.java diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/IdentificationExample.java b/example/src/main/java/com/pingxx/example/IdentificationExample.java similarity index 100% rename from example/SimpleExample/src/main/java/com/pingxx/example/IdentificationExample.java rename to example/src/main/java/com/pingxx/example/IdentificationExample.java diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/Main.java b/example/src/main/java/com/pingxx/example/Main.java similarity index 99% rename from example/SimpleExample/src/main/java/com/pingxx/example/Main.java rename to example/src/main/java/com/pingxx/example/Main.java index 713ea40..6c93a57 100644 --- a/example/SimpleExample/src/main/java/com/pingxx/example/Main.java +++ b/example/src/main/java/com/pingxx/example/Main.java @@ -29,7 +29,7 @@ public class Main { */ // 你生成的私钥路径 - private final static String privateKeyFilePath = "res/your_rsa_private_key.pem"; + private final static String privateKeyFilePath = "res/your_rsa_private_key_pkcs8.pem"; public static void main(String[] args) throws Exception { diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/RedEnvelopeExample.java b/example/src/main/java/com/pingxx/example/RedEnvelopeExample.java similarity index 100% rename from example/SimpleExample/src/main/java/com/pingxx/example/RedEnvelopeExample.java rename to example/src/main/java/com/pingxx/example/RedEnvelopeExample.java diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/RefundExample.java b/example/src/main/java/com/pingxx/example/RefundExample.java similarity index 100% rename from example/SimpleExample/src/main/java/com/pingxx/example/RefundExample.java rename to example/src/main/java/com/pingxx/example/RefundExample.java diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/TransferExample.java b/example/src/main/java/com/pingxx/example/TransferExample.java similarity index 100% rename from example/SimpleExample/src/main/java/com/pingxx/example/TransferExample.java rename to example/src/main/java/com/pingxx/example/TransferExample.java diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/WebhooksVerifyExample.java b/example/src/main/java/com/pingxx/example/WebhooksVerifyExample.java similarity index 100% rename from example/SimpleExample/src/main/java/com/pingxx/example/WebhooksVerifyExample.java rename to example/src/main/java/com/pingxx/example/WebhooksVerifyExample.java diff --git a/example/SimpleExample/src/main/java/com/pingxx/example/WxPubOAuthExample.java b/example/src/main/java/com/pingxx/example/WxPubOAuthExample.java similarity index 100% rename from example/SimpleExample/src/main/java/com/pingxx/example/WxPubOAuthExample.java rename to example/src/main/java/com/pingxx/example/WxPubOAuthExample.java diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..6ffa237849ef3607e39c3b334a92a65367962071 GIT binary patch literal 52928 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 \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [[ "$(uname)" == "Darwin" ]] && [[ "$HOME" == "$PWD" ]]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..e95643d --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/example/SimpleExample/libs/pingpp-java-2.2.0.jar b/libs/pingpp-java-2.2.1.jar similarity index 60% rename from example/SimpleExample/libs/pingpp-java-2.2.0.jar rename to libs/pingpp-java-2.2.1.jar index 309e1814c6bc824f3818ae2ac0829c8fda58d7ab..9fdb14f90b17e755b66da0ff7305b3603c1cd1b7 100644 GIT binary patch delta 15658 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 diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..05ca5f7 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,2 @@ +rootProject.name = 'pingpp-java' +include 'example' diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index affe3ae..9f9e25e 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,7 +11,7 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.2.0"; + public static final String VERSION = "2.2.1"; /** * api key */ diff --git a/src/main/java/com/pingplusplus/model/Charge.java b/src/main/java/com/pingplusplus/model/Charge.java index 651fa8e..252d2f1 100644 --- a/src/main/java/com/pingplusplus/model/Charge.java +++ b/src/main/java/com/pingplusplus/model/Charge.java @@ -317,7 +317,12 @@ public static Charge retrieve(String id, Map params) throws Auth public static ChargeCollection list(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.GET, classURL(Charge.class), params, ChargeCollection.class); + if (params != null + && ((params.containsKey("app") && (params.get("app") instanceof Map) && ((Map) params.get("app")).containsKey("id")) + || (params.containsKey("app[id]") && (params.get("app[id]") instanceof String)))) { + return request(RequestMethod.GET, classURL(Charge.class), params, ChargeCollection.class); + } + throw new InvalidRequestException("Please pass app[id] as parameter.", "app[id]", null); } @Deprecated diff --git a/src/main/java/com/pingplusplus/model/Webhooks.java b/src/main/java/com/pingplusplus/model/Webhooks.java index 990955d..346360d 100644 --- a/src/main/java/com/pingplusplus/model/Webhooks.java +++ b/src/main/java/com/pingplusplus/model/Webhooks.java @@ -23,9 +23,9 @@ public static Object parseEvnet(String eventStr) { * 解析 event 中的 object * * @param eventStr - * @return Object + * @return PingppObject */ - public static Object getObject(String eventStr) { + public static PingppObject getObject(String eventStr) { return eventParse(eventStr).getData().getObject(); } diff --git a/src/main/java/com/pingplusplus/net/APIResource.java b/src/main/java/com/pingplusplus/net/APIResource.java index e82bf1a..a27322d 100644 --- a/src/main/java/com/pingplusplus/net/APIResource.java +++ b/src/main/java/com/pingplusplus/net/APIResource.java @@ -8,17 +8,12 @@ import com.pingplusplus.exception.InvalidRequestException; import com.pingplusplus.model.*; import com.pingplusplus.serializer.*; -import org.apache.commons.codec.binary.Base64; -import sun.security.util.DerInputStream; -import sun.security.util.DerValue; +import com.pingplusplus.util.PingppSignature; import java.io.*; -import java.math.BigInteger; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; -import java.security.*; -import java.security.spec.*; import java.util.*; import javax.net.ssl.HttpsURLConnection; @@ -626,54 +621,10 @@ private static String generateSign(String data) byte[] keyBytes = new byte[inputStream.available()]; inputStream.read(keyBytes); inputStream.close(); - String keyString = new String(keyBytes, CHARSET); - Pingpp.privateKey = keyString; + Pingpp.privateKey = new String(keyBytes, CHARSET); } - String trimmedPrivateKey = Pingpp.privateKey - .replaceAll("(-+BEGIN (RSA )?PRIVATE KEY-+\\r?\\n|-+END (RSA )?PRIVATE KEY-+\\r?\\n?)", ""); - byte[] privateKeyBytes = Base64.decodeBase64(trimmedPrivateKey); - - DerInputStream derReader = new DerInputStream(privateKeyBytes); - DerValue[] seq = derReader.getSequence(0); - - if (seq.length < 9) { - System.out.println("Could not parse a PKCS1 private key."); - return null; - } - - // skip version seq[0]; - BigInteger modulus = seq[1].getBigInteger(); - BigInteger publicExp = seq[2].getBigInteger(); - BigInteger privateExp = seq[3].getBigInteger(); - BigInteger prime1 = seq[4].getBigInteger(); - BigInteger prime2 = seq[5].getBigInteger(); - BigInteger exp1 = seq[6].getBigInteger(); - BigInteger exp2 = seq[7].getBigInteger(); - BigInteger crtCoef = seq[8].getBigInteger(); - RSAPrivateCrtKeySpec spec = new RSAPrivateCrtKeySpec(modulus, publicExp, privateExp, prime1, prime2, exp1, exp2, crtCoef); - - try { - KeyFactory keyFactory = KeyFactory.getInstance("RSA"); - PrivateKey privateKey = keyFactory.generatePrivate(spec); - - Signature signature = Signature.getInstance("SHA256withRSA"); - signature.initSign(privateKey); - signature.update(data.getBytes(CHARSET)); - byte[] signBytes = signature.sign(); - - return Base64.encodeBase64String(signBytes).replaceAll("\n|\r", ""); - } catch (NoSuchAlgorithmException e) { - e.printStackTrace(); - } catch (InvalidKeySpecException e) { - e.printStackTrace(); - } catch (InvalidKeyException e) { - e.printStackTrace(); - } catch (SignatureException e) { - e.printStackTrace(); - } - - return null; + return PingppSignature.sign(data, Pingpp.privateKey, CHARSET); } private static String currentTimeString() { diff --git a/src/main/java/com/pingplusplus/serializer/EventDataDeserializer.java b/src/main/java/com/pingplusplus/serializer/EventDataDeserializer.java index cb8f64b..27d3e5a 100644 --- a/src/main/java/com/pingplusplus/serializer/EventDataDeserializer.java +++ b/src/main/java/com/pingplusplus/serializer/EventDataDeserializer.java @@ -27,6 +27,9 @@ public class EventDataDeserializer implements JsonDeserializer { objectMap.put("app_monthly_summary", Summary.class); objectMap.put("app_daily_summary", Summary.class); objectMap.put("app_weekly_summary", Summary.class); + objectMap.put("batch_transfer", BatchTransfer.class); + objectMap.put("batch_refund", BatchRefund.class); + objectMap.put("customs", Customs.class); } private Object deserializeJsonPrimitive(JsonPrimitive element) { diff --git a/src/main/java/com/pingplusplus/util/PingppSignature.java b/src/main/java/com/pingplusplus/util/PingppSignature.java new file mode 100644 index 0000000..011eada --- /dev/null +++ b/src/main/java/com/pingplusplus/util/PingppSignature.java @@ -0,0 +1,106 @@ +package com.pingplusplus.util; + +import com.pingplusplus.Pingpp; +import org.apache.commons.codec.binary.Base64; + +import sun.security.util.DerInputStream; +import sun.security.util.DerValue; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.math.BigInteger; +import java.security.*; +import java.security.spec.InvalidKeySpecException; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.RSAPrivateCrtKeySpec; + +/** + * Created by Afon on 2016/12/16. + */ +public class PingppSignature { + public static String sign(String data, String PEMEncodedPrivateKey, String charset) { + PrivateKey privateKey = getPrivateKeyFromPEM(PEMEncodedPrivateKey); + if (privateKey == null) { + return null; + } + + try { + Signature signature = Signature.getInstance("SHA256withRSA"); + signature.initSign(privateKey); + signature.update(data.getBytes(charset)); + byte[] signBytes = signature.sign(); + + return Base64.encodeBase64String(signBytes).replaceAll("\n|\r", ""); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } catch (InvalidKeyException e) { + e.printStackTrace(); + } catch (SignatureException e) { + e.printStackTrace(); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + + return null; + } + + public static PrivateKey getPrivateKeyFromPEM(String PEMEncodedPrivateKey) { + PEMEncodedPrivateKey = PEMEncodedPrivateKey + .replaceAll("(-+BEGIN (RSA )?PRIVATE KEY-+\\r?\\n|-+END (RSA )?PRIVATE KEY-+\\r?\\n?)", ""); + byte[] privateKeyBytes = Base64.decodeBase64(PEMEncodedPrivateKey); + + try { + return generatePrivateKeyWithPKCS8(privateKeyBytes); + } catch (InvalidKeySpecException e) { + if (Pingpp.DEBUG) { + e.printStackTrace(); + } + return generatePrivateKeyWithPKCS1(privateKeyBytes); + } + } + + public static PrivateKey generatePrivateKeyWithPKCS8(byte[] privateKeyBytes) + throws InvalidKeySpecException { + try { + PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(privateKeyBytes); + KeyFactory kf = KeyFactory.getInstance("RSA"); + return kf.generatePrivate(keySpec); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + return null; + } + + public static PrivateKey generatePrivateKeyWithPKCS1(byte[] privateKeyBytes) { + try { + DerInputStream derReader = new DerInputStream(privateKeyBytes); + DerValue[] seq = derReader.getSequence(0); + if (seq.length < 9) { + System.out.println("Could not parse a PKCS1 private key."); + return null; + } + // skip version seq[0]; + BigInteger modulus = seq[1].getBigInteger(); + BigInteger publicExp = seq[2].getBigInteger(); + BigInteger privateExp = seq[3].getBigInteger(); + BigInteger prime1 = seq[4].getBigInteger(); + BigInteger prime2 = seq[5].getBigInteger(); + BigInteger exp1 = seq[6].getBigInteger(); + BigInteger exp2 = seq[7].getBigInteger(); + BigInteger crtCoef = seq[8].getBigInteger(); + RSAPrivateCrtKeySpec spec = new RSAPrivateCrtKeySpec( + modulus, publicExp, privateExp, prime1, prime2, exp1, exp2, crtCoef); + KeyFactory keyFactory = KeyFactory.getInstance("RSA"); + + return keyFactory.generatePrivate(spec); + } catch (IOException e) { + e.printStackTrace(); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } catch (InvalidKeySpecException e) { + e.printStackTrace(); + } + + return null; + } +} diff --git a/src/test/java/com/pingplusplus/PingppTest.java b/src/test/java/com/pingplusplus/PingppTest.java new file mode 100644 index 0000000..b7e69a5 --- /dev/null +++ b/src/test/java/com/pingplusplus/PingppTest.java @@ -0,0 +1,120 @@ +package com.pingplusplus; + +import com.pingplusplus.exception.*; +import com.pingplusplus.model.*; +import org.junit.BeforeClass; +import org.junit.Test; + +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.*; + +/* + * This Java source file was auto generated by running 'gradle init --type java-library' + * by 'Afon' at '16-12-16 上午10:33' with Gradle 3.1 + * + * @author Afon, @date 16-12-16 上午10:33 + */ +public class PingppTest { + + @BeforeClass public static void initApiKey() { + Pingpp.apiKey = PingppTestData.getApiKey(); + Pingpp.DEBUG = true; + } + + @Test public void testSetApiKey() { + assertEquals("apiKey should be set", "sk_test_ibbTe5jLGCi5rzfH4OqPW9KC", Pingpp.apiKey); + } + + @Test public void testCreateCharge() { + String appId = PingppTestData.getAppID(); + + // 建议使用 PKCS8 编码的私钥,可以用 openssl 将 PKCS1 转成 PKCS8 + Pingpp.privateKey = PingppTestData.getPKCS8PrivateKey(); + + Charge charge = null; + Map chargeMap = new HashMap(); + chargeMap.put("amount", 100);//订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100) + chargeMap.put("currency", "cny"); + chargeMap.put("subject", "Your Subject"); + chargeMap.put("body", "Your Body"); + String orderNo = "orderno" + new Date().getTime(); + chargeMap.put("order_no", orderNo);// 推荐使用 8-20 位,要求数字或字母,不允许其他字符 + chargeMap.put("channel", "alipay");// 支付使用的第三方支付渠道取值,请参考:https://www.pingxx.com/api#api-c-new + chargeMap.put("client_ip", "192.168.1.132"); // 发起支付请求客户端的 IP 地址,格式为 IPV4,如: 127.0.0.1 + Map app = new HashMap(); + app.put("id", appId); + chargeMap.put("app", app); + + Map extra = new HashMap(); + chargeMap.put("extra", extra); + try { + // 发起 charge 创建请求 + charge = Charge.create(chargeMap); + // 传到客户端请先转成字符串 .toString(), 调该方法,会自动转成正确的 JSON 字符串 + String chargeString = charge.toString(); + System.out.println(chargeString); + } catch (APIConnectionException e) { + e.printStackTrace(); + } catch (ChannelException e) { + e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); + } catch (AuthenticationException e) { + e.printStackTrace(); + } catch (APIException e) { + e.printStackTrace(); + } catch (InvalidRequestException e) { + e.printStackTrace(); + } + + assertEquals("charge object should be charge", "charge", charge.getObject()); + assertEquals("charge order_no", orderNo, charge.getOrderNo()); + } + + @Test public void testWebhooksParseCharge() { + String webhookData = PingppTestData.getChargeWebhooksData(); + + PingppObject obj = Webhooks.getObject(webhookData); + + assertTrue("object should be an instance of Charge", obj instanceof Charge); + assertEquals("object should be charge", "charge", ((Charge)obj).getObject()); + } + + @Test public void testWebhooksParseBatchTransfer() { + String webhookData = PingppTestData.getBatchTransferWebhooksData(); + + PingppObject obj = Webhooks.getObject(webhookData); + + assertTrue("object should be an instance of BatchTransfer", obj instanceof BatchTransfer); + assertEquals("object should be batch_transfer", "batch_transfer", ((BatchTransfer)obj).getObject()); + } + + @Test public void testGetChargeList() { + try { + Integer limit = 3; + Map params = new HashMap(); + params.put("app[id]", PingppTestData.getAppID()); + params.put("limit", limit); + ChargeCollection chs = Charge.list(params); + + System.out.println(chs); + assertEquals("object should be list", "list", chs.getObject()); + assertEquals("data count should be same with limit", limit.intValue(), chs.getData().size()); + } catch (AuthenticationException e) { + e.printStackTrace(); + } catch (InvalidRequestException e) { + e.printStackTrace(); + } catch (APIConnectionException e) { + e.printStackTrace(); + } catch (APIException e) { + e.printStackTrace(); + } catch (ChannelException e) { + e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); + } + } +} diff --git a/src/test/java/com/pingplusplus/PingppTestData.java b/src/test/java/com/pingplusplus/PingppTestData.java new file mode 100644 index 0000000..a9f41a2 --- /dev/null +++ b/src/test/java/com/pingplusplus/PingppTestData.java @@ -0,0 +1,83 @@ +package com.pingplusplus; + +/** + * Created by Afon on 2016/12/20. + */ +public class PingppTestData { + public static String getApiKey() { + return "sk_test_ibbTe5jLGCi5rzfH4OqPW9KC"; + } + + public static String getAppID() { + return "app_1Gqj58ynP0mHeX1q"; + } + + public static String getPKCS8PrivateKey() { + return "-----BEGIN PRIVATE KEY-----\n" + + "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHYyS3FwoESp1h\n" + + "GLYiBhy6k9Ag3lzGCIEvm50IIEkE0Ftc9qq44TWqyl+EHUpTMdcBOcI42JLO5stw\n" + + "FOfCLa3PQStEJ4llIRFEKlsrHh67pvWd5RNaSBrvGlnFY40S+SZmjk2WF/h9dE9R\n" + + "ic79t0YI0alD8dIl9Yu3OaEKo7VonBWFwOYMxjPhtORlq+EUF1XJd//yftQrKWTT\n" + + "d7KaUonWzBCl4VzFop/OyTWYlTuZz3eYJaNpH5VaQ1vDgBAcPIeBvMf7NgBHMKW6\n" + + "LLmFd2LEYQ/6I7hkGTjysSzWEpO8bPWT6OEsJ2R2kFGOrSkr+G2MDcJ7ykXYAmz5\n" + + "+A3plS6ZAgMBAAECggEAVrgwR9GlcahiOtDcpn+yDxQq+aC9CQS561LrQZWJLKbS\n" + + "leRS7IZHKTlLwdJbeUO8F7RfXQoVEBghc2YkRrhHWFUn1ES95VY0hElHzcET7Nn5\n" + + "CeuQNzwVOtljIg7iVNY4dXJ/HEDguu/Tb8tYU9FajItj60FJ/WiGk/JksJPzWsOC\n" + + "VPVniy9fTbTLy1e+dCpCI6OXirtm7hvbodRNDjree0wSEzm7vL0wVzEZFo6kX+AB\n" + + "GUwaoO7pPyH+hgyI5Iuhc65NHsHzTJpf8yNFl9QGhkxvm2Ff2oEtDt1idOTBrHB6\n" + + "tg+ti9Ctb2+2yzBnk14hsSYJnKitR7wM6ZCFPX4eYQKBgQD+JAREeFkodec/SC+G\n" + + "X+4Q4Y68uMPkfUPrMKXM4cyY5wgXk64RBvRVxIxX7x6Y3tIKn9v8tWAprbsyVr15\n" + + "eb4RcAFEVwjuoZixhd9sIPsRhfdNolKn/fSPIsHL4ywcJMSIt7KVKHuQeqBNHy0o\n" + + "0PxQjNej1ozsmrAWqV55cbKHswKBgQDI2JQRTPIEC/2y6LdmBVhGJW9OKWTYdVNj\n" + + "q7rX+Yw4uxOtfd5hBqpvgZEklKEk72aazFdEcERlAm9SqoX09qk6zK/wcq4Xn5Q/\n" + + "qy8ecmjuyf2AK9X+HUdMerMVxhK9RpeevKYP/RO2F/wIN64anlQVYygVkXXgdOvW\n" + + "hBE4YABKgwKBgDRtmbPGYB5ItHwJmERQZfx1i8zDESaB8RED6DBsJJkmkDTM8ovw\n" + + "s1c+RPWfDuDalto6QFfR0xTGEmhAHLaCtwNB6AEBM4aHL8jvpTfZVfI3gN0zL3oY\n" + + "mestcG1vYBouO504yE6dG2Ci6479b4OMGYFEjPfvuwLUpp8GMcc7/WihAoGANCp8\n" + + "mtm/ammq5VMof2kX+nAyrrx1ovsmQ5cRGpOIZhvBCqjMn6rZjci7aCLqj+tWXRKC\n" + + "ABagzROK0o/T50JBxjHv6KYArcYW/Up7HI9ezdbM7wNzu2LjZ+veo+MkbuDs9J/P\n" + + "CgwTmJI2NfQwVl2VPVDZ0nBLi5cSwk7fIiNdL/0CgYEAtECmC1QDs53Di2MIsa/F\n" + + "e4sWfJGSDqEWqhcA/aPwf1skM6VJJXBBMV1qFtwgO1AlLnu9dQYra6ylsUoubVYI\n" + + "XM9XK7EMhbqi57+Q75jHFTc0DnzOTyho5Gp4Ddi8dztmZGNWdWTGdeMqh+svqMXk\n" + + "D6VdJeddyGu/Zlgj7Wk6whU=\n" + + "-----END PRIVATE KEY-----\n"; + } + + public static String getPKCS1PrivateKey() { + return "-----BEGIN RSA PRIVATE KEY-----\n" + + "MIIEowIBAAKCAQEAx2MktxcKBEqdYRi2IgYcupPQIN5cxgiBL5udCCBJBNBbXPaq\n" + + "uOE1qspfhB1KUzHXATnCONiSzubLcBTnwi2tz0ErRCeJZSERRCpbKx4eu6b1neUT\n" + + "Wkga7xpZxWONEvkmZo5Nlhf4fXRPUYnO/bdGCNGpQ/HSJfWLtzmhCqO1aJwVhcDm\n" + + "DMYz4bTkZavhFBdVyXf/8n7UKylk03eymlKJ1swQpeFcxaKfzsk1mJU7mc93mCWj\n" + + "aR+VWkNbw4AQHDyHgbzH+zYARzCluiy5hXdixGEP+iO4ZBk48rEs1hKTvGz1k+jh\n" + + "LCdkdpBRjq0pK/htjA3Ce8pF2AJs+fgN6ZUumQIDAQABAoIBAFa4MEfRpXGoYjrQ\n" + + "3KZ/sg8UKvmgvQkEuetS60GViSym0pXkUuyGRyk5S8HSW3lDvBe0X10KFRAYIXNm\n" + + "JEa4R1hVJ9REveVWNIRJR83BE+zZ+QnrkDc8FTrZYyIO4lTWOHVyfxxA4Lrv02/L\n" + + "WFPRWoyLY+tBSf1ohpPyZLCT81rDglT1Z4svX020y8tXvnQqQiOjl4q7Zu4b26HU\n" + + "TQ463ntMEhM5u7y9MFcxGRaOpF/gARlMGqDu6T8h/oYMiOSLoXOuTR7B80yaX/Mj\n" + + "RZfUBoZMb5thX9qBLQ7dYnTkwaxwerYPrYvQrW9vtsswZ5NeIbEmCZyorUe8DOmQ\n" + + "hT1+HmECgYEA/iQERHhZKHXnP0gvhl/uEOGOvLjD5H1D6zClzOHMmOcIF5OuEQb0\n" + + "VcSMV+8emN7SCp/b/LVgKa27Mla9eXm+EXABRFcI7qGYsYXfbCD7EYX3TaJSp/30\n" + + "jyLBy+MsHCTEiLeylSh7kHqgTR8tKND8UIzXo9aM7JqwFqleeXGyh7MCgYEAyNiU\n" + + "EUzyBAv9sui3ZgVYRiVvTilk2HVTY6u61/mMOLsTrX3eYQaqb4GRJJShJO9mmsxX\n" + + "RHBEZQJvUqqF9PapOsyv8HKuF5+UP6svHnJo7sn9gCvV/h1HTHqzFcYSvUaXnrym\n" + + "D/0Tthf8CDeuGp5UFWMoFZF14HTr1oQROGAASoMCgYA0bZmzxmAeSLR8CZhEUGX8\n" + + "dYvMwxEmgfERA+gwbCSZJpA0zPKL8LNXPkT1nw7g2pbaOkBX0dMUxhJoQBy2grcD\n" + + "QegBATOGhy/I76U32VXyN4DdMy96GJnrLXBtb2AaLjudOMhOnRtgouuO/W+DjBmB\n" + + "RIz377sC1KafBjHHO/1ooQKBgDQqfJrZv2ppquVTKH9pF/pwMq68daL7JkOXERqT\n" + + "iGYbwQqozJ+q2Y3Iu2gi6o/rVl0SggAWoM0TitKP0+dCQcYx7+imAK3GFv1KexyP\n" + + "Xs3WzO8Dc7ti42fr3qPjJG7g7PSfzwoME5iSNjX0MFZdlT1Q2dJwS4uXEsJO3yIj\n" + + "XS/9AoGBALRApgtUA7Odw4tjCLGvxXuLFnyRkg6hFqoXAP2j8H9bJDOlSSVwQTFd\n" + + "ahbcIDtQJS57vXUGK2uspbFKLm1WCFzPVyuxDIW6oue/kO+YxxU3NA58zk8oaORq\n" + + "eA3YvHc7ZmRjVnVkxnXjKofrL6jF5A+lXSXnXchrv2ZYI+1pOsIV\n" + + "-----END RSA PRIVATE KEY-----\n"; + } + + public static String getChargeWebhooksData() { + return "{\"id\":\"evt_c4qfbcefvIhsxKuES4CpqdUN\",\"created\":1482204769,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"amount\":100,\"amount_refunded\":0,\"amount_settle\":100,\"app\":\"app_1Gqj58ynP0mHeX1q\",\"body\":\"Your body\",\"channel\":\"alipay\",\"client_ip\":\"210.28.41.51\",\"created\":1482204769,\"credential\":{},\"currency\":\"cny\",\"description\":\"Description.\",\"extra\":{},\"failure_code\":null,\"failure_msg\":null,\"id\":\"ch_1SiPqPDCuvj5S4OaTSX54KC0\",\"livemode\":false,\"metadata\":{},\"object\":\"charge\",\"order_no\":\"orderno1482210036043\",\"paid\":true,\"refunded\":false,\"refunds\":{\"data\":[],\"has_more\":false,\"object\":\"list\",\"url\":\"/v1/charges/ch_1SiPqPDCuvj5S4OaTSX54KC0/refunds\"},\"subject\":\"Your Subject\",\"time_expire\":1482207768,\"time_paid\":1482204769,\"time_settle\":null,\"transaction_no\":\"2016122028818332\"}},\"object\":\"event\",\"request\":\"iar_cfgO0GxCSs9CH0K4r1t5Whjk\",\"pending_webhooks\":0}"; + } + + public static String getBatchTransferWebhooksData() { + return "{\"id\":\"evt_cx1zsoQsiPfjagJKt5gydjsx\",\"created\":1475924802,\"livemode\":true,\"type\":\"batch_transfer.succeeded\",\"data\":{\"object\":{\"id\":\"181610081644346142\",\"amount\":2200,\"app\":\"app_1Gqj58ynP0mHeX1q\",\"batch_no\":\"battr1475916275\",\"channel\":\"alipay\",\"created\":1475916274,\"currency\":\"cny\",\"description\":\"Batch transfer description.\",\"extra\":{},\"failure_msg\":null,\"fee\":100,\"livemode\":true,\"metadata\":{},\"object\":\"batch_transfer\",\"recipients\":[{\"account\":\"test@gmail.com\",\"amount\":1100,\"description\":\"批量付款说明。\",\"name\":\"test\",\"status\":\"paid\",\"transfer\":\"tr_uj9GSfTK8G8mLeHu9KafK5WT\"},{\"account\":\"test@gmail.com\",\"amount\":1100,\"description\":\"批量付款说明。\",\"name\":\"test002\",\"status\":\"paid\",\"transfer\":\"tr_PiXiffX4mbevX5HDfT44DmjL\"}],\"status\":\"succeeded\",\"time_succeeded\":null,\"transaction_no\":null,\"type\":\"b2c\"}},\"object\":\"event\",\"request\":\"iar_23eD0xHi58zLfD5HKdnC2nDc\",\"pending_webhooks\":0}"; + } +} From 36a76e8bd91c785be125d198044f84f29aa0b1a1 Mon Sep 17 00:00:00 2001 From: afon Date: Wed, 28 Dec 2016 01:17:45 +0800 Subject: [PATCH 007/104] =?UTF-8?q?batch=5Ftransfer=20=E6=9B=B4=E6=96=B0/?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 5 +-- src/main/java/com/pingplusplus/Pingpp.java | 2 ++ .../com/pingplusplus/model/BatchTransfer.java | 36 +++++++++++++++++++ .../com/pingplusplus/model/PingppObject.java | 19 +++++++++- .../com/pingplusplus/model/RedEnvelope.java | 16 --------- .../java/com/pingplusplus/model/Transfer.java | 4 +-- .../java/com/pingplusplus/model/Webhooks.java | 2 +- .../com/pingplusplus/net/APIResource.java | 26 ++++++++++++-- .../serializer/EventDataDeserializer.java | 2 +- 9 files changed, 86 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7bb0359..a521649 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,14 +1,15 @@ # ChangeLog -## 2.2.1 -2016-12-20 +## 2.2.1 (2016-12-20) #### 新增 - 添加 gradle 相关文件 - 添加部分测试文件 +- batch_transfer 更新/取消接口 #### 修改 - 更改签名私钥获取方式 - Charge.list app[id] 参数改为必传 +- 红包去除多余的参数 #### 修正 - Webhooks 解析对象 batch_refund、batch_transfer、csutoms 对应事件错误 diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index 9f9e25e..575c95b 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -19,6 +19,8 @@ public abstract class Pingpp { public static volatile String apiVersion; + public static volatile String appId; + public static String AcceptLanguage = "zh-CN"; private static volatile boolean verifySSL = true; diff --git a/src/main/java/com/pingplusplus/model/BatchTransfer.java b/src/main/java/com/pingplusplus/model/BatchTransfer.java index a6b75fc..123d069 100644 --- a/src/main/java/com/pingplusplus/model/BatchTransfer.java +++ b/src/main/java/com/pingplusplus/model/BatchTransfer.java @@ -3,6 +3,7 @@ import com.pingplusplus.exception.*; import com.pingplusplus.net.APIResource; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -231,4 +232,39 @@ public static BatchTransferCollection list(Map params) APIConnectionException, APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, classURL(BatchTransfer.class), params, BatchTransferCollection.class); } + + /** + * 更新 BatchTransfer + * @param id batch_transfer ID + * @param params 更新参数 + * @return BatchTransfer + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + */ + public static BatchTransfer update(String id, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.PUT, instanceURL(BatchTransfer.class, id), params, BatchTransfer.class); + } + + /** + * 撤销/取消 BatchTransfer + * @param id batch_transfer ID + * @return BatchTransfer + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + */ + public static BatchTransfer cancel(String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + Map params = new HashMap(); + params.put("status", "canceled"); + return update(id, params); + } } diff --git a/src/main/java/com/pingplusplus/model/PingppObject.java b/src/main/java/com/pingplusplus/model/PingppObject.java index 42d51f7..89dc6c1 100644 --- a/src/main/java/com/pingplusplus/model/PingppObject.java +++ b/src/main/java/com/pingplusplus/model/PingppObject.java @@ -5,6 +5,8 @@ import com.google.gson.GsonBuilder; import com.pingplusplus.serializer.BatchTransferRecipientSerializer; +import java.lang.reflect.Field; + public abstract class PingppObject { public static final Gson PRETTY_PRINT_GSON = new GsonBuilder() @@ -15,8 +17,23 @@ public abstract class PingppObject { .registerTypeAdapter(BatchTransferRecipientSerializer.class, new BatchTransferRecipientSerializer()) .create(); + public static Gson getPrettyPrintGson() { + try { + Class klass = Class.forName("com.pingplusplus.net.AppBasedResource"); + Field field = klass.getField("PRETTY_PRINT_GSON"); + return (Gson) field.get(klass); + } catch (ClassNotFoundException e) { + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } + + return PRETTY_PRINT_GSON; + } + @Override public String toString() { - return PRETTY_PRINT_GSON.toJson(this); + return getPrettyPrintGson().toJson(this); } } diff --git a/src/main/java/com/pingplusplus/model/RedEnvelope.java b/src/main/java/com/pingplusplus/model/RedEnvelope.java index 15ff476..82560fc 100644 --- a/src/main/java/com/pingplusplus/model/RedEnvelope.java +++ b/src/main/java/com/pingplusplus/model/RedEnvelope.java @@ -37,22 +37,6 @@ public class RedEnvelope extends APIResource { Map extra; Map metadata; - public static final Gson PRETTY_PRINT_GSON = new GsonBuilder(). - setPrettyPrinting(). - serializeNulls(). - disableHtmlEscaping(). - setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES). - setLongSerializationPolicy(LongSerializationPolicy.STRING). - registerTypeAdapter(Double.class, new JsonSerializer() { - @Override - public JsonElement serialize(Double src, Type typeOfSrc, JsonSerializationContext context) { - if (src == src.longValue()) - return new JsonPrimitive(src.longValue()); - return new JsonPrimitive(src); - } - }). - create(); - public String getStatus() { return status; } diff --git a/src/main/java/com/pingplusplus/model/Transfer.java b/src/main/java/com/pingplusplus/model/Transfer.java index 984584b..d7ba8bf 100644 --- a/src/main/java/com/pingplusplus/model/Transfer.java +++ b/src/main/java/com/pingplusplus/model/Transfer.java @@ -263,7 +263,7 @@ public static TransferCollection all(Map params) * 更新 Transfer * @param id transfer id * @param params 更新参数 - * @return TransferCollection + * @return Transfer * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -279,7 +279,7 @@ public static Transfer update(String id, Map params) /** * 撤销/取消 Transfer * @param id transfer id - * @return TransferCollection + * @return Transfer * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/Webhooks.java b/src/main/java/com/pingplusplus/model/Webhooks.java index 346360d..0e77a97 100644 --- a/src/main/java/com/pingplusplus/model/Webhooks.java +++ b/src/main/java/com/pingplusplus/model/Webhooks.java @@ -36,6 +36,6 @@ public static PingppObject getObject(String eventStr) { * @return Event */ public static Event eventParse(String eventStr) { - return APIResource.GSON.fromJson(eventStr, Event.class); + return APIResource.getGson().fromJson(eventStr, Event.class); } } diff --git a/src/main/java/com/pingplusplus/net/APIResource.java b/src/main/java/com/pingplusplus/net/APIResource.java index a27322d..b514fdf 100644 --- a/src/main/java/com/pingplusplus/net/APIResource.java +++ b/src/main/java/com/pingplusplus/net/APIResource.java @@ -11,6 +11,7 @@ import com.pingplusplus.util.PingppSignature; import java.io.*; +import java.lang.reflect.Field; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; @@ -52,6 +53,21 @@ protected enum RequestMethod { .registerTypeAdapter(PingppRawJsonObject.class, new PingppRawJsonObjectDeserializer()) .create(); + public static Gson getGson() { + try { + Class klass = Class.forName("com.pingplusplus.net.AppBasedResource"); + Field field = klass.getField("GSON"); + return (Gson) field.get(klass); + } catch (ClassNotFoundException e) { + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } + + return GSON; + } + /** * @param clazz * @return @@ -158,7 +174,7 @@ static Map getHeaders(String apiKey) { propertyMap.put("bindings.version", Pingpp.VERSION); propertyMap.put("lang", "Java"); propertyMap.put("publisher", "Pingpp"); - headers.put("X-Pingpp-Client-User-Agent", GSON.toJson(propertyMap)); + headers.put("X-Pingpp-Client-User-Agent", getGson().toJson(propertyMap)); if (Pingpp.apiVersion != null) { headers.put("Pingplusplus-Version", Pingpp.apiVersion); } @@ -224,6 +240,7 @@ private static String formatURL(String url, String query) { private static java.net.HttpURLConnection createGetConnection( String url, String query, String apiKey) throws IOException, APIConnectionException { String getURL = formatURL(url, query); + java.net.HttpURLConnection conn = createPingppConnection(getURL, apiKey); conn.setRequestMethod("GET"); @@ -564,6 +581,9 @@ protected static T request(APIResource.RequestMethod method, String url, Map try { // HTTPSURLConnection verifies SSL cert by default response = makeURLConnectionRequest(method, url, query, Pingpp.apiKey); + if (Pingpp.DEBUG) { + System.out.println(getGson().toJson(response)); + } } catch (ClassCastException ce) { throw ce; } @@ -572,7 +592,7 @@ protected static T request(APIResource.RequestMethod method, String url, Map if (rCode < 200 || rCode >= 300) { handleAPIError(rBody, rCode); } - return GSON.fromJson(rBody, clazz); + return getGson().fromJson(rBody, clazz); } /** @@ -587,7 +607,7 @@ protected static T request(APIResource.RequestMethod method, String url, Map private static void handleAPIError(String rBody, int rCode) throws InvalidRequestException, AuthenticationException, APIException, ChannelException, RateLimitException { - APIResource.Error error = GSON.fromJson(rBody, + APIResource.Error error = getGson().fromJson(rBody, APIResource.ErrorContainer.class).error; switch (rCode) { case 400: diff --git a/src/main/java/com/pingplusplus/serializer/EventDataDeserializer.java b/src/main/java/com/pingplusplus/serializer/EventDataDeserializer.java index 27d3e5a..fec7932 100644 --- a/src/main/java/com/pingplusplus/serializer/EventDataDeserializer.java +++ b/src/main/java/com/pingplusplus/serializer/EventDataDeserializer.java @@ -90,7 +90,7 @@ public EventData deserialize(JsonElement json, Type typeOfT, JsonDeserialization if ("object".equals(key)) { String type = element.getAsJsonObject().get("object").getAsString(); Class cl = objectMap.get(type); - PingppObject object = APIResource.GSON.fromJson(entry.getValue(), cl != null ? cl : PingppRawJsonObject.class); + PingppObject object = APIResource.getGson().fromJson(entry.getValue(), cl != null ? cl : PingppRawJsonObject.class); eventData.setObject(object); } } From 1b90958721b06b85eb1b31b0388dbbf8363069be Mon Sep 17 00:00:00 2001 From: afon Date: Thu, 12 Jan 2017 16:55:44 +0800 Subject: [PATCH 008/104] =?UTF-8?q?batch=5Frefund=20charges=20=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + .../com/pingplusplus/model/BatchRefund.java | 6 +-- .../model/BatchRefundCharges.java | 52 +++++++++++++++++++ .../com/pingplusplus/model/PingppObject.java | 2 + .../BatchRefundChargesSerializer.java | 22 ++++++++ .../java/com/pingplusplus/PingppTest.java | 26 ++++++++++ 6 files changed, 106 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/pingplusplus/model/BatchRefundCharges.java create mode 100644 src/main/java/com/pingplusplus/serializer/BatchRefundChargesSerializer.java diff --git a/CHANGELOG.md b/CHANGELOG.md index a521649..b3c742b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ - 更改签名私钥获取方式 - Charge.list app[id] 参数改为必传 - 红包去除多余的参数 +- batch_refund charges 字段格式修改 #### 修正 - Webhooks 解析对象 batch_refund、batch_transfer、csutoms 对应事件错误 diff --git a/src/main/java/com/pingplusplus/model/BatchRefund.java b/src/main/java/com/pingplusplus/model/BatchRefund.java index 1e9235a..9ace955 100644 --- a/src/main/java/com/pingplusplus/model/BatchRefund.java +++ b/src/main/java/com/pingplusplus/model/BatchRefund.java @@ -15,7 +15,7 @@ public class BatchRefund extends APIResource { String description; Boolean livemode; Map metadata; - List charges; + List charges; ChargeRefundCollection refunds; String refundUrl; @@ -83,11 +83,11 @@ public void setMetadata(Map metadata) { this.metadata = metadata; } - public List getCharges() { + public List getCharges() { return charges; } - public void setCharges(List charges) { + public void setCharges(List charges) { this.charges = charges; } diff --git a/src/main/java/com/pingplusplus/model/BatchRefundCharges.java b/src/main/java/com/pingplusplus/model/BatchRefundCharges.java new file mode 100644 index 0000000..ab7ba56 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/BatchRefundCharges.java @@ -0,0 +1,52 @@ +package com.pingplusplus.model; + +/** + * Created by Afon on 17/01/12. + */ +public class BatchRefundCharges extends PingppObject { + String charge; + Integer amount; + String description; + String status; + String fundingSource; + + public String getCharge() { + return charge; + } + + public void setCharge(String account) { + this.charge = charge; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getFundingSource() { + return fundingSource; + } + + public void setFundingSource(String fundingSource) { + this.fundingSource = fundingSource; + } +} diff --git a/src/main/java/com/pingplusplus/model/PingppObject.java b/src/main/java/com/pingplusplus/model/PingppObject.java index 89dc6c1..1c6502b 100644 --- a/src/main/java/com/pingplusplus/model/PingppObject.java +++ b/src/main/java/com/pingplusplus/model/PingppObject.java @@ -3,6 +3,7 @@ import com.google.gson.FieldNamingPolicy; import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import com.pingplusplus.serializer.BatchRefundChargesSerializer; import com.pingplusplus.serializer.BatchTransferRecipientSerializer; import java.lang.reflect.Field; @@ -15,6 +16,7 @@ public abstract class PingppObject { .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) .disableHtmlEscaping() .registerTypeAdapter(BatchTransferRecipientSerializer.class, new BatchTransferRecipientSerializer()) + .registerTypeAdapter(BatchRefundCharges.class, new BatchRefundChargesSerializer()) .create(); public static Gson getPrettyPrintGson() { diff --git a/src/main/java/com/pingplusplus/serializer/BatchRefundChargesSerializer.java b/src/main/java/com/pingplusplus/serializer/BatchRefundChargesSerializer.java new file mode 100644 index 0000000..7541f45 --- /dev/null +++ b/src/main/java/com/pingplusplus/serializer/BatchRefundChargesSerializer.java @@ -0,0 +1,22 @@ +package com.pingplusplus.serializer; + +import com.google.gson.*; +import com.pingplusplus.model.BatchRefundCharges; +import com.pingplusplus.model.BatchTransferRecipient; + +import java.lang.reflect.Type; + +/** + * Created by afon on 16/11/28. + */ +public class BatchRefundChargesSerializer implements JsonSerializer { + + @Override + public JsonElement serialize(BatchRefundCharges batchRefundCharges, Type type, JsonSerializationContext jsonSerializationContext) { + GsonBuilder gsonBuilder = new GsonBuilder() + .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) + .disableHtmlEscaping(); + + return gsonBuilder.create().toJsonTree(batchRefundCharges, type); + } +} diff --git a/src/test/java/com/pingplusplus/PingppTest.java b/src/test/java/com/pingplusplus/PingppTest.java index b7e69a5..b091e1b 100644 --- a/src/test/java/com/pingplusplus/PingppTest.java +++ b/src/test/java/com/pingplusplus/PingppTest.java @@ -117,4 +117,30 @@ public class PingppTest { e.printStackTrace(); } } + + @Test public void testGetBatchRefundList() { + try { + Integer limit = 3; + Map params = new HashMap(); + params.put("per_page", limit); + params.put("sign", false); + BatchRefundCollection objs = BatchRefund.list(params); + + System.out.println(objs); + assertEquals("object should be list", "list", objs.getObject()); + assertEquals("data count should be same with per_page", limit.intValue(), objs.getData().size()); + } catch (AuthenticationException e) { + e.printStackTrace(); + } catch (InvalidRequestException e) { + e.printStackTrace(); + } catch (APIConnectionException e) { + e.printStackTrace(); + } catch (APIException e) { + e.printStackTrace(); + } catch (ChannelException e) { + e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); + } + } } From 228e31ce34032d3dfa3860487cf6612b549e9b25 Mon Sep 17 00:00:00 2001 From: afon Date: Thu, 12 Jan 2017 17:38:01 +0800 Subject: [PATCH 009/104] batch_refund fix --- .../com/pingplusplus/model/BatchRefund.java | 18 ++++++++++++++++++ src/test/java/com/pingplusplus/PingppTest.java | 1 - 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/pingplusplus/model/BatchRefund.java b/src/main/java/com/pingplusplus/model/BatchRefund.java index 9ace955..537610c 100644 --- a/src/main/java/com/pingplusplus/model/BatchRefund.java +++ b/src/main/java/com/pingplusplus/model/BatchRefund.java @@ -18,6 +18,8 @@ public class BatchRefund extends APIResource { List charges; ChargeRefundCollection refunds; String refundUrl; + String status; + Long timeSucceeded; public String getId() { return id; @@ -107,6 +109,22 @@ public void setRefundUrl(String refundUrl) { this.refundUrl = refundUrl; } + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Long getTimeSucceeded() { + return timeSucceeded; + } + + public void setTimeSucceeded(Long timeSucceeded) { + this.timeSucceeded = timeSucceeded; + } + /** * @param clazz * @return diff --git a/src/test/java/com/pingplusplus/PingppTest.java b/src/test/java/com/pingplusplus/PingppTest.java index b091e1b..e0507fd 100644 --- a/src/test/java/com/pingplusplus/PingppTest.java +++ b/src/test/java/com/pingplusplus/PingppTest.java @@ -126,7 +126,6 @@ public class PingppTest { params.put("sign", false); BatchRefundCollection objs = BatchRefund.list(params); - System.out.println(objs); assertEquals("object should be list", "list", objs.getObject()); assertEquals("data count should be same with per_page", limit.intValue(), objs.getData().size()); } catch (AuthenticationException e) { From cd4f69d934c9363676da1e0760899c6e59992686 Mon Sep 17 00:00:00 2001 From: afon Date: Fri, 13 Jan 2017 11:16:41 +0800 Subject: [PATCH 010/104] build jar --- build.gradle | 10 ++++++++++ example/libs/pingpp-java-2.2.1.jar | Bin 52881 -> 54034 bytes libs/pingpp-java-2.2.1.jar | Bin 52881 -> 54034 bytes 3 files changed, 10 insertions(+) diff --git a/build.gradle b/build.gradle index f33d441..44434a2 100644 --- a/build.gradle +++ b/build.gradle @@ -11,3 +11,13 @@ dependencies { testCompile 'junit:junit:4.12' } + +task sourcesJar(type: Jar, dependsOn: classes) { + classifier = 'sources' + from sourceSets.main.allSource +} + +task javadocJar(type: Jar, dependsOn: javadoc) { + classifier = 'javadoc' + from javadoc.destinationDir +} diff --git a/example/libs/pingpp-java-2.2.1.jar b/example/libs/pingpp-java-2.2.1.jar index 9fdb14f90b17e755b66da0ff7305b3603c1cd1b7..c4c3def826ed0a249a293ae1ee6bc285cb74c615 100644 GIT binary patch delta 19439 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

  • 3c4iG>f5WRh-0+9?7{pExQ2_PWe{oxqiqk<9#|E=4CH(rM1&mArf z;{Da$zHyb*f4EUP91!#WXyu0pAX45U-QP+RG(_`PTm8m8(Es7~hVcJ#zu&kf);}D_ zF!^6jZg!ABv8%hzxCSv#&d}L;g#iK zK>CshAlgBUKX+NpauGK3R+Ou^i}L*Eg1ln?j{zab=_}G7ga3^s0t2J{kAacI|8LO# z74MH22gam4_f53*_WrL|?@RqF#s?XU{>}M6@gx7qc}n_^xMvKJ<9|X*{%^(oZ#==< z{s;dt#+CaYW03n8#@~vH9wUHoQu~+xyI~0E?2R*1|HF}t|Lc7J->gpq6Im2ktl%^> zLG=Q~SYyFrz@>$gPo0LE`2Z+>I~gi20ZORgAb>A41O~7wio;H(fEDYe@=b0y1C6N( zXQY^}q)k>lr!@K884<7n-v6@F{sUuZF3(K49Ecg zOt#7MvN6-xQ!^b+C)_YL_W30J`WLFu)v96pGIQD)a{{D#|G~ z^93r{&CbAJiK0ks9@w;mMY0Gd&b}zcv}++){OUzDNE-SN6pLO8EO&(`>s?X<8+zFI z?B711&AdQ^jZh5jSPfR#en}Us5K+0Ihiuwfu)^n;WclnF>=|~7GB6z40Wt~zY~F7e diff --git a/libs/pingpp-java-2.2.1.jar b/libs/pingpp-java-2.2.1.jar index 9fdb14f90b17e755b66da0ff7305b3603c1cd1b7..c4c3def826ed0a249a293ae1ee6bc285cb74c615 100644 GIT binary patch delta 19439 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
  • 3c4iG>f5WRh-0+9?7{pExQ2_PWe{oxqiqk<9#|E=4CH(rM1&mArf z;{Da$zHyb*f4EUP91!#WXyu0pAX45U-QP+RG(_`PTm8m8(Es7~hVcJ#zu&kf);}D_ zF!^6jZg!ABv8%hzxCSv#&d}L;g#iK zK>CshAlgBUKX+NpauGK3R+Ou^i}L*Eg1ln?j{zab=_}G7ga3^s0t2J{kAacI|8LO# z74MH22gam4_f53*_WrL|?@RqF#s?XU{>}M6@gx7qc}n_^xMvKJ<9|X*{%^(oZ#==< z{s;dt#+CaYW03n8#@~vH9wUHoQu~+xyI~0E?2R*1|HF}t|Lc7J->gpq6Im2ktl%^> zLG=Q~SYyFrz@>$gPo0LE`2Z+>I~gi20ZORgAb>A41O~7wio;H(fEDYe@=b0y1C6N( zXQY^}q)k>lr!@K884<7n-v6@F{sUuZF3(K49Ecg zOt#7MvN6-xQ!^b+C)_YL_W30J`WLFu)v96pGIQD)a{{D#|G~ z^93r{&CbAJiK0ks9@w;mMY0Gd&b}zcv}++){OUzDNE-SN6pLO8EO&(`>s?X<8+zFI z?B711&AdQ^jZh5jSPfR#en}Us5K+0Ihiuwfu)^n;WclnF>=|~7GB6z40Wt~zY~F7e From 4bd7cc3611e86274038b102ab7a742033621e5f5 Mon Sep 17 00:00:00 2001 From: afon Date: Fri, 13 Jan 2017 11:23:01 +0800 Subject: [PATCH 011/104] update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b3c742b..1761376 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # ChangeLog -## 2.2.1 (2016-12-20) +## 2.2.1 (2017-01-13) #### 新增 - 添加 gradle 相关文件 - 添加部分测试文件 From 01d8c69a7756b144040b8bb0e9ee1c5bd8ad8ee4 Mon Sep 17 00:00:00 2001 From: afon Date: Fri, 13 Jan 2017 11:27:57 +0800 Subject: [PATCH 012/104] fix typo --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1761376..925ecc8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ - batch_refund charges 字段格式修改 #### 修正 -- Webhooks 解析对象 batch_refund、batch_transfer、csutoms 对应事件错误 +- Webhooks 解析对象 batch_refund、batch_transfer、customs 对应事件错误 ## 2.2.0 #### 新增 From fb4a5f35b0a0c2eca7cd50bf92187dc007a436d9 Mon Sep 17 00:00:00 2001 From: afon Date: Mon, 13 Mar 2017 11:29:45 +0800 Subject: [PATCH 013/104] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/pingxx/example/BatchTransferExample.java | 4 ++-- .../main/java/com/pingxx/example/RedEnvelopeExample.java | 6 +++--- .../src/main/java/com/pingxx/example/TransferExample.java | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/example/src/main/java/com/pingxx/example/BatchTransferExample.java b/example/src/main/java/com/pingxx/example/BatchTransferExample.java index 4f498fc..14994c5 100644 --- a/example/src/main/java/com/pingxx/example/BatchTransferExample.java +++ b/example/src/main/java/com/pingxx/example/BatchTransferExample.java @@ -60,8 +60,8 @@ public BatchTransfer create() { String orderNo = new SimpleDateFormat("yyyyMMddhhmmss").format(new Date()) + Main.randomString(7); Map params = new HashMap(); params.put("app", appId); - params.put("channel", "alipay"); // 目前支持 wx(新渠道)、 wx_pub - params.put("batch_no", orderNo); // 企业转账使用的商户内部订单号。wx(新渠道)、wx_pub 规定为 1 ~ 50 位不能重复的数字字母组合 + params.put("channel", "alipay"); // 目前支持 alipay、 unionpay + params.put("batch_no", orderNo); // 企业转账使用的商户内部订单号。 params.put("amount", 2000); // 订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100,企业付款最小发送金额为 1 元) params.put("type", "b2c"); // 付款类型,当前仅支持 b2c 企业付款 params.put("currency", "cny"); diff --git a/example/src/main/java/com/pingxx/example/RedEnvelopeExample.java b/example/src/main/java/com/pingxx/example/RedEnvelopeExample.java index 1f8a130..f49ac6e 100644 --- a/example/src/main/java/com/pingxx/example/RedEnvelopeExample.java +++ b/example/src/main/java/com/pingxx/example/RedEnvelopeExample.java @@ -66,9 +66,9 @@ public RedEnvelope create() { redenvelope.put("subject", "Your Subject"); redenvelope.put("body", "Your Body"); String orderNo = new SimpleDateFormat("yyyyMMddhhmmss").format(new Date()); - redenvelope.put("order_no", orderNo);// 红包使用的商户订单号。wx(新渠道)、wx_pub 规定为 1 ~ 28 位不能重复的数字 - redenvelope.put("channel", "wx_pub");// 目前支持 wx(新渠道)、 wx_pub - redenvelope.put("recipient", openid);// 接收者 id, 为用户在 wx(新渠道)、wx_pub 下的 open_id + redenvelope.put("order_no", orderNo);// 红包使用的商户订单号。wx_pub 规定为 1 ~ 28 位不能重复的数字 + redenvelope.put("channel", "wx_pub");// 目前支持 wx_pub + redenvelope.put("recipient", openid);// 接收者 id, 为用户在 wx_pub 下的 open_id redenvelope.put("description", "Your Description"); Map app = new HashMap(); app.put("id", appId); diff --git a/example/src/main/java/com/pingxx/example/TransferExample.java b/example/src/main/java/com/pingxx/example/TransferExample.java index 24a6b7e..b4f1e0b 100644 --- a/example/src/main/java/com/pingxx/example/TransferExample.java +++ b/example/src/main/java/com/pingxx/example/TransferExample.java @@ -66,12 +66,12 @@ public Transfer transfer() { Transfer transfer = null; String orderNo = new SimpleDateFormat("yyyyMMddhhmmss").format(new Date()) + Main.randomString(7); Map transferMap = new HashMap(); - transferMap.put("channel", "wx_pub");// 目前支持 wx(新渠道)、 wx_pub - transferMap.put("order_no", orderNo);// 企业转账使用的商户内部订单号。wx(新渠道)、wx_pub 规定为 1 ~ 50 位不能重复的数字字母组合 + transferMap.put("channel", "wx_pub");// 目前支持 wx_pub + transferMap.put("order_no", orderNo);// 企业转账使用的商户内部订单号。wx_pub 规定为 1 ~ 50 位不能重复的数字字母组合 transferMap.put("amount", "200");// 订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100,企业付款最小发送金额为 1 元) transferMap.put("type", "b2c");// 付款类型,当前仅支持 b2c 企业付款 transferMap.put("currency", "cny"); - transferMap.put("recipient", openid);// 接收者 id, 为用户在 wx(新渠道)、wx_pub 下的 open_id + transferMap.put("recipient", openid);// 接收者 id, 为用户在 wx_pub 下的 open_id transferMap.put("description", "your description"); Map app = new HashMap(); app.put("id", appId); From 91e26aacdfc0b4f97084595870a7f4d2ad473ed0 Mon Sep 17 00:00:00 2001 From: afon Date: Tue, 21 Mar 2017 20:54:31 +0800 Subject: [PATCH 014/104] fix int value in credential --- CHANGELOG.md | 4 ++++ README.md | 4 ++-- VERSION | 2 +- ...p-java-2.2.1.jar => pingpp-java-2.2.2.jar} | Bin 54034 -> 54174 bytes ...p-java-2.2.1.jar => pingpp-java-2.2.2.jar} | Bin 54034 -> 54174 bytes src/main/java/com/pingplusplus/Pingpp.java | 2 +- .../serializer/ChargeDeserializer.java | 8 ++++++++ 7 files changed, 16 insertions(+), 4 deletions(-) rename example/libs/{pingpp-java-2.2.1.jar => pingpp-java-2.2.2.jar} (69%) rename libs/{pingpp-java-2.2.1.jar => pingpp-java-2.2.2.jar} (69%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 925ecc8..dd30e27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # ChangeLog +## 2.2.2 (2017-03-21) +#### 修正 +- alipay_pc_direct/alipay_wap 渠道 credential 字段类型的修正 + ## 2.2.1 (2017-01-13) #### 新增 - 添加 gradle 相关文件 diff --git a/README.md b/README.md index c8912ca..ed66113 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.2.1 + 2.2.2 jar ``` @@ -52,7 +52,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.2.1' +compile 'Pingplusplus:pingpp-java:2.2.2' ``` ### 初始化 diff --git a/VERSION b/VERSION index c043eea..b1b25a5 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.2.1 +2.2.2 diff --git a/example/libs/pingpp-java-2.2.1.jar b/example/libs/pingpp-java-2.2.2.jar similarity index 69% rename from example/libs/pingpp-java-2.2.1.jar rename to example/libs/pingpp-java-2.2.2.jar index c4c3def826ed0a249a293ae1ee6bc285cb74c615..798ee1daa1c1a7d977fe134aa7cda13b0b0aeb24 100644 GIT binary patch delta 10806 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 Q8i;UjiWb4B^`8*`2dbl2wEzGB delta 10806 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 D?ap3u diff --git a/libs/pingpp-java-2.2.1.jar b/libs/pingpp-java-2.2.2.jar similarity index 69% rename from libs/pingpp-java-2.2.1.jar rename to libs/pingpp-java-2.2.2.jar index c4c3def826ed0a249a293ae1ee6bc285cb74c615..798ee1daa1c1a7d977fe134aa7cda13b0b0aeb24 100644 GIT binary patch delta 10806 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 Q8i;UjiWb4B^`8*`2dbl2wEzGB delta 10806 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 D?ap3u diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index 575c95b..488264f 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,7 +11,7 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.2.1"; + public static final String VERSION = "2.2.2"; /** * api key */ diff --git a/src/main/java/com/pingplusplus/serializer/ChargeDeserializer.java b/src/main/java/com/pingplusplus/serializer/ChargeDeserializer.java index 19c054c..7fbfbe3 100644 --- a/src/main/java/com/pingplusplus/serializer/ChargeDeserializer.java +++ b/src/main/java/com/pingplusplus/serializer/ChargeDeserializer.java @@ -25,6 +25,7 @@ public Charge deserialize(JsonElement jsonElement, Type type, JsonDeserializatio JsonObject chargeJson = jsonElement.getAsJsonObject(); if (null != chargeJson.getAsJsonObject("credential")) { JsonObject credentialJson = chargeJson.getAsJsonObject("credential"); + JsonObject channelCredential; if (null != credentialJson.getAsJsonObject("wx")) { JsonObject wx = credentialJson.getAsJsonObject("wx"); Long timeStamp = wx.get("timeStamp").getAsLong(); @@ -39,6 +40,13 @@ public Charge deserialize(JsonElement jsonElement, Type type, JsonDeserializatio JsonObject bfb = credentialJson.getAsJsonObject("bfb"); Long total_amount = bfb.get("total_amount").getAsLong(); bfb.addProperty("total_amount", total_amount + ""); + } else if ((channelCredential = credentialJson.getAsJsonObject("alipay")) != null + || (channelCredential = credentialJson.getAsJsonObject("alipay_wap")) != null + || (channelCredential = credentialJson.getAsJsonObject("alipay_pc_direct")) != null) { + if (channelCredential.has("payment_type")) { + Long paymentType = channelCredential.get("payment_type").getAsLong(); + channelCredential.addProperty("payment_type", Long.toString(paymentType)); + } } } From 6019d3a5f652b5a48ee52dc487cb315d37f60aa2 Mon Sep 17 00:00:00 2001 From: afon Date: Mon, 27 Mar 2017 10:59:17 +0800 Subject: [PATCH 015/104] add pom.xml --- pom.xml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 pom.xml diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..f12b20f --- /dev/null +++ b/pom.xml @@ -0,0 +1,26 @@ + + + 4.0.0 + Pingplusplus + pingpp-java + 2.2.2 + pingpp-java + https://github.com/PingPlusPlus/pingpp-java + + 1.7 + 1.7 + + + + com.google.code.gson + gson + 2.6.2 + + + commons-codec + commons-codec + 1.10 + + + From d94b46f173280511cde84a45e368fdc36f00bc70 Mon Sep 17 00:00:00 2001 From: afon Date: Tue, 28 Mar 2017 14:37:05 +0800 Subject: [PATCH 016/104] =?UTF-8?q?batch=5Ftransfer=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 + README.md | 4 +- VERSION | 2 +- pom.xml | 2 +- src/main/java/com/pingplusplus/Pingpp.java | 2 +- .../model/BatchTransferRecipient.java | 36 +++++++ .../pingplusplus/model/DeletedObjectBase.java | 22 ++++ .../com/pingplusplus/model/PingppObject.java | 2 + .../serializer/ChargeDeserializer.java | 18 ++-- .../serializer/DoubleTypeSerializer.java | 21 ++++ .../java/com/pingplusplus/PingppTest.java | 101 ++++++++++++++++-- .../java/com/pingplusplus/PingppTestData.java | 5 + 12 files changed, 200 insertions(+), 19 deletions(-) create mode 100644 src/main/java/com/pingplusplus/model/DeletedObjectBase.java create mode 100644 src/main/java/com/pingplusplus/serializer/DoubleTypeSerializer.java diff --git a/CHANGELOG.md b/CHANGELOG.md index dd30e27..e7b7048 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # ChangeLog +## 2.2.3 (2017-03-27) +#### 修改 +- BatchTransfer 增加字段 + ## 2.2.2 (2017-03-21) #### 修正 - alipay_pc_direct/alipay_wap 渠道 credential 字段类型的修正 diff --git a/README.md b/README.md index ed66113..3ac680b 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.2.2 + 2.2.3 jar ``` @@ -52,7 +52,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.2.2' +compile 'Pingplusplus:pingpp-java:2.2.3' ``` ### 初始化 diff --git a/VERSION b/VERSION index b1b25a5..5859406 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.2.2 +2.2.3 diff --git a/pom.xml b/pom.xml index f12b20f..0520c50 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 Pingplusplus pingpp-java - 2.2.2 + 2.2.3 pingpp-java https://github.com/PingPlusPlus/pingpp-java diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index 488264f..a5f918d 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,7 +11,7 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.2.2"; + public static final String VERSION = "2.2.3"; /** * api key */ diff --git a/src/main/java/com/pingplusplus/model/BatchTransferRecipient.java b/src/main/java/com/pingplusplus/model/BatchTransferRecipient.java index 07be21a..1622276 100644 --- a/src/main/java/com/pingplusplus/model/BatchTransferRecipient.java +++ b/src/main/java/com/pingplusplus/model/BatchTransferRecipient.java @@ -12,6 +12,10 @@ public class BatchTransferRecipient extends PingppObject { String status; String openBankCode; String openBank; + Integer fee; + String failureMsg; + String orderNo; + String transactionNo; public String getAccount() { return account; @@ -76,4 +80,36 @@ public String getOpenBank() { public void setOpenBank(String openBank) { this.openBank = openBankCode; } + + public Integer getFee() { + return fee; + } + + public void setFee(Integer fee) { + this.fee = fee; + } + + public String getFailureMsg() { + return failureMsg; + } + + public void setFailureMsg(String failureMsg) { + this.failureMsg = failureMsg; + } + + public String getOrderNo() { + return orderNo; + } + + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } + + public String getTransactionNo() { + return transactionNo; + } + + public void setTransactionNo(String transactionNo) { + this.transactionNo = transactionNo; + } } diff --git a/src/main/java/com/pingplusplus/model/DeletedObjectBase.java b/src/main/java/com/pingplusplus/model/DeletedObjectBase.java new file mode 100644 index 0000000..d8227d2 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/DeletedObjectBase.java @@ -0,0 +1,22 @@ +package com.pingplusplus.model; + +/** + * Created by Afon on 17/03/27. + */ +public abstract class DeletedObjectBase extends PingppObject implements DeletedPingppObject { + String id; + Boolean deleted; + + public String getId() { + return id; + } + public void setId(String id) { + this.id = id; + } + public Boolean getDeleted() { + return deleted; + } + public void setDeleted(Boolean deleted) { + this.deleted = deleted; + } +} \ No newline at end of file diff --git a/src/main/java/com/pingplusplus/model/PingppObject.java b/src/main/java/com/pingplusplus/model/PingppObject.java index 1c6502b..aa5ade7 100644 --- a/src/main/java/com/pingplusplus/model/PingppObject.java +++ b/src/main/java/com/pingplusplus/model/PingppObject.java @@ -5,6 +5,7 @@ import com.google.gson.GsonBuilder; import com.pingplusplus.serializer.BatchRefundChargesSerializer; import com.pingplusplus.serializer.BatchTransferRecipientSerializer; +import com.pingplusplus.serializer.DoubleTypeSerializer; import java.lang.reflect.Field; @@ -17,6 +18,7 @@ public abstract class PingppObject { .disableHtmlEscaping() .registerTypeAdapter(BatchTransferRecipientSerializer.class, new BatchTransferRecipientSerializer()) .registerTypeAdapter(BatchRefundCharges.class, new BatchRefundChargesSerializer()) + .registerTypeAdapter(Double.class, new DoubleTypeSerializer()) .create(); public static Gson getPrettyPrintGson() { diff --git a/src/main/java/com/pingplusplus/serializer/ChargeDeserializer.java b/src/main/java/com/pingplusplus/serializer/ChargeDeserializer.java index 7fbfbe3..6043e2c 100644 --- a/src/main/java/com/pingplusplus/serializer/ChargeDeserializer.java +++ b/src/main/java/com/pingplusplus/serializer/ChargeDeserializer.java @@ -26,20 +26,22 @@ public Charge deserialize(JsonElement jsonElement, Type type, JsonDeserializatio if (null != chargeJson.getAsJsonObject("credential")) { JsonObject credentialJson = chargeJson.getAsJsonObject("credential"); JsonObject channelCredential; - if (null != credentialJson.getAsJsonObject("wx")) { + if (credentialJson.getAsJsonObject("wx") != null) { JsonObject wx = credentialJson.getAsJsonObject("wx"); Long timeStamp = wx.get("timeStamp").getAsLong(); - wx.addProperty("timeStamp", "" + timeStamp); - } else if (null != credentialJson.getAsJsonObject("wx_pub")) { + wx.addProperty("timeStamp", Long.toString(timeStamp)); + } else if (credentialJson.getAsJsonObject("wx_pub") != null) { JsonObject wxPub = credentialJson.getAsJsonObject("wx_pub"); if (null == wxPub.get("signed_data") && wxPub.get("timeStamp") != null) { Long timeStamp = wxPub.get("timeStamp").getAsLong(); - wxPub.addProperty("timeStamp", "" + timeStamp); + wxPub.addProperty("timeStamp", Long.toString(timeStamp)); + } + } else if ((channelCredential = credentialJson.getAsJsonObject("bfb")) != null + || (channelCredential = credentialJson.getAsJsonObject("bfb_wap")) != null) { + if (channelCredential.has("total_amount")) { + Long total_amount = channelCredential.get("total_amount").getAsLong(); + channelCredential.addProperty("total_amount", Long.toString(total_amount)); } - } else if (null != credentialJson.getAsJsonObject("bfb")) { - JsonObject bfb = credentialJson.getAsJsonObject("bfb"); - Long total_amount = bfb.get("total_amount").getAsLong(); - bfb.addProperty("total_amount", total_amount + ""); } else if ((channelCredential = credentialJson.getAsJsonObject("alipay")) != null || (channelCredential = credentialJson.getAsJsonObject("alipay_wap")) != null || (channelCredential = credentialJson.getAsJsonObject("alipay_pc_direct")) != null) { diff --git a/src/main/java/com/pingplusplus/serializer/DoubleTypeSerializer.java b/src/main/java/com/pingplusplus/serializer/DoubleTypeSerializer.java new file mode 100644 index 0000000..510de29 --- /dev/null +++ b/src/main/java/com/pingplusplus/serializer/DoubleTypeSerializer.java @@ -0,0 +1,21 @@ +package com.pingplusplus.serializer; + +import com.google.gson.JsonElement; +import com.google.gson.JsonPrimitive; +import com.google.gson.JsonSerializationContext; +import com.google.gson.JsonSerializer; + +import java.lang.reflect.Type; + +/** + * Created by afon on 17/03/27. + */ +public class DoubleTypeSerializer implements JsonSerializer { + + @Override + public JsonElement serialize(Double src, Type type, JsonSerializationContext jsonSerializationContext) { + if(src == src.longValue()) + return new JsonPrimitive(src.longValue()); + return new JsonPrimitive(src); + } +} diff --git a/src/test/java/com/pingplusplus/PingppTest.java b/src/test/java/com/pingplusplus/PingppTest.java index e0507fd..a24faec 100644 --- a/src/test/java/com/pingplusplus/PingppTest.java +++ b/src/test/java/com/pingplusplus/PingppTest.java @@ -5,9 +5,7 @@ import org.junit.BeforeClass; import org.junit.Test; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; +import java.util.*; import static org.junit.Assert.*; @@ -20,7 +18,10 @@ public class PingppTest { @BeforeClass public static void initApiKey() { + Pingpp.overrideApiBase(PingppTestData.getApiBase()); Pingpp.apiKey = PingppTestData.getApiKey(); + // 建议使用 PKCS8 编码的私钥,可以用 openssl 将 PKCS1 转成 PKCS8 + Pingpp.privateKey = PingppTestData.getPKCS8PrivateKey(); Pingpp.DEBUG = true; } @@ -31,9 +32,6 @@ public class PingppTest { @Test public void testCreateCharge() { String appId = PingppTestData.getAppID(); - // 建议使用 PKCS8 编码的私钥,可以用 openssl 将 PKCS1 转成 PKCS8 - Pingpp.privateKey = PingppTestData.getPKCS8PrivateKey(); - Charge charge = null; Map chargeMap = new HashMap(); chargeMap.put("amount", 100);//订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100) @@ -49,6 +47,7 @@ public class PingppTest { chargeMap.put("app", app); Map extra = new HashMap(); +// extra.put("success_url", "http://127.0.0.1/succeeded"); chargeMap.put("extra", extra); try { // 发起 charge 创建请求 @@ -142,4 +141,94 @@ public class PingppTest { e.printStackTrace(); } } + + @Test public void testCreateTransfer() { + try { + String orderNo = "2017" + new Date().getTime(); + Map params = new HashMap(); + params.put("amount", 1010); + params.put("currency", "cny"); + params.put("type", "b2c"); + params.put("order_no", orderNo); + params.put("channel", "wx_pub"); + params.put("recipient", "openid-kaoshrbgafsnrxxcsds"); + +// params.put("channel", "unionpay"); +// Map extra = new HashMap(); +// extra.put("open_bank_code", "0105"); +// extra.put("card_number", "6222001022020034"); +// extra.put("user_name", "USER NAME"); +// params.put("extra", extra); + + params.put("description", "Your description."); + Map app = new HashMap(); + app.put("id", PingppTestData.getAppID()); + params.put("app", app); + Transfer obj = Transfer.create(params); + + assertEquals("object should be transfer", "transfer", obj.getObject()); + assertEquals("amount should be same", params.get("amount"), obj.getAmount()); + assertEquals("order_no should be same", params.get("order_no"), obj.getOrderNo()); + assertEquals("description should be same", params.get("description"), obj.getDescription()); + assertEquals("channel should be same", params.get("channel"), obj.getChannel()); + } catch (AuthenticationException e) { + e.printStackTrace(); + } catch (InvalidRequestException e) { + e.printStackTrace(); + } catch (APIConnectionException e) { + e.printStackTrace(); + } catch (APIException e) { + e.printStackTrace(); + } catch (ChannelException e) { + e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); + } + } + + @Test public void testCreateBatchTransfer() throws + RateLimitException, APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + + String batchNo = "2017" + new Date().getTime(); + Map params = new HashMap(); + params.put("app", PingppTestData.getAppID()); + params.put("amount", 1000); + params.put("currency", "cny"); + params.put("type", "b2c"); + params.put("batch_no", batchNo); + params.put("channel", "alipay"); + params.put("description", "Batch transfer description."); + + List> recipients = new ArrayList<>(); + params.put("recipients", recipients); + + Map recipient1 = new HashMap(); + recipient1.put("account", "user001@gmail.com"); + recipient1.put("name", "user001"); + recipient1.put("amount", 600); + recipient1.put("description", "Recipient 1 description."); + recipients.add(recipient1); + + Map recipient2 = new HashMap(); + recipient2.put("account", "user002@gmail.com"); + recipient2.put("name", "user002"); + recipient2.put("amount", 400); + recipient2.put("description", "Recipient 2 description."); + recipients.add(recipient2); + + BatchTransfer obj = BatchTransfer.create(params); + + assertEquals("object should be batch_transfer", "batch_transfer", obj.getObject()); + assertEquals("amount should be same", params.get("amount"), obj.getAmount()); + assertEquals("batch_no should be same", params.get("batch_no"), obj.getBatchNo()); + assertEquals("description should be same", params.get("description"), obj.getDescription()); + assertEquals("channel should be same", params.get("channel"), obj.getChannel()); + for (int i = 0; i < obj.getRecipients().size(); i++) { + assertNotNull("order_no should not be null", obj.getRecipients().get(i).getOrderNo()); + assertNull("failure_msg should be null", obj.getRecipients().get(i).getFailureMsg()); + assertNull("transaction_no should be null", obj.getRecipients().get(i).getTransactionNo()); + assertTrue("fee should be greater than or equal to 0", obj.getRecipients().get(i).getFee() >= 0); + } + } } diff --git a/src/test/java/com/pingplusplus/PingppTestData.java b/src/test/java/com/pingplusplus/PingppTestData.java index a9f41a2..d603782 100644 --- a/src/test/java/com/pingplusplus/PingppTestData.java +++ b/src/test/java/com/pingplusplus/PingppTestData.java @@ -4,6 +4,11 @@ * Created by Afon on 2016/12/20. */ public class PingppTestData { + + public static String getApiBase() { + return "https://api.pingxx.com"; + } + public static String getApiKey() { return "sk_test_ibbTe5jLGCi5rzfH4OqPW9KC"; } From 9bdc07c949708211b7ddfd53fc167eba6eb348c0 Mon Sep 17 00:00:00 2001 From: afon Date: Sat, 1 Apr 2017 14:33:40 +0800 Subject: [PATCH 017/104] =?UTF-8?q?batch=5Ftransfer=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=96=B0=E6=B8=A0=E9=81=93=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/BatchTransferRecipient.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/main/java/com/pingplusplus/model/BatchTransferRecipient.java b/src/main/java/com/pingplusplus/model/BatchTransferRecipient.java index 1622276..b771e1e 100644 --- a/src/main/java/com/pingplusplus/model/BatchTransferRecipient.java +++ b/src/main/java/com/pingplusplus/model/BatchTransferRecipient.java @@ -16,6 +16,9 @@ public class BatchTransferRecipient extends PingppObject { String failureMsg; String orderNo; String transactionNo; + String accountType; + String businessCode; + String cardType; public String getAccount() { return account; @@ -112,4 +115,28 @@ public String getTransactionNo() { public void setTransactionNo(String transactionNo) { this.transactionNo = transactionNo; } + + public String getAccountType() { + return accountType; + } + + public void setAccountType(String accountType) { + this.accountType = accountType; + } + + public String getBusinessCode() { + return businessCode; + } + + public void setBusinessCode(String businessCode) { + this.businessCode = businessCode; + } + + public String getCardType() { + return cardType; + } + + public void setCardType(String cardType) { + this.cardType = cardType; + } } From e2956fe22502800c943739e423ebe8802547e1b6 Mon Sep 17 00:00:00 2001 From: afon Date: Sat, 1 Apr 2017 16:06:56 +0800 Subject: [PATCH 018/104] fix classname --- .../com/pingplusplus/net/APIResource.java | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/pingplusplus/net/APIResource.java b/src/main/java/com/pingplusplus/net/APIResource.java index b514fdf..1ab2a41 100644 --- a/src/main/java/com/pingplusplus/net/APIResource.java +++ b/src/main/java/com/pingplusplus/net/APIResource.java @@ -12,6 +12,8 @@ import java.io.*; import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; @@ -68,6 +70,15 @@ public static Gson getGson() { return GSON; } + public static Class getSelfClass() { + try { + return Class.forName("com.pingplusplus.net.AccountAPIResource"); + } catch (ClassNotFoundException ignored) { + } + + return APIResource.class; + } + /** * @param clazz * @return @@ -93,7 +104,26 @@ protected static String className(Class clazz) { * @return */ protected static String singleClassURL(Class clazz) throws InvalidRequestException { - return String.format("%s/v1/%s", Pingpp.getApiBase(), className(clazz)); + String className = null; + Class klass = getSelfClass(); + if (!klass.getSimpleName().equalsIgnoreCase("APIResource")) { + try { + Method method = klass.getMethod("className", Class.class); + className = (String)method.invoke(klass, clazz); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } + } + + if (className == null) { + className = className(clazz); + } + + return String.format("%s/v1/%s", Pingpp.getApiBase(), className); } /** From 16ede2cb7f9d77d74a7e0e66e31ad0c8b2b69225 Mon Sep 17 00:00:00 2001 From: afon Date: Tue, 11 Apr 2017 20:01:03 +0800 Subject: [PATCH 019/104] make jar --- ...p-java-2.2.2.jar => pingpp-java-2.2.3.jar} | Bin 54174 -> 55800 bytes ...p-java-2.2.2.jar => pingpp-java-2.2.3.jar} | Bin 54174 -> 55800 bytes 2 files changed, 0 insertions(+), 0 deletions(-) rename example/libs/{pingpp-java-2.2.2.jar => pingpp-java-2.2.3.jar} (65%) rename libs/{pingpp-java-2.2.2.jar => pingpp-java-2.2.3.jar} (65%) diff --git a/example/libs/pingpp-java-2.2.2.jar b/example/libs/pingpp-java-2.2.3.jar similarity index 65% rename from example/libs/pingpp-java-2.2.2.jar rename to example/libs/pingpp-java-2.2.3.jar index 798ee1daa1c1a7d977fe134aa7cda13b0b0aeb24..b374dfb474a32264bf7c254ef407721f990f511a 100644 GIT binary patch delta 14025 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 diff --git a/libs/pingpp-java-2.2.2.jar b/libs/pingpp-java-2.2.3.jar similarity index 65% rename from libs/pingpp-java-2.2.2.jar rename to libs/pingpp-java-2.2.3.jar index 798ee1daa1c1a7d977fe134aa7cda13b0b0aeb24..b374dfb474a32264bf7c254ef407721f990f511a 100644 GIT binary patch delta 14025 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 From e7070bc86cae91b89c9f301b4617c35a6c5d9fe8 Mon Sep 17 00:00:00 2001 From: jiacheo Date: Thu, 13 Apr 2017 10:06:10 +0800 Subject: [PATCH 020/104] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改错别字 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3ac680b..4cc099d 100644 --- a/README.md +++ b/README.md @@ -62,5 +62,5 @@ Pingpp.apiKey = "YOUR_API_KEY"; ### 使用示例 ``` -参考 example/SimpleExample 示例项目工程。改工程提供了付款、退款、微信公共号付款相关的 demo。 +参考 example/SimpleExample 示例项目工程。该工程提供了付款、退款、微信公共号付款相关的 demo。 ``` From 7cb263264772f863f45bd6dfd7dd8aa271ab2746 Mon Sep 17 00:00:00 2001 From: afon Date: Fri, 12 May 2017 15:27:05 +0800 Subject: [PATCH 021/104] =?UTF-8?q?=E8=A1=A5=E5=85=85=20example=20?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pingxx/example/BatchTransferExample.java | 180 ++++++++- .../com/pingxx/example/ChargeExample.java | 371 ++++++++++++++++-- .../main/java/com/pingxx/example/Main.java | 35 +- .../com/pingxx/example/TransferExample.java | 180 ++++++++- .../com/pingxx/example/WxPubOAuthExample.java | 13 +- 5 files changed, 699 insertions(+), 80 deletions(-) diff --git a/example/src/main/java/com/pingxx/example/BatchTransferExample.java b/example/src/main/java/com/pingxx/example/BatchTransferExample.java index 14994c5..95993e4 100644 --- a/example/src/main/java/com/pingxx/example/BatchTransferExample.java +++ b/example/src/main/java/com/pingxx/example/BatchTransferExample.java @@ -56,23 +56,23 @@ public static void runDemos(String appId) { * @return */ public BatchTransfer create() { + String channel = "alipay"; + BatchTransfer obj = null; - String orderNo = new SimpleDateFormat("yyyyMMddhhmmss").format(new Date()) + Main.randomString(7); + String batchNo = new SimpleDateFormat("yyyyMMddhhmmss").format(new Date()) + Main.randomString(7); Map params = new HashMap(); params.put("app", appId); - params.put("channel", "alipay"); // 目前支持 alipay、 unionpay - params.put("batch_no", orderNo); // 企业转账使用的商户内部订单号。 - params.put("amount", 2000); // 订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100,企业付款最小发送金额为 1 元) - params.put("type", "b2c"); // 付款类型,当前仅支持 b2c 企业付款 + params.put("channel", channel); // 目前支持 alipay、 unionpay、wx_pub、allinpay、jdpay + params.put("batch_no", batchNo); // 企业转账使用的商户内部订单号。 + params.put("amount", 5000); // 订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100,企业付款最小发送金额为 1 元) + params.put("type", "b2c"); // 付款类型,wx_pub 仅支持 b2c,alipay、 unionpay、allinpay、jdpay 支持 b2b params.put("currency", "cny"); params.put("description", "your description"); List> recipients = new ArrayList>(); - Map recipient = new HashMap(); - recipient.put("account", "user001@gmail.com"); - recipient.put("amount", 2000); - recipient.put("name", "NAME"); - recipients.add(recipient); + recipients.add(channelRecipient(channel)); + // recipients.add(channelRecipient(channel)); + // recipients.add(channelRecipient(channel)); params.put("recipients", recipients); @@ -120,7 +120,6 @@ public void retrieve(String id) { } catch (RateLimitException e) { e.printStackTrace(); } - } /** @@ -129,11 +128,12 @@ public void retrieve(String id) { * 查询批量转账记录列表,默认一次查询 10 条,用户可以使用 per_page 自定义查询数目,但是最多不超过 20 条。 */ public void list() { - Map parm = new HashMap(); - parm.put("per_page", 3); + Map param = new HashMap(); + param.put("per_page", 3); + param.put("app", appId); try { - BatchTransferCollection objs = BatchTransfer.list(parm); + BatchTransferCollection objs = BatchTransfer.list(param); System.out.println(objs); } catch (AuthenticationException e) { e.printStackTrace(); @@ -149,4 +149,156 @@ public void list() { e.printStackTrace(); } } + + private Map channelRecipient(String channel) { + Map recipient = new HashMap(); + + switch (channel) { + case "alipay": + recipient = alipayRecipient(); + break; + case "wx_pub": + recipient = wxPubRecipient(); + break; + case "unionpay": + recipient = unionpayRecipient(); + break; + case "allinpay": + recipient = allinpayRecipient(); + break; + case "jdpay": + recipient = jdpayRecipient(); + break; + } + + return recipient; + } + + private Map alipayRecipient() { + Map extra = new HashMap<>(); + + // 必须,金额,单位为分。 + extra.put("amount", 5000); + + // 必须,接收者支付宝账号。 + extra.put("account", "alipayaccount@gmail.com"); + + // 必须,收款人姓名,1~50位。 + extra.put("name", "张三"); + + // 可选,收款方账户类型。可取值:1、 ALIPAY_USERID :支付宝账号对应的支付宝唯一用户号。以2088开头的16位纯数字组成。 2、 ALIPAY_LOGONID (默认值):支付宝登录号,支持邮箱和手机号格式。 + // extra.put("account_type", "ALIPAY_LOGONID"); + + // 可选,批量企业付款描述,最多 200 字节。 + // extra.put("description", "描述"); + + // 可选,订单号,1 ~ 64 位不能重复的数字字母组合。 + // extra.put("order_no", "1234567890123456"); + + return extra; + } + + private Map wxPubRecipient() { + Map extra = new HashMap<>(); + // 必须,金额,单位为分。 + extra.put("amount", 5000); + + // 必须,接收者 id,为用户在 wx_pub 下的 open_id。 + extra.put("open_id", "o7xEMsySBFG3MVHI-9VsAJX-j50W"); + + // 可选,收款人姓名。当该参数为空,则不校验收款人姓名。 + // extra.put("name", "张三"); + + // 可选,是否强制校验收款人姓名。仅当 user_name 参数不为空时该参数生效。 + // extra.put("force_check", true); + + // 可选,批量企业付款描述,最多 99 个英文和数字的组合或最多 33 个中文字符,不可以包含特殊字符。不填默认使用外层参数中的 description。 + // extra.put("description", "描述"); + + // 可选,订单号,1 ~ 32 位不能重复的数字字母组合。 + // extra.put("order_no", "1234567890123456"); + + return extra; + } + + private Map unionpayRecipient() { + Map extra = new HashMap<>(); + // 必须,金额,单位为分。 + extra.put("amount", 5000); + + // 必须,1~32位,收款人银行卡号或者存折号。 + extra.put("account", "6228480402564890011"); + + // 必须,1~100位,收款人姓名。 + extra.put("name", "张三"); + + /** + * open_bank_code 和 open_bank 两个参数必传一个,建议使用 open_bank_code ,若都传参则优先使用 open_bank_code 读取规则;prov 和 city 均为可选参数,如果不传参,则使用默认值 "上海" 给渠道接口。 + */ + // 条件可选,4位,开户银行编号,详情请参考 企业付款(银行卡)银行编号说明:https://www.pingxx.com/api#%E9%93%B6%E8%A1%8C%E7%BC%96%E5%8F%B7%E8%AF%B4%E6%98%8E。 + extra.put("open_bank_code", "0103"); + + // 条件可选,1~50位,开户银行,详情请参考 企业付款(银行卡)银行编号说明:https://www.pingxx.com/api#%E9%93%B6%E8%A1%8C%E7%BC%96%E5%8F%B7%E8%AF%B4%E6%98%8E。 + extra.put("open_bank", "农业银行"); + + // 可选,订单号,1 ~ 16 位数字。 + // extra.put("order_no", "1234567890123456"); + + // 可选,批量企业付款描述,最多 200 字节。 + // extra.put("description", "描述"); + + return extra; + } + + private Map allinpayRecipient() { + Map extra = new HashMap<>(); + // 必须,金额,单位为分。 + extra.put("amount", 5000); + + // 必须,接收者银行卡账号。 + extra.put("account", "6228480402564890011"); + + // 必须,收款人姓名。 + extra.put("name", "张三"); + + // 必须,4位,开户银行编号,详情请参考 企业付款(银行卡)银行编号说明:https://www.pingxx.com/api#%E9%93%B6%E8%A1%8C%E7%BC%96%E5%8F%B7%E8%AF%B4%E6%98%8E。 + extra.put("open_bank_code", "0103"); + + // 可选,5位,业务代码,根据通联业务人员提供,不填使用通联提供默认值09900。 + // extra.put("business_code", "09900"); + + // 可选,1位,银行卡号类型,0:银行卡、1:存折,不填默认使用银行卡。 + // extra.put("card_type", 0); + + // 可选,批量付款描述,最多 30 个 Unicode 字符。 + // extra.put("description", "描述"); + + // 可选,订单号, 20 ~ 40 位不能重复的数字字母组合(必须以通联的商户号开头,建议组合格式:通联商户号 + 时间戳 + 固定位数顺序流水号,不包含+号),这里不传的话程序会调用商户的通联商户号加上随机数自动生成 order_no。 + // extra.put("order_no", "331301234554321098765432112"); + + return extra; + } + + private Map jdpayRecipient() { + Map extra = new HashMap<>(); + // 必须,金额,单位为分。 + extra.put("amount", 5000); + + // 必须,1~32位,收款人银行卡号或者存折号。 + extra.put("account", "6228480402564890011"); + + // 必须,1~100位,收款人姓名。 + extra.put("name", "张三"); + + // 必须,4位,开户银行编号,详情请参考 企业付款(银行卡)银行编号说明:https://www.pingxx.com/api#%E9%93%B6%E8%A1%8C%E7%BC%96%E5%8F%B7%E8%AF%B4%E6%98%8E。 + extra.put("open_bank_code", "0103"); + + // 可选,批量付款描述,最多 100 个 Unicode 字符。 + // extra.put("description", "描述"); + + // 可选,订单号,jdpay 限长 1~64 位不能重复的数字字母组合。 + // extra.put("order_no", "1234567890123456"); + + return extra; + } } diff --git a/example/src/main/java/com/pingxx/example/ChargeExample.java b/example/src/main/java/com/pingxx/example/ChargeExample.java index 5a06604..781e0c7 100644 --- a/example/src/main/java/com/pingxx/example/ChargeExample.java +++ b/example/src/main/java/com/pingxx/example/ChargeExample.java @@ -58,6 +58,8 @@ public static void runDemos(String appId) { */ public Charge createCharge() { Charge charge = null; + String channel = "alipay"; + Map chargeMap = new HashMap(); chargeMap.put("amount", 100);//订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100) chargeMap.put("currency", "cny"); @@ -65,15 +67,15 @@ public Charge createCharge() { chargeMap.put("body", "Your Body"); String orderNo = new Date().getTime() + Main.randomString(7); chargeMap.put("order_no", orderNo);// 推荐使用 8-20 位,要求数字或字母,不允许其他字符 - chargeMap.put("channel", "alipay");// 支付使用的第三方支付渠道取值,请参考:https://www.pingxx.com/api#api-c-new + chargeMap.put("channel", channel);// 支付使用的第三方支付渠道取值,请参考:https://www.pingxx.com/api#api-c-new chargeMap.put("client_ip", "127.0.0.1"); // 发起支付请求客户端的 IP 地址,格式为 IPV4,如: 127.0.0.1 Map app = new HashMap(); app.put("id", appId); chargeMap.put("app", app); - Map extra = new HashMap(); -// extra.put("open_id", "USER_OPENID"); - chargeMap.put("extra", extra); + // extra 取值请查看相应方法说明 + chargeMap.put("extra", channelExtra(channel)); + try { //发起交易请求 charge = Charge.create(chargeMap); @@ -96,43 +98,6 @@ public Charge createCharge() { return charge; } - /** - * 创建 Charge (微信公众号) - * - * 创建 Charge 用户需要组装一个 map 对象作为参数传递给 Charge.create(); - * map 里面参数的具体说明请参考:https://www.pingxx.com/api#api-c-new - * @return Charge - */ - public Charge createChargeWithOpenid(String openid) { - Charge charge = null; - Map chargeMap = new HashMap(); - chargeMap.put("amount", 100);//订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100) - chargeMap.put("currency", "cny"); - chargeMap.put("subject", "Your Subject"); - chargeMap.put("body", "Your Body"); - String orderNo = new Date().getTime() + Main.randomString(7); - chargeMap.put("order_no", orderNo);// 推荐使用 8-20 位,要求数字或字母,不允许其他字符 - chargeMap.put("channel", "wx_pub");// 支付使用的第三方支付渠道取值,请参考:https://www.pingxx.com/api#api-c-new - chargeMap.put("client_ip", "127.0.0.1"); // 发起支付请求客户端的 IP 地址,格式为 IPV4,如: 127.0.0.1 - Map app = new HashMap(); - app.put("id", appId); - chargeMap.put("app", app); - - Map extra = new HashMap(); - extra.put("open_id", openid);// 用户在商户微信公众号下的唯一标识,获取方式可参考 WxPubOAuthExample.java - chargeMap.put("extra", extra); - try { - //发起交易请求 - charge = Charge.create(chargeMap); - // 传到客户端请先转成字符串 .toString(), 调该方法,会自动转成正确的 JSON 字符串 - String chargeString = charge.toString(); - System.out.println(chargeString); - } catch (PingppException e) { - e.printStackTrace(); - } - return charge; - } - /** * 查询 Charge * @@ -171,7 +136,7 @@ public ChargeCollection list() { params.put("limit", 3); Map app = new HashMap(); app.put("id", appId); - params.put("app", app); + params.put("app", app); // app 参数为必填参数。 try { chargeCollection = Charge.list(params); @@ -192,4 +157,326 @@ public ChargeCollection list() { return chargeCollection; } + + private Map channelExtra(String channel) { + Map extra = new HashMap<>(); + + switch (channel) { + case "alipay": + extra = alipayExtra(); + break; + case "alipay_wap": + extra = alipayWapExtra(); + break; + case "alipay_pc_direct": + extra = alipayPcDirectExtra(); + break; + case "alipay_qr": + extra = alipayQrExtra(); + break; + case "wx": + extra = wxExtra(); + break; + case "wx_pub": + extra = wxPubExtra(); + break; + case "wx_pub_qr": + extra = wxPubQrDirectExtra(); + break; + case "wx_lite": + extra = wxLiteExtra(); + break; + case "wx_wap": + extra = wxWapExtra(); + break; + case "bfb": + extra = bfbExtra(); + break; + case "bfb_wap": + extra = bfbWapExtra(); + break; + case "upacp": + extra = upacpExtra(); + break; + case "upacp_wap": + extra = upacpWapExtra(); + break; + case "upacp_pc": + extra = upacpPcExtra(); + break; + case "jdpay_wap": + extra = jdpayWapExtra(); + break; + case "yeepay_wap": + extra = yeepayWapExtra(); + break; + case "applepay_upacp": + extra = applepayUpacpExtra(); + break; + case "qpay": + extra = qpayExtra(); + break; + case "cmb_wallet": + extra = cmbWalletExtra(); + break; + case "cp_b2b": + extra = cpB2bExtra(); + break; + } + + return extra; + } + + // extra 根据渠道会有不同的参数 + + private Map alipayExtra() { + Map extra = new HashMap<>(); + + // 可选,开放平台返回的包含账户信息的 token(授权令牌,商户在一定时间内对支付宝某些服务的访问权限)。通过授权登录后获取的 alipay_open_id ,作为该参数的 value ,登录授权账户即会为支付账户,32 位字符串。 + // extra.put("extern_token", "TOKEN"); + + // 可选,是否发起实名校验,T 代表发起实名校验;F 代表不发起实名校验。 + extra.put("'rn_check'", "T"); + + return extra; + } + + private Map alipayWapExtra() { + Map extra = new HashMap<>(); + + // 必须,支付成功的回调地址,在本地测试不要写 localhost ,请写 127.0.0.1。URL 后面不要加自定义参数。 + extra.put("success_url", "https://example.com/success"); + // 可选,支付取消的回调地址, app_pay 为true时,该字段无效,在本地测试不要写 localhost ,请写 127.0.0.1。URL 后面不要加自定义参数。 + extra.put("cancel_url", "https://example.com/cancel"); + + // 可选,2016 年 6 月 16 日之前登录 Ping++ 管理平台填写支付宝手机网站的渠道参数的旧接口商户,需要更新接口时设置此参数值为true,6月16号后接入的新接口商户不需要设置该参数。 + // extra.put("new_version", true); + + // 可选,是否使用支付宝客户端支付,该参数为true时,调用客户端支付。 + // extra.put("app_pay", true); + + return extra; + } + + private Map alipayPcDirectExtra() { + Map extra = new HashMap<>(); + // 必须,支付成功的回调地址,在本地测试不要写 localhost ,请写 127.0.0.1。URL 后面不要加自定义参数。 + extra.put("success_url", "https://example.com/success"); + + // 可选,是否开启防钓鱼网站的验证参数(如果已申请开通防钓鱼时间戳验证,则此字段必填)。 + // extra.put("enable_anti_phishing_key", false); + + // 可选,客户端 IP ,用户在创建交易时,该用户当前所使用机器的IP(如果商户申请后台开通防钓鱼IP地址检查选项,此字段必填,校验用)。 + // extra.put("exter_invoke_ip", "192.168.100.8"); + + return extra; + } + + private Map alipayQrExtra() { + Map extra = new HashMap<>(); + + return extra; + } + + private Map wxExtra() { + Map extra = new HashMap<>(); + // 可选,指定支付方式,指定不能使用信用卡支付可设置为 no_credit 。 + extra.put("limit_pay", "no_credit"); + + // 可选,商品标记,代金券或立减优惠功能的参数。 + // extra.put("goods_tag", "YOUR_GOODS_TAG"); + + return extra; + } + + private Map wxPubExtra() { + Map extra = new HashMap<>(); + // 可选,指定支付方式,指定不能使用信用卡支付可设置为 no_credit 。 + extra.put("limit_pay", "no_credit"); + + // 可选,商品标记,代金券或立减优惠功能的参数。 + // extra.put("goods_tag", "YOUR_GOODS_TAG"); + + // 必须,用户在商户 appid 下的唯一标识。 + extra.put("open_id", "o7xEMsySBFG3MVHI-9VsAJX-j50W"); + + return extra; + } + + private Map wxPubQrDirectExtra() { + Map extra = new HashMap<>(); + // 可选,指定支付方式,指定不能使用信用卡支付可设置为 no_credit 。 + extra.put("limit_pay", "no_credit"); + + // 可选,商品标记,代金券或立减优惠功能的参数。 + // extra.put("goods_tag", "YOUR_GOODS_TAG"); + + // 必须,商品 ID,1-32 位字符串。此 id 为二维码中包含的商品 ID,商户可自定义。 + extra.put("product_id", "YOUR_PRODUCT_ID"); + + return extra; + } + + private Map wxLiteExtra() { + Map extra = new HashMap<>(); + // 可选,指定支付方式,指定不能使用信用卡支付可设置为 no_credit 。 + extra.put("limit_pay", "no_credit"); + + // 可选,商品标记,代金券或立减优惠功能的参数。 + // extra.put("goods_tag", "YOUR_GOODS_TAG"); + + // 必须,用户在商户 appid 下的唯一标识。 + extra.put("open_id", "o7xEMsySBFG3MVHI-9VsAJX-j50W"); + + return extra; + } + + private Map wxWapExtra() { + Map extra = new HashMap<>(); + // 可选,支付完成的回调地址。 + extra.put("result_url", "https://example.com/success"); + + // 可选,商品标记,代金券或立减优惠功能的参数。 + // extra.put("goods_tag", "YOUR_GOODS_TAG"); + + return extra; + } + + private Map bfbExtra() { + Map extra = new HashMap<>(); + + return extra; + } + + private Map bfbWapExtra() { + Map extra = new HashMap<>(); + // 必须,支付完成的回调地址,在本地测试不要写 localhost ,请写 127.0.0.1。URL 后面不要加自定义参数。 + extra.put("result_url", "https://example.com/success"); + + // 必须,是否需要登录百度钱包来进行支付。 + // extra.put("bfb_login", true); + + return extra; + } + + private Map upacpExtra() { + Map extra = new HashMap<>(); + + return extra; + } + + private Map upacpWapExtra() { + Map extra = new HashMap<>(); + // 必须,支付完成的回调地址,在本地测试不要写 localhost ,请写 127.0.0.1。URL 后面不要加自定义参数。 + extra.put("result_url", "https://example.com/success"); + + return extra; + } + + private Map upacpPcExtra() { + Map extra = new HashMap<>(); + // 必须,支付完成的回调地址,在本地测试不要写 localhost ,请写 127.0.0.1。URL 后面不要加自定义参数。 + extra.put("result_url", "https://example.com/success"); + + return extra; + } + + private Map jdpayWapExtra() { + Map extra = new HashMap<>(); + // 必须,支付完成的回调地址。 + extra.put("success_url", "https://example.com/success"); + + // 必须,支付失败页面跳转路径。 + extra.put("fail_url", "https://example.com/fail"); + + // 可选,用户交易令牌,用于识别用户信息,支付成功后会调用 success_url 返回给商户。商户可以记录这个 token 值,当用户再次支付的时候传入该 token ,用户无需再次输入银行卡信息,直接输入短信验证码进行支付。32 位字符串。 + // extra.put("token", "TOKEN"); + + // 可选,订单类型,值为0表示实物商品订单,值为 1 代表虚拟商品订单,该参数默认值为 0 。 + // extra.put("order_type", 0); + + // 可选,设置是否通过手机端发起支付,值为 true 时调用手机 h5 支付页面,值为 false 时调用 PC 端支付页面,该参数默认值为 true 。 + extra.put("is_mobile", true); + + // 可选,用户账号类型,取值只能为:BIZ。传参存在问题请参考 帮助中心:https://help.pingxx.com/article/1012535/。 + // extra.put("user_type", "BIZ"); + + // 可选,商户的用户账号。传参存在问题请参考 帮助中心:https://help.pingxx.com/article/1012535/。 + // extra.put("user_id", "YOUR_USER_ID"); + + return extra; + } + + private Map yeepayWapExtra() { + Map extra = new HashMap<>(); + // 必须,商品类别码,商品类别码参考链接 :https://www.pingxx.com/api#%E6%98%93%E5%AE%9D%E6%94%AF%E4%BB%98%E5%95%86%E5%93%81%E7%B1%BB%E5%9E%8B%E7%A0%81 。 + extra.put("product_category", "1"); + + // 必须,用户标识,商户生成的用户账号唯一标识,最长 50 位字符串。 + extra.put("identity_id", "IDENTITY_ID"); + + // 必须,用户标识类型,用户标识类型参考链接:https://www.pingxx.com/api#%E6%98%93%E5%AE%9D%E6%94%AF%E4%BB%98%E7%94%A8%E6%88%B7%E6%A0%87%E8%AF%86%E7%B1%BB%E5%9E%8B%E7%A0%81 。 + extra.put("identity_type", 2); + + // 必须,终端类型,对应取值 0:IMEI, 1:MAC, 2:UUID, 3:other。 + extra.put("terminal_type", 2); + + // 必须,终端 ID。 + extra.put("terminal_IR", "TERMINAL_ID"); + + // 必须,用户使用的移动终端的 UserAgent 信息。 + extra.put("user_ua", "USER_UA"); + + // 必须,前台通知地址。 + extra.put("result_url", "https://example.com/result"); + + return extra; + } + + private Map applepayUpacpExtra() { + Map extra = new HashMap<>(); + + return extra; + } + + private Map qpayExtra() { + Map extra = new HashMap<>(); + // 必须,客户端设备类型,取值范围: "ios" ,"android"。 + extra.put("device", "ios"); + + return extra; + } + + private Map cmbWalletExtra() { + Map extra = new HashMap<>(); + // 必须,交易完成跳转的地址。 + extra.put("result_url", "https://example.com/result"); + + /** + * 对于 p_no, seq , m_uid , mobile 这几个参数: + * 1. 这几个参数是用户自定义的。 + * 2. 对于同一个终端用户每次请求 charge 务必使用同一套参数(确保每个参数都不变), + * 任意参数变更都会导致用户重新签约,同一个用户和招行重新签约的次数有限制,超限制就会无法签约 ,导致用户无法使用。 + */ + + // 必须,客户协议号,不超过 30 位的纯数字字符串。 + extra.put("p_no", "P_NO"); + + // 必须,协议开通请求流水号,不超过 20 位的纯数字字符串,请保证系统内唯一。 + extra.put("seq", "SEQ"); + + // 必须,协议用户 ID,不超过 20 位的纯数字字符串。 + extra.put("m_uid", "UID"); + + // 必须,协议手机号,11 位数字。 + extra.put("mobile", "13523456789"); + + return extra; + } + + private Map cpB2bExtra() { + Map extra = new HashMap<>(); + + return extra; + } } diff --git a/example/src/main/java/com/pingxx/example/Main.java b/example/src/main/java/com/pingxx/example/Main.java index 6c93a57..1a760ed 100644 --- a/example/src/main/java/com/pingxx/example/Main.java +++ b/example/src/main/java/com/pingxx/example/Main.java @@ -1,7 +1,6 @@ package com.pingxx.example; import com.pingplusplus.Pingpp; -import com.pingplusplus.model.Customs; import java.math.BigInteger; import java.security.SecureRandom; @@ -37,7 +36,7 @@ public static void main(String[] args) throws Exception { Pingpp.apiKey = apiKey; // 设置私钥路径,用于请求签名 - Pingpp.privateKeyPath = privateKeyFilePath; +// Pingpp.privateKeyPath = privateKeyFilePath; /** * 或者直接设置私钥内容 @@ -45,6 +44,34 @@ public static void main(String[] args) throws Exception { "... 私钥内容字符串 ...\n" + "-----END RSA PRIVATE KEY-----\n"; */ + Pingpp.privateKey = "-----BEGIN PRIVATE KEY-----\n" + + "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHYyS3FwoESp1h\n" + + "GLYiBhy6k9Ag3lzGCIEvm50IIEkE0Ftc9qq44TWqyl+EHUpTMdcBOcI42JLO5stw\n" + + "FOfCLa3PQStEJ4llIRFEKlsrHh67pvWd5RNaSBrvGlnFY40S+SZmjk2WF/h9dE9R\n" + + "ic79t0YI0alD8dIl9Yu3OaEKo7VonBWFwOYMxjPhtORlq+EUF1XJd//yftQrKWTT\n" + + "d7KaUonWzBCl4VzFop/OyTWYlTuZz3eYJaNpH5VaQ1vDgBAcPIeBvMf7NgBHMKW6\n" + + "LLmFd2LEYQ/6I7hkGTjysSzWEpO8bPWT6OEsJ2R2kFGOrSkr+G2MDcJ7ykXYAmz5\n" + + "+A3plS6ZAgMBAAECggEAVrgwR9GlcahiOtDcpn+yDxQq+aC9CQS561LrQZWJLKbS\n" + + "leRS7IZHKTlLwdJbeUO8F7RfXQoVEBghc2YkRrhHWFUn1ES95VY0hElHzcET7Nn5\n" + + "CeuQNzwVOtljIg7iVNY4dXJ/HEDguu/Tb8tYU9FajItj60FJ/WiGk/JksJPzWsOC\n" + + "VPVniy9fTbTLy1e+dCpCI6OXirtm7hvbodRNDjree0wSEzm7vL0wVzEZFo6kX+AB\n" + + "GUwaoO7pPyH+hgyI5Iuhc65NHsHzTJpf8yNFl9QGhkxvm2Ff2oEtDt1idOTBrHB6\n" + + "tg+ti9Ctb2+2yzBnk14hsSYJnKitR7wM6ZCFPX4eYQKBgQD+JAREeFkodec/SC+G\n" + + "X+4Q4Y68uMPkfUPrMKXM4cyY5wgXk64RBvRVxIxX7x6Y3tIKn9v8tWAprbsyVr15\n" + + "eb4RcAFEVwjuoZixhd9sIPsRhfdNolKn/fSPIsHL4ywcJMSIt7KVKHuQeqBNHy0o\n" + + "0PxQjNej1ozsmrAWqV55cbKHswKBgQDI2JQRTPIEC/2y6LdmBVhGJW9OKWTYdVNj\n" + + "q7rX+Yw4uxOtfd5hBqpvgZEklKEk72aazFdEcERlAm9SqoX09qk6zK/wcq4Xn5Q/\n" + + "qy8ecmjuyf2AK9X+HUdMerMVxhK9RpeevKYP/RO2F/wIN64anlQVYygVkXXgdOvW\n" + + "hBE4YABKgwKBgDRtmbPGYB5ItHwJmERQZfx1i8zDESaB8RED6DBsJJkmkDTM8ovw\n" + + "s1c+RPWfDuDalto6QFfR0xTGEmhAHLaCtwNB6AEBM4aHL8jvpTfZVfI3gN0zL3oY\n" + + "mestcG1vYBouO504yE6dG2Ci6479b4OMGYFEjPfvuwLUpp8GMcc7/WihAoGANCp8\n" + + "mtm/ammq5VMof2kX+nAyrrx1ovsmQ5cRGpOIZhvBCqjMn6rZjci7aCLqj+tWXRKC\n" + + "ABagzROK0o/T50JBxjHv6KYArcYW/Up7HI9ezdbM7wNzu2LjZ+veo+MkbuDs9J/P\n" + + "CgwTmJI2NfQwVl2VPVDZ0nBLi5cSwk7fIiNdL/0CgYEAtECmC1QDs53Di2MIsa/F\n" + + "e4sWfJGSDqEWqhcA/aPwf1skM6VJJXBBMV1qFtwgO1AlLnu9dQYra6ylsUoubVYI\n" + + "XM9XK7EMhbqi57+Q75jHFTc0DnzOTyho5Gp4Ddi8dztmZGNWdWTGdeMqh+svqMXk\n" + + "D6VdJeddyGu/Zlgj7Wk6whU=\n" + + "-----END PRIVATE KEY-----\n"; // Charge 示例 @@ -69,12 +96,14 @@ public static void main(String[] args) throws Exception { WxPubOAuthExample.runDemos(appId); // 身份证银行卡信息认证接口 - IdentificationExample.runDemos(appId); + // 请使用 live key 调用该接口 + // IdentificationExample.runDemos(appId); // 批量付款示例 BatchTransferExample.runDemos(appId); // 报关 + // 请使用 live key 调用该接口 CustomsExample.runDemos(appId); } diff --git a/example/src/main/java/com/pingxx/example/TransferExample.java b/example/src/main/java/com/pingxx/example/TransferExample.java index b4f1e0b..505a92f 100644 --- a/example/src/main/java/com/pingxx/example/TransferExample.java +++ b/example/src/main/java/com/pingxx/example/TransferExample.java @@ -36,13 +36,13 @@ public class TransferExample { /** * 接收者的 openid */ - public static String openid ="USER_OPENID";// 用户在商户微信公众号下的唯一标识,获取方式可参考 WxPubOAuthExample.java + public static String openid = "USER_OPENID"; // 用户在商户微信公众号下的唯一标识,获取方式可参考 WxPubOAuthExample.java public static void runDemos(String appId) { TransferExample transferExample = new TransferExample(appId); System.out.println("------- 创建 Transfer -------"); - Transfer transfer = transferExample.transfer(); + Transfer transfer = transferExample.create(); System.out.println("------- 查询 Transfer -------"); transferExample.retrieve(transfer.getId()); System.out.println("------- 查询 Transfer 列表 -------"); @@ -62,17 +62,41 @@ public static void runDemos(String appId) { * * @return */ - public Transfer transfer() { + public Transfer create() { Transfer transfer = null; - String orderNo = new SimpleDateFormat("yyyyMMddhhmmss").format(new Date()) + Main.randomString(7); + String channel = "alipay"; + + String orderNo = new SimpleDateFormat("yyyyMMddhhmmss").format(new Date()); Map transferMap = new HashMap(); - transferMap.put("channel", "wx_pub");// 目前支持 wx_pub - transferMap.put("order_no", orderNo);// 企业转账使用的商户内部订单号。wx_pub 规定为 1 ~ 50 位不能重复的数字字母组合 - transferMap.put("amount", "200");// 订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100,企业付款最小发送金额为 1 元) - transferMap.put("type", "b2c");// 付款类型,当前仅支持 b2c 企业付款 + transferMap.put("channel", channel); // 目前支持 支付宝:alipay,银联:unionpay,微信公众号:wx_pub,通联:allinpay,京东:jdpay + + // 付款使用的商户内部订单号。 + // wx_pub 规定为 1 ~ 50 位不能重复的数字字母组合; + // alipay 为 1 ~ 64 位不能重复的数字字母组合; + // unionpay 为 1 ~ 16 位的纯数字; + // jdpay 限长 1 ~ 64 位不能重复的数字字母组合; + // allinpay 限长 20 ~ 40 位不能重复的数字字母组合,必须以签约的通联的商户号开头(建议组合格式:通联商户号 + 时间戳 + 固定位数顺序流水号,不包含+号) + + if (channel == "allinpay") { + orderNo += System.currentTimeMillis(); + } + + transferMap.put("order_no", orderNo); + transferMap.put("amount", 200); // 订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100,企业付款最小发送金额为 1 元) + transferMap.put("type", "b2c"); // 付款类型,支持 b2c/b2b transferMap.put("currency", "cny"); - transferMap.put("recipient", openid);// 接收者 id, 为用户在 wx_pub 下的 open_id + transferMap.put("recipient", channelRecipient(channel)); // 接收者 + + // 备注信息。 + // 渠道为 unionpay 时,最多 99 个 Unicode 字符; + // 渠道为 wx_pub 时,最多 99 个英文和数字的组合或最多 33 个中文字符,不可以包含特殊字符; + // 渠道为 alipay 时,最多 100 个 Unicode 字符。 + // 渠道为 jdpay 最多100个 Unicode 字符。 + // 渠道为 allinpay 最多30个 Unicode 字符 transferMap.put("description", "your description"); + + transferMap.put("extra", channelExtra(channel)); + Map app = new HashMap(); app.put("id", appId); transferMap.put("app", app); @@ -130,11 +154,12 @@ public void retrieve(String id) { * 批量查询企业转账记录,默认一次查询 10 条,用户可以使用 limit 自定义查询数目,但是最多不超过 100 条。 */ public void list() { - Map parm = new HashMap(); - parm.put("limit", 3); + Map param = new HashMap(); + param.put("limit", 3); + param.put("app[id]", appId); try { - TransferCollection transferCollection = Transfer.list(parm); + TransferCollection transferCollection = Transfer.list(param); System.out.println(transferCollection); } catch (AuthenticationException e) { e.printStackTrace(); @@ -150,4 +175,135 @@ public void list() { e.printStackTrace(); } } + + private String channelRecipient(String channel) { + String recipient = null; + + switch (channel) { + case "wx_pub": + // 渠道为 wx_pub 时,需要传 recipient 为用户在商户 appid 下的 open_id + recipient = "o7xEMsySBFG3MVHI-9VsAJX-j50W"; + break; + case "alipay": + // 渠道为 alipay 时,若 type 为 b2c,为个人支付宝账号,若 type 为 b2b,为企业支付宝账号。 + recipient = "alipayaccount@gmail.com"; + break; + case "unionpay": + case "allinpay": + case "jdpay": + break; + } + + return recipient; + } + + private Map channelExtra(String channel) { + Map extra = new HashMap<>(); + + switch (channel) { + case "alipay": + extra = alipayExtra(); + break; + case "wx_pub": + extra = wxPubExtra(); + break; + case "unionpay": + extra = unionpayExtra(); + break; + case "allinpay": + extra = allinpayExtra(); + break; + case "jdpay": + extra = jdpayExtra(); + break; + } + + return extra; + } + + private Map alipayExtra() { + Map extra = new HashMap<>(); + // 必须,收款人姓名,1~50位。 + extra.put("recipient_name", "张三"); + + // 可选,收款方账户类型。可取值:1、 ALIPAY_USERID :支付宝账号对应的支付宝唯一用户号。以2088开头的16位纯数字组成。 2、 ALIPAY_LOGONID (默认值):支付宝登录号,支持邮箱和手机号格式。 + // extra.put("recipient_account_type", "ALIPAY_LOGONID"); + + return extra; + } + + private Map wxPubExtra() { + Map extra = new HashMap<>(); + // 可选,收款人姓名。当该参数为空,则不校验收款人姓名。 + // extra.put("user_name", "张三"); + + // 可选,是否强制校验收款人姓名。仅当 user_name 参数不为空时该参数生效。 + // extra.put("force_check", true); + + return extra; + } + + private Map unionpayExtra() { + Map extra = new HashMap<>(); + // 必须,1~32位,收款人银行卡号或者存折号。 + extra.put("card_number", "6228480402564890011"); + + // 必须,1~100位,收款人姓名。 + extra.put("user_name", "张三"); + + /** + * open_bank_code 和 open_bank 两个参数必传一个,建议使用 open_bank_code ,若都传参则优先使用 open_bank_code 读取规则;prov 和 city 均为可选参数,如果不传参,则使用默认值 "上海" 给渠道接口。 + */ + + // 条件可选,4位,开户银行编号,详情请参考 企业付款(银行卡)银行编号说明:https://www.pingxx.com/api#%E9%93%B6%E8%A1%8C%E7%BC%96%E5%8F%B7%E8%AF%B4%E6%98%8E。 + extra.put("open_bank_code", "0103"); + + // 条件可选,1~50位,开户银行,详情请参考 企业付款(银行卡)银行编号说明:https://www.pingxx.com/api#%E9%93%B6%E8%A1%8C%E7%BC%96%E5%8F%B7%E8%AF%B4%E6%98%8E。 + extra.put("open_bank", "农业银行"); + + // 可选,1~20位,省份。 + // extra.put("prov", "上海"); + + // 可选,1~40位,城市。 + // extra.put("city", "上海"); + + // 可选,1~80位,开户支行名称。 + // extra.put("sub_bank", "上海陆家嘴支行"); + + return extra; + } + + private Map allinpayExtra() { + Map extra = new HashMap<>(); + // 必须,1~32位,收款人银行卡号或者存折号。 + extra.put("card_number", "6228480402564890011"); + + // 必须,1~100位,收款人姓名。 + extra.put("user_name", "张三"); + + // 必须,4位,开户银行编号,详情请参考 企业付款(银行卡)银行编号说明:https://www.pingxx.com/api#%E9%93%B6%E8%A1%8C%E7%BC%96%E5%8F%B7%E8%AF%B4%E6%98%8E。 + extra.put("open_bank_code", "0103"); + + // 可选,5位,业务代码,根据通联业务人员提供,不填使用通联提供默认值09900。 + // extra.put("business_code", "09900"); + + // 可选,1位,银行卡号类型,0:银行卡、1:存折,不填默认使用银行卡。 + // extra.put("card_type", 0); + + return extra; + } + + private Map jdpayExtra() { + Map extra = new HashMap<>(); + // 必须,1~32位,收款人银行卡号或者存折号。 + extra.put("card_number", "6228480402564890011"); + + // 必须,1~100位,收款人姓名。 + extra.put("user_name", "张三"); + + // 必须,4位,开户银行编号,详情请参考 企业付款(银行卡)银行编号说明:https://www.pingxx.com/api#%E9%93%B6%E8%A1%8C%E7%BC%96%E5%8F%B7%E8%AF%B4%E6%98%8E。 + extra.put("open_bank_code", "0103"); + + return extra; + } } diff --git a/example/src/main/java/com/pingxx/example/WxPubOAuthExample.java b/example/src/main/java/com/pingxx/example/WxPubOAuthExample.java index 73bbbd9..dd2f40e 100644 --- a/example/src/main/java/com/pingxx/example/WxPubOAuthExample.java +++ b/example/src/main/java/com/pingxx/example/WxPubOAuthExample.java @@ -1,11 +1,6 @@ package com.pingxx.example; import java.io.UnsupportedEncodingException; -import java.util.HashMap; -import java.util.Map; - -import com.pingplusplus.Pingpp; -import com.pingplusplus.exception.PingppException; import com.pingplusplus.model.Charge; import com.pingplusplus.util.WxpubOAuth; @@ -67,9 +62,9 @@ public static void getOpenidWithCode() throws UnsupportedEncodingException { String code = "os823ndskelcncfyfms"; String openid = WxpubOAuth.getOpenId(wxAppId, wxAppSecret, code); System.out.println("4. 得到 openid 用于创建 charge"); - ChargeExample chargeExample = new ChargeExample(appId); - openid = "USER_OPENID"; - chargeExample.createChargeWithOpenid(openid); +// ChargeExample chargeExample = new ChargeExample(appId); +// openid = "USER_OPENID"; +// chargeExample.createCharge(); } public static void jsapiSignatureDemo() throws UnsupportedEncodingException { @@ -78,7 +73,7 @@ public static void jsapiSignatureDemo() throws UnsupportedEncodingException { System.out.println("ticket " + ticket); // 创建 Charge ChargeExample chargeExample = new ChargeExample(appId); - Charge charge = chargeExample.createChargeWithOpenid("USER_OPENID"); + Charge charge = chargeExample.createCharge(); // wx_pub // 获得签名 String signature = WxpubOAuth.getSignature(charge.toString(), ticket, redirectUrl); System.out.println("------- JSAPI 签名 -------"); From 4d54f4139ddda9ff88d67cc191f05c0ce971f020 Mon Sep 17 00:00:00 2001 From: afon Date: Sun, 14 May 2017 20:21:30 +0800 Subject: [PATCH 022/104] fix example typo --- example/src/main/java/com/pingxx/example/ChargeExample.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/src/main/java/com/pingxx/example/ChargeExample.java b/example/src/main/java/com/pingxx/example/ChargeExample.java index 781e0c7..f826a66 100644 --- a/example/src/main/java/com/pingxx/example/ChargeExample.java +++ b/example/src/main/java/com/pingxx/example/ChargeExample.java @@ -236,7 +236,7 @@ private Map alipayExtra() { // extra.put("extern_token", "TOKEN"); // 可选,是否发起实名校验,T 代表发起实名校验;F 代表不发起实名校验。 - extra.put("'rn_check'", "T"); + extra.put("rn_check", "T"); return extra; } From 9c0dfe67312263729c91d2383c0a3119168e42da Mon Sep 17 00:00:00 2001 From: afon Date: Sun, 14 May 2017 20:56:57 +0800 Subject: [PATCH 023/104] fix example typo --- .../main/java/com/pingxx/example/ChargeExample.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/example/src/main/java/com/pingxx/example/ChargeExample.java b/example/src/main/java/com/pingxx/example/ChargeExample.java index f826a66..8d8cfc5 100644 --- a/example/src/main/java/com/pingxx/example/ChargeExample.java +++ b/example/src/main/java/com/pingxx/example/ChargeExample.java @@ -354,7 +354,7 @@ private Map bfbWapExtra() { extra.put("result_url", "https://example.com/success"); // 必须,是否需要登录百度钱包来进行支付。 - // extra.put("bfb_login", true); + extra.put("bfb_login", true); return extra; } @@ -422,7 +422,7 @@ private Map yeepayWapExtra() { extra.put("terminal_type", 2); // 必须,终端 ID。 - extra.put("terminal_IR", "TERMINAL_ID"); + extra.put("terminal_id", "TERMINAL_ID"); // 必须,用户使用的移动终端的 UserAgent 信息。 extra.put("user_ua", "USER_UA"); @@ -460,13 +460,13 @@ private Map cmbWalletExtra() { */ // 必须,客户协议号,不超过 30 位的纯数字字符串。 - extra.put("p_no", "P_NO"); + extra.put("p_no", "201700100001"); // 必须,协议开通请求流水号,不超过 20 位的纯数字字符串,请保证系统内唯一。 - extra.put("seq", "SEQ"); + extra.put("seq", "201700200001"); // 必须,协议用户 ID,不超过 20 位的纯数字字符串。 - extra.put("m_uid", "UID"); + extra.put("m_uid", "201700300001"); // 必须,协议手机号,11 位数字。 extra.put("mobile", "13523456789"); From 2d664f0a4a887ce863226e9c1eed928ed029a63a Mon Sep 17 00:00:00 2001 From: afon Date: Sun, 14 May 2017 22:07:00 +0800 Subject: [PATCH 024/104] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20example=20?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/pingxx/example/BatchTransferExample.java | 2 +- example/src/main/java/com/pingxx/example/TransferExample.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/example/src/main/java/com/pingxx/example/BatchTransferExample.java b/example/src/main/java/com/pingxx/example/BatchTransferExample.java index 95993e4..bb73d4f 100644 --- a/example/src/main/java/com/pingxx/example/BatchTransferExample.java +++ b/example/src/main/java/com/pingxx/example/BatchTransferExample.java @@ -64,7 +64,7 @@ public BatchTransfer create() { params.put("app", appId); params.put("channel", channel); // 目前支持 alipay、 unionpay、wx_pub、allinpay、jdpay params.put("batch_no", batchNo); // 企业转账使用的商户内部订单号。 - params.put("amount", 5000); // 订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100,企业付款最小发送金额为 1 元) + params.put("amount", 5000); // 订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100) params.put("type", "b2c"); // 付款类型,wx_pub 仅支持 b2c,alipay、 unionpay、allinpay、jdpay 支持 b2b params.put("currency", "cny"); params.put("description", "your description"); diff --git a/example/src/main/java/com/pingxx/example/TransferExample.java b/example/src/main/java/com/pingxx/example/TransferExample.java index 505a92f..2e51f3d 100644 --- a/example/src/main/java/com/pingxx/example/TransferExample.java +++ b/example/src/main/java/com/pingxx/example/TransferExample.java @@ -82,8 +82,8 @@ public Transfer create() { } transferMap.put("order_no", orderNo); - transferMap.put("amount", 200); // 订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100,企业付款最小发送金额为 1 元) - transferMap.put("type", "b2c"); // 付款类型,支持 b2c/b2b + transferMap.put("amount", 200); // 付款金额,相关渠道的限额,请查看 https://help.pingxx.com/article/133366/ 。单位为对应币种的最小货币单位,例如:人民币为分。 + transferMap.put("type", "b2c"); // 付款类型,转账到个人用户为 b2c,转账到企业用户为 b2b(微信公众号 wx_pub 的企业付款,仅支持 b2c)。 transferMap.put("currency", "cny"); transferMap.put("recipient", channelRecipient(channel)); // 接收者 From 3af7482d8416471ddfa34719f9b2f6d18cbad46d Mon Sep 17 00:00:00 2001 From: afon Date: Mon, 19 Jun 2017 12:22:01 +0800 Subject: [PATCH 025/104] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=BA=BF=E4=B8=8B?= =?UTF-8?q?=E6=B8=A0=E9=81=93=20isv=5Fscan,=20isv=5Fqr,=20isv=5Fwap?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 5 ++ README.md | 4 +- VERSION | 2 +- ..._java_sdk_api_\346\226\207\346\241\243.md" | 13 ++++ .../com/pingxx/example/ChargeExample.java | 73 +++++++++++++++++++ src/main/java/com/pingplusplus/Pingpp.java | 2 +- .../java/com/pingplusplus/model/Charge.java | 51 +++++++++++++ .../java/com/pingplusplus/PingppTest.java | 28 +++++++ 8 files changed, 174 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e7b7048..b997403 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # ChangeLog +## 2.2.4 (2017-06-19) +#### 修改 +- Charge 增加字段 reversed,表示是否已撤销 +- 针对渠道 isv_scan, isv_qr_isv_wap 增加撤销方法,`Charge.reverse(CHARGE_ID)` + ## 2.2.3 (2017-03-27) #### 修改 - BatchTransfer 增加字段 diff --git a/README.md b/README.md index 4cc099d..eadc5df 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.2.3 + 2.2.4 jar ``` @@ -52,7 +52,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.2.3' +compile 'Pingplusplus:pingpp-java:2.2.4' ``` ### 初始化 diff --git a/VERSION b/VERSION index 5859406..530cdd9 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.2.3 +2.2.4 diff --git "a/docs/ping++_java_sdk_api_\346\226\207\346\241\243.md" "b/docs/ping++_java_sdk_api_\346\226\207\346\241\243.md" index 12a6b21..7b16b00 100644 --- "a/docs/ping++_java_sdk_api_\346\226\207\346\241\243.md" +++ "b/docs/ping++_java_sdk_api_\346\226\207\346\241\243.md" @@ -65,6 +65,19 @@ ChargeCollection charges = Charge.list(chargeParams); System.out.println(charges); ``` +##### 撤销 Charge +``` java +reverse(String id) +``` +方法名:reverse +类型:静态方法 +参数:String 类型的 Charge ID +返回:Charge +示例: +``` java +Charge charge = Charge.reverse(CHARGE_ID); +``` + #### Refund ##### 创建 Refund ``` java diff --git a/example/src/main/java/com/pingxx/example/ChargeExample.java b/example/src/main/java/com/pingxx/example/ChargeExample.java index 8d8cfc5..6715fc6 100644 --- a/example/src/main/java/com/pingxx/example/ChargeExample.java +++ b/example/src/main/java/com/pingxx/example/ChargeExample.java @@ -222,6 +222,15 @@ private Map channelExtra(String channel) { case "cp_b2b": extra = cpB2bExtra(); break; + case "isv_scan": + extra = isvScanExtra(); + break; + case "isv_qr": + extra = isvQrExtra(); + break; + case "isv_wap": + extra = isvWapExtra(); + break; } return extra; @@ -479,4 +488,68 @@ private Map cpB2bExtra() { return extra; } + + private Map isvScanExtra() { + Map extra = new HashMap<>(); + // 必须,终端号,1~8 位英文或数字,要求不同终端此号码不一样,会显示在对账单中。 + extra.put("terminal_id", "A0000007"); + + // 必须,客户端软件中展示的条码值,扫码设备扫描获取。1~32 位字符串。 + extra.put("scan_code", "280614577834623988"); + + // 可选,商品列表,上送格式参照下面示例。序列化后总字符串长度不超过 8000。 + List goodsList = goodsListForIsv(); + extra.put("goods_list", goodsList); + + return extra; + } + + private Map isvQrExtra() { + Map extra = new HashMap<>(); + // 必须,终端号,1~8 位英文或数字,要求不同终端此号码不一样,会显示在对账单中。 + extra.put("terminal_id", "A0000007"); + + // 必须,具体支付渠道,目前支持:alipay、wx、bfb。 + extra.put("pay_channel", "alipay"); + + // 可选,商品列表,上送格式参照下面示例。序列化后总字符串长度不超过 8000。 + List goodsList = goodsListForIsv(); + extra.put("goods_list", goodsList); + + return extra; + } + + private Map isvWapExtra() { + Map extra = new HashMap<>(); + // 必须,终端号,1~8 位英文或数字,要求不同终端此号码不一样,会显示在对账单中。 + extra.put("terminal_id", "A0000007"); + + // 必须,具体支付渠道,目前支持:alipay、wx、bfb。 + extra.put("pay_channel", "wx"); + + // 必须,前台通知地址,支付成功或失败后,跳转到的 URL。 + extra.put("result_url", "https://www.example.com/payment-result"); + + // 可选,商品列表,上送格式参照下面示例。 + List goodsList = goodsListForIsv(); + extra.put("goods_list", goodsList); + + return extra; + } + + private List goodsListForIsv() { + List goodsList = new ArrayList<>(); + Map goods = new HashMap<>(); + goods.put("goods_id", "iphone6s16G"); // 商户定义商品编号(一般为商品条码)。 + goods.put("unified_goods_id", "1001"); // 统一商品编号,可选。 + goods.put("goods_name", "iPhone 6s 16G"); // 商品名称。 + goods.put("goods_num", 1); // 商品数量。 + goods.put("price", 528800); // 商品价格,单位为分。 + goods.put("goods_category", "smartphone"); // 商品类目,可选。 + goods.put("body", "苹果手机 iPhone 6s 16G"); // 商品描述信息,可选。 + goods.put("show_url", "https://www.example.com"); // 商品的展示网址,可选。 + goodsList.add(goods); + + return goodsList; + } } diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index a5f918d..b11dbef 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,7 +11,7 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.2.3"; + public static final String VERSION = "2.2.4"; /** * api key */ diff --git a/src/main/java/com/pingplusplus/model/Charge.java b/src/main/java/com/pingplusplus/model/Charge.java index 252d2f1..1a3ce76 100644 --- a/src/main/java/com/pingplusplus/model/Charge.java +++ b/src/main/java/com/pingplusplus/model/Charge.java @@ -3,6 +3,7 @@ import com.pingplusplus.exception.*; import com.pingplusplus.net.APIResource; +import java.util.HashMap; import java.util.Map; public class Charge extends APIResource { @@ -12,6 +13,7 @@ public class Charge extends APIResource { Boolean livemode; Boolean paid; Boolean refunded; + Boolean reversed; Object app; String channel; String orderNo; @@ -90,6 +92,14 @@ public void setRefunded(Boolean refunded) { this.refunded = refunded; } + public Boolean getReversed() { + return reversed; + } + + public void setReversed(Boolean reversed) { + this.reversed = reversed; + } + public String getDescription() { return description; } @@ -325,6 +335,47 @@ public static ChargeCollection list(Map params) throw new InvalidRequestException("Please pass app[id] as parameter.", "app[id]", null); } + /** + * 撤销 charge + * + * @param id + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Charge reverse(String id, Map params) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + String reverseUrl = String.format("%s/reverse", instanceURL(Charge.class, id)); + if (params == null) { + params = new HashMap(); + } + return request(RequestMethod.POST, reverseUrl, params, Charge.class); + } + + /** + * 撤销 charge + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Charge reverse(String id) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return reverse(id, null); + } + @Deprecated public static ChargeCollection all(Map params) throws RateLimitException, APIException, ChannelException, diff --git a/src/test/java/com/pingplusplus/PingppTest.java b/src/test/java/com/pingplusplus/PingppTest.java index a24faec..6574f1b 100644 --- a/src/test/java/com/pingplusplus/PingppTest.java +++ b/src/test/java/com/pingplusplus/PingppTest.java @@ -231,4 +231,32 @@ public class PingppTest { assertTrue("fee should be greater than or equal to 0", obj.getRecipients().get(i).getFee() >= 0); } } + + @Test public void testReverseCharge() { + String appId = PingppTestData.getAppID(); + + String chargeId = "ch_Py5SC89OyT00W5K4uHPmLCSC"; + + Charge charge = null; + try { + // 发起 charge 撤销请求 + charge = Charge.reverse(chargeId); + System.out.println(charge); + } catch (APIConnectionException e) { + e.printStackTrace(); + } catch (ChannelException e) { + e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); + } catch (AuthenticationException e) { + e.printStackTrace(); + } catch (APIException e) { + e.printStackTrace(); + } catch (InvalidRequestException e) { + e.printStackTrace(); + } + + assertEquals("charge object should be charge", "charge", charge.getObject()); + assertNotNull("charge reversed not null", charge.getReversed()); + } } From 099eb0c84abfe07077e31143e1531b8f399e92ab Mon Sep 17 00:00:00 2001 From: afon Date: Tue, 20 Jun 2017 12:25:13 +0800 Subject: [PATCH 026/104] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=92=A4=E9=94=80?= =?UTF-8?q?=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/pingxx/example/ChargeExample.java | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/example/src/main/java/com/pingxx/example/ChargeExample.java b/example/src/main/java/com/pingxx/example/ChargeExample.java index 6715fc6..38885cd 100644 --- a/example/src/main/java/com/pingxx/example/ChargeExample.java +++ b/example/src/main/java/com/pingxx/example/ChargeExample.java @@ -47,6 +47,8 @@ public static void runDemos(String appId) { chargeExample.retrieve(charge.getId()); System.out.println("------- 查询 charge 列表 -------"); chargeExample.list(); + System.out.println("------- 撤销 charge(仅支持线下渠道) -------"); + chargeExample.reverse(charge.getId()); } /** @@ -104,7 +106,6 @@ public Charge createCharge() { * 该接口根据 charge Id 查询对应的 charge 。 * 参考文档:https://www.pingxx.com/api#api-c-inquiry * - * 该接口可以传递一个 expand , 返回的 charge 中的 app 会变成 app 对象。 * 参考文档: https://www.pingxx.com/api#api-expanding * @param id */ @@ -121,6 +122,24 @@ public Charge retrieve(String id) { return charge; } + /** + * 撤销 Charge + * + * @param id + */ + public Charge reverse(String id) { + Charge charge = null; + try { + Map params = new HashMap(); + charge = Charge.reverse(id); + System.out.println(charge); + } catch (PingppException e) { + e.printStackTrace(); + } + + return charge; + } + /** * 分页查询 Charge * From 2b56e014551f33daffd2fbe09bee4e5e6301a78a Mon Sep 17 00:00:00 2001 From: afon Date: Tue, 20 Jun 2017 14:04:32 +0800 Subject: [PATCH 027/104] refund add extra --- CHANGELOG.md | 1 + .../java/com/pingplusplus/model/Refund.java | 9 +++++++ .../java/com/pingplusplus/PingppTest.java | 26 +++++++++++++++++++ 3 files changed, 36 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b997403..a40d704 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ #### 修改 - Charge 增加字段 reversed,表示是否已撤销 - 针对渠道 isv_scan, isv_qr_isv_wap 增加撤销方法,`Charge.reverse(CHARGE_ID)` +- Refund 增加 extra 字段 ## 2.2.3 (2017-03-27) #### 修改 diff --git a/src/main/java/com/pingplusplus/model/Refund.java b/src/main/java/com/pingplusplus/model/Refund.java index 0c9a142..2361181 100644 --- a/src/main/java/com/pingplusplus/model/Refund.java +++ b/src/main/java/com/pingplusplus/model/Refund.java @@ -22,6 +22,7 @@ public class Refund extends APIResource { String chargeOrderNo; String transactionNo; String fundingSource; + Map extra; public String getInstanceURL() throws InvalidRequestException { if (this.charge != null) { @@ -157,6 +158,14 @@ public void setFundingSource(String fundingSource) { this.fundingSource = fundingSource; } + public Map getExtra() { + return extra; + } + + public void setExtra(Map extra) { + this.extra = extra; + } + /** * 创建 refund * diff --git a/src/test/java/com/pingplusplus/PingppTest.java b/src/test/java/com/pingplusplus/PingppTest.java index 6574f1b..068ed45 100644 --- a/src/test/java/com/pingplusplus/PingppTest.java +++ b/src/test/java/com/pingplusplus/PingppTest.java @@ -259,4 +259,30 @@ public class PingppTest { assertEquals("charge object should be charge", "charge", charge.getObject()); assertNotNull("charge reversed not null", charge.getReversed()); } + + @Test public void testRetrieveRefund() { + String chargeId = "ch_Ti1eD0WP08eDPSSqnTOmLWHK"; + String refundId = "re_8avPmLWrPaH8TKmXDK5KubrL"; + + Refund refund = null; + try { + refund = Refund.retrieve(chargeId, refundId); + System.out.println(refund); + } catch (APIConnectionException e) { + e.printStackTrace(); + } catch (ChannelException e) { + e.printStackTrace(); + } catch (RateLimitException e) { + e.printStackTrace(); + } catch (AuthenticationException e) { + e.printStackTrace(); + } catch (APIException e) { + e.printStackTrace(); + } catch (InvalidRequestException e) { + e.printStackTrace(); + } + + assertEquals("refund object should be charge", "refund", refund.getObject()); + assertNotNull("refund extra not null", refund.getExtra()); + } } From 39f707f240e4436f7c127ceaa6fc724f7e7c542d Mon Sep 17 00:00:00 2001 From: afon Date: Fri, 23 Jun 2017 19:35:26 +0800 Subject: [PATCH 028/104] remove unused line --- example/src/main/java/com/pingxx/example/ChargeExample.java | 1 - 1 file changed, 1 deletion(-) diff --git a/example/src/main/java/com/pingxx/example/ChargeExample.java b/example/src/main/java/com/pingxx/example/ChargeExample.java index 38885cd..b8fcc5c 100644 --- a/example/src/main/java/com/pingxx/example/ChargeExample.java +++ b/example/src/main/java/com/pingxx/example/ChargeExample.java @@ -130,7 +130,6 @@ public Charge retrieve(String id) { public Charge reverse(String id) { Charge charge = null; try { - Map params = new HashMap(); charge = Charge.reverse(id); System.out.println(charge); } catch (PingppException e) { From 74a686826036aea027cf19ae3b4264bd222d85d9 Mon Sep 17 00:00:00 2001 From: afon Date: Fri, 23 Jun 2017 19:37:24 +0800 Subject: [PATCH 029/104] make jar --- ...p-java-2.2.3.jar => pingpp-java-2.2.4.jar} | Bin 55800 -> 56004 bytes ...p-java-2.2.3.jar => pingpp-java-2.2.4.jar} | Bin 55800 -> 56004 bytes 2 files changed, 0 insertions(+), 0 deletions(-) rename example/libs/{pingpp-java-2.2.3.jar => pingpp-java-2.2.4.jar} (66%) rename libs/{pingpp-java-2.2.3.jar => pingpp-java-2.2.4.jar} (66%) diff --git a/example/libs/pingpp-java-2.2.3.jar b/example/libs/pingpp-java-2.2.4.jar similarity index 66% rename from example/libs/pingpp-java-2.2.3.jar rename to example/libs/pingpp-java-2.2.4.jar index b374dfb474a32264bf7c254ef407721f990f511a..86cb9e7411ae40a682be03a9c6d59a8b8615b6b3 100644 GIT binary patch delta 13073 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%0D!g{mHe#uqmXO1QZxO+Dv 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%0D!g{mHe#uqmXO1QZxO+Dv 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 Date: Tue, 10 Oct 2017 17:19:42 +0800 Subject: [PATCH 030/104] add retry mechanism --- .../com/pingplusplus/net/APIResource.java | 42 ++++++++++++------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/pingplusplus/net/APIResource.java b/src/main/java/com/pingplusplus/net/APIResource.java index 1ab2a41..3e30a01 100644 --- a/src/main/java/com/pingplusplus/net/APIResource.java +++ b/src/main/java/com/pingplusplus/net/APIResource.java @@ -14,6 +14,7 @@ import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import java.net.ConnectException; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; @@ -34,6 +35,7 @@ public abstract class APIResource extends PingppObject { public static int CONNECT_TIMEOUT = 30; public static int READ_TIMEOUT = 80; + public static int RETRY_MAX = 1; /** * Http requset method @@ -608,21 +610,31 @@ protected static T request(APIResource.RequestMethod method, String url, Map } PingppResponse response; - try { - // HTTPSURLConnection verifies SSL cert by default - response = makeURLConnectionRequest(method, url, query, Pingpp.apiKey); - if (Pingpp.DEBUG) { - System.out.println(getGson().toJson(response)); + int retryCount = 0; + while(true) { + try { + // HTTPSURLConnection verifies SSL cert by default + response = makeURLConnectionRequest(method, url, query, Pingpp.apiKey); + if (Pingpp.DEBUG) { + System.out.println(getGson().toJson(response)); + } + + int rCode = response.getResponseCode(); + String rBody = response.getResponseBody(); + if (rCode < 200 || rCode >= 300) { + handleAPIError(rBody, rCode); + } + return getGson().fromJson(rBody, clazz); + } catch (ClassCastException ce) { + throw ce; + } catch (ConnectException e) { + if(retryCount < RETRY_MAX) { + retryCount++; + } else { + throw new APIConnectionException(e.getMessage(), e); + } } - } catch (ClassCastException ce) { - throw ce; } - int rCode = response.getResponseCode(); - String rBody = response.getResponseBody(); - if (rCode < 200 || rCode >= 300) { - handleAPIError(rBody, rCode); - } - return getGson().fromJson(rBody, clazz); } /** @@ -636,7 +648,7 @@ protected static T request(APIResource.RequestMethod method, String url, Map */ private static void handleAPIError(String rBody, int rCode) throws InvalidRequestException, AuthenticationException, - APIException, ChannelException, RateLimitException { + APIException, ChannelException, RateLimitException, ConnectException { APIResource.Error error = getGson().fromJson(rBody, APIResource.ErrorContainer.class).error; switch (rCode) { @@ -650,6 +662,8 @@ private static void handleAPIError(String rBody, int rCode) throw new ChannelException(error.toString(), error.param, null); case 401: throw new AuthenticationException(error.toString()); + case 502: + throw new ConnectException(error.toString()); default: throw new APIException(error.toString(), null); } From 1612d469b728952db2e3b1b29219a29b28e84375 Mon Sep 17 00:00:00 2001 From: dong11 <956176457@qq.com> Date: Wed, 11 Oct 2017 16:03:03 +0800 Subject: [PATCH 031/104] fix gson error --- src/main/java/com/pingplusplus/net/APIResource.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/pingplusplus/net/APIResource.java b/src/main/java/com/pingplusplus/net/APIResource.java index 3e30a01..b57bf34 100644 --- a/src/main/java/com/pingplusplus/net/APIResource.java +++ b/src/main/java/com/pingplusplus/net/APIResource.java @@ -3,6 +3,7 @@ import com.google.gson.FieldNamingPolicy; import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import com.google.gson.JsonSyntaxException; import com.pingplusplus.Pingpp; import com.pingplusplus.exception.*; import com.pingplusplus.exception.InvalidRequestException; @@ -649,8 +650,15 @@ protected static T request(APIResource.RequestMethod method, String url, Map private static void handleAPIError(String rBody, int rCode) throws InvalidRequestException, AuthenticationException, APIException, ChannelException, RateLimitException, ConnectException { - APIResource.Error error = getGson().fromJson(rBody, - APIResource.ErrorContainer.class).error; + Error error = null; + try { + error = getGson().fromJson(rBody, + ErrorContainer.class).error; + } catch (JsonSyntaxException e) { + error = new Error(); + error.message = rBody; + error.code = String.valueOf(rCode); + } switch (rCode) { case 400: throw new InvalidRequestException(error.toString(), error.param, null); From a1530c9c52480c9ad0dae39d89506eabf2559e3a Mon Sep 17 00:00:00 2001 From: dong11 <956176457@qq.com> Date: Tue, 17 Oct 2017 10:48:05 +0800 Subject: [PATCH 032/104] version 2.2.5 --- CHANGELOG.md | 4 ++++ README.md | 4 ++-- VERSION | 2 +- pom.xml | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a40d704..ec7329f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # ChangeLog +## 2.2.5 (2017-10-10) +#### 新增 +- 新增重试机制 + ## 2.2.4 (2017-06-19) #### 修改 - Charge 增加字段 reversed,表示是否已撤销 diff --git a/README.md b/README.md index eadc5df..1492945 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.2.4 + 2.2.5 jar ``` @@ -52,7 +52,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.2.4' +compile 'Pingplusplus:pingpp-java:2.2.5' ``` ### 初始化 diff --git a/VERSION b/VERSION index 530cdd9..21bb5e1 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.2.4 +2.2.5 diff --git a/pom.xml b/pom.xml index 0520c50..65abd88 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 Pingplusplus pingpp-java - 2.2.3 + 2.2.5 pingpp-java https://github.com/PingPlusPlus/pingpp-java From 5235548e5982eb13be84b58d8c6f0ab0e231d242 Mon Sep 17 00:00:00 2001 From: dong11 <956176457@qq.com> Date: Wed, 18 Oct 2017 16:15:45 +0800 Subject: [PATCH 033/104] =?UTF-8?q?=E4=BC=98=E5=8C=96=20SDK?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 5 +- .../com/pingplusplus/model/BatchRefund.java | 63 ++++++++- .../com/pingplusplus/model/BatchTransfer.java | 106 +++++++++++++- .../java/com/pingplusplus/model/Charge.java | 129 ++++++++++++++++-- .../model/ChargeRefundCollection.java | 27 +++- .../java/com/pingplusplus/model/Customs.java | 62 ++++++++- .../java/com/pingplusplus/model/Event.java | 43 +++++- .../pingplusplus/model/Identification.java | 21 ++- .../com/pingplusplus/model/RedEnvelope.java | 85 +++++++++++- .../java/com/pingplusplus/model/Refund.java | 66 ++++++++- .../java/com/pingplusplus/model/Transfer.java | 128 ++++++++++++++++- .../com/pingplusplus/net/APIResource.java | 26 +++- 12 files changed, 722 insertions(+), 39 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ec7329f..ee8762f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,10 @@ ## 2.2.5 (2017-10-10) #### 新增 -- 新增重试机制 +- 新增重试机制 + +#### 修改 +- 优化 SDK ## 2.2.4 (2017-06-19) #### 修改 diff --git a/src/main/java/com/pingplusplus/model/BatchRefund.java b/src/main/java/com/pingplusplus/model/BatchRefund.java index 537610c..c65f64d 100644 --- a/src/main/java/com/pingplusplus/model/BatchRefund.java +++ b/src/main/java/com/pingplusplus/model/BatchRefund.java @@ -148,7 +148,26 @@ protected static String classURL(Class clazz) { public static BatchRefund create(Mapparams) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.POST, classURL(BatchRefund.class), params, BatchRefund.class); + return create(null, params); + } + + /** + * 创建 batch_refund + * + * @param apiKey Ping++ ApiKey + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BatchRefund create(String apiKey, Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, classURL(BatchRefund.class), apiKey, params, BatchRefund.class); } /** @@ -166,7 +185,26 @@ public static BatchRefund create(Mapparams) public static BatchRefund retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.GET, instanceURL(BatchRefund.class, id), null, BatchRefund.class); + return retrieve(id, null); + } + + /** + * 查询 batch_refund + * + * @param id + * @param apiKey Ping++ ApiKey + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BatchRefund retrieve(String id, String apiKey) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, instanceURL(BatchRefund.class, id), apiKey, null, BatchRefund.class); } /** @@ -184,6 +222,25 @@ public static BatchRefund retrieve(String id) public static BatchRefundCollection list(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.GET, classURL(BatchRefund.class), params, BatchRefundCollection.class); + return list(null, params); + } + + /** + * 查询 batch_refund 列表 + * + * @param apiKey Ping++ ApiKey + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BatchRefundCollection list(String apiKey, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, classURL(BatchRefund.class), apiKey, params, BatchRefundCollection.class); } } diff --git a/src/main/java/com/pingplusplus/model/BatchTransfer.java b/src/main/java/com/pingplusplus/model/BatchTransfer.java index 123d069..3401d5b 100644 --- a/src/main/java/com/pingplusplus/model/BatchTransfer.java +++ b/src/main/java/com/pingplusplus/model/BatchTransfer.java @@ -194,7 +194,26 @@ protected static String classURL(Class clazz) { public static BatchTransfer create(Mapparams) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.POST, classURL(BatchTransfer.class), params, BatchTransfer.class); + return create(null, params); + } + + /** + * 创建 batch_transfer + * + * @param apiKey Ping++ ApiKey + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BatchTransfer create(String apiKey, Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, classURL(BatchTransfer.class), apiKey, params, BatchTransfer.class); } /** @@ -212,7 +231,26 @@ public static BatchTransfer create(Mapparams) public static BatchTransfer retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.GET, instanceURL(BatchTransfer.class, id), null, BatchTransfer.class); + return retrieve(id, null); + } + + /** + * 查询 batch_transfer + * + * @param id + * @param apiKey Ping++ ApiKey + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BatchTransfer retrieve(String id, String apiKey) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, instanceURL(BatchTransfer.class, id), apiKey, null, BatchTransfer.class); } /** @@ -230,7 +268,26 @@ public static BatchTransfer retrieve(String id) public static BatchTransferCollection list(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.GET, classURL(BatchTransfer.class), params, BatchTransferCollection.class); + return list(null, params); + } + + /** + * 查询 batch_transfer 列表 + * + * @param apiKey Ping++ ApiKey + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BatchTransferCollection list(String apiKey, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, classURL(BatchTransfer.class), apiKey, params, BatchTransferCollection.class); } /** @@ -247,7 +304,27 @@ public static BatchTransferCollection list(Map params) public static BatchTransfer update(String id, Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.PUT, instanceURL(BatchTransfer.class, id), params, BatchTransfer.class); + return update(id, null, params); + } + + /** + * 更新 BatchTransfer + * + * @param id + * @param apiKey Ping++ ApiKey + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BatchTransfer update(String id, String apiKey, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.PUT, instanceURL(BatchTransfer.class, id), apiKey, params, BatchTransfer.class); } /** @@ -267,4 +344,25 @@ public static BatchTransfer cancel(String id) params.put("status", "canceled"); return update(id, params); } + + /** + * 撤销/取消 BatchTransfer + * + * @param id + * @param apiKey Ping++ Apikey + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BatchTransfer cancel(String id, String apiKey) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + Map params = new HashMap(); + params.put("status", "canceled"); + return update(id, apiKey, params); + } } diff --git a/src/main/java/com/pingplusplus/model/Charge.java b/src/main/java/com/pingplusplus/model/Charge.java index 1a3ce76..7a6719b 100644 --- a/src/main/java/com/pingplusplus/model/Charge.java +++ b/src/main/java/com/pingplusplus/model/Charge.java @@ -272,7 +272,26 @@ public void setTimeSettle(Long timeSettle) { public static Charge create(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.POST, classURL(Charge.class), params, Charge.class); + return create(null, params); + } + + /** + * 创建 charge + * + * @param params + * @param apiKey Ping++ ApiKey + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Charge create(String apiKey, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, classURL(Charge.class), apiKey, params, Charge.class); } /** @@ -290,7 +309,25 @@ public static Charge create(Map params) public static Charge retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.GET, instanceURL(Charge.class, id), null, Charge.class); + return retrieve(id, null, null); + } + + /** + * 查询 charge + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Charge retrieve(String id, String apiKey) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return retrieve(id, apiKey, null); } /** @@ -309,7 +346,26 @@ public static Charge retrieve(String id) throws AuthenticationException, public static Charge retrieve(String id, Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.GET, instanceURL(Charge.class, id), params, Charge.class); + return retrieve(id, null, params); + } + + /** + * 查询 charge + * + * @param id + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Charge retrieve(String id, String apiKey, Map params) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, instanceURL(Charge.class, id), apiKey, params, Charge.class); } /** @@ -327,10 +383,28 @@ public static Charge retrieve(String id, Map params) throws Auth public static ChargeCollection list(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { + return list(null, params); + } + + /** + * 查询 charge 列表 + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static ChargeCollection list(String apiKey, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { if (params != null && ((params.containsKey("app") && (params.get("app") instanceof Map) && ((Map) params.get("app")).containsKey("id")) - || (params.containsKey("app[id]") && (params.get("app[id]") instanceof String)))) { - return request(RequestMethod.GET, classURL(Charge.class), params, ChargeCollection.class); + || (params.containsKey("app[id]") && (params.get("app[id]") instanceof String)))) { + return request(RequestMethod.GET, classURL(Charge.class), apiKey, params, ChargeCollection.class); } throw new InvalidRequestException("Please pass app[id] as parameter.", "app[id]", null); } @@ -339,6 +413,7 @@ public static ChargeCollection list(Map params) * 撤销 charge * * @param id + * @param apiKey Ping++ ApiKey * @param params * @return * @throws AuthenticationException @@ -348,14 +423,33 @@ public static ChargeCollection list(Map params) * @throws ChannelException * @throws RateLimitException */ - public static Charge reverse(String id, Map params) throws AuthenticationException, + public static Charge reverse(String id, String apiKey, Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { String reverseUrl = String.format("%s/reverse", instanceURL(Charge.class, id)); if (params == null) { params = new HashMap(); } - return request(RequestMethod.POST, reverseUrl, params, Charge.class); + return request(RequestMethod.POST, reverseUrl, apiKey, params, Charge.class); + } + + /** + * 撤销 charge + * + * @param id + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Charge reverse(String id, Map params) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return reverse(id, null, params); } /** @@ -373,7 +467,26 @@ public static Charge reverse(String id, Map params) throws Authe public static Charge reverse(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return reverse(id, null); + return reverse(id, null, null); + } + + /** + * 撤销 charge + * + * @param id + * @param apiKey Ping++ ApiKey + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Charge reverse(String id, String apiKey) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return reverse(id, apiKey, null); } @Deprecated diff --git a/src/main/java/com/pingplusplus/model/ChargeRefundCollection.java b/src/main/java/com/pingplusplus/model/ChargeRefundCollection.java index 8dc19c5..a37771c 100644 --- a/src/main/java/com/pingplusplus/model/ChargeRefundCollection.java +++ b/src/main/java/com/pingplusplus/model/ChargeRefundCollection.java @@ -11,8 +11,15 @@ public ChargeRefundCollection list(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { + return list(null, params); + } + + public ChargeRefundCollection list(String apiKey, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + String url = String.format("%s%s", Pingpp.getApiBase(), this.getURL()); - return request(RequestMethod.GET, url, params, ChargeRefundCollection.class); + return request(RequestMethod.GET, url, apiKey, params, ChargeRefundCollection.class); } @Deprecated @@ -26,16 +33,30 @@ public Refund retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { + return retrieve(id, null); + } + + public Refund retrieve(String id, String apiKey) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + String url = String.format("%s%s/%s", Pingpp.getApiBase(), this.getURL(), id); - return request(RequestMethod.GET, url, null, Refund.class); + return request(RequestMethod.GET, url, apiKey, null, Refund.class); } public Refund create(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { + return create(null, params); + } + + public Refund create(String apiKey, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + String url = String.format("%s%s", Pingpp.getApiBase(), this.getURL()); - return request(RequestMethod.POST, url, params, Refund.class); + return request(RequestMethod.POST, url, apiKey, params, Refund.class); } } diff --git a/src/main/java/com/pingplusplus/model/Customs.java b/src/main/java/com/pingplusplus/model/Customs.java index f6f4635..0ad3b52 100644 --- a/src/main/java/com/pingplusplus/model/Customs.java +++ b/src/main/java/com/pingplusplus/model/Customs.java @@ -184,7 +184,26 @@ public void setTransactionNo(String transactionNo) { public static Customs create(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.POST, classURL(Customs.class), params, Customs.class); + return create(null, params); + } + + /** + * 创建 customs + * + * @param apiKey Ping++ ApiKey + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Customs create(String apiKey, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, classURL(Customs.class), apiKey, params, Customs.class); } /** @@ -202,7 +221,26 @@ public static Customs create(Map params) public static Customs retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.GET, instanceURL(Customs.class, id), null, Customs.class); + return retrieve(id, null); + } + + /** + * 查询 customs + * + * @param id + * @param apiKey Ping++ ApiKey + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Customs retrieve(String id, String apiKey) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, instanceURL(Customs.class, id), apiKey, null, Customs.class); } /** @@ -220,7 +258,25 @@ public static Customs retrieve(String id) throws AuthenticationException, public static CustomsCollection list(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.GET, classURL(Customs.class), params, CustomsCollection.class); + return list(null, params); } + /** + * 查询 customs 列表 + * + * @param apiKey Ping++ ApiKey + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static CustomsCollection list(String apiKey, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, classURL(Customs.class), apiKey, params, CustomsCollection.class); + } } diff --git a/src/main/java/com/pingplusplus/model/Event.java b/src/main/java/com/pingplusplus/model/Event.java index fbfc39a..46ea39e 100644 --- a/src/main/java/com/pingplusplus/model/Event.java +++ b/src/main/java/com/pingplusplus/model/Event.java @@ -97,7 +97,26 @@ public void setRequest(String request) { public static Event retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(APIResource.RequestMethod.GET, instanceURL(Event.class, id), null, Event.class); + return retrieve(id, null, null); + } + + /** + * 查询 Event + * + * @param id + * @param apiKey Ping++ ApiKey + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Event retrieve(String id, String apiKey) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return retrieve(id, apiKey, null); } /** @@ -115,6 +134,26 @@ public static Event retrieve(String id) throws AuthenticationException, public static Event retrieve(String id, Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(APIResource.RequestMethod.GET, instanceURL(Event.class, id), params, Event.class); + return retrieve(id, null, params); + } + + /** + * 查询 Event + * + * @param id + * @param apiKey Ping++ ApiKey + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Event retrieve(String id, String apiKey, Map params) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, instanceURL(Event.class, id), apiKey, params, Event.class); } } diff --git a/src/main/java/com/pingplusplus/model/Identification.java b/src/main/java/com/pingplusplus/model/Identification.java index bc23a14..57151b2 100644 --- a/src/main/java/com/pingplusplus/model/Identification.java +++ b/src/main/java/com/pingplusplus/model/Identification.java @@ -75,6 +75,25 @@ public void setApp(Object app) { public static Identification identify(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.POST, singleClassURL(Identification.class), params, Identification.class); + return identify(null, params); + } + + /** + * 请求认证 + * + * @param apiKey Ping++ ApiKey + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Identification identify(String apiKey, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, singleClassURL(Identification.class), apiKey, params, Identification.class); } } diff --git a/src/main/java/com/pingplusplus/model/RedEnvelope.java b/src/main/java/com/pingplusplus/model/RedEnvelope.java index 82560fc..e2a5baa 100644 --- a/src/main/java/com/pingplusplus/model/RedEnvelope.java +++ b/src/main/java/com/pingplusplus/model/RedEnvelope.java @@ -221,7 +221,26 @@ public void setMetadata(Map metadata) { public static RedEnvelope create(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.POST, classURL(RedEnvelope.class), params, RedEnvelope.class); + return create(null, params); + } + + /** + * 创建 RedEnvelope + * + * @param apiKey Ping++ ApiKey + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static RedEnvelope create(String apiKey, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, classURL(RedEnvelope.class), apiKey, params, RedEnvelope.class); } /** @@ -238,7 +257,26 @@ public static RedEnvelope create(Map params) public static RedEnvelope retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.GET, instanceURL(RedEnvelope.class, id), null, RedEnvelope.class); + return retrieve(id, null, null); + } + + /** + * 查询 RedEnvelope + * + * @param id + * @param apiKey Ping++ ApiKey + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static RedEnvelope retrieve(String id, String apiKey) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return retrieve(id, apiKey, null); } /** @@ -256,7 +294,27 @@ public static RedEnvelope retrieve(String id) throws AuthenticationException, public static RedEnvelope retrieve(String id, Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.GET, instanceURL(RedEnvelope.class, id), params, RedEnvelope.class); + return retrieve(id, null, params); + } + + /** + * 查询 RedEnvelope + * + * @param id + * @param apiKey Ping++ ApiKey + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static RedEnvelope retrieve(String id, String apiKey, Map params) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, instanceURL(RedEnvelope.class, id), apiKey, params, RedEnvelope.class); } /** @@ -273,7 +331,26 @@ public static RedEnvelope retrieve(String id, Map params) throws public static RedEnvelopeCollection list(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.GET, classURL(RedEnvelope.class), params, RedEnvelopeCollection.class); + return list(null, params); + } + + /** + * 查询 RedEnvelope + * + * @param apiKey Ping++ ApiKey + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static RedEnvelopeCollection list(String apiKey, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, classURL(RedEnvelope.class), apiKey, params, RedEnvelopeCollection.class); } @Deprecated diff --git a/src/main/java/com/pingplusplus/model/Refund.java b/src/main/java/com/pingplusplus/model/Refund.java index 2361181..a18235a 100644 --- a/src/main/java/com/pingplusplus/model/Refund.java +++ b/src/main/java/com/pingplusplus/model/Refund.java @@ -182,8 +182,28 @@ public void setExtra(Map extra) { public static Refund create(String charge, Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { + return create(charge, null, params); + } + + /** + * 创建 refund + * + * @param charge + * @param apiKey Ping++ ApiKey + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Refund create(String charge, String apiKey, Map params) + throws AuthenticationException, InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { return request(RequestMethod.POST, String.format("%s/refunds", instanceURL(Charge.class, charge)), - params, Refund.class); + apiKey, params, Refund.class); } /** @@ -202,8 +222,28 @@ public static Refund create(String charge, Map params) public static Refund retrieve(String charge, String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { + return retrieve(charge, id, null); + } + + /** + * 查询 refund + * + * @param charge + * @param id + * @param apiKey Ping++ ApiKey + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Refund retrieve(String charge, String id, String apiKey) + throws AuthenticationException, InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, String.format("%s/refunds/%s", instanceURL(Charge.class, charge), id), - null, Refund.class); + apiKey, null, Refund.class); } /** @@ -222,7 +262,27 @@ public static Refund retrieve(String charge, String id) public static ChargeRefundCollection list(String charge, Mapparams) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { + return list(charge, null, params); + } + + /** + * 查询 refund 列表 + * + * @param charge + * @param apiKey Ping++ ApiKey + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static ChargeRefundCollection list(String charge, String apiKey, Mapparams) + throws AuthenticationException, InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, String.format("%s/refunds", instanceURL(Charge.class, charge)), - params, ChargeRefundCollection.class); + apiKey, params, ChargeRefundCollection.class); } } diff --git a/src/main/java/com/pingplusplus/model/Transfer.java b/src/main/java/com/pingplusplus/model/Transfer.java index d7ba8bf..20b53ab 100644 --- a/src/main/java/com/pingplusplus/model/Transfer.java +++ b/src/main/java/com/pingplusplus/model/Transfer.java @@ -200,7 +200,26 @@ public void setMetadata(Map metadata) { public static Transfer create(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.POST, classURL(Transfer.class), params, Transfer.class); + return create(null, params); + } + + /** + * 创建 Transfer + * + * @param apiKey Ping++ APiKey + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Transfer create(String apiKey, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, classURL(Transfer.class), apiKey, params, Transfer.class); } /** @@ -216,7 +235,26 @@ public static Transfer create(Map params) public static Transfer retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.GET, instanceURL(Transfer.class, id), null, Transfer.class); + return retrieve(id, null, null); + } + + /** + * 查询 Transfer + * + * @param id + * @param apiKey Ping++ ApiKey + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Transfer retrieve(String id, String apiKey) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return retrieve(id, apiKey, null); } /** @@ -233,7 +271,27 @@ public static Transfer retrieve(String id) throws AuthenticationException, public static Transfer retrieve(String id, Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.GET, instanceURL(Transfer.class, id), params, Transfer.class); + return retrieve(id, null, params); + } + + /** + * 查询 Transfer + * + * @param id + * @param apiKey Ping++ ApiKey + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Transfer retrieve(String id, String apiKey, Map params) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, instanceURL(Transfer.class, id), apiKey, params, Transfer.class); } /** @@ -249,7 +307,26 @@ public static Transfer retrieve(String id, Map params) throws Au public static TransferCollection list(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.GET, classURL(Transfer.class), params, TransferCollection.class); + return list(null, params); + } + + /** + * 查询 Transfer + * + * @param apiKey Ping++ APiKey + * @param params 分页参数等 + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static TransferCollection list(String apiKey, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, classURL(Transfer.class), apiKey, params, TransferCollection.class); } @Deprecated @@ -273,7 +350,27 @@ public static TransferCollection all(Map params) public static Transfer update(String id, Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.PUT, instanceURL(Transfer.class, id), params, Transfer.class); + return update(id, null, params); + } + + /** + * 更新 Transfer + * + * @param id transfer id + * @param apiKey Ping++ ApiKey + * @param params 更新参数 + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Transfer update(String id, String apiKey, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.PUT, instanceURL(Transfer.class, id), apiKey, params, Transfer.class); } /** @@ -293,4 +390,25 @@ public static Transfer cancel(String id) params.put("status", "canceled"); return update(id, params); } + + /** + * 撤销/取消 Transfer + * + * @param id transfer id + * @param apiKey Ping++ ApiKey + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Transfer cancel(String id, String apiKey) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + Map params = new HashMap(); + params.put("status", "canceled"); + return update(id, apiKey, params); + } } diff --git a/src/main/java/com/pingplusplus/net/APIResource.java b/src/main/java/com/pingplusplus/net/APIResource.java index b57bf34..7a3e3d0 100644 --- a/src/main/java/com/pingplusplus/net/APIResource.java +++ b/src/main/java/com/pingplusplus/net/APIResource.java @@ -587,7 +587,29 @@ private static PingppResponse makeURLConnectionRequest( protected static T request(APIResource.RequestMethod method, String url, Map params, Class clazz) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - if ((Pingpp.apiKey == null || Pingpp.apiKey.length() == 0)) { + return request(method, url, null, params, clazz); + } + + /** + * @param method + * @param url + * @param apiKey + * @param params + * @param clazz + * @param + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + protected static T request(APIResource.RequestMethod method, String url, String apiKey, Map params, Class clazz) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + apiKey = apiKey != null ? apiKey : Pingpp.apiKey; + if ((apiKey == null || apiKey.length() == 0)) { throw new AuthenticationException( "No API key provided. (HINT: set your API key using 'Pingpp.apiKey = '. " + "You can generate API keys from the Pingpp web interface. " @@ -615,7 +637,7 @@ protected static T request(APIResource.RequestMethod method, String url, Map while(true) { try { // HTTPSURLConnection verifies SSL cert by default - response = makeURLConnectionRequest(method, url, query, Pingpp.apiKey); + response = makeURLConnectionRequest(method, url, query, apiKey); if (Pingpp.DEBUG) { System.out.println(getGson().toJson(response)); } From 7d05c4d50c5030dce86c21bfaab6ab5e26d414ab Mon Sep 17 00:00:00 2001 From: dong11 <956176457@qq.com> Date: Wed, 18 Oct 2017 16:31:47 +0800 Subject: [PATCH 034/104] build jar --- example/libs/pingpp-java-2.2.4.jar | Bin 56004 -> 0 bytes example/libs/pingpp-java-2.2.5.jar | Bin 0 -> 57300 bytes libs/pingpp-java-2.2.4.jar | Bin 56004 -> 0 bytes libs/pingpp-java-2.2.5.jar | Bin 0 -> 57300 bytes src/main/java/com/pingplusplus/Pingpp.java | 2 +- 5 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 example/libs/pingpp-java-2.2.4.jar create mode 100644 example/libs/pingpp-java-2.2.5.jar delete mode 100644 libs/pingpp-java-2.2.4.jar create mode 100644 libs/pingpp-java-2.2.5.jar diff --git a/example/libs/pingpp-java-2.2.4.jar b/example/libs/pingpp-java-2.2.4.jar deleted file mode 100644 index 86cb9e7411ae40a682be03a9c6d59a8b8615b6b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56004 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 z 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Ž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 P!FwNo9nHzUuRr}C@e8qs literal 0 HcmV?d00001 diff --git a/libs/pingpp-java-2.2.4.jar b/libs/pingpp-java-2.2.4.jar deleted file mode 100644 index 86cb9e7411ae40a682be03a9c6d59a8b8615b6b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56004 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 z 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Ž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 P!FwNo9nHzUuRr}C@e8qs literal 0 HcmV?d00001 diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index b11dbef..2652b87 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,7 +11,7 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.2.4"; + public static final String VERSION = "2.2.5"; /** * api key */ From aa6dfb4e71c4137ffce736f08846d24881336c92 Mon Sep 17 00:00:00 2001 From: dong11 <956176457@qq.com> Date: Thu, 30 Nov 2017 19:09:29 +0800 Subject: [PATCH 035/104] merge account --- .../java/com/pingplusplus/PingppAccount.java | 8 + .../com/pingplusplus/model/BalanceBonus.java | 199 +++++++ .../model/BalanceBonusCollection.java | 4 + .../model/BalanceTransaction.java | 188 +++++++ .../model/BalanceTransactionCollection.java | 4 + .../pingplusplus/model/BalanceTransfer.java | 199 +++++++ .../model/BalanceTransferCollection.java | 4 + .../pingplusplus/model/BatchWithdrawal.java | 253 +++++++++ .../model/BatchWithdrawalCollection.java | 4 + .../java/com/pingplusplus/model/Channel.java | 150 ++++++ .../pingplusplus/model/ChargeEssentials.java | 45 ++ .../java/com/pingplusplus/model/Coupon.java | 245 +++++++++ .../pingplusplus/model/CouponCollection.java | 4 + .../pingplusplus/model/CouponTemplate.java | 295 +++++++++++ .../model/CouponTemplateCollection.java | 4 + .../model/CouponTemplateExpiration.java | 34 ++ .../model/DeleteRoyaltyTemplate.java | 4 + .../pingplusplus/model/DeletedChannel.java | 22 + .../com/pingplusplus/model/DeletedCoupon.java | 7 + .../model/DeletedCouponTemplate.java | 7 + .../model/DeletedSettleAccount.java | 7 + .../com/pingplusplus/model/DeletedSubApp.java | 7 + .../java/com/pingplusplus/model/Order.java | 489 ++++++++++++++++++ .../pingplusplus/model/OrderCollection.java | 4 + .../com/pingplusplus/model/OrderRefund.java | 87 ++++ .../model/OrderRefundCollection.java | 5 + .../java/com/pingplusplus/model/Recharge.java | 217 ++++++++ .../model/RechargeCollection.java | 4 + .../pingplusplus/model/RechargeRefund.java | 87 ++++ .../model/RechargeRefundCollection.java | 4 + .../java/com/pingplusplus/model/Royalty.java | 235 +++++++++ .../pingplusplus/model/RoyaltyCollection.java | 4 + .../pingplusplus/model/RoyaltySettlement.java | 263 ++++++++++ .../model/RoyaltySettlementCollection.java | 4 + .../pingplusplus/model/RoyaltyTemplate.java | 172 ++++++ .../model/RoyaltyTemplateCollection.java | 4 + .../model/RoyaltyTransaction.java | 145 ++++++ .../model/RoyaltyTransactionCollection.java | 4 + .../com/pingplusplus/model/SettleAccount.java | 144 ++++++ .../model/SettleAccountCollection.java | 4 + .../model/SettleAccountRecipient.java | 61 +++ .../java/com/pingplusplus/model/SubApp.java | 202 ++++++++ .../pingplusplus/model/SubAppCollection.java | 4 + .../java/com/pingplusplus/model/User.java | 293 +++++++++++ .../pingplusplus/model/UserCollection.java | 4 + .../com/pingplusplus/model/Withdrawal.java | 465 +++++++++++++++++ .../model/WithdrawalCollection.java | 13 + .../model/WithdrawalCollectionBase.java | 4 + .../pingplusplus/net/AccountAPIResource.java | 21 + .../pingplusplus/net/AppBasedResource.java | 119 +++++ .../pingplusplus/net/SubAppBasedResource.java | 47 ++ .../pingplusplus/net/UserBasedResource.java | 47 ++ .../AccountEventDataDeserializer.java | 72 +++ .../ChargeEssentialsSerializer.java | 26 + .../CouponTemplateExpirationSerializer.java | 21 + .../SettleAccountRecipientSerializer.java | 21 + .../com/pingplusplus/PingppAccountTest.java | 23 + .../pingplusplus/PingppAccountTestBase.java | 21 + .../pingplusplus/PingppAccountTestData.java | 91 ++++ .../java/com/pingplusplus/WebhookTest.java | 26 + .../balance/BalanceBonusTest.java | 63 +++ .../balance/BalanceTransactionTest.java | 45 ++ .../balance/BalanceTransferTest.java | 65 +++ .../coupon/CouponTemplateTest.java | 111 ++++ .../com/pingplusplus/coupon/CouponTest.java | 142 +++++ .../com/pingplusplus/order/OrderTest.java | 181 +++++++ .../order/RoyaltySettlementTest.java | 77 +++ .../order/RoyaltyTemplateTest.java | 133 +++++ .../com/pingplusplus/order/RoyaltyTest.java | 67 +++ .../order/RoyaltyTransactionTest.java | 45 ++ .../pingplusplus/recharge/RechargeTest.java | 116 +++++ .../settle_account/SettleAccountTest.java | 87 ++++ .../sub_app/SubAppChannelTest.java | 101 ++++ .../com/pingplusplus/sub_app/SubAppTest.java | 101 ++++ .../pingplusplus/transfer/TransferTest.java | 262 ++++++++++ .../java/com/pingplusplus/user/UserTest.java | 108 ++++ .../withdrawal/BatchWithdrawalTest.java | 72 +++ .../withdrawal/WithdrawalTest.java | 101 ++++ 78 files changed, 7028 insertions(+) create mode 100644 src/main/java/com/pingplusplus/PingppAccount.java create mode 100644 src/main/java/com/pingplusplus/model/BalanceBonus.java create mode 100644 src/main/java/com/pingplusplus/model/BalanceBonusCollection.java create mode 100644 src/main/java/com/pingplusplus/model/BalanceTransaction.java create mode 100644 src/main/java/com/pingplusplus/model/BalanceTransactionCollection.java create mode 100644 src/main/java/com/pingplusplus/model/BalanceTransfer.java create mode 100644 src/main/java/com/pingplusplus/model/BalanceTransferCollection.java create mode 100644 src/main/java/com/pingplusplus/model/BatchWithdrawal.java create mode 100644 src/main/java/com/pingplusplus/model/BatchWithdrawalCollection.java create mode 100644 src/main/java/com/pingplusplus/model/Channel.java create mode 100644 src/main/java/com/pingplusplus/model/ChargeEssentials.java create mode 100644 src/main/java/com/pingplusplus/model/Coupon.java create mode 100644 src/main/java/com/pingplusplus/model/CouponCollection.java create mode 100644 src/main/java/com/pingplusplus/model/CouponTemplate.java create mode 100644 src/main/java/com/pingplusplus/model/CouponTemplateCollection.java create mode 100644 src/main/java/com/pingplusplus/model/CouponTemplateExpiration.java create mode 100644 src/main/java/com/pingplusplus/model/DeleteRoyaltyTemplate.java create mode 100644 src/main/java/com/pingplusplus/model/DeletedChannel.java create mode 100644 src/main/java/com/pingplusplus/model/DeletedCoupon.java create mode 100644 src/main/java/com/pingplusplus/model/DeletedCouponTemplate.java create mode 100644 src/main/java/com/pingplusplus/model/DeletedSettleAccount.java create mode 100644 src/main/java/com/pingplusplus/model/DeletedSubApp.java create mode 100644 src/main/java/com/pingplusplus/model/Order.java create mode 100644 src/main/java/com/pingplusplus/model/OrderCollection.java create mode 100644 src/main/java/com/pingplusplus/model/OrderRefund.java create mode 100644 src/main/java/com/pingplusplus/model/OrderRefundCollection.java create mode 100644 src/main/java/com/pingplusplus/model/Recharge.java create mode 100644 src/main/java/com/pingplusplus/model/RechargeCollection.java create mode 100644 src/main/java/com/pingplusplus/model/RechargeRefund.java create mode 100644 src/main/java/com/pingplusplus/model/RechargeRefundCollection.java create mode 100644 src/main/java/com/pingplusplus/model/Royalty.java create mode 100644 src/main/java/com/pingplusplus/model/RoyaltyCollection.java create mode 100644 src/main/java/com/pingplusplus/model/RoyaltySettlement.java create mode 100644 src/main/java/com/pingplusplus/model/RoyaltySettlementCollection.java create mode 100644 src/main/java/com/pingplusplus/model/RoyaltyTemplate.java create mode 100644 src/main/java/com/pingplusplus/model/RoyaltyTemplateCollection.java create mode 100644 src/main/java/com/pingplusplus/model/RoyaltyTransaction.java create mode 100644 src/main/java/com/pingplusplus/model/RoyaltyTransactionCollection.java create mode 100644 src/main/java/com/pingplusplus/model/SettleAccount.java create mode 100644 src/main/java/com/pingplusplus/model/SettleAccountCollection.java create mode 100644 src/main/java/com/pingplusplus/model/SettleAccountRecipient.java create mode 100644 src/main/java/com/pingplusplus/model/SubApp.java create mode 100644 src/main/java/com/pingplusplus/model/SubAppCollection.java create mode 100644 src/main/java/com/pingplusplus/model/User.java create mode 100644 src/main/java/com/pingplusplus/model/UserCollection.java create mode 100644 src/main/java/com/pingplusplus/model/Withdrawal.java create mode 100644 src/main/java/com/pingplusplus/model/WithdrawalCollection.java create mode 100644 src/main/java/com/pingplusplus/model/WithdrawalCollectionBase.java create mode 100644 src/main/java/com/pingplusplus/net/AccountAPIResource.java create mode 100755 src/main/java/com/pingplusplus/net/AppBasedResource.java create mode 100644 src/main/java/com/pingplusplus/net/SubAppBasedResource.java create mode 100644 src/main/java/com/pingplusplus/net/UserBasedResource.java create mode 100644 src/main/java/com/pingplusplus/serializer/AccountEventDataDeserializer.java create mode 100644 src/main/java/com/pingplusplus/serializer/ChargeEssentialsSerializer.java create mode 100644 src/main/java/com/pingplusplus/serializer/CouponTemplateExpirationSerializer.java create mode 100644 src/main/java/com/pingplusplus/serializer/SettleAccountRecipientSerializer.java create mode 100644 src/test/java/com/pingplusplus/PingppAccountTest.java create mode 100644 src/test/java/com/pingplusplus/PingppAccountTestBase.java create mode 100644 src/test/java/com/pingplusplus/PingppAccountTestData.java create mode 100644 src/test/java/com/pingplusplus/WebhookTest.java create mode 100644 src/test/java/com/pingplusplus/balance/BalanceBonusTest.java create mode 100644 src/test/java/com/pingplusplus/balance/BalanceTransactionTest.java create mode 100644 src/test/java/com/pingplusplus/balance/BalanceTransferTest.java create mode 100644 src/test/java/com/pingplusplus/coupon/CouponTemplateTest.java create mode 100644 src/test/java/com/pingplusplus/coupon/CouponTest.java create mode 100644 src/test/java/com/pingplusplus/order/OrderTest.java create mode 100644 src/test/java/com/pingplusplus/order/RoyaltySettlementTest.java create mode 100644 src/test/java/com/pingplusplus/order/RoyaltyTemplateTest.java create mode 100644 src/test/java/com/pingplusplus/order/RoyaltyTest.java create mode 100644 src/test/java/com/pingplusplus/order/RoyaltyTransactionTest.java create mode 100644 src/test/java/com/pingplusplus/recharge/RechargeTest.java create mode 100644 src/test/java/com/pingplusplus/settle_account/SettleAccountTest.java create mode 100644 src/test/java/com/pingplusplus/sub_app/SubAppChannelTest.java create mode 100644 src/test/java/com/pingplusplus/sub_app/SubAppTest.java create mode 100644 src/test/java/com/pingplusplus/transfer/TransferTest.java create mode 100644 src/test/java/com/pingplusplus/user/UserTest.java create mode 100644 src/test/java/com/pingplusplus/withdrawal/BatchWithdrawalTest.java create mode 100644 src/test/java/com/pingplusplus/withdrawal/WithdrawalTest.java diff --git a/src/main/java/com/pingplusplus/PingppAccount.java b/src/main/java/com/pingplusplus/PingppAccount.java new file mode 100644 index 0000000..2cbaba5 --- /dev/null +++ b/src/main/java/com/pingplusplus/PingppAccount.java @@ -0,0 +1,8 @@ +package com.pingplusplus; + +/** + * Created by Afon on 2016/12/22. + */ +public abstract class PingppAccount extends Pingpp { + public static final String VERSION = "1.2.3"; +} diff --git a/src/main/java/com/pingplusplus/model/BalanceBonus.java b/src/main/java/com/pingplusplus/model/BalanceBonus.java new file mode 100644 index 0000000..f94cf5d --- /dev/null +++ b/src/main/java/com/pingplusplus/model/BalanceBonus.java @@ -0,0 +1,199 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; +import com.pingplusplus.net.AppBasedResource; + +import java.util.Map; + +public class BalanceBonus extends AppBasedResource { + String id; + String object; + String app; + Long created; + Boolean livemode; + Boolean paid; + Boolean refunded; + Integer amount; + Integer amountRefunded; + String orderNo; + Long timePaid; + String user; + String balanceTransaction; + String description; + Map metadata; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public String getApp() { + return app; + } + + public void setApp(String app) { + this.app = app; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public Boolean getPaid() { + return paid; + } + + public void setPaid(Boolean paid) { + this.paid = paid; + } + + public Boolean getRefunded() { + return refunded; + } + + public void setRefunded(Boolean refunded) { + this.refunded = refunded; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + public Integer getAmountRefunded() { + return amountRefunded; + } + + public void setAmountRefunded(Integer amountRefunded) { + this.amountRefunded = amountRefunded; + } + + public String getOrderNo() { + return orderNo; + } + + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } + + public Long getTimePaid() { + return timePaid; + } + + public void setTimePaid(Long timePaid) { + this.timePaid = timePaid; + } + + public String getUser() { + return user; + } + + public void setUser(String user) { + this.user = user; + } + + public String getBalanceTransaction() { + return balanceTransaction; + } + + public void setBalanceTransaction(String balanceTransaction) { + this.balanceTransaction = balanceTransaction; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Map getMetadata() { + return metadata; + } + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + /** + * 创建 balance_bonus + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BalanceBonus create(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.POST, classURL(BalanceBonus.class), params, BalanceBonus.class); + } + + /** + * 查询 balance_bonus + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BalanceBonus retrieve(String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, instanceURL(BalanceBonus.class, id), null, BalanceBonus.class); + } + + /** + * 查询 balance_bonus 列表 + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BalanceBonusCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, classURL(BalanceBonus.class), params, BalanceBonusCollection.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/BalanceBonusCollection.java b/src/main/java/com/pingplusplus/model/BalanceBonusCollection.java new file mode 100644 index 0000000..6c47f7a --- /dev/null +++ b/src/main/java/com/pingplusplus/model/BalanceBonusCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class BalanceBonusCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/BalanceTransaction.java b/src/main/java/com/pingplusplus/model/BalanceTransaction.java new file mode 100644 index 0000000..252105a --- /dev/null +++ b/src/main/java/com/pingplusplus/model/BalanceTransaction.java @@ -0,0 +1,188 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; +import com.pingplusplus.net.AppBasedResource; + +import java.util.Map; + +public class BalanceTransaction extends AppBasedResource { + String id; + String object; + String app; + Integer amount; + Integer availableBalance; + Long created; + String description; + Boolean livemode; + String source; + String type; + String user; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public String getApp() { + return app; + } + + public void setApp(String app) { + this.app = app; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + public Integer getAvailableBalance() { + return availableBalance; + } + + public void setAvailableBalance(Integer availableBalance) { + this.availableBalance = availableBalance; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getUser() { + return user; + } + + public void setUser(String user) { + this.user = user; + } + + /** + * 查询 balance_transaction + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BalanceTransaction retrieve(String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, instanceURL(BalanceTransaction.class, id), null, BalanceTransaction.class); + } + + /** + * 查询 balance_transaction 列表 + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BalanceTransactionCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, classURL(BalanceTransaction.class), params, BalanceTransactionCollection.class); + } + + /** + * 查询 balance_transaction + * + * @param userId + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + @Deprecated + public static BalanceTransaction retrieve(String userId, String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, instanceURL(BalanceTransaction.class, id), null, BalanceTransaction.class); + } + + /** + * 查询 balance_transaction 列表 + * + * @param userId + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + @Deprecated + public static BalanceTransactionCollection list(String userId, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + if (params != null) { + params.put("user", userId); + } + return request(APIResource.RequestMethod.GET, classURL(BalanceTransaction.class), params, BalanceTransactionCollection.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/BalanceTransactionCollection.java b/src/main/java/com/pingplusplus/model/BalanceTransactionCollection.java new file mode 100644 index 0000000..d860ff0 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/BalanceTransactionCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class BalanceTransactionCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/BalanceTransfer.java b/src/main/java/com/pingplusplus/model/BalanceTransfer.java new file mode 100644 index 0000000..8627c7d --- /dev/null +++ b/src/main/java/com/pingplusplus/model/BalanceTransfer.java @@ -0,0 +1,199 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; +import com.pingplusplus.net.AppBasedResource; + +import java.util.Map; + +public class BalanceTransfer extends AppBasedResource { + String id; + String object; + String app; + String orderNo; + Long created; + Boolean livemode; + String status; + Integer amount; + String user; + String userFee; + String recipient; + String userBalanceTransaction; + String recipientBalanceTransaction; + String description; + Map metadata; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public String getApp() { + return app; + } + + public void setApp(String app) { + this.app = app; + } + + public String getOrderNo() { + return orderNo; + } + + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + public String getUser() { + return user; + } + + public void setUser(String user) { + this.user = user; + } + + public String getUserFee() { + return userFee; + } + + public void setUserFee(String userFee) { + this.userFee = userFee; + } + + public String getRecipient() { + return recipient; + } + + public void setRecipient(String recipient) { + this.recipient = recipient; + } + + public String getUserBalanceTransaction() { + return userBalanceTransaction; + } + + public void setUserBalanceTransaction(String userBalanceTransaction) { + this.userBalanceTransaction = userBalanceTransaction; + } + + public String getRecipientBalanceTransaction() { + return recipientBalanceTransaction; + } + + public void setRecipientBalanceTransaction(String recipientBalanceTransaction) { + this.recipientBalanceTransaction = recipientBalanceTransaction; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Map getMetadata() { + return metadata; + } + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + /** + * 创建 balance_transfer + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BalanceTransfer create(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.POST, classURL(BalanceTransfer.class), params, BalanceTransfer.class); + } + + /** + * 查询 balance_transfer + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BalanceTransfer retrieve(String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, instanceURL(BalanceTransfer.class, id), null, BalanceTransfer.class); + } + + /** + * 查询 balance_transfer 列表 + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BalanceTransferCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, classURL(BalanceTransfer.class), params, BalanceTransferCollection.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/BalanceTransferCollection.java b/src/main/java/com/pingplusplus/model/BalanceTransferCollection.java new file mode 100644 index 0000000..eb1913f --- /dev/null +++ b/src/main/java/com/pingplusplus/model/BalanceTransferCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class BalanceTransferCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/BatchWithdrawal.java b/src/main/java/com/pingplusplus/model/BatchWithdrawal.java new file mode 100644 index 0000000..a083257 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/BatchWithdrawal.java @@ -0,0 +1,253 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; +import com.pingplusplus.net.AppBasedResource; + +import java.util.Map; + +public class BatchWithdrawal extends AppBasedResource { + String id; + String object; + String app; + Long created; + Boolean livemode; + Integer amount; + Integer amountSucceeded; + Integer amountFailed; + Integer amountCanceled; + Integer count; + Integer countSucceeded; + Integer countFailed; + Integer countCanceled; + Integer fee; + Map metadata; + String operationUrl; + String source; + String status; + Long timeFinished; + Integer userFee; + WithdrawalCollectionBase withdrawals; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public String getApp() { + return app; + } + + public void setApp(String app) { + this.app = app; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + public Integer getAmountSucceeded() { + return amountSucceeded; + } + + public void setAmountSucceeded(Integer amountSucceeded) { + this.amountSucceeded = amountSucceeded; + } + + public Integer getAmountFailed() { + return amountFailed; + } + + public void setAmountFailed(Integer amountFailed) { + this.amountFailed = amountFailed; + } + + public Integer getAmountCanceled() { + return amountCanceled; + } + + public void setAmountCanceled(Integer amountCanceled) { + this.amountCanceled = amountCanceled; + } + + public Integer getCount() { + return count; + } + + public void setCount(Integer count) { + this.count = count; + } + + public Integer getCountSucceeded() { + return countSucceeded; + } + + public void setCountSucceeded(Integer countSucceeded) { + this.countSucceeded = countSucceeded; + } + + public Integer getCountFailed() { + return countFailed; + } + + public void setCountFailed(Integer countFailed) { + this.countFailed = countFailed; + } + + public Integer getCountCanceled() { + return countCanceled; + } + + public void setCountCanceled(Integer countCanceled) { + this.countCanceled = countCanceled; + } + + public Integer getFee() { + return fee; + } + + public void setFee(Integer fee) { + this.fee = fee; + } + + public Map getMetadata() { + return metadata; + } + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + public String getOperationUrl() { + return operationUrl; + } + + public void setOperationUrl(String operationUrl) { + this.operationUrl = operationUrl; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Integer getUserFee() { + return userFee; + } + + public void setUserFee(Integer userFee) { + this.userFee = userFee; + } + + public WithdrawalCollectionBase getWithdrawals() { + return withdrawals; + } + + public void setWithdrawals(WithdrawalCollectionBase withdrawals) { + this.withdrawals = withdrawals; + } + + public Long getTimeFinished() { + return timeFinished; + } + + public void setTimeFinished(Long timeFinished) { + this.timeFinished = timeFinished; + } + + /** + * 创建 batch_withdrawal + * + * @param params + * @return BatchWithdrawal + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BatchWithdrawal create(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.POST, classURL(BatchWithdrawal.class), params, BatchWithdrawal.class); + } + + /** + * 查询 batch_withdrawal + * + * @param id + * @return BatchWithdrawal + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BatchWithdrawal retrieve(String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, instanceURL(BatchWithdrawal.class, id), null, BatchWithdrawal.class); + } + + /** + * 查询 batch_withdrawal 列表 + * + * @param params + * @return BatchWithdrawalCollection + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BatchWithdrawalCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, classURL(BatchWithdrawal.class), params, BatchWithdrawalCollection.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/BatchWithdrawalCollection.java b/src/main/java/com/pingplusplus/model/BatchWithdrawalCollection.java new file mode 100644 index 0000000..500e53a --- /dev/null +++ b/src/main/java/com/pingplusplus/model/BatchWithdrawalCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class BatchWithdrawalCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/Channel.java b/src/main/java/com/pingplusplus/model/Channel.java new file mode 100644 index 0000000..b326a31 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/Channel.java @@ -0,0 +1,150 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; +import com.pingplusplus.net.SubAppBasedResource; + +import java.util.Map; + +public class Channel extends SubAppBasedResource { + String object; + Long created; + String channel; + Boolean banned; + String bannedMsg; + String description; + Map params; + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public String getChannel() { + return channel; + } + + public void setChannel(String channel) { + this.channel = channel; + } + + public Boolean getBanned() { + return banned; + } + + public void setBanned(Boolean banned) { + this.banned = banned; + } + + public String getBannedMsg() { + return bannedMsg; + } + + public void setBannedMsg(String bannedMsg) { + this.bannedMsg = bannedMsg; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Map getParams() { + return params; + } + + public void setParams(Map params) { + this.params = params; + } + + /** + * 创建渠道参数 + * + * @params subAppId + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Channel create(String subAppId, Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.POST, classURL(Channel.class, subAppId), params, Channel.class); + } + + /** + * 查询渠道参数 + * + * @param subAppId + * @param channel + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Channel retrieve(String subAppId, String channel) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, instanceURL(Channel.class, subAppId, channel), null, Channel.class); + } + + /** + * 更新渠道参数 + * + * @param subAppId + * @param channel + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Channel update(String subAppId, String channel, Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.PUT, instanceURL(Channel.class, subAppId, channel), params, Channel.class); + } + + /** + * 删除渠道参数 + * + * @param subAppId + * @param channel + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static DeletedChannel delete(String subAppId, String channel) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.DELETE, instanceURL(Channel.class, subAppId, channel), null, DeletedChannel.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/ChargeEssentials.java b/src/main/java/com/pingplusplus/model/ChargeEssentials.java new file mode 100644 index 0000000..a92fd5b --- /dev/null +++ b/src/main/java/com/pingplusplus/model/ChargeEssentials.java @@ -0,0 +1,45 @@ +package com.pingplusplus.model; + +import java.util.Map; + +/** + * Created by Afon on 16/11/04. + */ +public class ChargeEssentials extends PingppObject { + String channel; + String transactionNo; + Map credential; + Map extra; + + public String getChannel() { + return channel; + } + + public void setChannel(String channel) { + this.channel = channel; + } + + public String getTransactionNo() { + return transactionNo; + } + + public void setTransactionNo(String transactionNo) { + this.transactionNo = transactionNo; + } + + public Map getCredential() { + return credential; + } + + public void setCredential(Map credential) { + this.credential = credential; + } + + public Map getExtra() { + return extra; + } + + public void setExtra(Map extra) { + this.extra = extra; + } +} diff --git a/src/main/java/com/pingplusplus/model/Coupon.java b/src/main/java/com/pingplusplus/model/Coupon.java new file mode 100644 index 0000000..4e68bb8 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/Coupon.java @@ -0,0 +1,245 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; +import com.pingplusplus.net.UserBasedResource; + +import java.util.Map; + +public class Coupon extends UserBasedResource { + String id; + String object; + String app; + Integer actualAmount; + CouponTemplate couponTemplate; + Long created; + Boolean livemode; + Map metadata; + String order; + Boolean redeemed; + Long timeEnd; + Long timeStart; + String user; + Boolean valid; + Integer userTimesCirculated; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public String getApp() { + return app; + } + + public void setApp(String app) { + this.app = app; + } + + public Integer getActualAmount() { + return actualAmount; + } + + public void setActualAmount(Integer actualAmount) { + this.actualAmount = actualAmount; + } + + public CouponTemplate getCouponTemplate() { + return couponTemplate; + } + + public void setCouponTemplate(CouponTemplate couponTemplate) { + this.couponTemplate = couponTemplate; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public Map getMetadata() { + return metadata; + } + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + public String getOrder() { + return order; + } + + public void setOrder(String order) { + this.order = order; + } + + public Boolean getRedeemed() { + return redeemed; + } + + public void setRedeemed(Boolean redeemed) { + this.redeemed = redeemed; + } + + public Long getTimeEnd() { + return timeEnd; + } + + public void setTimeEnd(Long timeEnd) { + this.timeEnd = timeEnd; + } + + public Long getTimeStart() { + return timeStart; + } + + public void setTimeStart(Long timeStart) { + this.timeStart = timeStart; + } + + public String getUser() { + return user; + } + + public void setUser(String user) { + this.user = user; + } + + public Boolean getValid() { + return valid; + } + + public void setValid(Boolean valid) { + this.valid = valid; + } + + public Integer getUserTimesCirculated() { + return userTimesCirculated; + } + + public void setUserTimesCirculated(Integer userTimesCirculated) { + this.userTimesCirculated = userTimesCirculated; + } + + /** + * 创建 coupon + * + * @params userId + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Coupon create(String userId, Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + User.checkUserId(userId); + return request(APIResource.RequestMethod.POST, classURL(Coupon.class, userId), params, Coupon.class); + } + + /** + * 查询 coupon + * + * @param userId + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Coupon retrieve(String userId, String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + User.checkUserId(userId); + return request(APIResource.RequestMethod.GET, instanceURL(Coupon.class, userId, id), null, Coupon.class); + } + + /** + * 查询 coupon 列表 + * + * @param userId + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static CouponCollection list(String userId, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + User.checkUserId(userId); + return request(APIResource.RequestMethod.GET, classURL(Coupon.class, userId), params, CouponCollection.class); + } + + /** + * 更新 coupon + * + * @param userId + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Coupon update(String userId, String id, Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + User.checkUserId(userId); + return request(APIResource.RequestMethod.PUT, instanceURL(Coupon.class, userId, id), params, Coupon.class); + } + + /** + * 删除 coupon + * + * @param userId + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static DeletedCoupon delete(String userId, String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + User.checkUserId(userId); + return request(APIResource.RequestMethod.DELETE, instanceURL(Coupon.class, userId, id), null, DeletedCoupon.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/CouponCollection.java b/src/main/java/com/pingplusplus/model/CouponCollection.java new file mode 100644 index 0000000..ada387f --- /dev/null +++ b/src/main/java/com/pingplusplus/model/CouponCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class CouponCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/CouponTemplate.java b/src/main/java/com/pingplusplus/model/CouponTemplate.java new file mode 100644 index 0000000..b3baf0f --- /dev/null +++ b/src/main/java/com/pingplusplus/model/CouponTemplate.java @@ -0,0 +1,295 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; +import com.pingplusplus.net.AppBasedResource; + +import java.util.Map; + +public class CouponTemplate extends AppBasedResource { + String id; + String object; + String app; + Integer amountAvailable; + Integer amountOff; + Long created; + CouponTemplateExpiration expiration; + Boolean livemode; + Integer maxCirculation; + Integer maxUserCirculation; + Map metadata; + String name; + Integer percentOff; + Long timesCirculated; + Long timesRedeemed; + Integer type; + Boolean refundable; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public String getApp() { + return app; + } + + public void setApp(String app) { + this.app = app; + } + + public Integer getAmountAvailable() { + return amountAvailable; + } + + public void setAmountAvailable(Integer amountAvailable) { + this.amountAvailable = amountAvailable; + } + + public Integer getAmountOff() { + return amountOff; + } + + public void setAmountOff(Integer amountOff) { + this.amountOff = amountOff; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public CouponTemplateExpiration getExpiration() { + return expiration; + } + + public void setExpiration(CouponTemplateExpiration expiration) { + this.expiration = expiration; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public Integer getMaxCirculation() { + return maxCirculation; + } + + public void setMaxCirculation(Integer maxCirculation) { + this.maxCirculation = maxCirculation; + } + + public Map getMetadata() { + return metadata; + } + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getPercentOff() { + return percentOff; + } + + public void setPercentOff(Integer percentOff) { + this.percentOff = percentOff; + } + + public Long getTimesCirculated() { + return timesCirculated; + } + + public void setTimesCirculated(Long timesCirculated) { + this.timesCirculated = timesCirculated; + } + + public Long getTimesRedeemed() { + return timesRedeemed; + } + + public void setTimesRedeemed(Long timesRedeemed) { + this.timesRedeemed = timesRedeemed; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + public Boolean getRefundable() { + return refundable; + } + + public void setRefundable(Boolean refundable) { + this.refundable = refundable; + } + + public Integer getMaxUserCirculation() { + return maxUserCirculation; + } + + public void setMaxUserCirculation(Integer maxUserCirculation) { + this.maxUserCirculation = maxUserCirculation; + } + + /** + * 创建 coupon_template + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static CouponTemplate create(Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.POST, classURL(CouponTemplate.class), params, CouponTemplate.class); + } + + /** + * 查询 coupon_template + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static CouponTemplate retrieve(String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, instanceURL(CouponTemplate.class, id), null, CouponTemplate.class); + } + + /** + * 查询 coupon_template 列表 + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static CouponTemplateCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, classURL(CouponTemplate.class), params, CouponTemplateCollection.class); + } + + /** + * 更新 coupon_template + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static CouponTemplate update(String id, Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.PUT, instanceURL(CouponTemplate.class, id), params, CouponTemplate.class); + } + + /** + * 删除 coupon_template + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static DeletedCouponTemplate delete(String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.DELETE, instanceURL(CouponTemplate.class, id), null, DeletedCouponTemplate.class); + } + + public static String couponsURL(String tmplId) throws InvalidRequestException { + return String.format("%s/coupons", instanceURL(CouponTemplate.class, tmplId)); + } + + /** + * 批量创建 coupon + * + * @param id + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static CouponCollection createCoupons(String id, Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.POST, couponsURL(id), params, CouponCollection.class); + } + + /** + * 查询 coupon 列表 + * + * @param id + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static CouponCollection listCoupons(String id, Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, couponsURL(id), params, CouponCollection.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/CouponTemplateCollection.java b/src/main/java/com/pingplusplus/model/CouponTemplateCollection.java new file mode 100644 index 0000000..013c926 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/CouponTemplateCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class CouponTemplateCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/CouponTemplateExpiration.java b/src/main/java/com/pingplusplus/model/CouponTemplateExpiration.java new file mode 100644 index 0000000..f08e33e --- /dev/null +++ b/src/main/java/com/pingplusplus/model/CouponTemplateExpiration.java @@ -0,0 +1,34 @@ +package com.pingplusplus.model; + +/** + * Created by Afon on 16/11/07. + */ +public class CouponTemplateExpiration extends PingppObject { + Long timeStart; + Long timeEnd; + Long duration; + + public Long getTimeStart() { + return timeStart; + } + + public void setTimeStart(Long timeStart) { + this.timeStart = timeStart; + } + + public Long getTimeEnd() { + return timeEnd; + } + + public void setTimeEnd(Long timeEnd) { + this.timeEnd = timeEnd; + } + + public Long getDuration() { + return duration; + } + + public void setDuration(Long duration) { + this.duration = duration; + } +} diff --git a/src/main/java/com/pingplusplus/model/DeleteRoyaltyTemplate.java b/src/main/java/com/pingplusplus/model/DeleteRoyaltyTemplate.java new file mode 100644 index 0000000..2b9f4ad --- /dev/null +++ b/src/main/java/com/pingplusplus/model/DeleteRoyaltyTemplate.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class DeleteRoyaltyTemplate extends DeletedObjectBase { +} diff --git a/src/main/java/com/pingplusplus/model/DeletedChannel.java b/src/main/java/com/pingplusplus/model/DeletedChannel.java new file mode 100644 index 0000000..00c6e41 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/DeletedChannel.java @@ -0,0 +1,22 @@ +package com.pingplusplus.model; + +/** + * Created by Afon on 17/03/27. + */ +public class DeletedChannel extends PingppObject { + String channel; + Boolean deleted; + + public String getChannel() { + return channel; + } + public void setChannel(String channel) { + this.channel = channel; + } + public Boolean getDeleted() { + return deleted; + } + public void setDeleted(Boolean deleted) { + this.deleted = deleted; + } +} diff --git a/src/main/java/com/pingplusplus/model/DeletedCoupon.java b/src/main/java/com/pingplusplus/model/DeletedCoupon.java new file mode 100644 index 0000000..85272b7 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/DeletedCoupon.java @@ -0,0 +1,7 @@ +package com.pingplusplus.model; + +/** + * Created by Afon on 16/11/04. + */ +public class DeletedCoupon extends DeletedObjectBase { +} diff --git a/src/main/java/com/pingplusplus/model/DeletedCouponTemplate.java b/src/main/java/com/pingplusplus/model/DeletedCouponTemplate.java new file mode 100644 index 0000000..0309144 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/DeletedCouponTemplate.java @@ -0,0 +1,7 @@ +package com.pingplusplus.model; + +/** + * Created by Afon on 16/11/04. + */ +public class DeletedCouponTemplate extends DeletedObjectBase { +} diff --git a/src/main/java/com/pingplusplus/model/DeletedSettleAccount.java b/src/main/java/com/pingplusplus/model/DeletedSettleAccount.java new file mode 100644 index 0000000..d627289 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/DeletedSettleAccount.java @@ -0,0 +1,7 @@ +package com.pingplusplus.model; + +/** + * Created by Afon on 17/03/27. + */ +public class DeletedSettleAccount extends DeletedObjectBase { +} diff --git a/src/main/java/com/pingplusplus/model/DeletedSubApp.java b/src/main/java/com/pingplusplus/model/DeletedSubApp.java new file mode 100644 index 0000000..230c430 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/DeletedSubApp.java @@ -0,0 +1,7 @@ +package com.pingplusplus.model; + +/** + * Created by Afon on 17/03/27. + */ +public class DeletedSubApp extends DeletedObjectBase { +} diff --git a/src/main/java/com/pingplusplus/model/Order.java b/src/main/java/com/pingplusplus/model/Order.java new file mode 100644 index 0000000..e991112 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/Order.java @@ -0,0 +1,489 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class Order extends APIResource { + String id; + String object; + Long created; + Boolean livemode; + String status; + Boolean paid; + Boolean refunded; + Object app; + String charge; + String uid; + String merchantOrderNo; + Integer amount; + Integer couponAmount; + Integer actualAmount; + Integer amountRefunded; + Integer amountPaid; + String currency; + String subject; + String body; + String clientIp; + Long timePaid; + Long timeExpire; + String coupon; + ChargeCollection charges; + String description; + Map metadata; + ChargeEssentials chargeEssentials; + Long availableBalance; + String userFrom; + String receiptApp; + String serviceApp; + List availableMethods; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Boolean getPaid() { + return paid; + } + + public void setPaid(Boolean paid) { + this.paid = paid; + } + + public Boolean getRefunded() { + return refunded; + } + + public void setRefunded(Boolean refunded) { + this.refunded = refunded; + } + + public Object getApp() { + return app; + } + + public void setApp(Object app) { + this.app = app; + } + + public String getUid() { + return uid; + } + + public void setUid(String uid) { + this.uid = uid; + } + + public String getMerchantOrderNo() { + return merchantOrderNo; + } + + public void setMerchantOrderNo(String merchantOrderNo) { + this.merchantOrderNo = merchantOrderNo; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + public Integer getCouponAmount() { + return couponAmount; + } + + public void setCouponAmount(Integer couponAmount) { + this.couponAmount = couponAmount; + } + + public Integer getActualAmount() { + return actualAmount; + } + + public void setActualAmount(Integer actualAmount) { + this.actualAmount = actualAmount; + } + + public Integer getAmountRefunded() { + return amountRefunded; + } + + public void setAmountRefunded(Integer amountRefunded) { + this.amountRefunded = amountRefunded; + } + + public Integer getAmountPaid() { + return amountPaid; + } + + public void setAmountPaid(Integer amountPaid) { + this.amountPaid = amountPaid; + } + + public String getCurrency() { + return currency; + } + + public void setCurrency(String currency) { + this.currency = currency; + } + + public String getSubject() { + return subject; + } + + public void setSubject(String subject) { + this.subject = subject; + } + + public String getBody() { + return body; + } + + public void setBody(String body) { + this.body = body; + } + + public String getClientIp() { + return clientIp; + } + + public void setClientIp(String clientIp) { + this.clientIp = clientIp; + } + + public Long getTimePaid() { + return timePaid; + } + + public void setTimePaid(Long timePaid) { + this.timePaid = timePaid; + } + + public Long getTimeExpire() { + return timeExpire; + } + + public void setTimeExpire(Long timeExpire) { + this.timeExpire = timeExpire; + } + + public String getCoupon() { + return coupon; + } + + public void setCoupon(String coupon) { + this.coupon = coupon; + } + + public ChargeCollection getCharges() { + return charges; + } + + public void setCharges(ChargeCollection charges) { + this.charges = charges; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Map getMetadata() { + return metadata; + } + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + public ChargeEssentials getChargeEssentials() { + return chargeEssentials; + } + + public void setChargeEssentials(ChargeEssentials chargeEssentials) { + this.chargeEssentials = chargeEssentials; + } + + public Long getAvailableBalance() { + return availableBalance; + } + + public void setAvailableBalance(Long availableBalance) { + this.availableBalance = availableBalance; + } + + public String getUserFrom() { + return userFrom; + } + + public void setUserFrom(String userFrom) { + this.userFrom = userFrom; + } + + public String getReceiptApp() { + return receiptApp; + } + + public void setReceiptApp(String receiptApp) { + this.receiptApp = receiptApp; + } + + public String getServiceApp() { + return serviceApp; + } + + public void setServiceApp(String serviceApp) { + this.serviceApp = serviceApp; + } + + public List getAvailableMethods() { + return availableMethods; + } + + public void setAvailableMethods(List availableMethods) { + this.availableMethods = availableMethods; + } + + public String getCharge() { + return charge; + } + + public void setCharge(String charge) { + this.charge = charge; + } + + /** + * 创建 order + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Order create(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, classURL(Order.class), params, Order.class); + } + + /** + * 查询 order + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Order retrieve(String id) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, instanceURL(Order.class, id), null, Order.class); + } + + /** + * 查询 order 列表 + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static OrderCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, classURL(Order.class), params, OrderCollection.class); + } + + /** + * 更新 order + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Order update(String id, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.PUT, instanceURL(Order.class, id), params, Order.class); + } + + /** + * 取消 order + * + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public Order cancel() + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + Map params = new HashMap(); + params.put("status", "canceled"); + return update(this.getId(), params); + } + + /** + * 取消 order + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Order cancel(String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + Map params = new HashMap(); + params.put("status", "canceled"); + return update(id, params); + } + + /** + * 支付 order + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public Order pay(Map params) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, String.format("%s/pay", instanceURL(Order.class, id)), + params, Order.class); + } + + /** + * 支付 order + * + * @param id + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Order pay(String id, Map params) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, String.format("%s/pay", instanceURL(Order.class, id)), + params, Order.class); + } + + /** + * 查询订单 Charge 列表 + * + * @param id + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static ChargeCollection chargeList(String id, Map params) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, String.format("%s/charges", instanceURL(Order.class, id)), + params, ChargeCollection.class); + } + + /** + * 查询订单 Charge + * + * @param orderId + * @param chargeId + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Charge retrieveCharge(String orderId, String chargeId) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, String.format("%s/charges/%s", instanceURL(Order.class, orderId), chargeId), + null, Charge.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/OrderCollection.java b/src/main/java/com/pingplusplus/model/OrderCollection.java new file mode 100644 index 0000000..70dd500 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/OrderCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class OrderCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/OrderRefund.java b/src/main/java/com/pingplusplus/model/OrderRefund.java new file mode 100644 index 0000000..19ce357 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/OrderRefund.java @@ -0,0 +1,87 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; + +import java.util.Map; + +public class OrderRefund extends APIResource { + + /** + * 创建 order_refund + * + * @param order + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static OrderRefundCollection create(String order, Map params) + throws AuthenticationException, InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, String.format("%s/order_refunds", instanceURL(Order.class, order)), + params, OrderRefundCollection.class); + } + + /** + * 查询 order_refund + * + * @param order + * @param refund + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Refund retrieve(String order, String refund) + throws AuthenticationException, InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, String.format("%s/order_refunds/%s", instanceURL(Order.class, order), refund), + null, Refund.class); + } + + /** + * 查询 order_refund 列表 + * + * @param order + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static OrderRefundCollection list(String order, Mapparams) + throws AuthenticationException, InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, String.format("%s/order_refunds", instanceURL(Order.class, order)), + params, OrderRefundCollection.class); + } + + /** + * 查询 order_refund 列表 + * + * @param order + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static OrderRefundCollection list(String order) + throws AuthenticationException, InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return list(order, null); + } +} diff --git a/src/main/java/com/pingplusplus/model/OrderRefundCollection.java b/src/main/java/com/pingplusplus/model/OrderRefundCollection.java new file mode 100644 index 0000000..80d6bda --- /dev/null +++ b/src/main/java/com/pingplusplus/model/OrderRefundCollection.java @@ -0,0 +1,5 @@ +package com.pingplusplus.model; + +public class OrderRefundCollection extends PingppCollection { + +} diff --git a/src/main/java/com/pingplusplus/model/Recharge.java b/src/main/java/com/pingplusplus/model/Recharge.java new file mode 100644 index 0000000..f90f58d --- /dev/null +++ b/src/main/java/com/pingplusplus/model/Recharge.java @@ -0,0 +1,217 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; +import com.pingplusplus.net.AppBasedResource; + +import java.util.Map; + +public class Recharge extends AppBasedResource { + String id; + String object; + String app; + Long created; + Boolean livemode; + Integer amount; + Boolean succeeded; + Long timeSucceeded; + Boolean refunded; + String user; + String fromUser; + Long userFee; + Charge charge; + BalanceBonus balanceBonus; + String balanceTransaction; + String description; + Map metadata; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public String getApp() { + return app; + } + + public void setApp(String app) { + this.app = app; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + public Boolean getSucceeded() { + return succeeded; + } + + public void setSucceeded(Boolean succeeded) { + this.succeeded = succeeded; + } + + public Long getTimeSucceeded() { + return timeSucceeded; + } + + public void setTimeSucceeded(Long timeSucceeded) { + this.timeSucceeded = timeSucceeded; + } + + public Boolean getRefunded() { + return refunded; + } + + public void setRefunded(Boolean refunded) { + this.refunded = refunded; + } + + public String getUser() { + return user; + } + + public void setUser(String user) { + this.user = user; + } + + public String getFromUser() { + return fromUser; + } + + public void setFromUser(String fromUser) { + this.fromUser = fromUser; + } + + public Long getUserFee() { + return userFee; + } + + public void setUserFee(Long userFee) { + this.userFee = userFee; + } + + public Charge getCharge() { + return charge; + } + + public void setCharge(Charge charge) { + this.charge = charge; + } + + public BalanceBonus getBalanceBonus() { + return balanceBonus; + } + + public void setBalanceBonus(BalanceBonus balanceBonus) { + this.balanceBonus = balanceBonus; + } + + public String getBalanceTransaction() { + return balanceTransaction; + } + + public void setBalanceTransaction(String balanceTransaction) { + this.balanceTransaction = balanceTransaction; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Map getMetadata() { + return metadata; + } + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + /** + * 创建 recharge + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Recharge create(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.POST, classURL(Recharge.class), params, Recharge.class); + } + + /** + * 查询 recharge + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Recharge retrieve(String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, instanceURL(Recharge.class, id), null, Recharge.class); + } + + /** + * 查询 recharge 列表 + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static RechargeCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, classURL(Recharge.class), params, RechargeCollection.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/RechargeCollection.java b/src/main/java/com/pingplusplus/model/RechargeCollection.java new file mode 100644 index 0000000..b0c3c1e --- /dev/null +++ b/src/main/java/com/pingplusplus/model/RechargeCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class RechargeCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/RechargeRefund.java b/src/main/java/com/pingplusplus/model/RechargeRefund.java new file mode 100644 index 0000000..4d498ce --- /dev/null +++ b/src/main/java/com/pingplusplus/model/RechargeRefund.java @@ -0,0 +1,87 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; +import com.pingplusplus.net.AppBasedResource; + +import java.util.Map; + +public class RechargeRefund extends AppBasedResource { + /** + * 创建 recharge_refund + * + * @param rechargeId + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Refund create(String rechargeId, Map params) + throws AuthenticationException, InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.POST, String.format("%s/refunds", instanceURL(Recharge.class, rechargeId)), + params, Refund.class); + } + + /** + * 查询 recharge_refund + * + * @param rechargeId + * @param refundId + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Refund retrieve(String rechargeId, String refundId) + throws AuthenticationException, InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, String.format("%s/refunds/%s", instanceURL(Recharge.class, rechargeId), refundId), + null, Refund.class); + } + + /** + * 查询 recharge_refund 列表 + * + * @param rechargeId + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static RechargeRefundCollection list(String rechargeId, Mapparams) + throws AuthenticationException, InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, String.format("%s/refunds", instanceURL(Recharge.class, rechargeId)), + params, RechargeRefundCollection.class); + } + + /** + * 查询 recharge_refund 列表 + * + * @param rechargeId + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static RechargeRefundCollection list(String rechargeId) + throws AuthenticationException, InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return list(rechargeId, null); + } +} diff --git a/src/main/java/com/pingplusplus/model/RechargeRefundCollection.java b/src/main/java/com/pingplusplus/model/RechargeRefundCollection.java new file mode 100644 index 0000000..494497b --- /dev/null +++ b/src/main/java/com/pingplusplus/model/RechargeRefundCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class RechargeRefundCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/Royalty.java b/src/main/java/com/pingplusplus/model/Royalty.java new file mode 100644 index 0000000..dd5134f --- /dev/null +++ b/src/main/java/com/pingplusplus/model/Royalty.java @@ -0,0 +1,235 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; +import com.pingplusplus.net.AccountAPIResource; + +import java.util.Map; + +public class Royalty extends AccountAPIResource { + String id; + String object; + Boolean livemode; + Long created; + Integer amount; + String description; + String method; + String payerApp; + String recipientApp; + String royaltyTransaction; + String royaltySettlement; + String settleAccount; + String sourceApp; + String sourceNo; + String sourceUrl; + String sourceUser; + String status; + Long timeSettled; + Map metadata; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getMethod() { + return method; + } + + public void setMethod(String method) { + this.method = method; + } + + public String getPayerApp() { + return payerApp; + } + + public void setPayerApp(String payerApp) { + this.payerApp = payerApp; + } + + public String getRecipientApp() { + return recipientApp; + } + + public void setRecipientApp(String recipientApp) { + this.recipientApp = recipientApp; + } + + public String getRoyaltyTransaction() { + return royaltyTransaction; + } + + public void setRoyaltyTransaction(String royaltyTransaction) { + this.royaltyTransaction = royaltyTransaction; + } + + public String getSettleAccount() { + return settleAccount; + } + + public void setSettleAccount(String settleAccount) { + this.settleAccount = settleAccount; + } + + public String getSourceApp() { + return sourceApp; + } + + public void setSourceApp(String sourceApp) { + this.sourceApp = sourceApp; + } + + public String getSourceNo() { + return sourceNo; + } + + public void setSourceNo(String sourceNo) { + this.sourceNo = sourceNo; + } + + public String getSourceUrl() { + return sourceUrl; + } + + public void setSourceUrl(String sourceUrl) { + this.sourceUrl = sourceUrl; + } + + public String getSourceUser() { + return sourceUser; + } + + public void setSourceUser(String sourceUser) { + this.sourceUser = sourceUser; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Long getTimeSettled() { + return timeSettled; + } + + public void setTimeSettled(Long timeSettled) { + this.timeSettled = timeSettled; + } + + public Map getMetadata() { + return metadata; + } + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + public String getRoyaltySettlement() { + return royaltySettlement; + } + + public void setRoyaltySettlement(String royaltySettlement) { + this.royaltySettlement = royaltySettlement; + } + + /** + * 查询 royalty + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Royalty retrieve(String id) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, instanceURL(Royalty.class, id), null, Royalty.class); + } + + /** + * 查询 royalty 列表 + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static RoyaltyCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, classURL(Royalty.class), params, RoyaltyCollection.class); + } + + /** + * 批量更新 royalty + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static RoyaltyCollection batchUpdate(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.PUT, classURL(Royalty.class), params, RoyaltyCollection.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/RoyaltyCollection.java b/src/main/java/com/pingplusplus/model/RoyaltyCollection.java new file mode 100644 index 0000000..ed35300 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/RoyaltyCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class RoyaltyCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/RoyaltySettlement.java b/src/main/java/com/pingplusplus/model/RoyaltySettlement.java new file mode 100644 index 0000000..276a0e6 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/RoyaltySettlement.java @@ -0,0 +1,263 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; +import com.pingplusplus.net.AccountAPIResource; + +import java.util.Map; + +public class RoyaltySettlement extends AccountAPIResource { + String id; + String object; + Boolean livemode; + Long created; + Integer amount; + Integer amountSucceeded; + Integer amountFailed; + Integer amountCanceled; + Integer count; + Integer countSucceeded; + Integer countFailed; + Integer countCanceled; + Integer fee; + String method; + String operationUrl; + String payerApp; + String status; + Long timeFinished; + RoyaltyTransactionCollection royaltyTransactions; + Map metadata; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + public Integer getAmountSucceeded() { + return amountSucceeded; + } + + public void setAmountSucceeded(Integer amountSucceeded) { + this.amountSucceeded = amountSucceeded; + } + + public Integer getAmountFailed() { + return amountFailed; + } + + public void setAmountFailed(Integer amountFailed) { + this.amountFailed = amountFailed; + } + + public Integer getAmountCanceled() { + return amountCanceled; + } + + public void setAmountCanceled(Integer amountCanceled) { + this.amountCanceled = amountCanceled; + } + + public Integer getCount() { + return count; + } + + public void setCount(Integer count) { + this.count = count; + } + + public Integer getCountSucceeded() { + return countSucceeded; + } + + public void setCountSucceeded(Integer countSucceeded) { + this.countSucceeded = countSucceeded; + } + + public Integer getCountFailed() { + return countFailed; + } + + public void setCountFailed(Integer countFailed) { + this.countFailed = countFailed; + } + + public Integer getCountCanceled() { + return countCanceled; + } + + public void setCountCanceled(Integer countCanceled) { + this.countCanceled = countCanceled; + } + + public Integer getFee() { + return fee; + } + + public void setFee(Integer fee) { + this.fee = fee; + } + + public String getMethod() { + return method; + } + + public void setMethod(String method) { + this.method = method; + } + + public String getOperationUrl() { + return operationUrl; + } + + public void setOperationUrl(String operationUrl) { + this.operationUrl = operationUrl; + } + + public String getPayerApp() { + return payerApp; + } + + public void setPayerApp(String payerApp) { + this.payerApp = payerApp; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Long getTimeFinished() { + return timeFinished; + } + + public void setTimeFinished(Long timeFinished) { + this.timeFinished = timeFinished; + } + + public RoyaltyTransactionCollection getRoyaltyTransactions() { + return royaltyTransactions; + } + + public void setRoyaltyTransactions(RoyaltyTransactionCollection royaltyTransactions) { + this.royaltyTransactions = royaltyTransactions; + } + + public Map getMetadata() { + return metadata; + } + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + /** + * 创建 royalty_settlement + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static RoyaltySettlement create(Map params) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.POST, classURL(RoyaltySettlement.class), params, RoyaltySettlement.class); + } + + /** + * 查询 royalty_settlement + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static RoyaltySettlement retrieve(String id) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, instanceURL(RoyaltySettlement.class, id), null, RoyaltySettlement.class); + } + + /** + * 查询 royalty_settlement 列表 + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static RoyaltySettlementCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, classURL(RoyaltySettlement.class), params, RoyaltySettlementCollection.class); + } + + /** + * 更新 royalty_settlement + * + * @param id + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static RoyaltySettlement update(String id, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.PUT, instanceURL(RoyaltySettlement.class, id), params, RoyaltySettlement.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/RoyaltySettlementCollection.java b/src/main/java/com/pingplusplus/model/RoyaltySettlementCollection.java new file mode 100644 index 0000000..78f1697 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/RoyaltySettlementCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class RoyaltySettlementCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/RoyaltyTemplate.java b/src/main/java/com/pingplusplus/model/RoyaltyTemplate.java new file mode 100644 index 0000000..a04200b --- /dev/null +++ b/src/main/java/com/pingplusplus/model/RoyaltyTemplate.java @@ -0,0 +1,172 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; +import com.pingplusplus.net.AccountAPIResource; + +import java.util.Map; + +public class RoyaltyTemplate extends AccountAPIResource { + String id; + String object; + Boolean livemode; + String app; + String name; + Long created; + String description; + Map rule; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getApp() { + return app; + } + + public void setApp(String app) { + this.app = app; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public Map getRule() { + return rule; + } + + public void setRule(Map rule) { + this.rule = rule; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + /** + * 创建 royalty_template + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static RoyaltyTemplate create(Map params) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.POST, classURL(RoyaltyTemplate.class), params, RoyaltyTemplate.class); + } + + /** + * 查询 royalty_template + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static RoyaltyTemplate retrieve(String id) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, instanceURL(RoyaltyTemplate.class, id), null, RoyaltyTemplate.class); + } + + /** + * 查询 royalty_template 列表 + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static RoyaltyTemplateCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, classURL(RoyaltyTemplate.class), params, RoyaltyTemplateCollection.class); + } + + /** + * 删除 royalty_template + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static DeleteRoyaltyTemplate delete(String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.DELETE, instanceURL(RoyaltyTemplate.class, id), null, DeleteRoyaltyTemplate.class); + } + + /** + * 更新 royalty_template + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static RoyaltyTemplate update(String id, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.PUT, instanceURL(RoyaltyTemplate.class, id), params, RoyaltyTemplate.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/RoyaltyTemplateCollection.java b/src/main/java/com/pingplusplus/model/RoyaltyTemplateCollection.java new file mode 100644 index 0000000..a7803a4 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/RoyaltyTemplateCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class RoyaltyTemplateCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/RoyaltyTransaction.java b/src/main/java/com/pingplusplus/model/RoyaltyTransaction.java new file mode 100644 index 0000000..b474488 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/RoyaltyTransaction.java @@ -0,0 +1,145 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; +import com.pingplusplus.net.AccountAPIResource; + +import java.util.Map; + +public class RoyaltyTransaction extends AccountAPIResource { + String id; + String object; + Integer amount; + Long created; + String recipientApp; + String royaltySettlement; + String settleAccount; + String sourceUser; + String status; + String failureMsg; + String transfer; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public String getRecipientApp() { + return recipientApp; + } + + public void setRecipientApp(String recipientApp) { + this.recipientApp = recipientApp; + } + + public String getRoyaltySettlement() { + return royaltySettlement; + } + + public void setRoyaltySettlement(String royaltySettlement) { + this.royaltySettlement = royaltySettlement; + } + + public String getSettleAccount() { + return settleAccount; + } + + public void setSettleAccount(String settleAccount) { + this.settleAccount = settleAccount; + } + + public String getSourceUser() { + return sourceUser; + } + + public void setSourceUser(String sourceUser) { + this.sourceUser = sourceUser; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getFailureMsg() { + return failureMsg; + } + + public void setFailureMsg(String failureMsg) { + this.failureMsg = failureMsg; + } + + public String getTransfer() { + return transfer; + } + + public void setTransfer(String transfer) { + this.transfer = transfer; + } + + /** + * 查询 royalty_transaction + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static RoyaltyTransaction retrieve(String id) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, instanceURL(RoyaltyTransaction.class, id), null, RoyaltyTransaction.class); + } + + /** + * 查询 royalty_transaction 列表 + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static RoyaltyTransactionCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, classURL(RoyaltyTransaction.class), params, RoyaltyTransactionCollection.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/RoyaltyTransactionCollection.java b/src/main/java/com/pingplusplus/model/RoyaltyTransactionCollection.java new file mode 100644 index 0000000..b66107c --- /dev/null +++ b/src/main/java/com/pingplusplus/model/RoyaltyTransactionCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class RoyaltyTransactionCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/SettleAccount.java b/src/main/java/com/pingplusplus/model/SettleAccount.java new file mode 100644 index 0000000..d19f2fa --- /dev/null +++ b/src/main/java/com/pingplusplus/model/SettleAccount.java @@ -0,0 +1,144 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; +import com.pingplusplus.net.UserBasedResource; + +import java.util.Map; + +public class SettleAccount extends UserBasedResource { + String id; + String object; + Boolean livemode; + String channel; + Long created; + SettleAccountRecipient recipient; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public String getChannel() { + return channel; + } + + public void setChannel(String channel) { + this.channel = channel; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public SettleAccountRecipient getRecipient() { + return recipient; + } + + public void setRecipient(SettleAccountRecipient recipient) { + this.recipient = recipient; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + /** + * 创建 settle_account + * + * @params userId + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static SettleAccount create(String userId, Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + User.checkUserId(userId); + return request(APIResource.RequestMethod.POST, classURL(SettleAccount.class, userId), params, SettleAccount.class); + } + + /** + * 查询 settle_account + * + * @param userId + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static SettleAccount retrieve(String userId, String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + User.checkUserId(userId); + return request(APIResource.RequestMethod.GET, instanceURL(SettleAccount.class, userId, id), null, SettleAccount.class); + } + + /** + * 查询 settle_account 列表 + * + * @param userId + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static SettleAccountCollection list(String userId, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + User.checkUserId(userId); + return request(APIResource.RequestMethod.GET, classURL(SettleAccount.class, userId), params, SettleAccountCollection.class); + } + + /** + * 删除 settle_account + * + * @param userId + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static DeletedSettleAccount delete(String userId, String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + User.checkUserId(userId); + return request(APIResource.RequestMethod.DELETE, instanceURL(SettleAccount.class, userId, id), null, DeletedSettleAccount.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/SettleAccountCollection.java b/src/main/java/com/pingplusplus/model/SettleAccountCollection.java new file mode 100644 index 0000000..e4ddd17 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/SettleAccountCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class SettleAccountCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/SettleAccountRecipient.java b/src/main/java/com/pingplusplus/model/SettleAccountRecipient.java new file mode 100644 index 0000000..37b2452 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/SettleAccountRecipient.java @@ -0,0 +1,61 @@ +package com.pingplusplus.model; + +/** + * Created by Afon on 17/03/27. + */ +public class SettleAccountRecipient extends PingppObject { + String account; + String name; + String type; + String openBankCode; + String openBank; + Boolean forceCheck; + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getOpenBankCode() { + return openBankCode; + } + + public void setOpenBankCode(String openBankCode) { + this.openBankCode = openBankCode; + } + + public String getOpenBank() { + return openBank; + } + + public void setOpenBank(String openBank) { + this.openBank = openBank; + } + + public Boolean getForceCheck() { + return forceCheck; + } + + public void setForceCheck(Boolean forceCheck) { + this.forceCheck = forceCheck; + } +} diff --git a/src/main/java/com/pingplusplus/model/SubApp.java b/src/main/java/com/pingplusplus/model/SubApp.java new file mode 100644 index 0000000..af5af87 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/SubApp.java @@ -0,0 +1,202 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; +import com.pingplusplus.net.AppBasedResource; + +import java.util.List; +import java.util.Map; + +public class SubApp extends AppBasedResource { + String id; + String object; + Long created; + String account; + String description; + String displayName; + List availableMethods; + String user; + Integer level; + String parentApp; + Map metadata; + + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getDisplayName() { + return displayName; + } + + public void setDisplayName(String displayName) { + this.displayName = displayName; + } + + public List getAvailableMethods() { + return availableMethods; + } + + public void setAvailableMethods(List availableMethods) { + this.availableMethods = availableMethods; + } + + public String getUser() { + return user; + } + + public void setUser(String user) { + this.user = user; + } + + public Map getMetadata() { + return metadata; + } + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + public Integer getLevel() { + return level; + } + + public void setLevel(Integer level) { + this.level = level; + } + + public String getParentApp() { + return parentApp; + } + + public void setParentApp(String parentApp) { + this.parentApp = parentApp; + } + + /** + * 创建 sub_app + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static SubApp create(Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.POST, classURL(SubApp.class), params, SubApp.class); + } + + /** + * 查询 sub_app + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static SubApp retrieve(String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, instanceURL(SubApp.class, id), null, SubApp.class); + } + + /** + * 查询 sub_app 列表 + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static SubAppCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, classURL(SubApp.class), params, SubAppCollection.class); + } + + /** + * 更新 sub_app + * + * @param id + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static SubApp update(String id, Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.PUT, instanceURL(SubApp.class, id), params, SubApp.class); + } + + /** + * 删除 sub_app + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static DeletedSubApp delete(String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.DELETE, instanceURL(SubApp.class, id), null, DeletedSubApp.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/SubAppCollection.java b/src/main/java/com/pingplusplus/model/SubAppCollection.java new file mode 100644 index 0000000..91d0cb0 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/SubAppCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class SubAppCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/User.java b/src/main/java/com/pingplusplus/model/User.java new file mode 100644 index 0000000..375a87e --- /dev/null +++ b/src/main/java/com/pingplusplus/model/User.java @@ -0,0 +1,293 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; +import com.pingplusplus.net.AppBasedResource; + +import java.util.List; +import java.util.Map; + +public class User extends AppBasedResource { + String id; + String object; + String app; + String address; + Integer availableBalance; + Integer availableCoupons; + String avatar; + Long created; + Boolean disabled; + String email; + String gender; + Boolean identified; + Boolean livemode; + String mobile; + String name; + Map metadata; + String relatedApp; + List settleAccounts; + String type; + Integer withdrawableBalance; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public String getApp() { + return app; + } + + public void setApp(String app) { + this.app = app; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public Integer getAvailableCoupons() { + return availableCoupons; + } + + public void setAvailableCoupons(Integer availableCoupons) { + this.availableCoupons = availableCoupons; + } + + public String getAvatar() { + return avatar; + } + + public void setAvatar(String avatar) { + this.avatar = avatar; + } + + public Integer getAvailableBalance() { + return availableBalance; + } + + public void setAvailableBalance(Integer availableBalance) { + this.availableBalance = availableBalance; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public Boolean getDisabled() { + return disabled; + } + + public void setDisabled(Boolean disabled) { + this.disabled = disabled; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getGender() { + return gender; + } + + public void setGender(String gender) { + this.gender = gender; + } + + public Boolean getIdentified() { + return identified; + } + + public void setIdentified(Boolean identified) { + this.identified = identified; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public String getMobile() { + return mobile; + } + + public void setMobile(String mobile) { + this.mobile = mobile; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Map getMetadata() { + return metadata; + } + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + public Integer getWithdrawableBalance() { + return withdrawableBalance; + } + + public void setWithdrawableBalance(Integer withdrawableBalance) { + this.withdrawableBalance = withdrawableBalance; + } + + public String getRelatedApp() { + return relatedApp; + } + + public void setRelatedApp(String relatedApp) { + this.relatedApp = relatedApp; + } + + public List getSettleAccounts() { + return settleAccounts; + } + + public void setSettleAccounts(List settleAccounts) { + this.settleAccounts = settleAccounts; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + /** + * 创建 user + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static User create(Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.POST, classURL(User.class), params, User.class); + } + + /** + * 查询 user + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static User retrieve(String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + User.checkUserId(id); + return request(APIResource.RequestMethod.GET, instanceURL(User.class, id), null, User.class); + } + + /** + * 查询 user 列表 + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static UserCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, classURL(User.class), params, UserCollection.class); + } + + /** + * 更新 user + * + * @param id + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static User update(String id, Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + User.checkUserId(id); + return request(APIResource.RequestMethod.PUT, instanceURL(User.class, id), params, User.class); + } + + /** + * 创建 balance transfer + * + * @params userId + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + @Deprecated + public static BalanceTransaction createBalanceTranfer(String userId, Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + User.checkUserId(userId); + return request(APIResource.RequestMethod.POST, String.format("%s/transfers", instanceURL(User.class, userId)), params, BalanceTransaction.class); + } + + public static void checkUserId(String userId) throws InvalidRequestException { + if (userId == null || userId.trim().length() == 0) { + throw new InvalidRequestException("ID should not be null or empty.", "user_id", null); + } + } +} diff --git a/src/main/java/com/pingplusplus/model/UserCollection.java b/src/main/java/com/pingplusplus/model/UserCollection.java new file mode 100644 index 0000000..a9189f7 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/UserCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class UserCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/Withdrawal.java b/src/main/java/com/pingplusplus/model/Withdrawal.java new file mode 100644 index 0000000..d79cc9c --- /dev/null +++ b/src/main/java/com/pingplusplus/model/Withdrawal.java @@ -0,0 +1,465 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; +import com.pingplusplus.net.AppBasedResource; + +import java.util.HashMap; +import java.util.Map; + +public class Withdrawal extends AppBasedResource { + String id; + String object; + String app; + Integer amount; + String assetTransaction; + String balanceTransaction; + String channel; + Long created; + String description; + Map extra; + String failureMsg; + Integer fee; + Boolean livemode; + Map metadata; + String operationUrl; + String orderNo; + String source; + String status; + Long timeCanceled; + Long timeSucceeded; + String user; + Integer userFee; + String settleAccount; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public String getApp() { + return app; + } + + public void setApp(String app) { + this.app = app; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + public String getAssetTransaction() { + return assetTransaction; + } + + public void setAssetTransaction(String assetTransaction) { + this.assetTransaction = assetTransaction; + } + + public String getBalanceTransaction() { + return balanceTransaction; + } + + public void setBalanceTransaction(String balanceTransaction) { + this.balanceTransaction = balanceTransaction; + } + + public String getChannel() { + return channel; + } + + public void setChannel(String channel) { + this.channel = channel; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Map getExtra() { + return extra; + } + + public void setExtra(Map extra) { + this.extra = extra; + } + + public Integer getFee() { + return fee; + } + + public void setFee(Integer fee) { + this.fee = fee; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public Map getMetadata() { + return metadata; + } + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + public String getOrderNo() { + return orderNo; + } + + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Long getTimeCanceled() { + return timeCanceled; + } + + public void setTimeCanceled(Long timeCanceled) { + this.timeCanceled = timeCanceled; + } + + public Long getTimeSucceeded() { + return timeSucceeded; + } + + public void setTimeSucceeded(Long timeSucceeded) { + this.timeSucceeded = timeSucceeded; + } + + public Integer getUserFee() { + return userFee; + } + + public void setUserFee(Integer userFee) { + this.userFee = userFee; + } + + public String getUser() { + return user; + } + + public void setUser(String user) { + this.user = user; + } + + public String getFailureMsg() { + return failureMsg; + } + + public void setFailureMsg(String failureMsg) { + this.failureMsg = failureMsg; + } + + public String getOperationUrl() { + return operationUrl; + } + + public void setOperationUrl(String operationUrl) { + this.operationUrl = operationUrl; + } + + public String getSettleAccount() { + return settleAccount; + } + + public void setSettleAccount(String settleAccount) { + this.settleAccount = settleAccount; + } + + /** + * 创建 withdrawal + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Withdrawal create(Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.POST, classURL(Withdrawal.class), params, Withdrawal.class); + } + + /** + * 查询 withdrawal + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Withdrawal retrieve(String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, instanceURL(Withdrawal.class, id), null, Withdrawal.class); + } + + /** + * 查询 withdrawal 列表 + * + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static WithdrawalCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, classURL(Withdrawal.class), params, WithdrawalCollection.class); + } + + /** + * 更新 withdrawal + * + * @param id + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Withdrawal update(String id, Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.PUT, instanceURL(Withdrawal.class, id), params, Withdrawal.class); + } + + /** + * 取消 withdrawal + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Withdrawal cancel(String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + Map params = new HashMap(); + params.put("status", "canceled"); + return update(id, params); + } + + /** + * 确认 withdrawal + * + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Withdrawal confirm(String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + Map params = new HashMap(); + params.put("status", "pending"); + return update(id, params); + } + + /** + * 创建 withdrawal + * + * @params userId + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + @Deprecated + public static Withdrawal create(String userId, Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + if (params != null) { + params.put("user", userId); + } + return request(APIResource.RequestMethod.POST, classURL(Withdrawal.class), params, Withdrawal.class); + } + + /** + * 查询 withdrawal + * + * @param userId + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + @Deprecated + public static Withdrawal retrieve(String userId, String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + User.checkUserId(userId); + return request(APIResource.RequestMethod.GET, instanceURL(Withdrawal.class, id), null, Withdrawal.class); + } + + /** + * 查询 withdrawal 列表 + * + * @param userId + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + @Deprecated + public static WithdrawalCollection list(String userId, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + User.checkUserId(userId); + if (params != null) { + params.put("user", userId); + } + return request(APIResource.RequestMethod.GET, classURL(Withdrawal.class), params, WithdrawalCollection.class); + } + + /** + * 更新 withdrawal + * + * @param userId + * @param id + * @param params + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + @Deprecated + public static Withdrawal update(String userId, String id, Mapparams) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + User.checkUserId(userId); + return request(APIResource.RequestMethod.PUT, instanceURL(Withdrawal.class, id), params, Withdrawal.class); + } + + /** + * 取消 withdrawal + * + * @param userId + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + @Deprecated + public static Withdrawal cancel(String userId, String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + Map params = new HashMap(); + params.put("status", "canceled"); + return update(userId, id, params); + } + + /** + * 确认 withdrawal + * + * @param userId + * @param id + * @return + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + @Deprecated + public static Withdrawal confirm(String userId, String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + Map params = new HashMap(); + params.put("status", "pending"); + return update(userId, id, params); + } +} diff --git a/src/main/java/com/pingplusplus/model/WithdrawalCollection.java b/src/main/java/com/pingplusplus/model/WithdrawalCollection.java new file mode 100644 index 0000000..319e48a --- /dev/null +++ b/src/main/java/com/pingplusplus/model/WithdrawalCollection.java @@ -0,0 +1,13 @@ +package com.pingplusplus.model; + +public class WithdrawalCollection extends WithdrawalCollectionBase { + Integer totalWithdrawalsAmount; + + public Integer getTotalWithdrawalsAmount() { + return totalWithdrawalsAmount; + } + + public void setTotalWithdrawalsAmount(Integer totalWithdrawalAmount) { + this.totalWithdrawalsAmount = totalWithdrawalAmount; + } +} diff --git a/src/main/java/com/pingplusplus/model/WithdrawalCollectionBase.java b/src/main/java/com/pingplusplus/model/WithdrawalCollectionBase.java new file mode 100644 index 0000000..9fd548a --- /dev/null +++ b/src/main/java/com/pingplusplus/model/WithdrawalCollectionBase.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class WithdrawalCollectionBase extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/net/AccountAPIResource.java b/src/main/java/com/pingplusplus/net/AccountAPIResource.java new file mode 100644 index 0000000..889cb1b --- /dev/null +++ b/src/main/java/com/pingplusplus/net/AccountAPIResource.java @@ -0,0 +1,21 @@ +package com.pingplusplus.net; + + +public abstract class AccountAPIResource extends APIResource { + + public static String className(Class clazz) { + String className = APIResource.className(clazz); + + if (className.equals("royalty")) { + return "royaltie"; + } if (className.equals("royaltysettlement")) { + return "royalty_settlement"; + } if (className.equals("royaltytransaction")) { + return "royalty_transaction"; + } if(className.equals("royaltytemplate")) { + return "royalty_template"; + } else { + return className; + } + } +} diff --git a/src/main/java/com/pingplusplus/net/AppBasedResource.java b/src/main/java/com/pingplusplus/net/AppBasedResource.java new file mode 100755 index 0000000..405c4f2 --- /dev/null +++ b/src/main/java/com/pingplusplus/net/AppBasedResource.java @@ -0,0 +1,119 @@ +package com.pingplusplus.net; + +import com.google.gson.FieldNamingPolicy; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.pingplusplus.PingppAccount; +import com.pingplusplus.exception.InvalidRequestException; +import com.pingplusplus.model.*; +import com.pingplusplus.serializer.*; + +import java.io.UnsupportedEncodingException; + +public abstract class AppBasedResource extends APIResource { + + /** + * Gson object use to transform json string to resource object + */ + public static final Gson GSON = new GsonBuilder() + .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) + .registerTypeAdapter(Charge.class, new ChargeDeserializer()) + .registerTypeAdapter(RedEnvelope.class, new RedEnvelopeDeserializer()) + .registerTypeAdapter(Transfer.class, new TransferDeserializer()) + .registerTypeAdapter(ChargeRefundCollection.class, new ChargeRefundCollectionDeserializer()) + .registerTypeAdapter(EventData.class, new AccountEventDataDeserializer()) + .registerTypeAdapter(PingppRawJsonObject.class, new PingppRawJsonObjectDeserializer()) + .create(); + + public static final Gson PRETTY_PRINT_GSON = new GsonBuilder() + .setPrettyPrinting() + .serializeNulls() + .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) + .disableHtmlEscaping() + .registerTypeAdapter(BatchTransferRecipientSerializer.class, new BatchTransferRecipientSerializer()) + .registerTypeAdapter(BatchRefundCharges.class, new BatchRefundChargesSerializer()) + .registerTypeAdapter(Double.class, new DoubleTypeSerializer()) + .registerTypeAdapter(ChargeEssentials.class, new ChargeEssentialsSerializer()) + .registerTypeAdapter(CouponTemplateExpiration.class, new CouponTemplateExpirationSerializer()) + .registerTypeAdapter(SettleAccountRecipient.class, new SettleAccountRecipientSerializer()) + .create(); + + protected static String className(Class clazz) { + String className = clazz.getSimpleName().toLowerCase().replace("$", " "); + + if (className.equals("assettransaction")) { + return "asset_transaction"; + } else if (className.equals("balancebonus")) { + return "balance_bonuse"; + } else if(className.equals("balancetransfer")){ + return "balance_transfer"; + } else if (className.equals("balancetransaction")) { + return "balance_transaction"; + } else if (className.equals("coupontemplate")) { + return "coupon_template"; + } else if (className.equals("batchwithdrawal")) { + return "batch_withdrawal"; + } else if (className.equals("transactionstatistics")) { + return "transaction_statistics"; + } if (className.equals("settleaccount")) { + return "settle_account"; + } if (className.equals("subapp")) { + return "sub_app"; + } if (className.equals("royalty")) { + return "royaltie"; + } if (className.equals("royaltysettlement")) { + return "royalty_settlement"; + } if (className.equals("royaltytransaction")) { + return "royalty_transaction"; + } else { + return className; + } + } + + /** + * @param clazz + * @return + * @throws InvalidRequestException + */ + protected static String singleClassURL(Class clazz) throws InvalidRequestException { + if (PingppAccount.appId == null) { + throw new InvalidRequestException("Please set app_id using PingppAccount.appId = ", "app_id", null); + } + return String.format("%s/v1/apps/%s/%s", PingppAccount.getApiBase(), PingppAccount.appId, className(clazz)); + } + + /** + * @param clazz + * @return + * @throws InvalidRequestException + */ + protected static String classURL(Class clazz) throws InvalidRequestException { + return String.format("%ss", singleClassURL(clazz)); + } + + /** + * @param clazz + * @param id + * @return + * @throws InvalidRequestException + */ + protected static String instanceURL(Class clazz, String id) throws InvalidRequestException { + try { + return String.format("%s/%s", classURL(clazz), urlEncode(id)); + } catch (UnsupportedEncodingException e) { + throw new InvalidRequestException("Unable to encode parameters to " + CHARSET, null, e); + } + } + + /** + * @param objectName + * @return + * @throws InvalidRequestException + */ + protected static String customURL(String objectName) throws InvalidRequestException { + if (PingppAccount.appId == null) { + throw new InvalidRequestException("Please set app_id using PingppAccount.appId = ", "app_id", null); + } + return String.format("%s/v1/apps/%s/%s", PingppAccount.getApiBase(), PingppAccount.appId, objectName); + } +} diff --git a/src/main/java/com/pingplusplus/net/SubAppBasedResource.java b/src/main/java/com/pingplusplus/net/SubAppBasedResource.java new file mode 100644 index 0000000..9a3ce87 --- /dev/null +++ b/src/main/java/com/pingplusplus/net/SubAppBasedResource.java @@ -0,0 +1,47 @@ +package com.pingplusplus.net; + +import com.pingplusplus.PingppAccount; +import com.pingplusplus.exception.InvalidRequestException; + +import java.io.UnsupportedEncodingException; + +public abstract class SubAppBasedResource extends AppBasedResource { + + /** + * @param clazz + * @param subAppId + * @return + * @throws InvalidRequestException + */ + protected static String singleClassURL(Class clazz, String subAppId) throws InvalidRequestException { + if (PingppAccount.appId == null) { + throw new InvalidRequestException("Please set app_id using PingppAccount.appId = ", "app_id", null); + } + return String.format("%s/v1/apps/%s/sub_apps/%s/%s", PingppAccount.getApiBase(), PingppAccount.appId, subAppId, className(clazz)); + } + + /** + * @param clazz + * @param subAppId + * @return + * @throws InvalidRequestException + */ + protected static String classURL(Class clazz, String subAppId) throws InvalidRequestException { + return String.format("%ss", singleClassURL(clazz, subAppId)); + } + + /** + * @param clazz + * @param id + * @param subAppId + * @return + * @throws InvalidRequestException + */ + protected static String instanceURL(Class clazz, String subAppId, String id) throws InvalidRequestException { + try { + return String.format("%s/%s", classURL(clazz, subAppId), urlEncode(id)); + } catch (UnsupportedEncodingException e) { + throw new InvalidRequestException("Unable to encode parameters to " + CHARSET, null, e); + } + } +} diff --git a/src/main/java/com/pingplusplus/net/UserBasedResource.java b/src/main/java/com/pingplusplus/net/UserBasedResource.java new file mode 100644 index 0000000..7e661a2 --- /dev/null +++ b/src/main/java/com/pingplusplus/net/UserBasedResource.java @@ -0,0 +1,47 @@ +package com.pingplusplus.net; + +import com.pingplusplus.PingppAccount; +import com.pingplusplus.exception.InvalidRequestException; + +import java.io.UnsupportedEncodingException; + +public abstract class UserBasedResource extends AppBasedResource { + + /** + * @param clazz + * @param userId + * @return + * @throws InvalidRequestException + */ + protected static String singleClassURL(Class clazz, String userId) throws InvalidRequestException { + if (PingppAccount.appId == null) { + throw new InvalidRequestException("Please set app_id using PingppAccount.appId = ", "app_id", null); + } + return String.format("%s/v1/apps/%s/users/%s/%s", PingppAccount.getApiBase(), PingppAccount.appId, userId, className(clazz)); + } + + /** + * @param clazz + * @param userId + * @return + * @throws InvalidRequestException + */ + protected static String classURL(Class clazz, String userId) throws InvalidRequestException { + return String.format("%ss", singleClassURL(clazz, userId)); + } + + /** + * @param clazz + * @param id + * @param userId + * @return + * @throws InvalidRequestException + */ + protected static String instanceURL(Class clazz, String userId, String id) throws InvalidRequestException { + try { + return String.format("%s/%s", classURL(clazz, userId), urlEncode(id)); + } catch (UnsupportedEncodingException e) { + throw new InvalidRequestException("Unable to encode parameters to " + CHARSET, null, e); + } + } +} diff --git a/src/main/java/com/pingplusplus/serializer/AccountEventDataDeserializer.java b/src/main/java/com/pingplusplus/serializer/AccountEventDataDeserializer.java new file mode 100644 index 0000000..7ea436a --- /dev/null +++ b/src/main/java/com/pingplusplus/serializer/AccountEventDataDeserializer.java @@ -0,0 +1,72 @@ +package com.pingplusplus.serializer; + +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.pingplusplus.model.*; +import com.pingplusplus.net.AppBasedResource; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.Map; + +/** + * Created by Afon on 16/12/27. + */ +public class AccountEventDataDeserializer extends EventDataDeserializer { + + @SuppressWarnings("rawtypes") + static final Map objectMap = new HashMap(); + static { + objectMap.put("charge", Charge.class); + objectMap.put("transfer", Transfer.class); + objectMap.put("refund", Refund.class); + objectMap.put("red_envelope", RedEnvelope.class); + objectMap.put("account_daily_summary", Summary.class); + objectMap.put("account_weekly_summary", Summary.class); + objectMap.put("account_monthly_summary", Summary.class); + objectMap.put("app_monthly_summary", Summary.class); + objectMap.put("app_daily_summary", Summary.class); + objectMap.put("app_weekly_summary", Summary.class); + objectMap.put("batch_transfer", BatchTransfer.class); + objectMap.put("batch_refund", BatchRefund.class); + objectMap.put("customs", Customs.class); + + objectMap.put("order", Order.class); + objectMap.put("order_refund", OrderRefund.class); + objectMap.put("withdrawal", Withdrawal.class); + objectMap.put("batch_withdrawal", BatchWithdrawal.class); + objectMap.put("coupon", Coupon.class); + objectMap.put("coupon_template", CouponTemplate.class); + objectMap.put("balance_transaction", BalanceTransaction.class); + objectMap.put("user", User.class); + + objectMap.put("royalty", Royalty.class); + objectMap.put("royalty_settlement", RoyaltySettlement.class); + objectMap.put("royalty_transaction", RoyaltyTransaction.class); + objectMap.put("settle_account", SettleAccount.class); + objectMap.put("sub_app", SubApp.class); + objectMap.put("channel", Channel.class); + } + + @SuppressWarnings("unchecked") + public EventData deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) + throws JsonParseException { + EventData eventData = new EventData(); + if (json.isJsonObject()) { + JsonObject jsonObject = json.getAsJsonObject(); + for(Map.Entry entry: jsonObject.entrySet()) { + String key = entry.getKey(); + JsonElement element = entry.getValue(); + if ("object".equals(key)) { + String type = element.getAsJsonObject().get("object").getAsString(); + Class cl = objectMap.get(type); + PingppObject object = AppBasedResource.GSON.fromJson(entry.getValue(), cl != null ? cl : PingppRawJsonObject.class); + eventData.setObject(object); + } + } + } + return eventData; + } +} diff --git a/src/main/java/com/pingplusplus/serializer/ChargeEssentialsSerializer.java b/src/main/java/com/pingplusplus/serializer/ChargeEssentialsSerializer.java new file mode 100644 index 0000000..0ab140e --- /dev/null +++ b/src/main/java/com/pingplusplus/serializer/ChargeEssentialsSerializer.java @@ -0,0 +1,26 @@ +package com.pingplusplus.serializer; + +import com.google.gson.*; +import com.pingplusplus.model.ChargeEssentials; + +import java.lang.reflect.Type; + +/** + * Created by afon on 16/11/06. + */ +public class ChargeEssentialsSerializer implements JsonSerializer { + + @Override + public JsonElement serialize(ChargeEssentials chargeEssentials, Type type, JsonSerializationContext jsonSerializationContext) { + GsonBuilder gsonBuilder = new GsonBuilder() + .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) + .registerTypeAdapter(Double.class, new DoubleTypeSerializer()) + .disableHtmlEscaping(); + + if (chargeEssentials.getChannel() != null) { + gsonBuilder.serializeNulls(); + } + + return gsonBuilder.create().toJsonTree(chargeEssentials, type); + } +} diff --git a/src/main/java/com/pingplusplus/serializer/CouponTemplateExpirationSerializer.java b/src/main/java/com/pingplusplus/serializer/CouponTemplateExpirationSerializer.java new file mode 100644 index 0000000..00a9b35 --- /dev/null +++ b/src/main/java/com/pingplusplus/serializer/CouponTemplateExpirationSerializer.java @@ -0,0 +1,21 @@ +package com.pingplusplus.serializer; + +import com.google.gson.*; +import com.pingplusplus.model.CouponTemplateExpiration; + +import java.lang.reflect.Type; + +/** + * Created by afon on 16/11/07. + */ +public class CouponTemplateExpirationSerializer implements JsonSerializer { + + @Override + public JsonElement serialize(CouponTemplateExpiration couponTemplateExpiration, Type type, JsonSerializationContext jsonSerializationContext) { + GsonBuilder gsonBuilder = new GsonBuilder() + .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) + .disableHtmlEscaping(); + + return gsonBuilder.create().toJsonTree(couponTemplateExpiration, type); + } +} diff --git a/src/main/java/com/pingplusplus/serializer/SettleAccountRecipientSerializer.java b/src/main/java/com/pingplusplus/serializer/SettleAccountRecipientSerializer.java new file mode 100644 index 0000000..6831a02 --- /dev/null +++ b/src/main/java/com/pingplusplus/serializer/SettleAccountRecipientSerializer.java @@ -0,0 +1,21 @@ +package com.pingplusplus.serializer; + +import com.google.gson.*; +import com.pingplusplus.model.SettleAccountRecipient; + +import java.lang.reflect.Type; + +/** + * Created by afon on 17/03/27. + */ +public class SettleAccountRecipientSerializer implements JsonSerializer { + + @Override + public JsonElement serialize(SettleAccountRecipient recipient, Type type, JsonSerializationContext jsonSerializationContext) { + GsonBuilder gsonBuilder = new GsonBuilder() + .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) + .disableHtmlEscaping(); + + return gsonBuilder.create().toJsonTree(recipient, type); + } +} diff --git a/src/test/java/com/pingplusplus/PingppAccountTest.java b/src/test/java/com/pingplusplus/PingppAccountTest.java new file mode 100644 index 0000000..7085325 --- /dev/null +++ b/src/test/java/com/pingplusplus/PingppAccountTest.java @@ -0,0 +1,23 @@ +package com.pingplusplus; + +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +/* + * This Java source file was auto generated by running 'gradle init --type java-library' + * by 'Afon' at '16-12-16 上午10:33' with Gradle 3.1 + * + * @author Afon, @date 16-12-16 上午10:33 + */ +public class PingppAccountTest extends PingppAccountTestBase { + + @Test public void testSetApiKey() { + assertEquals("apiKey should be set", PingppAccountTestData.getApiKey(), Pingpp.apiKey); + } + + @Test public void testVerifyVersions() { + assertEquals("Pingpp.VERSION should match", "2.2.5", Pingpp.VERSION); + assertEquals("PingppAccount.VERSION should match", "1.2.3", PingppAccount.VERSION); + } +} diff --git a/src/test/java/com/pingplusplus/PingppAccountTestBase.java b/src/test/java/com/pingplusplus/PingppAccountTestBase.java new file mode 100644 index 0000000..2a5d555 --- /dev/null +++ b/src/test/java/com/pingplusplus/PingppAccountTestBase.java @@ -0,0 +1,21 @@ +package com.pingplusplus; + +import org.junit.BeforeClass; + +/* + * This Java source file was auto generated by running 'gradle init --type java-library' + * by 'Afon' at '16-12-16 上午10:33' with Gradle 3.1 + * + * @author Afon, @date 16-12-16 上午10:33 + */ +public class PingppAccountTestBase { + + @BeforeClass public static void initApiKey() { + Pingpp.overrideApiBase(PingppAccountTestData.getApiBase()); + Pingpp.apiKey = PingppAccountTestData.getApiKey(); + Pingpp.appId = PingppAccountTestData.getAppID(); + Pingpp.privateKey = PingppAccountTestData.getPKCS8PrivateKey(); + + Pingpp.DEBUG = true; + } +} diff --git a/src/test/java/com/pingplusplus/PingppAccountTestData.java b/src/test/java/com/pingplusplus/PingppAccountTestData.java new file mode 100644 index 0000000..48658d8 --- /dev/null +++ b/src/test/java/com/pingplusplus/PingppAccountTestData.java @@ -0,0 +1,91 @@ +package com.pingplusplus; + +/** + * Created by Afon on 2016/12/20. + */ +public class PingppAccountTestData { + public static String getApiBase() { + return "https://api.pingxx.com"; + } + + public static String getApiKey() { + return "sk_test_ibbTe5jLGCi5rzfH4OqPW9KC"; + } + + public static String getAppID() { + return "app_1Gqj58ynP0mHeX1q"; + } + + public static String getPKCS8PrivateKey() { + return "-----BEGIN PRIVATE KEY-----\n" + + "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHYyS3FwoESp1h\n" + + "GLYiBhy6k9Ag3lzGCIEvm50IIEkE0Ftc9qq44TWqyl+EHUpTMdcBOcI42JLO5stw\n" + + "FOfCLa3PQStEJ4llIRFEKlsrHh67pvWd5RNaSBrvGlnFY40S+SZmjk2WF/h9dE9R\n" + + "ic79t0YI0alD8dIl9Yu3OaEKo7VonBWFwOYMxjPhtORlq+EUF1XJd//yftQrKWTT\n" + + "d7KaUonWzBCl4VzFop/OyTWYlTuZz3eYJaNpH5VaQ1vDgBAcPIeBvMf7NgBHMKW6\n" + + "LLmFd2LEYQ/6I7hkGTjysSzWEpO8bPWT6OEsJ2R2kFGOrSkr+G2MDcJ7ykXYAmz5\n" + + "+A3plS6ZAgMBAAECggEAVrgwR9GlcahiOtDcpn+yDxQq+aC9CQS561LrQZWJLKbS\n" + + "leRS7IZHKTlLwdJbeUO8F7RfXQoVEBghc2YkRrhHWFUn1ES95VY0hElHzcET7Nn5\n" + + "CeuQNzwVOtljIg7iVNY4dXJ/HEDguu/Tb8tYU9FajItj60FJ/WiGk/JksJPzWsOC\n" + + "VPVniy9fTbTLy1e+dCpCI6OXirtm7hvbodRNDjree0wSEzm7vL0wVzEZFo6kX+AB\n" + + "GUwaoO7pPyH+hgyI5Iuhc65NHsHzTJpf8yNFl9QGhkxvm2Ff2oEtDt1idOTBrHB6\n" + + "tg+ti9Ctb2+2yzBnk14hsSYJnKitR7wM6ZCFPX4eYQKBgQD+JAREeFkodec/SC+G\n" + + "X+4Q4Y68uMPkfUPrMKXM4cyY5wgXk64RBvRVxIxX7x6Y3tIKn9v8tWAprbsyVr15\n" + + "eb4RcAFEVwjuoZixhd9sIPsRhfdNolKn/fSPIsHL4ywcJMSIt7KVKHuQeqBNHy0o\n" + + "0PxQjNej1ozsmrAWqV55cbKHswKBgQDI2JQRTPIEC/2y6LdmBVhGJW9OKWTYdVNj\n" + + "q7rX+Yw4uxOtfd5hBqpvgZEklKEk72aazFdEcERlAm9SqoX09qk6zK/wcq4Xn5Q/\n" + + "qy8ecmjuyf2AK9X+HUdMerMVxhK9RpeevKYP/RO2F/wIN64anlQVYygVkXXgdOvW\n" + + "hBE4YABKgwKBgDRtmbPGYB5ItHwJmERQZfx1i8zDESaB8RED6DBsJJkmkDTM8ovw\n" + + "s1c+RPWfDuDalto6QFfR0xTGEmhAHLaCtwNB6AEBM4aHL8jvpTfZVfI3gN0zL3oY\n" + + "mestcG1vYBouO504yE6dG2Ci6479b4OMGYFEjPfvuwLUpp8GMcc7/WihAoGANCp8\n" + + "mtm/ammq5VMof2kX+nAyrrx1ovsmQ5cRGpOIZhvBCqjMn6rZjci7aCLqj+tWXRKC\n" + + "ABagzROK0o/T50JBxjHv6KYArcYW/Up7HI9ezdbM7wNzu2LjZ+veo+MkbuDs9J/P\n" + + "CgwTmJI2NfQwVl2VPVDZ0nBLi5cSwk7fIiNdL/0CgYEAtECmC1QDs53Di2MIsa/F\n" + + "e4sWfJGSDqEWqhcA/aPwf1skM6VJJXBBMV1qFtwgO1AlLnu9dQYra6ylsUoubVYI\n" + + "XM9XK7EMhbqi57+Q75jHFTc0DnzOTyho5Gp4Ddi8dztmZGNWdWTGdeMqh+svqMXk\n" + + "D6VdJeddyGu/Zlgj7Wk6whU=\n" + + "-----END PRIVATE KEY-----\n"; + } + + public static String getPKCS1PrivateKey() { + return "-----BEGIN RSA PRIVATE KEY-----\n" + + "MIIEowIBAAKCAQEAx2MktxcKBEqdYRi2IgYcupPQIN5cxgiBL5udCCBJBNBbXPaq\n" + + "uOE1qspfhB1KUzHXATnCONiSzubLcBTnwi2tz0ErRCeJZSERRCpbKx4eu6b1neUT\n" + + "Wkga7xpZxWONEvkmZo5Nlhf4fXRPUYnO/bdGCNGpQ/HSJfWLtzmhCqO1aJwVhcDm\n" + + "DMYz4bTkZavhFBdVyXf/8n7UKylk03eymlKJ1swQpeFcxaKfzsk1mJU7mc93mCWj\n" + + "aR+VWkNbw4AQHDyHgbzH+zYARzCluiy5hXdixGEP+iO4ZBk48rEs1hKTvGz1k+jh\n" + + "LCdkdpBRjq0pK/htjA3Ce8pF2AJs+fgN6ZUumQIDAQABAoIBAFa4MEfRpXGoYjrQ\n" + + "3KZ/sg8UKvmgvQkEuetS60GViSym0pXkUuyGRyk5S8HSW3lDvBe0X10KFRAYIXNm\n" + + "JEa4R1hVJ9REveVWNIRJR83BE+zZ+QnrkDc8FTrZYyIO4lTWOHVyfxxA4Lrv02/L\n" + + "WFPRWoyLY+tBSf1ohpPyZLCT81rDglT1Z4svX020y8tXvnQqQiOjl4q7Zu4b26HU\n" + + "TQ463ntMEhM5u7y9MFcxGRaOpF/gARlMGqDu6T8h/oYMiOSLoXOuTR7B80yaX/Mj\n" + + "RZfUBoZMb5thX9qBLQ7dYnTkwaxwerYPrYvQrW9vtsswZ5NeIbEmCZyorUe8DOmQ\n" + + "hT1+HmECgYEA/iQERHhZKHXnP0gvhl/uEOGOvLjD5H1D6zClzOHMmOcIF5OuEQb0\n" + + "VcSMV+8emN7SCp/b/LVgKa27Mla9eXm+EXABRFcI7qGYsYXfbCD7EYX3TaJSp/30\n" + + "jyLBy+MsHCTEiLeylSh7kHqgTR8tKND8UIzXo9aM7JqwFqleeXGyh7MCgYEAyNiU\n" + + "EUzyBAv9sui3ZgVYRiVvTilk2HVTY6u61/mMOLsTrX3eYQaqb4GRJJShJO9mmsxX\n" + + "RHBEZQJvUqqF9PapOsyv8HKuF5+UP6svHnJo7sn9gCvV/h1HTHqzFcYSvUaXnrym\n" + + "D/0Tthf8CDeuGp5UFWMoFZF14HTr1oQROGAASoMCgYA0bZmzxmAeSLR8CZhEUGX8\n" + + "dYvMwxEmgfERA+gwbCSZJpA0zPKL8LNXPkT1nw7g2pbaOkBX0dMUxhJoQBy2grcD\n" + + "QegBATOGhy/I76U32VXyN4DdMy96GJnrLXBtb2AaLjudOMhOnRtgouuO/W+DjBmB\n" + + "RIz377sC1KafBjHHO/1ooQKBgDQqfJrZv2ppquVTKH9pF/pwMq68daL7JkOXERqT\n" + + "iGYbwQqozJ+q2Y3Iu2gi6o/rVl0SggAWoM0TitKP0+dCQcYx7+imAK3GFv1KexyP\n" + + "Xs3WzO8Dc7ti42fr3qPjJG7g7PSfzwoME5iSNjX0MFZdlT1Q2dJwS4uXEsJO3yIj\n" + + "XS/9AoGBALRApgtUA7Odw4tjCLGvxXuLFnyRkg6hFqoXAP2j8H9bJDOlSSVwQTFd\n" + + "ahbcIDtQJS57vXUGK2uspbFKLm1WCFzPVyuxDIW6oue/kO+YxxU3NA58zk8oaORq\n" + + "eA3YvHc7ZmRjVnVkxnXjKofrL6jF5A+lXSXnXchrv2ZYI+1pOsIV\n" + + "-----END RSA PRIVATE KEY-----\n"; + } + + public static String getChargeWebhooksData() { + return "{\"id\":\"evt_c4qfbcefvIhsxKuES4CpqdUN\",\"created\":1482204769,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"amount\":100,\"amount_refunded\":0,\"amount_settle\":100,\"app\":\"app_1Gqj58ynP0mHeX1q\",\"body\":\"Your body\",\"channel\":\"alipay\",\"client_ip\":\"210.28.41.51\",\"created\":1482204769,\"credential\":{},\"currency\":\"cny\",\"description\":\"Description.\",\"extra\":{},\"failure_code\":null,\"failure_msg\":null,\"id\":\"ch_1SiPqPDCuvj5S4OaTSX54KC0\",\"livemode\":false,\"metadata\":{},\"object\":\"charge\",\"order_no\":\"orderno1482210036043\",\"paid\":true,\"refunded\":false,\"refunds\":{\"data\":[],\"has_more\":false,\"object\":\"list\",\"url\":\"/v1/charges/ch_1SiPqPDCuvj5S4OaTSX54KC0/refunds\"},\"subject\":\"Your Subject\",\"time_expire\":1482207768,\"time_paid\":1482204769,\"time_settle\":null,\"transaction_no\":\"2016122028818332\"}},\"object\":\"event\",\"request\":\"iar_cfgO0GxCSs9CH0K4r1t5Whjk\",\"pending_webhooks\":0}"; + } + + public static String getBatchTransferWebhooksData() { + return "{\"id\":\"evt_cx1zsoQsiPfjagJKt5gydjsx\",\"created\":1475924802,\"livemode\":true,\"type\":\"batch_transfer.succeeded\",\"data\":{\"object\":{\"id\":\"181610081644346142\",\"amount\":2200,\"app\":\"app_1Gqj58ynP0mHeX1q\",\"batch_no\":\"battr1475916275\",\"channel\":\"alipay\",\"created\":1475916274,\"currency\":\"cny\",\"description\":\"Batch transfer description.\",\"extra\":{},\"failure_msg\":null,\"fee\":100,\"livemode\":true,\"metadata\":{},\"object\":\"batch_transfer\",\"recipients\":[{\"account\":\"test@gmail.com\",\"amount\":1100,\"description\":\"批量付款说明。\",\"name\":\"test\",\"status\":\"paid\",\"transfer\":\"tr_uj9GSfTK8G8mLeHu9KafK5WT\"},{\"account\":\"test@gmail.com\",\"amount\":1100,\"description\":\"批量付款说明。\",\"name\":\"test002\",\"status\":\"paid\",\"transfer\":\"tr_PiXiffX4mbevX5HDfT44DmjL\"}],\"status\":\"succeeded\",\"time_succeeded\":null,\"transaction_no\":null,\"type\":\"b2c\"}},\"object\":\"event\",\"request\":\"iar_23eD0xHi58zLfD5HKdnC2nDc\",\"pending_webhooks\":0}"; + } + + public static String getWithdrawalWebhooksData() { + return "{\"id\":\"evt_gJKt5gzsoQsiPfcx1Pfjajaw\",\"created\":1475924802,\"livemode\":true,\"type\":\"balance.withdrawal.succeeded\",\"data\":{\"object\":{\"id\":\"1701611150302360654\",\"object\":\"withdrawal\",\"app\":\"app_1Gqj58ynP0mHeX1q\",\"amount\":20000,\"asset_transaction\":\"\",\"balance_transaction\":\"\",\"channel\":\"unionpay\",\"created\":1472648887,\"description\":\"test232description\",\"extra\":{\"card_number\":\"6225210207073918\",\"user_name\":\"姓名\",\"open_bank_code\":\"0102\",\"prov\":\"上海\",\"city\":\"上海\"},\"fee\":200,\"livemode\":true,\"metadata\":{},\"order_no\":\"20160829133002\",\"source\":null,\"status\":\"pending\",\"time_canceled\":null,\"time_succeeded\":null,\"user\":\"user_001\",\"user_fee\":50}},\"object\":\"event\",\"request\":\"iar_23eD0xHi58zLfD5HKdnC2nDc\",\"pending_webhooks\":0}"; + } +} diff --git a/src/test/java/com/pingplusplus/WebhookTest.java b/src/test/java/com/pingplusplus/WebhookTest.java new file mode 100644 index 0000000..3ea0f39 --- /dev/null +++ b/src/test/java/com/pingplusplus/WebhookTest.java @@ -0,0 +1,26 @@ +package com.pingplusplus; + +import com.pingplusplus.model.PingppObject; +import com.pingplusplus.model.Webhooks; +import com.pingplusplus.model.Withdrawal; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +/* + * @author Afon, @date 17-03-28 + */ +public class WebhookTest extends PingppAccountTestBase { + /** + * 解析 webhooks 消息 (withdrawal) + */ + @Test public void testWebhooksParseWithdrawal() { + String webhookData = PingppAccountTestData.getWithdrawalWebhooksData(); + + PingppObject obj = Webhooks.getObject(webhookData); + + assertTrue("object should be an instance of Withdrawal", obj instanceof Withdrawal); + assertEquals("object should be withdrawal", "withdrawal", ((Withdrawal)obj).getObject()); + } +} diff --git a/src/test/java/com/pingplusplus/balance/BalanceBonusTest.java b/src/test/java/com/pingplusplus/balance/BalanceBonusTest.java new file mode 100644 index 0000000..d9b4146 --- /dev/null +++ b/src/test/java/com/pingplusplus/balance/BalanceBonusTest.java @@ -0,0 +1,63 @@ +package com.pingplusplus.balance; + +import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.BalanceBonus; +import com.pingplusplus.model.BalanceBonusCollection; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +public class BalanceBonusTest extends PingppAccountTestBase { + /** + * 余额赠送 balance-bonus + */ + @Test + public void testBalanceBonusCreate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("user", "user_test_02"); // 受赠的用户 ID, 必传 + params.put("amount", 10); // 支付受赠余额,单位:分, 必传 + params.put("order_no", "2017" + System.currentTimeMillis()); // 商户订单号,必须在商户系统内唯一, 必传 + params.put("description", "Balance bonus description."); // 描述, 可选 + // 创建 balance-bonus 方法 + // 参数: params + BalanceBonus obj = BalanceBonus.create(params); + + assertEquals("object should be balance_bonus", "balance_bonus", obj.getObject()); + } + + /** + * 查询单个 balance-bonus + */ + @Test public void testBalanceBonusRetrieve() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + // 查询单个 balance-bonus 方法 + // 参数: balance-bonus id + BalanceBonus obj = BalanceBonus.retrieve("650170821521710018560001"); + + assertEquals("object should be balance_bonus", "balance_bonus", obj.getObject()); + } + + /** + * 查询 balance-bonus 列表 + */ + @Test public void testBalanceBonusList() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("page", 1); + params.put("per_page", 10); + + // 查询 balance-bonus 列表方法 + // 参数: params + BalanceBonusCollection objs = BalanceBonus.list(params); + + assertEquals("object should be list", "list", objs.getObject()); + } +} diff --git a/src/test/java/com/pingplusplus/balance/BalanceTransactionTest.java b/src/test/java/com/pingplusplus/balance/BalanceTransactionTest.java new file mode 100644 index 0000000..1af0dd8 --- /dev/null +++ b/src/test/java/com/pingplusplus/balance/BalanceTransactionTest.java @@ -0,0 +1,45 @@ +package com.pingplusplus.balance; + +import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.BalanceTransaction; +import com.pingplusplus.model.BalanceTransactionCollection; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +public class BalanceTransactionTest extends PingppAccountTestBase { + /** + * 查询单个余额明细 (balance_transaction) + */ + @Test + public void testBalanceTransactionRetrieve() throws APIException, + RateLimitException, InvalidRequestException, + ChannelException, AuthenticationException, APIConnectionException { + + // 查询单个 balance_transaction 方法 + // 参数: balance_transaction id + BalanceTransaction obj = BalanceTransaction.retrieve("600170822661998110720001"); + + assertEquals("object should be balance_transaction", "balance_transaction", obj.getObject()); + } + + /** + * 查询余额明细 (balance_transaction) 列表 + */ + @Test public void testBalanceTransactionList() throws APIException, + RateLimitException, InvalidRequestException, + ChannelException, AuthenticationException, APIConnectionException { + Map params = new HashMap<>(); + params.put("page", 1); + params.put("per_page", 3); + // 查询 balance_transaction 列表方法 + // 参数: params + BalanceTransactionCollection objs = BalanceTransaction.list(params); + + assertEquals("object should be list", "list", objs.getObject()); + } +} diff --git a/src/test/java/com/pingplusplus/balance/BalanceTransferTest.java b/src/test/java/com/pingplusplus/balance/BalanceTransferTest.java new file mode 100644 index 0000000..2084d11 --- /dev/null +++ b/src/test/java/com/pingplusplus/balance/BalanceTransferTest.java @@ -0,0 +1,65 @@ +package com.pingplusplus.balance; + +import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.BalanceTransfer; +import com.pingplusplus.model.BalanceTransferCollection; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +public class BalanceTransferTest extends PingppAccountTestBase { + /** + * 创建 balance_transfer + */ + @Test + public void testBalanceTransfer() throws APIException, + RateLimitException, InvalidRequestException, + ChannelException, AuthenticationException, APIConnectionException { + Map params = new HashMap(); + params.put("user", "test_user_001"); + params.put("recipient", "test_user_003"); + params.put("amount", 10); + params.put("order_no", "2017" + System.currentTimeMillis()); + params.put("description", "Balance transfer description."); + + // 创建 balance_transfer 方法 + // 参数: params + BalanceTransfer obj = BalanceTransfer.create(params); + + assertEquals("object should be balance_transfer", "balance_transfer", obj.getObject()); + } + + /** + * 查询单个 balance_transfer + */ + @Test public void testBalanceTransferRetrieve() throws APIException, + RateLimitException, InvalidRequestException, + ChannelException, AuthenticationException, APIConnectionException { + + // 查询单个 balance_transfer 方法 + // 参数: balance_transfer id + BalanceTransfer obj = BalanceTransfer.retrieve("660170821690361139200002"); + + assertEquals("object should be balance_transfer", "balance_transfer", obj.getObject()); + } + + /** + * 查询 balance_transfer 列表 + */ + @Test public void testBalanceTransferList() throws APIException, + RateLimitException, InvalidRequestException, + ChannelException, AuthenticationException, APIConnectionException { + Map params = new HashMap<>(); + params.put("page", 1); + params.put("per_page", 10); + // 查询 balance_transfer 列表方法 + // 参数: params + BalanceTransferCollection objs = BalanceTransfer.list(params); + + assertEquals("object should be list", "list", objs.getObject()); + } +} diff --git a/src/test/java/com/pingplusplus/coupon/CouponTemplateTest.java b/src/test/java/com/pingplusplus/coupon/CouponTemplateTest.java new file mode 100644 index 0000000..429289c --- /dev/null +++ b/src/test/java/com/pingplusplus/coupon/CouponTemplateTest.java @@ -0,0 +1,111 @@ +package com.pingplusplus.coupon; + +import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.CouponTemplate; +import com.pingplusplus.model.CouponTemplateCollection; +import com.pingplusplus.model.DeletedCouponTemplate; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +public class CouponTemplateTest extends PingppAccountTestBase { + /** + * 创建优惠券模板 + */ + @Test + public void testCouponTemplateCreate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap(); + params.put("name", "25%OFF"); // 优惠券模板名称, 可选 + params.put("type", 2); // 优惠券模板的类型 1:现金券;2:折扣券, 必传 + params.put("percent_off", 25); // 折扣百分比, 如 20 表示 8 折, 100 表示免费。当 type 为 2 时,必传。 + params.put("amount_available", 1000); // 订单金额大于等于该值时,优惠券有效(适用于满减);0 表示无限制, 可选 + params.put("max_circulation", 1000); // 优惠券最大生成数量,当已生成数量达到最大值时,不能再生成优惠券;默认 null,表示可以无限生成, 可选 + Map metadata = new HashMap(); + metadata.put("custom_key", "custom_value"); + params.put("metadata", metadata); + Map expiration = new HashMap(); + Long duration = new Long(2592000); + expiration.put("duration", duration); + params.put("expiration", expiration); // 优惠券模板过期策略 + + CouponTemplate obj = CouponTemplate.create(params); + + assertEquals("object should be coupon_template", "coupon_template", obj.getObject()); + assertEquals("amount_available", params.get("amount_available"), obj.getAmountAvailable()); + assertEquals("max_circulation", params.get("max_circulation"), obj.getMaxCirculation()); + assertEquals("type", params.get("type"), obj.getType()); + assertEquals("name", params.get("name"), obj.getName()); + assertEquals("percent_off", params.get("percent_off"), obj.getPercentOff()); + assertEquals("expiration duration", expiration.get("duration"), obj.getExpiration().getDuration()); + assertEquals("times_circulated", 0, obj.getTimesCirculated().intValue()); + assertEquals("times_redeemed", 0, obj.getTimesRedeemed().intValue()); + } + + /** + * 查询优惠券模板 + */ + @Test public void testCouponTemplateRetrieve() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String couponTemplateId = "300117082315262900016402"; + // 查询优惠券模板方法 + // 参数: couponTemplateId (优惠券模板 id) + CouponTemplate obj = CouponTemplate.retrieve(couponTemplateId); + + assertEquals("object should be coupon_template", "coupon_template", obj.getObject()); + } + + /** + * 查询优惠券模板列表 + */ + @Test public void testCouponTemplateList() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("page", 1); + params.put("per_page", 3); + // 查询优惠券模板列表 + // 参数: params + CouponTemplateCollection objs = CouponTemplate.list(params); + + assertEquals("object should be list", "list", objs.getObject()); + } + + /** + * 更新优惠券模板 + */ + @Test public void testCouponTemplateUpdate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String couponTemplateId = "300117082315262900016402"; + Map params = new HashMap<>(); + Map metadata = new HashMap<>(); + metadata.put("key1", "value1"); + params.put("metadata", metadata); + // 更新优惠券模板方法 + // 参数: couponTemplateId (优惠券模板 id) + CouponTemplate obj = CouponTemplate.update(couponTemplateId, params); + + assertEquals("object should be coupon_template", "coupon_template", obj.getObject()); + } + + /** + * 删除优惠券模板 + */ + @Test public void testCouponTemplateDelete() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String couponTemplateId = "300117082315262900016402"; + // 删除优惠券模板方法 + // 参数: couponTemplateId (优惠券模板 id) + DeletedCouponTemplate obj = CouponTemplate.delete(couponTemplateId); + + assertEquals("id", couponTemplateId, obj.getId()); + } +} diff --git a/src/test/java/com/pingplusplus/coupon/CouponTest.java b/src/test/java/com/pingplusplus/coupon/CouponTest.java new file mode 100644 index 0000000..6ef385f --- /dev/null +++ b/src/test/java/com/pingplusplus/coupon/CouponTest.java @@ -0,0 +1,142 @@ +package com.pingplusplus.coupon; + +import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.Coupon; +import com.pingplusplus.model.CouponCollection; +import com.pingplusplus.model.CouponTemplate; +import com.pingplusplus.model.DeletedCoupon; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +public class CouponTest extends PingppAccountTestBase { + /** + * 创建单个优惠券 Coupon + */ + @Test + public void testCouponCreate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String userId = "test_user_001"; // 用户 ID, 必传 + Map params = new HashMap<>(); + params.put("coupon_template", "300117082315262900016402"); // 优惠券模板 id, 必传 + // 创建优惠券 Coupon 方法 + // 参数一: userId + // 参数二: params + Coupon obj = Coupon.create(userId, params); + + assertEquals("object should be coupon", "coupon", obj.getObject()); + } + + /** + * 批量创建优惠券 + */ + @Test public void testCouponBatchCreate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String couponId = "300117082315262900016402"; // 优惠券模板 id + Map params = new HashMap<>(); + List users = new ArrayList<>(); // 用户 ID 列表 + users.add("test_user_002"); + params.put("users", users); + CouponCollection objs = CouponTemplate.createCoupons(couponId, params); + + assertEquals("object should be list", "list", objs.getObject()); + } + + /** + * 查询单个优惠券 Coupon + */ + @Test public void testCouponRetrieve() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String userId = "test_user_001"; + String couponId = "300317082315265100025202"; + // 查询单个优惠券 Coupon + // 参数一: userId + // 参数二: couponId (优惠券 id) + Coupon obj = Coupon.retrieve(userId, couponId); + + assertEquals("object should be coupon", "coupon", obj.getObject()); + } + + /** + * 查询用户优惠券 Coupon 列表 + */ + @Test public void testUserCouponList() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String userId = "test_user_001"; + Map params = new HashMap<>(); + params.put("page", 1); + params.put("per_page", 3); + // 查询用户优惠券 Coupon 列表方法 + // 参数一: userId + // 参数二: params + CouponCollection objs = Coupon.list(userId, params); + + assertEquals("object should be list", "list", objs.getObject()); + } + + /** + * 查询优惠券模板下的优惠券列表 + */ + @Test public void testCouponList() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String couponId = "300117082315262900016402"; + Map params = new HashMap<>(); + params.put("page", 1); + params.put("per_page", 3); + // 查询优惠券模板下的优惠券列表 + // 参数一: userId + // 参数二: params + CouponCollection objs = CouponTemplate.listCoupons(couponId, params); + + assertEquals("object should be list", "list", objs.getObject()); + } + + /** + * 更新优惠券 Coupon + */ + @Test public void testCouponUpdate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String userId = "test_user_001"; + String couponId = "300317082315265100025202"; + Map params = new HashMap<>(); + Map metadata = new HashMap<>(); + metadata.put("key1", "value1"); + params.put("metadata", metadata); + + // 更新优惠券 Coupon 方法 + // 参数一: userId + // 参数二: couponId (优惠券 id) + // 参数三: params + Coupon obj = Coupon.update(userId, couponId, params); + + assertEquals("object should be coupon", "coupon", obj.getObject()); + } + + /** + * 删除优惠券 Coupon + */ + @Test public void testCouponDelete() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String userId = "test_user_001"; + String couponId = "300317022810293600038701"; + // 删除优惠券 Coupon + // 参数一: userId + // 参数二: couponId (优惠券 id) + DeletedCoupon obj = Coupon.delete(userId, couponId); + + assertEquals("id", couponId, obj.getId()); + } +} diff --git a/src/test/java/com/pingplusplus/order/OrderTest.java b/src/test/java/com/pingplusplus/order/OrderTest.java new file mode 100644 index 0000000..f76b02e --- /dev/null +++ b/src/test/java/com/pingplusplus/order/OrderTest.java @@ -0,0 +1,181 @@ +package com.pingplusplus.order; + +import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.PingppAccountTestData; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.*; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +/* + * @author Afon, @date 17-03-28 + */ +public class OrderTest extends PingppAccountTestBase { + + /** + * 创建 order + */ + @Test public void testCreateOrder() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap(); + params.put("uid", "test_user_001"); // 用户在当前 app 下的 User ID, 可选 + params.put("app", PingppAccountTestData.getAppID()); // App ID, 必传 + params.put("merchant_order_no", "2017" + System.currentTimeMillis()); // 商户订单号, 必传 + params.put("subject", "ORDER_SUBJECT"); // 商品的标题, 必传 + params.put("body", "ORDER_BODY"); // 商品的描述信息, 必传 + params.put("amount", 100); // 订单总金额,单位:分, 必传 + params.put("currency", "cny"); // 仅支持人民币 cny, 必传 + params.put("client_ip", "192.168.1.125"); // 客户端的 IP 地址 (IPv4 格式,要求商户上传真实的,渠道可能会判断), 必传 + + Order obj = Order.create(params); // 创建 Order 对象 方法 + + assertEquals("object should be order", "order", obj.getObject()); + assertEquals("amount", ((Integer)params.get("amount")).intValue(), obj.getAmount().intValue()); + assertEquals("app", params.get("app"), obj.getApp()); + assertEquals("user ID", params.get("uid"), obj.getUid()); + assertEquals("merchant_order_no", params.get("merchant_order_no"), obj.getMerchantOrderNo()); + assertEquals("subject", params.get("subject"), obj.getSubject()); + assertEquals("body", params.get("body"), obj.getBody()); + } + + /** + * 支付 order + */ + @Test public void testPayOrder() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("channel", "alipay_wap"); + params.put("charge_amount", 100); + params.put("balance_amount", 0); + Map extra = new HashMap<>(); // extra: 根据各个渠道传入相应的参数 + extra.put("success_url", "http://www.pingxx.com"); + params.put("extra", extra); + Order order = Order.pay("2001708220000281981", params); // 创建支付 Order 对象 方法 + + assertEquals("object should be order", "order", order.getObject()); + } + + /** + * 取消 order + */ + @Test public void testCancelOrder() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Order order = Order.cancel("2001708220000280391"); // 取消 Order 对象方法 + + assertEquals("object should be order", "order", order.getObject()); + } + + /** + * 查询单个 order + */ + @Test public void testOrderRetrieve() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Order obj = Order.retrieve("2001708220000281981"); // 查询单个 order 方法 参数: orderId + + assertNotNull(obj); + assertEquals("object should be order", "order", obj.getObject()); + } + + /** + * 获取 order 列表 + */ + @Test public void testGetOrderList() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap(); + params.put("page", 1); + params.put("per_page", 3); + params.put("paid", false); + params.put("app", PingppAccountTestData.getAppID()); + params.put("refunded", false); + + OrderCollection objs = Order.list(params); //查询 order 列表方法 + + assertEquals("object should be list", "list", objs.getObject()); + assertEquals("data count should be same with limit", ((Integer)params.get("per_page")).intValue(), objs.getData().size()); + } + + /** + * 查询订单中 Charge 对象 + */ + @Test public void testOrderChargeRetrieve() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + // 查询订单中 Charge 对象 + // 参数一: order id + // 参数二: charge id + Charge obj = Order.retrieveCharge("2001708220000221911", "ch_88mbTKu9mbn9mfT4KSCiHiX5"); + assertEquals("object should be charge", "charge", obj.getObject()); + } + + /** + * 查询订单中 Charge 列表 + */ + @Test public void testOrderChargeList() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("page", 1); + params.put("per_page", 10); + + // 查询订单中 Charge 列表 + // 参数一: orderId + // 参数二: params + ChargeCollection objs = Order.chargeList("2001708220000221911", params); + assertEquals("object should be list", "list", objs.getObject()); + } + + /** + * 创建 order 退款 + */ + @Test public void testOrderRefundCreate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + + Map params = new HashMap(); + params.put("description", "Order refund test."); // 必传 + params.put("refund_mode", "to_source"); + + // 创建 order 退款方法 + // 参数一: orderId + // 参数二: params + OrderRefundCollection objs = OrderRefund.create("2001708220000281981", params); + + assertEquals("object should be list", "list", objs.getObject()); + } + + /** + * 查询 order 退款 + */ + @Test public void testOrderRefundRetrieve() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + // 查询 order 退款方法 + // 参数一: orderId + // 参数二: refundId + Refund obj = OrderRefund.retrieve("2001708220000258501", "re_5GefjD14GW50qrT40Gq9KmPS"); + assertEquals("object should be refund", "refund", obj.getObject()); + } + + /** + * 查询 order 退款列表 + */ + @Test public void testOrderRefundList() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + + // 查询 order 退款列表 + // 参数: orderId + OrderRefundCollection objs = OrderRefund.list("2001708220000258501"); + assertEquals("object should be list", "list", objs.getObject()); + } +} diff --git a/src/test/java/com/pingplusplus/order/RoyaltySettlementTest.java b/src/test/java/com/pingplusplus/order/RoyaltySettlementTest.java new file mode 100644 index 0000000..0be8e61 --- /dev/null +++ b/src/test/java/com/pingplusplus/order/RoyaltySettlementTest.java @@ -0,0 +1,77 @@ +package com.pingplusplus.order; + +import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.PingppAccountTestData; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.RoyaltySettlement; +import com.pingplusplus.model.RoyaltySettlementCollection; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +public class RoyaltySettlementTest extends PingppAccountTestBase { + /** + * 创建 royalty_settlement + */ + @Test + public void testRoyaltySettlementCreate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("payer_app", PingppAccountTestData.getAppID()); // 分润发起方所在应用的 id, 必传 + params.put("method", "alipay"); // 分润的方式,余额 balance 或渠道名称,例如 alipay, 必传 + params.put("recipient_app", PingppAccountTestData.getAppID()); // 分润接收方的应用 id,即分润用户关联的应用 id。可选 + params.put("is_preview", false); // 是否预览,选择预览不会真实创建分润结算对象,也不会修改分润对象的状态, 可选 + // 创建 royalty_settlement 方法 + // 参数: params + RoyaltySettlement obj = RoyaltySettlement.create(params); + + assertEquals("object should be royalty_settlement", "royalty_settlement", obj.getObject()); + } + + /** + * 查询单个 royalty_settlement + */ + @Test public void testRoyaltySettlementRetrieve() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + // 查询单个 royalty_settlement 方法 + // 参数: royalty_settlement id + RoyaltySettlement obj = RoyaltySettlement.retrieve("170302171104000011"); + + assertEquals("object should be royalty_settlement", "royalty_settlement", obj.getObject()); + } + + /** + * 查询 royalty_settlement list + */ + @Test public void testRoyaltySettlementList() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap(); + params.put("payer_app", PingppAccountTestData.getAppID()); + params.put("per_page", 3); + params.put("page", 1); + // 查询 royalty_settlement list 列表方法 + // 参数: params + RoyaltySettlementCollection objs = RoyaltySettlement.list(params); + + assertEquals("object should be list", "list", objs.getObject()); + } + + /** + * 更新 royalty_settlement + */ + @Test public void testRoyaltySettlementUpdate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("status", "canceled"); // 需要更新的状态 [pending, canceled] + // 更新 royalty_settlement 方法 + // 参数: params + RoyaltySettlement.update("170302171104000011", params); + } +} diff --git a/src/test/java/com/pingplusplus/order/RoyaltyTemplateTest.java b/src/test/java/com/pingplusplus/order/RoyaltyTemplateTest.java new file mode 100644 index 0000000..7f18ed6 --- /dev/null +++ b/src/test/java/com/pingplusplus/order/RoyaltyTemplateTest.java @@ -0,0 +1,133 @@ +package com.pingplusplus.order; + +import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.PingppAccountTestData; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.DeleteRoyaltyTemplate; +import com.pingplusplus.model.RoyaltyTemplate; +import com.pingplusplus.model.RoyaltyTemplateCollection; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +public class RoyaltyTemplateTest extends PingppAccountTestBase { + /** + * 创建 royalty_template + */ + @Test + public void testRoyaltyTemplateCreate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("app", PingppAccountTestData.getAppID()); // App ID, 必传 + params.put("name", "royalty_templates name"); // 模板名称,允许中英文等常用字符, 可选 + + Map rule = new HashMap<>(); + rule.put("royalty_mode", "rate"); // 分润模式。分为按订单金额(包含优惠券金额)的比例 rate 和固定金额 fixed, 必传 + rule.put("refund_mode", "no_refund"); // 退分润模式。分为退款时不退分润 no_refund、按比例退分润 proportional 和一旦退款分润全退 full_refund, 必传 + // 分配模式。指当订单确定的层级如果少于模板配置层级时,模板中多余的分润金额是归属于收款方 receipt_reserved 还是服务方 service_reserved。 + // 必传 + rule.put("allocation_mode", "receipt_reserved"); + + List data = new ArrayList<>(); // 分润数据列表, 必传 + Map data1 = new HashMap<>(); + data1.put("level", 0); // 子商户层级值,0 表示平台, 1 表示一级子商户,取值范围 >=0 + data1.put("value", 11); // 分润数值。rate 下取值为 0 - 10000,单位为 0.01 %,fixed 下取值为 0 - 1000000,单位为分 + Map data2 = new HashMap<>(); + data2.put("level", 1); + data2.put("value", 12); + data.add(data1); + data.add(data2); + + rule.put("data", data); + params.put("rule", rule); + + // 创建 royalty_template 方法 + // 参数: params + RoyaltyTemplate obj = RoyaltyTemplate.create(params); + + assertEquals("object should be royalty_template", "royalty_template", obj.getObject()); + assertEquals("name", params.get("name"), obj.getName()); + } + + /** + * 查询单个 royalty_template + */ + @Test public void testRoyaltyTemplateRetrieve() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String id = "450170822152200001"; + // 查询单个 royalty_template 方法 + // 参数: royalty_template id + RoyaltyTemplate obj = RoyaltyTemplate.retrieve(id); + + assertEquals("object should be royalty_template", "royalty_template", obj.getObject()); + assertEquals("id", id, obj.getId()); + } + + /** + * 查询 royalty_template 列表 + */ + @Test public void testRoyaltyTemplateList() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("per_page", 3); + params.put("page", 1); + // 查询 royalty_template list 列表方法 + // 参数: params + RoyaltyTemplateCollection objs = RoyaltyTemplate.list(params); + + assertEquals("object should be list", "list", objs.getObject()); + } + + /** + * 删除 royalty_template + */ + @Test public void testRoyaltyTemplateDelete() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String id = "450170822185800001"; + // 删除 royalty_template 方法 + // 参数: royalty_template id + DeleteRoyaltyTemplate obj = RoyaltyTemplate.delete(id); + + assertEquals("id", id, obj.getId()); + } + + /** + * 更新 royalty_template + */ + @Test public void testRoyaltyTemplateUpdate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("name", "royalty_templates name new"); + + Map rule = new HashMap<>(); + rule.put("royalty_mode", "rate"); + rule.put("refund_mode", "no_refund"); + rule.put("allocation_mode", "receipt_reserved"); + + List data = new ArrayList<>(); + Map data1 = new HashMap<>(); + data1.put("level", 0); + data1.put("value", 11); + Map data2 = new HashMap<>(); + data2.put("level", 1); + data2.put("value", 12); + data.add(data1); + data.add(data2); + + rule.put("data", data); + params.put("rule", rule); + RoyaltyTemplate obj = RoyaltyTemplate.update("450170822152200001", params); + + assertEquals("object should be royalty_template", "royalty_template", obj.getObject()); + } +} diff --git a/src/test/java/com/pingplusplus/order/RoyaltyTest.java b/src/test/java/com/pingplusplus/order/RoyaltyTest.java new file mode 100644 index 0000000..4d187d3 --- /dev/null +++ b/src/test/java/com/pingplusplus/order/RoyaltyTest.java @@ -0,0 +1,67 @@ +package com.pingplusplus.order; + +import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.Royalty; +import com.pingplusplus.model.RoyaltyCollection; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +public class RoyaltyTest extends PingppAccountTestBase { + /** + * 批量更新 royalty + */ + @Test + public void testRoyaltyBatchUpdate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + List ids = new ArrayList<>(); // 分润 ID 列表, 必传 + ids.add("170301124238000111"); + params.put("ids", ids); + params.put("method", "manual"); // 手动标记结算: manual 或 取消手动标记结算:null, 可选 + params.put("description", "royalty batch update description"); // 描述, 可选 + // 批量更新 royalty 方法 + // 参数: params + RoyaltyCollection objs = Royalty.batchUpdate(params); + + assertEquals("object should be list", "list", objs.getObject()); + } + + /** + * 查询 royalty + */ + @Test public void testRoyaltyRetrieve() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + // 查询 royalty 方法 + // 参数: royalty id + Royalty obj = Royalty.retrieve("421170321093600003"); + + assertEquals("object should be royalty", "royalty", obj.getObject()); + } + + /** + * 查询 royalty list + */ + @Test public void testRoyaltyList() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap(); + params.put("per_page", 3); // 可选 + params.put("page", 1); // 可选 + params.put("royalty_settlement", null); // 可选 关联的分润结算 ID + params.put("royalty_transaction", null); // 可选 关联的分润结算明细 ID + // 查询 royalty list 列表方法 + // 参数: params + RoyaltyCollection objs = Royalty.list(params); + + assertEquals("object should be list", "list", objs.getObject()); + } +} diff --git a/src/test/java/com/pingplusplus/order/RoyaltyTransactionTest.java b/src/test/java/com/pingplusplus/order/RoyaltyTransactionTest.java new file mode 100644 index 0000000..5f41a0e --- /dev/null +++ b/src/test/java/com/pingplusplus/order/RoyaltyTransactionTest.java @@ -0,0 +1,45 @@ +package com.pingplusplus.order; + +import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.RoyaltyTransaction; +import com.pingplusplus.model.RoyaltyTransactionCollection; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +public class RoyaltyTransactionTest extends PingppAccountTestBase { + /** + * 查询单个 royalty_transaction + */ + @Test + public void testRoyaltyTransactionRetrieve() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + // 查询单个 royalty_transaction 方法 + // 参数: royalty_transaction id + RoyaltyTransaction obj = RoyaltyTransaction.retrieve("170302171104000011"); + + assertEquals("object should be royalty_transaction", "royalty_transaction", obj.getObject()); + } + + /** + * 查询 royalty_transaction list + */ + @Test public void testRoyaltyTransactionList() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap(); + params.put("per_page", 3); + params.put("page", 1); + + // 查询 royalty_transaction list 列表方法 + // 参数: params + RoyaltyTransactionCollection objs = RoyaltyTransaction.list(params); + + assertEquals("object should be list", "list", objs.getObject()); + } +} diff --git a/src/test/java/com/pingplusplus/recharge/RechargeTest.java b/src/test/java/com/pingplusplus/recharge/RechargeTest.java new file mode 100644 index 0000000..340b84a --- /dev/null +++ b/src/test/java/com/pingplusplus/recharge/RechargeTest.java @@ -0,0 +1,116 @@ +package com.pingplusplus.recharge; + +import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.*; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +public class RechargeTest extends PingppAccountTestBase { + /** + * 创建 recharge + */ + @Test + public void testRechargeCreate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("user", "user_test_02"); // 充值目标用户 ID, 必传 + params.put("user_fee", 10); // 用户充值收取的手续费,单位分,不得大于 amount,不可和 balance_bonus[amount] 同时传,默认 0。可选 + params.put("description", "Recharge description."); // 描述, 可选 + Map charge = new HashMap<>(); + charge.put("amount", 100); // 用户实际支付金额,单位分, 必传 + charge.put("channel", "alipay_wap"); // 支付使用的第三方支付渠道, 必传 + charge.put("order_no", "2017" + System.currentTimeMillis()); // 商户订单号,适配每个渠道对此参数的要求,必须在商户系统内唯一, 必传 + charge.put("client_ip", "127.0.0.1"); // 客户端的 IP,IPv4,默认 127.0.0.1, 可选 + charge.put("subject", "Recharge subject"); // 充值标题,该参数最长为 32 个 Unicode 字符, 必传 + charge.put("body", "Recharge body"); // 充值描述信息,该参数最长为 128 个 Unicode 字符, 必传 + Map extra = new HashMap<>(); // extra: 根据不同渠道传入相应的参数 + extra.put("success_url", "http://www.pingxx.com"); + charge.put("extra", extra); + params.put("charge", charge); + Recharge obj = Recharge.create(params); // 创建 recharge 方法 + assertEquals("object should be recharge", "recharge", obj.getObject()); + } + + /** + * 查询单个 recharge + */ + @Test public void testRechargeRetrieve() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + // 查询单个 recharge 方法 + // 参数: rechargeId + Recharge obj = Recharge.retrieve("220170822678080532480001"); + + assertEquals("object should be recharge", "recharge", obj.getObject()); + } + + /** + * 查询 recharge 列表 + */ + @Test public void testRechargeList() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("page", 1); + params.put("per_page", 10); + params.put("succeeded", true); // 是否已充值成功 + params.put("refunded", true); // 是否存在退款 (跟是否退款成功没有关系) + // 查询 recharge 列表方法 + // 参数: params + RechargeCollection objs = Recharge.list(params); + + assertEquals("object should be list", "list", objs.getObject()); + } + + /** + * 创建 recharge_refund + */ + @Test public void testRechargeRefundCreate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("description", "Recharge Refund Description"); // 必传 + // 创建 recharge_refund 方法 + // 参数一: rechargeId + // 参数二: params + Refund obj = RechargeRefund.create("220170822678080532480001", params); + + assertEquals("object should be refund", "refund", obj.getObject()); + } + + /** + * 查询单个 recharge_refund + */ + @Test public void testRechargeRefundRetrieve() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + // 查询单个 recharge_refund 方法 + // 参数一: rechargeId + // 参数二: refundId + Refund obj = RechargeRefund.retrieve("220170822360378572800001", "re_q5CmjDb1Ge9Sr580K4W10CaP"); + + assertEquals("object should be refund", "refund", obj.getObject()); + } + + /** + * 查询 recharge_refund 列表 + */ + @Test public void testRechargeRefundList() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("page", 1); + params.put("per_page", 3); + // 查询 recharge_refund 列表方法 + // 参数一: rechargeId + // 参数二: params + RechargeRefundCollection objs = RechargeRefund.list("220170822360378572800001", params); + assertEquals("object should be list", "list", objs.getObject()); + } +} diff --git a/src/test/java/com/pingplusplus/settle_account/SettleAccountTest.java b/src/test/java/com/pingplusplus/settle_account/SettleAccountTest.java new file mode 100644 index 0000000..857872e --- /dev/null +++ b/src/test/java/com/pingplusplus/settle_account/SettleAccountTest.java @@ -0,0 +1,87 @@ +package com.pingplusplus.settle_account; + +import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.DeletedSettleAccount; +import com.pingplusplus.model.SettleAccount; +import com.pingplusplus.model.SettleAccountCollection; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +public class SettleAccountTest extends PingppAccountTestBase { + /** + * 创建结算账户 SettleAccount + */ + @Test + public void testSettleAccountCreate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String userId = "test_user_001"; + Map params = new HashMap(); + params.put("channel", "alipay"); // [wx_pub, wx, alipay, bank_account] 其中一种 + Map recipient = new HashMap(); // recipient 参数请参考各个渠道,以下是 alipay 参数 + recipient.put("account", "13000000001"); // 接收者支付宝账号 + recipient.put("name", "USER NAME"); // 接收者姓名 + recipient.put("type", "b2c"); // 转账类型 + recipient.put("account_type", "ALIPAY_LOGONID"); // 收款方账户类型 + + params.put("recipient", recipient); + + SettleAccount obj = SettleAccount.create(userId, params); // 创建 SettleAccount 方法 + + assertEquals("object should be settle_account", "settle_account", obj.getObject()); + assertEquals("channel", params.get("channel"), obj.getChannel()); + assertEquals("type", recipient.get("type"), obj.getRecipient().getType()); + assertEquals("open_bank_code", recipient.get("open_bank_code"), obj.getRecipient().getOpenBankCode()); + } + + /** + * 查询结算账户 + */ + @Test public void testSettleAccountRetrieve() throws + RateLimitException, APIException, ChannelException, + InvalidRequestException, APIConnectionException, AuthenticationException { + String userId = "test_user_001"; + String settleAccountId = "320117082311291100001002"; // 结算账户对象 ID + + SettleAccount obj = SettleAccount.retrieve(userId, settleAccountId); // 查询结算账户方法 + + assertEquals("object should be settle_account", "settle_account", obj.getObject()); + assertEquals("id should be same", settleAccountId, obj.getId()); + } + + /** + * 查询结算账户列表 + */ + @Test public void testSettleAccountList() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String userId = "test_user_001"; + Map params = new HashMap<>(); + params.put("page", 1); + params.put("per_page", 3); + SettleAccountCollection obj = SettleAccount.list(userId, params); // 查询结算账户列表方法 userId:必传 params:可选 + + assertEquals("object should be list", "list", obj.getObject()); + } + + /** + * 删除结算账户 + */ + @Test public void testSettleAccountDelete() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String userId = "test_user_001"; + String settleAccountId = "320117082311291100001002"; // 结算账户对象 ID + + DeletedSettleAccount obj = SettleAccount.delete(userId, settleAccountId); // 删除结算账户方法 + + assertTrue("deleted should be true", obj.getDeleted()); + assertEquals("id should be same", settleAccountId, obj.getId()); + } +} diff --git a/src/test/java/com/pingplusplus/sub_app/SubAppChannelTest.java b/src/test/java/com/pingplusplus/sub_app/SubAppChannelTest.java new file mode 100644 index 0000000..c633d7b --- /dev/null +++ b/src/test/java/com/pingplusplus/sub_app/SubAppChannelTest.java @@ -0,0 +1,101 @@ +package com.pingplusplus.sub_app; + +import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.Channel; +import com.pingplusplus.model.DeletedChannel; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +public class SubAppChannelTest extends PingppAccountTestBase { + /** + * 配置子商户 app 渠道参数 + */ + @Test + public void testSubAppChannelCreate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String subAppId = "app_rbDmXLHmLqbTLKm9"; + + Map params = new HashMap<>(); + params.put("channel", "bfb"); + params.put("description", "Channel params description."); + Map channelParams = new HashMap<>(); + channelParams.put("fee_rate", 60); + channelParams.put("bfb_sp", "1600200213"); + channelParams.put("bfb_key", "A9lUEVtdrrQobDHgzkzM2rThSNpXVELt"); + params.put("params", channelParams); + + // 创建子商户 channel 对象 + // 参数一: SubApp id + // 参数二: params + Channel obj = Channel.create(subAppId, params); + + assertEquals("object should be channel", "channel", obj.getObject()); + assertEquals("description", params.get("description"), obj.getDescription()); + } + + /** + * 查询子商户 app 渠道参数 + */ + @Test public void testSubAppChannelRetrieve() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String subAppId = "app_rbDmXLHmLqbTLKm9"; + String channel = "bfb"; + + // 查询子商户 app 渠道参数方法 + // 参数一: subAppId + // 参数二: channel 需要查询的渠道名 + Channel obj = Channel.retrieve(subAppId, channel); + + assertEquals("object should be channel", "channel", obj.getObject()); + } + + /** + * 更新子商户 app 渠道参数 + */ + @Test public void testSubAppChannelUpdate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String subAppId = "app_rbDmXLHmLqbTLKm9"; + String channel = "bfb"; + + Map params = new HashMap<>(); + params.put("description", "Channel params update description."); + Map channelParams = new HashMap<>(); // 需要更新的渠道参数 + channelParams.put("fee_rate", 60); + channelParams.put("bfb_sp", "1600200213"); + channelParams.put("bfb_key", "A9lUEVtdrrQobDHgzkzM2rThSNpXVELt"); + params.put("params", channelParams); + + // 更新子商户 app 渠道参数方法 + // 参数一: SubApp id + // 参数二: channel 需要更新的渠道 + // 参数三: params + Channel obj = Channel.update(subAppId, channel, params); + + assertEquals("object should be channel", "channel", obj.getObject()); + } + + /** + * 删除子商户 app 渠道参数 + */ + @Test public void testSubAppChannelDelete() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String subAppId = "app_rbDmXLHmLqbTLKm9"; + String channel = "bfb"; + + // 删除子商户 app 渠道参数方法 + // 参数一: subAppId + // 参数二: channel 需要删除的渠道名 + DeletedChannel obj = Channel.delete(subAppId, channel); + + assertEquals("channel", channel, obj.getChannel()); + } +} diff --git a/src/test/java/com/pingplusplus/sub_app/SubAppTest.java b/src/test/java/com/pingplusplus/sub_app/SubAppTest.java new file mode 100644 index 0000000..9cc780e --- /dev/null +++ b/src/test/java/com/pingplusplus/sub_app/SubAppTest.java @@ -0,0 +1,101 @@ +package com.pingplusplus.sub_app; + +import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.PingppAccountTestData; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.DeletedSubApp; +import com.pingplusplus.model.SubApp; +import com.pingplusplus.model.SubAppCollection; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +public class SubAppTest extends PingppAccountTestBase { + /** + * 创建子商户 app + */ + @Test + public void testSubAppCreate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String userId = "sub_app_user_" + System.currentTimeMillis(); + String displayName = "sub_app_" + System.currentTimeMillis(); + + Map params = new HashMap<>(); + params.put("user", userId); + params.put("display_name", displayName); + params.put("parent_app", PingppAccountTestData.getAppID()); //父商户应用 ID,必须为平台或者平台下其他的子商户,默认值为平台 + + // 创建子商户 app 方法 + // 参数: params + SubApp obj = SubApp.create(params); + + assertEquals("object should be sub_app", "sub_app", obj.getObject()); + assertEquals("user", userId, obj.getUser()); + assertEquals("display_name", displayName, obj.getDisplayName()); + } + + /** + * 查询子商户 app + */ + @Test public void testSubAppRetrieve() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String subAppId = "app_rbDmXLHmLqbTLKm9"; + // 查询子商户 app + // 参数: SubApp id + SubApp obj = SubApp.retrieve(subAppId); + + assertEquals("object should be sub_app", "sub_app", obj.getObject()); + assertEquals("id", subAppId, obj.getId()); + } + + /** + * 查询子商户 app 列表 + */ + @Test public void testSubAppList() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("page", 1); + params.put("per_page", 3); + // 查询子商户 app 列表方法 + // 参数: params + SubAppCollection objs = SubApp.list(params); + + assertEquals("object should be list", "list", objs.getObject()); + } + + /** + * 更新子商户 app + */ + @Test public void testSubAppUpdate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String subAppId = "app_rbDmXLHmLqbTLKm9"; + Map params = new HashMap<>(); + // 更新子商户 app 方法 + // 参数一: SubApp id + // 参数二: params + SubApp obj = SubApp.update(subAppId, params); + + assertEquals("object should be sub_app", "sub_app", obj.getObject()); + } + + /** + * 删除子商户 app + */ + @Test public void testSubAppDelete() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String subAppId = "app_rbDmXLHmLqbTLKm9"; + // 删除子商户 app 方法 + // 参数: SubApp id + DeletedSubApp obj = SubApp.delete(subAppId); + + assertEquals("id", subAppId, obj.getId()); + } +} diff --git a/src/test/java/com/pingplusplus/transfer/TransferTest.java b/src/test/java/com/pingplusplus/transfer/TransferTest.java new file mode 100644 index 0000000..a3fa621 --- /dev/null +++ b/src/test/java/com/pingplusplus/transfer/TransferTest.java @@ -0,0 +1,262 @@ +package com.pingplusplus.transfer; + +import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.PingppAccountTestData; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.Transfer; +import com.pingplusplus.model.TransferCollection; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +/** + * Transfers 企业付款 示例 + */ +public class TransferTest extends PingppAccountTestBase { + /** + * 创建 Transfer 对象- alipay 渠道 + */ + @Test public void testAlipayTransferCreate() throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + + Map params = new HashMap<>(); + // 付款使用的商户内部订单号。 alipay 为 1 ~ 64 位不能重复的数字字母组合; + params.put("order_no", "2017" + System.currentTimeMillis()); + // 订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100,企业付款最小发送金额为1 元) + params.put("amount", 100); + // 目前支持 支付宝:alipay,银联:unionpay,微信公众号:wx_pub,通联:allinpay,京东:jdpay 余额:balance + params.put("channel", "alipay"); + params.put("currency", "cny"); + // 付款类型,支持 b2c 、b2b + params.put("type", "b2c"); + // 接收者 id, 渠道为 alipay 时,若 type 为 b2c,为个人支付宝账号,若 type 为 b2b,为企业支付宝账号。 + params.put("recipient", "13000000001"); + // 备注信息。渠道为 alipay 时,最多 100 个 Unicode 字符。 + params.put("description", "alipay transfer description"); + + Map app = new HashMap<>(); + app.put("id", PingppAccountTestData.getAppID()); + params.put("app", app); + + Map extra = new HashMap<>(); + // 必须,收款人姓名,1~50位。 + extra.put("recipient_name", "张三"); + // 可选,收款方账户类型。可取值:1、 ALIPAY_USERID :支付宝账号对应的支付宝唯一用户号。以2088开头的16位纯数字组成。 + // 2、 ALIPAY_LOGONID (默认值):支付宝登录号,支持邮箱和手机号格式。 + extra.put("recipient_account_type", "ALIPAY_LOGONID"); + params.put("extra", extra); + + Transfer obj = Transfer.create(params); + assertEquals("object should be transfer", "transfer", obj.getObject()); + } + + /** + * 创建 Transfer 对象- allinpay 渠道 + */ + @Test public void testAllinpayTransferCreate() throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + Map params = new HashMap<>(); + // 付款使用的商户内部订单号。 allinpay 限长20-40位不能重复的数字字母组合,必须以签约的通联的商户号开头(建议组合格式:通联商户号 + 时间戳 + 固定位数顺序流水号,不包含+号) + params.put("order_no", "099002017" + System.currentTimeMillis()); + // 订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100,企业付款最小发送金额为1 元) + params.put("amount", 100); + // 目前支持 支付宝:alipay,银联:unionpay,微信公众号:wx_pub,通联:allinpay,京东:jdpay 余额:balance + params.put("channel", "allinpay"); + params.put("currency", "cny"); + // 付款类型,支持 b2c 、b2b + params.put("type", "b2c"); + params.put("description", "allinpay transfer description"); + + Map app = new HashMap<>(); + app.put("id", PingppAccountTestData.getAppID()); + params.put("app", app); + + Map extra = new HashMap<>(); + // 必须,1~32位,收款人银行卡号或者存折号。 + extra.put("card_number", "6220888888888888"); + // 必须,1~100位,收款人姓名。 + extra.put("user_name", "张三"); + // 必须,4位,开户银行编号,详情请参考 企业付款(银行卡)银行编号说明:必须,4位,开户银行编号,详情请参考 企业付款(银行卡)银行编号说明:https://www.pingxx.com/api#银行编号说明 + extra.put("open_bank_code", "0103"); + // 可选,5位,业务代码,根据通联业务人员提供,不填使用通联提供默认值09900。 + // extra.put("business_code", "09900"); + // 可选,1位,银行卡号类型,0:银行卡、1:存折,不填默认使用银行卡。 + // extra.put("card_type", 0); + + params.put("extra", extra); + + Transfer obj = Transfer.create(params); + assertEquals("object should be transfer", "transfer", obj.getObject()); + } + + /** + * 创建 Transfer 对象- jdpay 渠道 + */ + @Test public void testJdpayTransferCreate() throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + Map params = new HashMap<>(); + // 付款使用的商户内部订单号。 jdpay 限长1-64位不能重复的数字字母组合; + params.put("order_no", "2017" + System.currentTimeMillis()); + // 订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100,企业付款最小发送金额为1 元) + params.put("amount", 100); + // 目前支持 支付宝:alipay,银联:unionpay,微信公众号:wx_pub,通联:allinpay,京东:jdpay 余额:balance + params.put("channel", "jdpay"); + params.put("currency", "cny"); + // 付款类型,支持 b2c 、b2b + params.put("type", "b2c"); + params.put("description", "jdpay transfer description"); + + Map app = new HashMap<>(); + app.put("id", PingppAccountTestData.getAppID()); + params.put("app", app); + + Map extra = new HashMap<>(); + // 必须,1~32位,收款人银行卡号或者存折号。 + extra.put("card_number", "6220888888888888"); + // 必须,1~100位,收款人姓名。 + extra.put("user_name", "张三"); + // 必须,4位,开户银行编号,详情请参考 企业付款(银行卡)银行编号说明:必须,4位,开户银行编号,详情请参考 企业付款(银行卡)银行编号说明:https://www.pingxx.com/api#银行编号说明 + extra.put("open_bank_code", "0103"); + params.put("extra", extra); + + Transfer obj = Transfer.create(params); + assertEquals("object should be transfer", "transfer", obj.getObject()); + } + + /** + * 创建 Transfer 对象- unionpay 渠道 + */ + @Test public void testUnionpayTransferCreate() throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + Map params = new HashMap<>(); + // 付款使用的商户内部订单号。 unionpay 为1~16位的纯数字。 + params.put("order_no", "17" + System.currentTimeMillis()); + // 订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100,企业付款最小发送金额为1 元) + params.put("amount", 100); + // 目前支持 支付宝:alipay,银联:unionpay,微信公众号:wx_pub,通联:allinpay,京东:jdpay 余额:balance + params.put("channel", "unionpay"); + params.put("currency", "cny"); + // 付款类型,支持 b2c 、b2b + params.put("type", "b2c"); + // 备注信息。渠道为 unionpay 时,最多 99 个 Unicode 字符 + params.put("description", "unionpay transfer description"); + + Map app = new HashMap<>(); + app.put("id", PingppAccountTestData.getAppID()); + params.put("app", app); + + Map extra = new HashMap<>(); + // 必须,1~32位,收款人银行卡号或者存折号。 + extra.put("card_number", "6220888888888888"); + // 必须,1~100位,收款人姓名。 + extra.put("user_name", "张三"); + // open_bank_code 和 open_bank 两个参数必传一个,建议使用 open_bank_code , + /// 若都传参则优先使用 open_bank_code 读取规则; + /// prov 和 city 均为可选参数,如果不传参,则使用默认值 "上海" 给渠道接口。 + // 条件可选,4位,开户银行编号,详情请参考 企业付款(银行卡)银行编号说明:必须,4位,开户银行编号,详情请参考 企业付款(银行卡)银行编号说明:https://www.pingxx.com/api#银行编号说明 + extra.put("open_bank_code", "0103"); + // 条件可选,1~50位,开户银行 + extra.put("open_bank", "农业银行"); + // 可选,1~20位,省份。 + // extra.put("prov", "上海"); + // 可选,1~40位,城市。 + // extra.put("city", "上海"); + // 可选,1~80位,开户支行名称。 + // extra.put("sub_bank", "上海沪东支行"); + params.put("extra", extra); + + Transfer obj = Transfer.create(params); + assertEquals("object should be transfer", "transfer", obj.getObject()); + } + + /** + * 创建 Transfer 对象- wx_pub 渠道 + */ + @Test public void testWxPubTransferCreate() throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + Map params = new HashMap<>(); + // 付款使用的商户内部订单号。 wx_pub 规定为 1 ~ 50 位不能重复的数字字母组合; + params.put("order_no", "2017" + System.currentTimeMillis()); + // 订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100,企业付款最小发送金额为1 元) + params.put("amount", 100); + // 目前支持 支付宝:alipay,银联:unionpay,微信公众号:wx_pub,通联:allinpay,京东:jdpay 余额:balance + params.put("channel", "wx_pub"); + params.put("currency", "cny"); + // 付款类型,支持 b2c 、b2b + params.put("type", "b2c"); + // 备注信息。渠道为 wx_pub 时,最多 99 个英文和数字的组合或最多 33 个中文字符,不可以包含特殊字符; + params.put("description", "wx_pub transfer description"); + // 接收者 id, 微信企业付款时为用户在 wx_pub 下的 open_id ; + params.put("recipient", "o9zPms1OLVHU1r701mOHP0s-uK9c"); + + Map app = new HashMap<>(); + app.put("id", PingppAccountTestData.getAppID()); + params.put("app", app); + + Map extra = new HashMap<>(); + // 可选,收款人姓名。当该参数为空,则不校验收款人姓名。 + extra.put("user_name", "张三"); + // 可选,是否强制校验收款人姓名。仅当 user_name 参数不为空时该参数生效。 + extra.put("force_check", true); + params.put("extra", extra); + + Transfer obj = Transfer.create(params); + assertEquals("object should be transfer", "transfer", obj.getObject()); + } + + /** + * 创建 Transfer 对象- balance 渠道 + */ + @Test public void testBalanceTransferCreate() throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + Map params = new HashMap<>(); + // 付款使用的商户内部订单号。 wx_pub 规定为 1 ~ 50 位不能重复的数字字母组合; + params.put("order_no", "2017" + System.currentTimeMillis()); + // 订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100,企业付款最小发送金额为1 元) + params.put("amount", 100); + // 目前支持 支付宝:alipay,银联:unionpay,微信公众号:wx_pub,通联:allinpay,京东:jdpay 余额:balance + params.put("channel", "balance"); + params.put("currency", "cny"); + // 付款类型,支持 b2c 、b2b + params.put("type", "b2c"); + params.put("description", "wx_pub transfer description"); + // 接收者 id, 渠道为 balance 时,为用户在当前 app 下的用户 id。 + params.put("recipient", "user_test_02"); + + Map app = new HashMap<>(); + app.put("id", PingppAccountTestData.getAppID()); + params.put("app", app); + + Transfer obj = Transfer.create(params); + assertEquals("object should be transfer", "transfer", obj.getObject()); + } + + /** + * 查询指定 Transfer 对象 + */ + @Test public void testTransferRetrieve() throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + // 参数: transfer id + Transfer obj = Transfer.retrieve("tr_WTarz1Ga9q90X1O4q91Oevv1"); + assertEquals("object should be transfer", "transfer", obj.getObject()); + } + + /** + * 查询 Transfer 对象列表 + */ + @Test public void testTransferList() throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + Map params = new HashMap<>(); + params.put("limit", 5); + Map app = new HashMap<>(); + app.put("id", PingppAccountTestData.getAppID()); + params.put("app", app); + + TransferCollection objs = Transfer.list(params); + assertEquals("object should be list", "list", objs.getObject()); + } + +} diff --git a/src/test/java/com/pingplusplus/user/UserTest.java b/src/test/java/com/pingplusplus/user/UserTest.java new file mode 100644 index 0000000..c098f0e --- /dev/null +++ b/src/test/java/com/pingplusplus/user/UserTest.java @@ -0,0 +1,108 @@ +package com.pingplusplus.user; + +import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.PingppAccountTestData; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.User; +import com.pingplusplus.model.UserCollection; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +/* + * @author Afon, @date 17-03-28 + */ +public class UserTest extends PingppAccountTestBase { + + /** + * 创建用户 (User) + */ + @Test public void testUserCreate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap(); + params.put("id", "test_user_" + System.currentTimeMillis()); // 用户 ID,首字母必须是英文数字或者 _-@, 必传 + params.put("address", "Shanghai, China"); // 用户地址, 可选 + params.put("avatar", "https://example.com/avatar.png"); // 头像, 可选 + params.put("email", params.get("id") + "@gmail.com"); // 邮箱地址, 可选 + params.put("gender", System.currentTimeMillis() % 2 == 1 ? "MALE" : "FEMALE"); // 性别。MALE:男,FEMALE:女, 可选 + params.put("mobile", "17602101010"); // 手机号码, 可选 + Map metadata = new HashMap(); + metadata.put("custom_key", "custom_value"); + params.put("metadata", metadata); + + User obj = User.create(params); //创建 User 方法 + + assertEquals("object should be user", "user", obj.getObject()); + assertEquals("id", params.get("id"), obj.getId()); + assertEquals("app", PingppAccountTestData.getAppID(), obj.getApp()); + assertEquals("address", params.get("address"), obj.getAddress()); + assertEquals("avatar", params.get("avatar"), obj.getAvatar()); + assertEquals("email", params.get("email"), obj.getEmail()); + assertEquals("gender", params.get("gender"), obj.getGender()); + assertEquals("mobile", params.get("mobile"), obj.getMobile()); + assertEquals("available_coupons", 0, obj.getAvailableCoupons().intValue()); + assertEquals("available_balance", 0, obj.getAvailableBalance().intValue()); + assertEquals("withdrawable_balance", 0, obj.getWithdrawableBalance().intValue()); + assertEquals("disabled", false, obj.getDisabled()); + } + + /** + * 查询单个用户 (User) + */ + @Test public void testUserRetrieve() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String userId = "test_user_001"; + User obj = User.retrieve(userId); //查询 User 方法 + + assertEquals("object should be user", "user", obj.getObject()); + assertEquals("id", userId, obj.getId()); + assertEquals("app", PingppAccountTestData.getAppID(), obj.getApp()); + } + + /** + * 查询用户列表 (User) + */ + @Test public void testUserList() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + UserCollection objs = User.list(params); //查询 User 列表方法 + + assertEquals("object should be list", "list", objs.getObject()); + } + + /** + * 更新用户信息 (User) + */ + @Test public void testUserUpdate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String userId = "test_user_001"; + Map params = new HashMap(); + params.put("address", "Shanghai, China"); + params.put("avatar", "https://example.com/avatar.png"); + params.put("email", params.get("id") + "@gmail.com"); + params.put("gender", System.currentTimeMillis() % 2 == 1 ? "MALE" : "FEMALE"); + params.put("mobile", "17602101010"); + Map metadata = new HashMap(); + metadata.put("custom_key", "custom_value"); + params.put("metadata", metadata); + + User obj = User.update(userId, params); //更新 User 方法 + + assertEquals("object should be user", "user", obj.getObject()); + assertEquals("id", userId, obj.getId()); + assertEquals("app", PingppAccountTestData.getAppID(), obj.getApp()); + assertEquals("address", params.get("address"), obj.getAddress()); + assertEquals("avatar", params.get("avatar"), obj.getAvatar()); + assertEquals("email", params.get("email"), obj.getEmail()); + assertEquals("gender", params.get("gender"), obj.getGender()); + assertEquals("mobile", params.get("mobile"), obj.getMobile()); + assertEquals("disabled", false, obj.getDisabled()); + } +} diff --git a/src/test/java/com/pingplusplus/withdrawal/BatchWithdrawalTest.java b/src/test/java/com/pingplusplus/withdrawal/BatchWithdrawalTest.java new file mode 100644 index 0000000..bbb763a --- /dev/null +++ b/src/test/java/com/pingplusplus/withdrawal/BatchWithdrawalTest.java @@ -0,0 +1,72 @@ +package com.pingplusplus.withdrawal; + +import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.PingppAccountTestData; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.BatchWithdrawal; +import com.pingplusplus.model.BatchWithdrawalCollection; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.*; + +public class BatchWithdrawalTest extends PingppAccountTestBase { + /** + * 批量提现确认 + */ + @Test + public void testBatchWithdrawalCreate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap(); + ArrayList withdrawals = new ArrayList<>(); // withdrawal id 列表 + withdrawals.add("1701708221834035593"); + params.put("withdrawals", withdrawals); + params.put("status", "pending"); // 状态值: 提现确认:pending,提现撤销:canceled。 + + BatchWithdrawal obj = BatchWithdrawal.create(params); + + assertEquals("object should be batch_withdrawal", "batch_withdrawal", obj.getObject()); + assertNotNull("id should not be null", obj.getId()); + assertEquals("app", PingppAccountTestData.getAppID(), obj.getApp()); + assertNotNull("amount should not be null", obj.getAmount()); + assertTrue("created should be greater than 0", obj.getCreated() > 0); + assertNotNull("status should not be null", obj.getStatus()); + if (params.get("status").equals("pending")) { + assertNull("time_finished should be null when status is pending", obj.getTimeFinished()); + } + } + + /** + * 查询批量提现对象 + */ + @Test public void testBatchWithdrawalRetrieve() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + + // 查询 BatchWithdrawal 对象方法 + // 参数: batch_withdrawal id + BatchWithdrawal obj = BatchWithdrawal.retrieve("1901708221706050363"); + + assertEquals("object should be batch_withdrawal", "batch_withdrawal", obj.getObject()); + } + + /** + * 查询批量提现列表 + */ + @Test public void testBatchWithdrawalList() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap(); + params.put("per_page", 3); + + // 查询 BatchWithdrawal 列表方法 + // 参数: params + BatchWithdrawalCollection obj = BatchWithdrawal.list(params); + + assertEquals("object should be list", "list", obj.getObject()); + } +} diff --git a/src/test/java/com/pingplusplus/withdrawal/WithdrawalTest.java b/src/test/java/com/pingplusplus/withdrawal/WithdrawalTest.java new file mode 100644 index 0000000..84cb223 --- /dev/null +++ b/src/test/java/com/pingplusplus/withdrawal/WithdrawalTest.java @@ -0,0 +1,101 @@ +package com.pingplusplus.withdrawal; + +import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.Withdrawal; +import com.pingplusplus.model.WithdrawalCollection; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.*; + +public class WithdrawalTest extends PingppAccountTestBase { + /** + * 创建提现申请 + */ + @Test + public void testCreateWithdrawal() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap(); + params.put("user", "test_user_001"); // 用户 ID, 必传 + params.put("channel", "alipay"); // 提现使用渠道。银联:unionpay,支付宝:alipay,微信:wx_pub,通联:allinpay,京东:jdpay, 可选 + params.put("amount", 100); // 转账金额, 必传 + params.put("description", "custom description"); // 描述, 可选 + params.put("order_no", "1010" + System.currentTimeMillis()); // 提现订单号, 必传 + Map extra = new HashMap(); + extra.put("name", "NAME"); + extra.put("account", "test_user_001@gmail.com"); + params.put("extra", extra); + params.put("user_fee", 5); // 用户需要承担的手续费, 必传 + params.put("settle_account", "test_user_001"); // 使用结算账户提现,不需要填写 extra 参数,同时填写时,结算账号不生效 + + Withdrawal withdrawal = Withdrawal.create(params); // 创建 Withdrawal 对象 + + assertEquals("object should be list", "withdrawal", withdrawal.getObject()); + assertEquals("user should be same as the value in params", params.get("user"), withdrawal.getUser()); + assertEquals("amount should be same as the value in params", params.get("amount"), withdrawal.getAmount()); + assertEquals("description should be same as the value in params", params.get("description"), withdrawal.getDescription()); + assertEquals("order_no should be same as the value in params", params.get("order_no"), withdrawal.getOrderNo()); + assertEquals("user_name should be same as the value in params", extra.get("user_name"), withdrawal.getExtra().get("user_name")); + assertEquals("account should be same as the value in params", extra.get("account"), withdrawal.getExtra().get("account")); + assertEquals("user_fee should be same as the value in params", params.get("user_fee"), withdrawal.getUserFee()); + assertEquals("status should be created", "created", withdrawal.getStatus()); + assertEquals("time_canceled should be null", null, withdrawal.getTimeCanceled()); + assertEquals("time_succeeded should be created", null, withdrawal.getTimeSucceeded()); + assertEquals("failure_msg should be null", null, withdrawal.getFailureMsg()); + assertNull("operation_url should be null", withdrawal.getOperationUrl()); + } + + /** + * 获取提现对象 + */ + @Test public void testWithdrawalRetrieve() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + + // 查询 Withdrawal + // 参数: withdrawal id + Withdrawal withdrawal = Withdrawal.retrieve("1701708221834035593"); + + assertEquals("object should be withdrawal", "withdrawal", withdrawal.getObject()); + } + + /** + * 获取提现列表 + */ + @Test public void testGetWithdrawalList() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap(); + params.put("page", 1); + params.put("per_page", 3); + + WithdrawalCollection withdrawals = Withdrawal.list(params); // 查询 Withdrawal 列表 + + assertNotNull("total_withdrawal_list should not be null", withdrawals.getTotalWithdrawalsAmount()); + assertEquals("object should be list", "list", withdrawals.getObject()); + assertEquals("data count should be same with limit", ((Integer)params.get("per_page")).intValue(), withdrawals.getData().size()); + } + + /** + * 更新提现对象 + */ + @Test public void testWithdrawalUpdate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap(); + params.put("status", "canceled"); // 更新状态。确认:pending,取消:canceled。 + // 更新 Withdrawal 方法 + // 参数一: withdrawal id + // 参数二: params + Withdrawal withdrawal = Withdrawal.update("1701708221834035593", params); + // 或者使用以下方法来更新 Withdrawal 状态 + // Withdrawal.cancel("1701708221834035593"); // 取消 Withdrawal + // Withdrawal.confirm("1701708221834035593"); // 确认 Withdrawal + + assertEquals("object should be withdrawal", "withdrawal", withdrawal.getObject()); + } +} From e73dae211e90b80254f8c48796f3c352a52151ba Mon Sep 17 00:00:00 2001 From: dong11 <956176457@qq.com> Date: Fri, 1 Dec 2017 11:43:48 +0800 Subject: [PATCH 036/104] version 2.3.0 --- VERSION | 2 +- libs/pingpp-java-2.2.5.jar | Bin 57300 -> 0 bytes libs/pingpp-java-2.3.0.jar | Bin 0 -> 105878 bytes src/main/java/com/pingplusplus/Pingpp.java | 2 +- .../com/pingplusplus/PingppAccountTest.java | 2 +- 5 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 libs/pingpp-java-2.2.5.jar create mode 100644 libs/pingpp-java-2.3.0.jar diff --git a/VERSION b/VERSION index 21bb5e1..276cbf9 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.2.5 +2.3.0 diff --git a/libs/pingpp-java-2.2.5.jar b/libs/pingpp-java-2.2.5.jar deleted file mode 100644 index 9402b2f6ec39707d6e4da6293d67bffccc333a0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57300 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 z 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Ž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 P!FwNo9nHzUuRr}C@e8qs diff --git a/libs/pingpp-java-2.3.0.jar b/libs/pingpp-java-2.3.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..921cfff0c1017e3a2f887d9b794162d2bc36ef17 GIT binary patch literal 105878 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 literal 0 HcmV?d00001 diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index 2652b87..94d8831 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,7 +11,7 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.2.5"; + public static final String VERSION = "2.3.0"; /** * api key */ diff --git a/src/test/java/com/pingplusplus/PingppAccountTest.java b/src/test/java/com/pingplusplus/PingppAccountTest.java index 7085325..967a6bb 100644 --- a/src/test/java/com/pingplusplus/PingppAccountTest.java +++ b/src/test/java/com/pingplusplus/PingppAccountTest.java @@ -17,7 +17,7 @@ public class PingppAccountTest extends PingppAccountTestBase { } @Test public void testVerifyVersions() { - assertEquals("Pingpp.VERSION should match", "2.2.5", Pingpp.VERSION); + assertEquals("Pingpp.VERSION should match", "2.3.0", Pingpp.VERSION); assertEquals("PingppAccount.VERSION should match", "1.2.3", PingppAccount.VERSION); } } From b6273037bb84056f6c76fe0d593f90048b547418 Mon Sep 17 00:00:00 2001 From: afon Date: Fri, 1 Dec 2017 14:13:22 +0800 Subject: [PATCH 037/104] 2.3.0 --- CHANGELOG.md | 4 ++++ README.md | 4 ++-- pom.xml | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ee8762f..5e3176f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # ChangeLog +## 2.3.0 (2017-12-01) +#### 更改 +- 合并账户系统相关接口 + ## 2.2.5 (2017-10-10) #### 新增 - 新增重试机制 diff --git a/README.md b/README.md index 1492945..50460ee 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.2.5 + 2.3.0 jar ``` @@ -52,7 +52,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.2.5' +compile 'Pingplusplus:pingpp-java:2.3.0' ``` ### 初始化 diff --git a/pom.xml b/pom.xml index 65abd88..bff0df2 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 Pingplusplus pingpp-java - 2.2.5 + 2.3.0 pingpp-java https://github.com/PingPlusPlus/pingpp-java From c8f832038598c2a6279d8e49326078b1bceb7ce8 Mon Sep 17 00:00:00 2001 From: afon Date: Fri, 1 Dec 2017 14:29:50 +0800 Subject: [PATCH 038/104] fix doc attributes --- src/main/java/com/pingplusplus/model/Channel.java | 2 +- src/main/java/com/pingplusplus/model/Coupon.java | 2 +- src/main/java/com/pingplusplus/model/SettleAccount.java | 2 +- src/main/java/com/pingplusplus/model/User.java | 2 +- src/main/java/com/pingplusplus/model/Withdrawal.java | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/pingplusplus/model/Channel.java b/src/main/java/com/pingplusplus/model/Channel.java index b326a31..f4413c8 100644 --- a/src/main/java/com/pingplusplus/model/Channel.java +++ b/src/main/java/com/pingplusplus/model/Channel.java @@ -74,7 +74,7 @@ public void setParams(Map params) { /** * 创建渠道参数 * - * @params subAppId + * @param subAppId * @param params * @return * @throws AuthenticationException diff --git a/src/main/java/com/pingplusplus/model/Coupon.java b/src/main/java/com/pingplusplus/model/Coupon.java index 4e68bb8..2c19485 100644 --- a/src/main/java/com/pingplusplus/model/Coupon.java +++ b/src/main/java/com/pingplusplus/model/Coupon.java @@ -146,7 +146,7 @@ public void setUserTimesCirculated(Integer userTimesCirculated) { /** * 创建 coupon * - * @params userId + * @param userId * @param params * @return * @throws AuthenticationException diff --git a/src/main/java/com/pingplusplus/model/SettleAccount.java b/src/main/java/com/pingplusplus/model/SettleAccount.java index d19f2fa..fe97c1c 100644 --- a/src/main/java/com/pingplusplus/model/SettleAccount.java +++ b/src/main/java/com/pingplusplus/model/SettleAccount.java @@ -65,7 +65,7 @@ public void setLivemode(Boolean livemode) { /** * 创建 settle_account * - * @params userId + * @param userId * @param params * @return * @throws AuthenticationException diff --git a/src/main/java/com/pingplusplus/model/User.java b/src/main/java/com/pingplusplus/model/User.java index 375a87e..89b984c 100644 --- a/src/main/java/com/pingplusplus/model/User.java +++ b/src/main/java/com/pingplusplus/model/User.java @@ -267,7 +267,7 @@ public static User update(String id, Mapparams) /** * 创建 balance transfer * - * @params userId + * @param userId * @param params * @return * @throws AuthenticationException diff --git a/src/main/java/com/pingplusplus/model/Withdrawal.java b/src/main/java/com/pingplusplus/model/Withdrawal.java index d79cc9c..bf36732 100644 --- a/src/main/java/com/pingplusplus/model/Withdrawal.java +++ b/src/main/java/com/pingplusplus/model/Withdrawal.java @@ -332,7 +332,7 @@ public static Withdrawal confirm(String id) /** * 创建 withdrawal * - * @params userId + * @param userId * @param params * @return * @throws AuthenticationException From 33d2883d6a14ff3cd4e0b98dcb5d8db736b1dd5a Mon Sep 17 00:00:00 2001 From: afon Date: Fri, 1 Dec 2017 15:27:51 +0800 Subject: [PATCH 039/104] update doc --- "docs/ping++_java_sdk_api_\346\226\207\346\241\243.md" | 1 + 1 file changed, 1 insertion(+) diff --git "a/docs/ping++_java_sdk_api_\346\226\207\346\241\243.md" "b/docs/ping++_java_sdk_api_\346\226\207\346\241\243.md" index 7b16b00..ddbb18e 100644 --- "a/docs/ping++_java_sdk_api_\346\226\207\346\241\243.md" +++ "b/docs/ping++_java_sdk_api_\346\226\207\346\241\243.md" @@ -6,6 +6,7 @@ - RedEnvelope - Webhooks - Identification +- 账户系统相关接口请查看 [Ping++ API 文档](https://www.pingxx.com/api) 或参考[测试示例](/src/test/java/com/pingplusplus) #### Charge ##### 创建 Charge From 34fe113545c8a5be4ab262427d23267085ef0fdc Mon Sep 17 00:00:00 2001 From: afon Date: Fri, 8 Dec 2017 18:16:32 +0800 Subject: [PATCH 040/104] =?UTF-8?q?event=20=E8=A7=A3=E6=9E=90=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 ++++ README.md | 4 ++-- VERSION | 2 +- example/libs/commons-codec-1.10.jar | Bin 284184 -> 0 bytes example/libs/gson-2.6.2.jar | Bin 229650 -> 0 bytes example/libs/pingpp-java-2.2.5.jar | Bin 57300 -> 0 bytes pom.xml | 2 +- src/main/java/com/pingplusplus/Pingpp.java | 2 +- .../java/com/pingplusplus/PingppAccount.java | 2 +- .../AccountEventDataDeserializer.java | 11 ++++++++--- .../com/pingplusplus/PingppAccountTest.java | 4 ++-- 11 files changed, 20 insertions(+), 11 deletions(-) delete mode 100644 example/libs/commons-codec-1.10.jar delete mode 100644 example/libs/gson-2.6.2.jar delete mode 100644 example/libs/pingpp-java-2.2.5.jar diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e3176f..00e2e5f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # ChangeLog +## 2.3.0 (2017-12-08) +#### 修正 +- Event 解析修正 + ## 2.3.0 (2017-12-01) #### 更改 - 合并账户系统相关接口 diff --git a/README.md b/README.md index 50460ee..b63090e 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.3.0 + 2.3.1 jar ``` @@ -52,7 +52,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.3.0' +compile 'Pingplusplus:pingpp-java:2.3.1' ``` ### 初始化 diff --git a/VERSION b/VERSION index 276cbf9..2bf1c1c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.3.0 +2.3.1 diff --git a/example/libs/commons-codec-1.10.jar b/example/libs/commons-codec-1.10.jar deleted file mode 100644 index 1d7417c4031324cc6577a306cde57ae220f55523..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284184 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�@`CoND>D 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 JiTc_d8>l(pWkxHal{Z==e>~eIZk;#MntTD-k;5 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 diff --git a/example/libs/gson-2.6.2.jar b/example/libs/gson-2.6.2.jar deleted file mode 100644 index 9d78626d859f45baf408ae02cda8852a0e1798f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229650 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%0Dr|JO`nFbWk=g&| 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 z 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Ž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 P!FwNo9nHzUuRr}C@e8qs diff --git a/pom.xml b/pom.xml index bff0df2..1fc4fac 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 Pingplusplus pingpp-java - 2.3.0 + 2.3.1 pingpp-java https://github.com/PingPlusPlus/pingpp-java diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index 94d8831..2cf22d6 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,7 +11,7 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.3.0"; + public static final String VERSION = "2.3.1"; /** * api key */ diff --git a/src/main/java/com/pingplusplus/PingppAccount.java b/src/main/java/com/pingplusplus/PingppAccount.java index 2cbaba5..121c687 100644 --- a/src/main/java/com/pingplusplus/PingppAccount.java +++ b/src/main/java/com/pingplusplus/PingppAccount.java @@ -4,5 +4,5 @@ * Created by Afon on 2016/12/22. */ public abstract class PingppAccount extends Pingpp { - public static final String VERSION = "1.2.3"; + public static final String VERSION = "1.2.4"; // 之后不再更新此版本号 } diff --git a/src/main/java/com/pingplusplus/serializer/AccountEventDataDeserializer.java b/src/main/java/com/pingplusplus/serializer/AccountEventDataDeserializer.java index 7ea436a..e13340b 100644 --- a/src/main/java/com/pingplusplus/serializer/AccountEventDataDeserializer.java +++ b/src/main/java/com/pingplusplus/serializer/AccountEventDataDeserializer.java @@ -35,17 +35,22 @@ public class AccountEventDataDeserializer extends EventDataDeserializer { objectMap.put("order", Order.class); objectMap.put("order_refund", OrderRefund.class); + objectMap.put("user", User.class); + objectMap.put("settle_account", SettleAccount.class); objectMap.put("withdrawal", Withdrawal.class); objectMap.put("batch_withdrawal", BatchWithdrawal.class); + objectMap.put("balance_bonus", BalanceBonus.class); + objectMap.put("balance_transfer", BalanceTransfer.class); + objectMap.put("recharge", Recharge.class); + objectMap.put("balance_transaction", BalanceTransaction.class); + objectMap.put("coupon", Coupon.class); objectMap.put("coupon_template", CouponTemplate.class); - objectMap.put("balance_transaction", BalanceTransaction.class); - objectMap.put("user", User.class); objectMap.put("royalty", Royalty.class); objectMap.put("royalty_settlement", RoyaltySettlement.class); objectMap.put("royalty_transaction", RoyaltyTransaction.class); - objectMap.put("settle_account", SettleAccount.class); + objectMap.put("sub_app", SubApp.class); objectMap.put("channel", Channel.class); } diff --git a/src/test/java/com/pingplusplus/PingppAccountTest.java b/src/test/java/com/pingplusplus/PingppAccountTest.java index 967a6bb..a8e5c3e 100644 --- a/src/test/java/com/pingplusplus/PingppAccountTest.java +++ b/src/test/java/com/pingplusplus/PingppAccountTest.java @@ -17,7 +17,7 @@ public class PingppAccountTest extends PingppAccountTestBase { } @Test public void testVerifyVersions() { - assertEquals("Pingpp.VERSION should match", "2.3.0", Pingpp.VERSION); - assertEquals("PingppAccount.VERSION should match", "1.2.3", PingppAccount.VERSION); + assertEquals("Pingpp.VERSION should match", "2.3.1", Pingpp.VERSION); + assertEquals("PingppAccount.VERSION should match", "1.2.4", PingppAccount.VERSION); } } From d1a3720c78ec84cf6b22a3d97ccf0b928fbe3fdb Mon Sep 17 00:00:00 2001 From: afon Date: Thu, 14 Dec 2017 16:52:17 +0800 Subject: [PATCH 041/104] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 21 +++++++++---------- .../api-reference.md | 0 .../guides.md | 6 ++++++ docs/readme.md | 5 +++++ 4 files changed, 21 insertions(+), 11 deletions(-) rename "docs/ping++_java_sdk_api_\346\226\207\346\241\243.md" => docs/api-reference.md (100%) rename "docs/ping++_java_sdk_\344\275\277\347\224\250\346\226\207\346\241\243.md" => docs/guides.md (94%) create mode 100644 docs/readme.md diff --git a/README.md b/README.md index b63090e..4357451 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,20 @@ -Ping++ Java SDK -============ +# Ping++ Java SDK -### 简介 +## 简介 1. [docs](/docs) 目录下为 Ping++ Java SDK 的使用文档。 2. example 目录下面为一个 Eclipse IDE 的示例工程。 3. libs 为 Ping++ Java SDK 的 jar 包和 Ping++ Java SDK 所依赖的Gson 包。 4. src 为 Ping++ Java SDK 的源代码,可以关联到 pingpp-java-x.x.x.jar 文件。或者直接把源代码引入到工程之中。 -### 版本要求 +## 版本要求 Java SDK 要求 JDK 版本 1.7 及以上 -### 安装 -##### 手动安装 +## 安装 +#### 手动安装 将 libs/ 下面的 jar 包导入工程 -##### maven 安装 +#### maven 安装 maven 远程仓库 ``` xml @@ -38,7 +37,8 @@ maven 远程仓库 jar ``` -##### gradle 安装 + +#### gradle 安装 gradle 远程仓库 @@ -61,6 +61,5 @@ Pingpp.apiKey = "YOUR_API_KEY"; ``` ### 使用示例 -``` -参考 example/SimpleExample 示例项目工程。该工程提供了付款、退款、微信公共号付款相关的 demo。 -``` +- 参考 [example](/example) 示例项目工程。该工程提供了付款、退款、微信公共号付款相关的 demo。 +- 以及 [test](/src/test/java/com/pingplusplus) 目录下的示例。 diff --git "a/docs/ping++_java_sdk_api_\346\226\207\346\241\243.md" b/docs/api-reference.md similarity index 100% rename from "docs/ping++_java_sdk_api_\346\226\207\346\241\243.md" rename to docs/api-reference.md diff --git "a/docs/ping++_java_sdk_\344\275\277\347\224\250\346\226\207\346\241\243.md" b/docs/guides.md similarity index 94% rename from "docs/ping++_java_sdk_\344\275\277\347\224\250\346\226\207\346\241\243.md" rename to docs/guides.md index 87191d3..6ad8646 100644 --- "a/docs/ping++_java_sdk_\344\275\277\347\224\250\346\226\207\346\241\243.md" +++ b/docs/guides.md @@ -27,6 +27,12 @@ openssl pkcs8 -topk8 -inform PEM -in pkcs1.pem -outform PEM -nocrypt -out pkcs8. Pingpp.privateKey = ""; ``` +#### 设置 App ID +当你使用账户系统的接口时,需要设置 App ID。比如,充值(recharge)、提现(withdrawal)等。 +```java +Pingpp.appId = ""; +``` + #### 创建 Charge ```java Map chargeMap = new HashMap(); diff --git a/docs/readme.md b/docs/readme.md new file mode 100644 index 0000000..6a89c00 --- /dev/null +++ b/docs/readme.md @@ -0,0 +1,5 @@ +# 文档 + +## 索引 +- [Ping++ Java SDK 使用文档](guides.md) +- [Ping++ Java SDK API 文档](api-reference.md) From 9408003339d6ca60bceababb3622648fae14ce4b Mon Sep 17 00:00:00 2001 From: afon Date: Thu, 14 Dec 2017 17:58:50 +0800 Subject: [PATCH 042/104] update jar --- libs/pingpp-java-2.3.0.jar | Bin 105878 -> 0 bytes libs/pingpp-java-2.3.1.jar | Bin 0 -> 132365 bytes src/main/java/com/pingplusplus/Pingpp.java | 4 +++- .../com/pingplusplus/model/BalanceBonus.java | 2 +- .../java/com/pingplusplus/util/WxpubOAuth.java | 3 +++ 5 files changed, 7 insertions(+), 2 deletions(-) delete mode 100644 libs/pingpp-java-2.3.0.jar create mode 100644 libs/pingpp-java-2.3.1.jar diff --git a/libs/pingpp-java-2.3.0.jar b/libs/pingpp-java-2.3.0.jar deleted file mode 100644 index 921cfff0c1017e3a2f887d9b794162d2bc36ef17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105878 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 diff --git a/libs/pingpp-java-2.3.1.jar b/libs/pingpp-java-2.3.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..a1401c1d2c1ea2a4cc1a99f03a70d407d7f70b26 GIT binary patch literal 132365 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

    Sy~tqV37JpsU7EDB@}(S4W1t@ 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

    GBGDl9xD)sM)fBS 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 WGH?I_{C$8wg1|LT>o{;|hWmdVsu2DF literal 0 HcmV?d00001 diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index 2cf22d6..d6c05a0 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -35,6 +35,7 @@ public abstract class Pingpp { * (FOR TESTING ONLY) * If you'd like your API requests to hit your own (mocked) server, * you can set this up here by overriding the base api URL. + * @param overriddenApiBase API 地址 */ public static void overrideApiBase(final String overriddenApiBase) { apiBase = overriddenApiBase; @@ -44,6 +45,7 @@ public static void overrideApiBase(final String overriddenApiBase) { * (FOR TESTING ONLY) * Only disable SSL verification if you're using your own (mocked) server. * Disabling verification on pingxx.com is not supported + * @param verify 是否验证 ssl */ public static void setVerifySSL(boolean verify) { verifySSL = verify; @@ -70,7 +72,7 @@ public static String getApiBase() { /** * set api url * - * @param apiBase + * @param apiBase apiBase API 地址 */ public static void setApiBase(String apiBase) { Pingpp.apiBase = apiBase; diff --git a/src/main/java/com/pingplusplus/model/BalanceBonus.java b/src/main/java/com/pingplusplus/model/BalanceBonus.java index f94cf5d..823ea93 100644 --- a/src/main/java/com/pingplusplus/model/BalanceBonus.java +++ b/src/main/java/com/pingplusplus/model/BalanceBonus.java @@ -146,7 +146,7 @@ public void setMetadata(Map metadata) { /** * 创建 balance_bonus * - * @param params + * @param params 请求参数 * @return * @throws AuthenticationException * @throws InvalidRequestException diff --git a/src/main/java/com/pingplusplus/util/WxpubOAuth.java b/src/main/java/com/pingplusplus/util/WxpubOAuth.java index 40d0bb5..03341bd 100644 --- a/src/main/java/com/pingplusplus/util/WxpubOAuth.java +++ b/src/main/java/com/pingplusplus/util/WxpubOAuth.java @@ -34,6 +34,7 @@ public class WxpubOAuth { * @param appSecret 微信公众号应用密钥(注意保密) * @param code 授权code, 通过调用WxpubOAuth.createOauthUrlForCode来获取 * @return openid 微信公众号授权用户唯一标识, 可用于微信网页内支付 + * @throws UnsupportedEncodingException */ public static String getOpenId(String appId, String appSecret, String code) throws UnsupportedEncodingException { @@ -57,6 +58,7 @@ public static String getOpenId(String appId, String appSecret, String code) * @param moreInfo FALSE 不弹出授权页面,直接跳转,这个只能拿到用户openid * TRUE 弹出授权页面,这个可以通过 openid 拿到昵称、性别、所在地, * @return 用于获取授权code的URL地址 + * @throws UnsupportedEncodingException */ public static String createOauthUrlForCode(String appId, String redirectUrl, boolean moreInfo) throws UnsupportedEncodingException { @@ -79,6 +81,7 @@ public static String createOauthUrlForCode(String appId, String redirectUrl, boo * @param appSecret 微信公众号应用密钥(注意保密) * @param code 授权code, 通过调用WxpubOAuth.createOauthUrlForCode来获取 * @return 获取openid的URL地址 + * @throws UnsupportedEncodingException */ private static String createOauthUrlForOpenid(String appId, String appSecret, String code) throws UnsupportedEncodingException { From 4e8c755094e8b9cc6597270e472eac081a366016 Mon Sep 17 00:00:00 2001 From: dong11 <956176457@qq.com> Date: Thu, 21 Dec 2017 17:52:36 +0800 Subject: [PATCH 043/104] =?UTF-8?q?=E5=85=BC=E5=AE=B9=20JDK=201.7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 6 +++++- README.md | 4 ++-- VERSION | 2 +- libs/pingpp-java-2.3.1.jar | Bin 132365 -> 0 bytes libs/pingpp-java-2.3.2.jar | Bin 0 -> 105942 bytes src/main/java/com/pingplusplus/Pingpp.java | 2 +- .../com/pingplusplus/PingppAccountTest.java | 2 +- 7 files changed, 10 insertions(+), 6 deletions(-) delete mode 100644 libs/pingpp-java-2.3.1.jar create mode 100644 libs/pingpp-java-2.3.2.jar diff --git a/CHANGELOG.md b/CHANGELOG.md index 00e2e5f..85f34a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ # ChangeLog -## 2.3.0 (2017-12-08) +## 2.3.2 (2017-12-21) +#### 修正 +- 兼容 JDK 1.7 + +## 2.3.1 (2017-12-08) #### 修正 - Event 解析修正 diff --git a/README.md b/README.md index 4357451..72b0fcd 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.3.1 + 2.3.2 jar ``` @@ -52,7 +52,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.3.1' +compile 'Pingplusplus:pingpp-java:2.3.2' ``` ### 初始化 diff --git a/VERSION b/VERSION index 2bf1c1c..f90b1af 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.3.1 +2.3.2 diff --git a/libs/pingpp-java-2.3.1.jar b/libs/pingpp-java-2.3.1.jar deleted file mode 100644 index a1401c1d2c1ea2a4cc1a99f03a70d407d7f70b26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132365 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

    Sy~tqV37JpsU7EDB@}(S4W1t@ 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

    GBGDl9xD)sM)fBS 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 WGH?I_{C$8wg1|LT>o{;|hWmdVsu2DF diff --git a/libs/pingpp-java-2.3.2.jar b/libs/pingpp-java-2.3.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..cc1c2c4198e642b5162eac38c7ca219527c3b132 GIT binary patch literal 105942 zcmb@uWmIO#k~NIGyF=mbu7$h1ySqCSUbwrv74Ggt*Vt%bFIvMB4bDFh=YPOC>RV75EKxQTXeEC(0}=Z1_A?;6;%fLrr11Bt zP(ZF9Q=d(XK52bSH~)ChKAwM0l@*ke6cbfep_diAk)0Tqk*1@cg_owIo|>3$P-6VS zvbFCtA&lZkDlf49ia)a5Uh;QhNL&ZbV5hBlU7 zrcQsc664>kbak=(*9L!o*Y5|)pm-oaK-Hi?K=}V|jlyqGI?x;27&<%qDy=%rDWK_w zX$#>{&7@d$HQ%9BkV$n-Sd3ujMFp9{kQfs@&v6OC92+Ejf-Jeq^ilAfx#~j%6ymuX zQBvX)PHC=qpLgAp9Uj(P3IL&9$pnDVg_B;tH<9gj$0C~8&`^GUhz>&`kfdbRsaT3S zQ7qTwp-$CO4Yhd-j&0pIbW^tv4={DtS5O$L8Hau9)3x5@ zHC8wpV1&%sUxstMXm3IguJ~b>SzVU65$8_D!Nm-@c%@mXYHko#B&un8fn3-MYCRZ& z{k6D6EHRP*`a*TwUZ06}l2yYkt9#7$gt5+gCB@-`!=b?VN06!-)JJZI8_+JdTBPwa3T?XZKu3i){U1i`Eoj~Zf2%`~1f^JsB zdLr70lP14ar*FAPFUg%$Wld;GzBl*n%F{OSewr<_t;P%_FD&d zd}1a-oBhu{w?DCFp}PVmlt(w-^i8oJrd~Fn5}j9;u^hQ) zZ300GH;JM@{R$tk|Hq~L-K-2~=|EdQ%xUN2A^o4tO3>KY-qp_Kck6PE>4EA03^&~K zW6|m@jDCl>wLB6uwt< zKoA%mR~45n@Vp9PR!M;UQtcb#EQv=s}Ye*@d3{@~wP< zUP3ZC4Rk~!12YeM{_BmGkyV^tCJ21iI_x>MK)*m+p&q5;6mn(L;_R;UY~-WBnM`hN zPfK6&Nu?$Q0pdYp+a>|Bvon4EQ3|T4Mp(yvX%?+F( z9$lAOWTjY#qz-XKfP-O*DpbCnld8ueIr$BCWj!_G(QD>G&HG9^WcwrbFage4PPPFi z-JlMt81hd%G#7^pW)=fH$LRT4m|Lw5M3kOq;qLjZjH1E;^a3xS+&|)|ny%_R|A8O= z2aa_AD~^9gFLvAtL=Z{T{t1T_C**9c?Hb*}p%P3)7porW$4bl3v=q4q#(DDh6q>#e z!njzNazPXwO@*5A0PVXs=Wd{*d@Ui2eV}BZ*kG*!BRbi#9TA?6tQhE9sj{dn+0I7( zB(s|9RtRJmP}?T|PcB;aJWo_1@oqE+{EKd@J&G8YbuS4th0o`4aky>K)P-MB^4r`9 ziH&%fUr1&15vqzLw+77yzXYIqt^ z?+3~~Jb`iR5x#)`5gkMUW!l*fR8T(9;rw6FadojUwR5pFHvBhc#&c)C#18=hK?31N z4`BvD;0B@R2Ei`|5wP>4U}7+<_D8|a#A~O5Jf;|g7=svu-r;NKPQqYkLhWGIoQfI* zl!1wfLBrU@IBlJ=3DN>!Oo~?e$F$^x^b#UH)%OYMmPI&Y69dO7dC7glEt4%H6Go}2 z=>-O$?`V5T7(umuR-#T;g3vSMz9Vx9Q9n8pCiX;-me9$kM)N|%m4PH$fvVF4;{%|N zu=576im)`WGy+(0<3#L(C>L1^i0}#YL~0YGDY~RcD7Ej*>?Exm@@MH!fn%dRs+zQgpYquwOutP* z7hW8=k~wiqCScwZJ=S8POb~hQ1$zxHwAw5k-?MM>I5=$O1>g($CrrGm6qctQ4&6T) z^(z;LT?bJmCPa?=f7w#49Rbg(POJ>mOpQT3uPV=Gc7TIrLpn264bwi-IVdvaxNEDd zEJWYDdN$7`y1WG));?ytpV6xO$(<0B@_?}0^cwjmZ&$bqhk^Y8?%Mxuhmv+~A5n{m zlBuJssk6&}!&z4PH=LFKg>xawQPYt0ox+vE>!`17YHNa>QGNM4Ex0IP3lSh5o>?N4 z9~ZK|;&~IA{cwNyaEkjG@x>L(!qx~hCPWw3R)}Rk+#r8CQAOn1&P6UyTF4k{Oogf3 z2g7Vlr0%Q1Fs&g=p!416!31nNTqkZa6!tCjLO`5QHZnx^ofDPQOPt8`8UNl}wLD|! zY!a#!u=?&!n_FqehW)^BPBeEjRF@>{jZyTlVambkE(0n74c&L#F)rAl+YA9yURBIr zoPBhbIEN0MQuIrW6+q%Yjf8R4`aa312-ad~!prer?8tdNhw`_$y4CKjUR)hhjPgBw z-mj{~6?J-M(Xtr9jqZfXl{vC<6}M1J{`kFReT}alnQ{2H1DF5 z<1cMg2>-%+E054G>c*LzqF=u{XI26+L0(blcE@U9Gom}h%p?1LX`ZxeiUiGD07~@+ z`V(HwucU2@A2^YG;KlOScqtjWn95k%TK+f7jP0@#5=07_esrI;Ks!4-Ly4v>Vp}c? zG5VCT=C?5P?OR8x_fp!D6nZTH*r#kuM?`YJ_Z6R?lclt00J)c@g3Lq_K>->dQAS3+ zI2TMU*VsT<2pljREVa2ZD19ny=|&wZjg${4sk-MAI<>5i*H^-_Tr#>awq08H|Ndfr zcJE}U^1wy9_iR`Eow7jWh<05~Bud;YwTSA+gOX^@`H+kk+pP9^n0k2h1z=t!#*Q&# z6yWSbi8K0Xx~o?k0$4ujr?am?@s!GU@T&W9hNHvl4eUR%33jN?E9*xRkOd9|MD*`q z`aQJ~{6`+(nz(8=|M|m=CdXV)Lh-ngj4ds*(HN6h;FA^N6^hGxS4pyHTr^_-f7 zwbP?sR-Z8)Co~>KH>b+do|9Xq7AA+* zda$>QrwLbaI5KrOHZoJ(b^bDNG(bw^PXbEdS!b&KsjjIHbN+^w<0Lky7qNkCxNaAR zk0L^{BZbd_DI-+- z*(u3f5!yd>N+jCsh4~3_=Pd+V6*!ZWMEBZ;qhxa1T#MEy z8XUEJOO4%hW{@hmz+ zO~nBBz3$@e)7JRV(+*&dP_BT@q#e(I&4gXg0Q;?GFa{_eRBh%?A^^|aiD-cR zcqJxyH_4DR$kM)tgx%f*W2ot2ba#8`~hlf2~38JO0y~U?EN*NEzPOx z*3e+@_X0|A9PUXg)gZm=U~H)C4ZIur_I&$T+p35NZ44X;<4WafYuNcuVbv950bab0 z`3FgwWQJ;M8K{jQ;1o#X{Umuc-MpKCCEXg@P8RxbFg4MM5HDReeUGGHo{4}2ja!)! z4(Wh>ZXB=ieg;pqruRi<lLP;4DlyIJ6*n6y^Q4v z8;ydiM4f8X6k~9Ta-Eg9dl_RVKzZ)*W zn?xUKXaO&YSsA??g?2J67cnY<1Ew_H)81__$)aV>F_}oI8(QzT)}@qh{oz9{D3!Sh z7vmHNGrUR|R^3;66ook!@atzV)d9Db(6qXofX~8ZRQy{l(~e_irpk`4I1E__MulUX zlLxr=)>LQQ8)|P&x8 zD{ON*{l+Uib7riHzvL`9=g4(v+mdyXw<>gRo>F%)>YWwCOLR&PoD1dj>BDOgx?>Ps ze9Cr7@Ci>JMMg?-rq&JZaHHgMDN&Fs8-sQ$wA%#J=~u7IB`Ge-pgfnFMVD!cT(}lfy@DQ+CaUZajhs}60y&ZD{UYKkQATzUV+zeX+_-yX$$NAmHuIHgL71@nFK93wi zboaBtcd*BO4XC+_4zRz<4!Crj>_vQ390+P@0*Ckh`HGLccl5$(`dq-v;L~!Dd}M&w z^aQ=))HbG7OPtk9o&NgMV(2bEu)*plhG?q_svlAiLN%skb(}kXX^v0SN((>g4W9N0 zOOH`PGyaWTjoG|+PPNT!g~sHX>uZr=PkWv-xaRo!Y|62B{m$Hy<9vpD;b%z?&(&Ms z?fI&-OkIs14tZT1OAGtfnnuyZPsG_yuUesVyWfB5xYktX8?t$K0RK9TVY|3$rxHnx zd&l79lU+S;!V}mEg`XGrnbUp3Qn)+=sA3mPWtH_826?+J%!GSyp~GnrC(%82DALA{ z;VE!5XPvu47~z|3<=D9w)nWG{3?H7gDB?l1V)i=e^;4RE3=+C0nuMDvn_cF6=4m|5 z=h3C){n7kN!|fNILO8r_!6h4k&q^*f;wKz77)yC27fz_Un~fq+GT1@trxWci`HCDx z1F#Fv?JcD4)ZU@EN&}IX@BvAr=KXXuuM}QN`ksU%FWFhf+o~5nU4~e#zGI#QX)fWT=IanTc$hTHA^B?QdMk^PtG?rl zqOY*~F{tdkq3A2^zM%+2np?Qhb+^SV*u4$RD>&HHIeIcFN7Ig{r8#sd5 z54AHeKswIE!h;XX?}@9f>=EhVCj~I;1%%&F=HpR8E46>wr`(B=pmGMqPQdC4r~3&} zl%Nr?kRwwPKe4D_cv_XvCb5@#n^bTG!#{wDy87!+i6LM-&bIi&p%VO05zp^b{$Cxd zu)U4V?;6DKF7{tJA;E7sp`058y&Hs`7zBIfMCSwwj~Ij*{3N3o1jgZOl8P9_)Yimp z=U~DdF%eHM1($$&4-pGP7g1>=R`8v3K!npR=w~7DsV6S3@-edXCr|cPG;Xp3(gU(m z?)}4L4DD6T8^&73T4v@WlzbdRPLd$*_$dPg69bTEBrvQ1Bn!+q6VPk0J|74OwW@Qt zDBOIQ!dFejT)vX`$uoD6h5X1jUCn`>ccFu->Q(gW}Dr(y5xT1rC0$_cF1E1#*jk(g_X6z_he1uy-dt(*=7-VFI?wLUZvv!1YUzc35*PNqHO}^!LdS*TI#9= zwnefFcJHPi6j>tDOM&Qn@W{r=XQ%Ih6&HP9ZE)XDoV0y^>@sQ*sudp7)T`2@oHt_FMGw%TZv(P!k)VqCC^Cz5aJPwwT$6>xEpKFcx5^tAFCf4FpyrRReQH5WpFcw%N zusAWh!J&yda86gWa+X*-J6yaq+pI0{#v%ihgxT9ha1<&&727O6)doB9!q$%<`c|#6 zkT~7_OEC0&f{WDMvjDnoWyX!r=CstpOnW`|m3wMb_iK|(LR1P`4)r@X?DP199y$a$ zJ#&S=isKSNwlw}?ii(bW`Hh5~5kW|opMmeoF%o=Vh~l|A3;pa*K(y8=aa zoVLnGy*^J*VRe{-RAa$0>50{*W1l+$uO*nI;6x7BB~zEd{w2&MbRCP$Onl3yCR>f_ z5%=C*|Z;+EjOQWe*eK^Uv!k;$D=={&mf@cTqb0eCY0!zHE-y)f3(jTFuw z!&1rAtyy-Z_AL_5So{?(Q8O(|K)yeQj`L4}UN24ZAVFmx0&BuRWLtu2v_ zJp@pXnDlc4`|WWP%#Y8pEJIvKZ*Y@xeK^1^Wg2CF1zAo!qN3cqk%VMJ*3 zuZnz#{lUHw+g}QLj{3I3lEz{LLx0feHF9iUSLCTsnZ1F%r5APtd!;{Z9M zzi|M@-#CEeKjVOV?(+)RkCfu#Bc-7I&yH_q>hzDS;>8_R6=|erRlHd;6+`K}Fad~= zWF*RGOc&> z=oL0qgo}B`QoRyFMxgBLR-=5C6VaIjQVVxq@@v|OW437BmU?hNz~EW%Wk>)0vMtt% zB3)5v*Va;J*-G`1sF56)$&xCp=;z2fZmLmTZY0yv6DYC8tD|693C%2M8-~X5_+4)Z zcD5*&hAwpE6wp$w%RAbyqt(mtws}1SLUc}RuSL4W`|}M`S>gc@jn{n#D|L(WQc*HP zrR-iwE!+nlaxO`7j2u2OZYp16i@oJUM7cYg+6>q0+{5mU`*coey(Llk$?VDT>6?^U z`KK_GVN6K|QcmWW4eNzjz+J;vN;vn}>OBXHh+5XZfF6@k6c3vsvU_T_Uu-a1Hqnr=W>4EjHXzu zj~n5K#dXXLk)>sCSnfBXxoD|{U!^aVa_g#?w<+7D6ENTKcX_DMoob815L33gVZnHDxyZ^- z=Hyq}%FZ?WwMmVi?Vibm+i__Y*PSY!d#}Kq@Was_T)6eEqH7nHtcDU*#`BZNW#^sW za})RqDNYS<6I#LRKm3@ru~^M!4>-TgZw=s=eL0rDgL}74@M`#>T~zWjhAr9soBOCE z^|i)j!rP~Ecj@dzFO3uA^73mzNwF$~GctP!0X2z>(s;Ha__=iw|K3*QOl86C?Uduq znXAeyKQPFBmlR&NIJxMvCwzPuf0amg>eo1eOO;1Mx{YE0iC3recC6)DN9|Gh=K>3i zzgCZz*fts6MkPR!?_-$PT2p#VB4|P5uNqRPdd24JmfB{~>XhGZ@cJ0c8$EjZr%$f@ zLUIQhSljXRbw^HXSmBc}+PcE0__DWo5q!u}sS)&Da>S^j?}l+t1h&3_RJ zQYo+@_-}*~WB4~hLH!${;QwcY0=7M|SN%aK;;2AClz(-07h?-0Q!`gPli$gtOWo2L zRUFCpR5*2MSON=0h;xF>2r2>Jn8kec0}pvov%h& zA2xP(-Wd6zc7@^T%=CnLoj20h=28shiz(IKsD-~(2pmN#P)^6)S z?wrWXTB97+fptoV6!1L{_N2^a*LljKUyd&pTQ==to;I zCeln4MebEuB;&tJJ724L1yA#hPbHtfmK{zz>!DCP<#c1uu{`91j}z-PGW$3Y+?$LQ z6uaqUkhdMXOk%TZPVHlj-+&{)XEYxp%o32cWY5j8Q>WDXMzk5TwiCC>HaVWhaI7VM zBiz?303&>OU_Y675H2D-(8hOqm5X8}aauK&0|beQnc@sqdOU{rPSRk6n^XZ)%!$e& zK+G49mn*u&4b4i0(xy6saMhQpExDLEY^Fi;Sqk~xVQO=0cf zl-M;!hPrj8g-!#U*5Mx zlk9Z^D+ybiYXm)RxYO&(@aU~b_amj4@HwacN6M(!fk)CP`GH5;sA;w=J)=-|%-7l- zPOYD;W*E0F*6HF>Q9iYr?D~VM=2p&nF>6V8C|OOKDt?`3skMQscZ2U8d^HiyuZw4X z$4%1 z1(HfUk4(=Ay>mTacb*?WHP$>p`(BK<(09R&N*#&k-)@*$M_pZt1gcCG;ra8cT zqv@7EfyV)KVvlBNWYcJ{N^l8eW^F9fTVE4Ew*F~v6-MLI!XUdik;`~0P4L38&>{v4 zAv5osjiIiy6|0#t7HP<_$2s42d9Mb8kGBNY<;7*u=hS$xhx7u?ue?PzNIHCABsRpH2gayHr`#KO0;-2WIrBBhocPT@?fA%Od@xr zWO9eb%sO;EPq;G7B7VZ%fQQIXyKudqN?T)lut15PmTtd1&2~1*dn?Wc)wVq4O@VZO zuF9ckDkSEEnQ1hy2W7Vn!g^m5D^f8oSJ+|%p=Ek+ zO0!&E7}|p8#&zbneCVJs(1BwEJka4V--~&aqto7_V}2$Uz>;K%1x^U%O5sQ#8E^-F zt4;dWD-UfK^Ex3tAQI{*vM1BdJPoELaAP3?F~BL$SI^ELsz@0N_TBB5PM#B9ETuN0 zkLS0DhciFLColF=jeBK?j=D*Th2ka?mdiw6R`UV+yjsP~sBYSe(ri8{hw}WNB-$sQ zVb}VpEo);0#WF6nW(6^!;p8%?bU962-wHm>JnV!gBJp7#V*5`8%UPcJxD~r!tskOh zXM-)Qz9BwDDUTh;N^d4E=l669apX%8s)7rscyKrWXs;SxI9?9kBBye*94a(;+k)7c zP7+%J>Y@OkOZA}J7z+1cNZl&!1Me|G$cD zRyY5{*d~S49IUt``Jh@*%e;+p=9Uh9Z?j9c#rf!8b1%VujkgJdWgNafD$O zHp(2sJY<04W*gHCI>Dw4xm|^98B;hscJHVc_{?Y))T({DiYnQx%>Eqqd>jaAsjVgE zk}){j&?ItY+t6+tK7hyfE0t7(6tfdcZFy{zAN7{2Dr6c-Y!k~~%-ne;v-FGwvA7l4 zOzB`0htqE8HNAz{E^2ct(Rh7Ks`A7GU)W-3aE&GQr=_%1Q|A@-CUFA z3*m8q^cp}iaxykdsk7d^np5FVn-7zlwtQvpr*c9UWpq?!jP6xDAQ z$!tZHkI&I6qv>FMQ;Xq5qu(l?k%Ltik(u#|^6V-FoL0RuonL!#!#0k~g`wb2XGgyJ z<_KUn0^g{4@=QjL^2NjNO(6vwh@<_iJyZy}zCI+V+#oh3gN#%=cU{1vzZL1Lrujk8 zO5>L&wiYBa67YblD3IY_jax;WETcAMnM${DV=cK*&kjFArg1#!!cfi=Qp&GmvV?w& zk@;ND!HVu+c%Izk$F1i(kK-&CPBu`=>_a|q$n5iJAeGsNtgje-(Z22C1zcUbSXz>9 z)U~$oArnq>8SSE1YZhOZUj9{|q~>cic{l}7k99J-s6BQ1Ag_Ta(ZZvD+b_=?F$6WT zy}GH_9=75xg|I_($uvG&uAL($lzL%jq#iWatcIJ zU2Z7&q>H`bFj*p9iQ8!4a-|zu^{2t~;8R4p99iX`qsYBRTQP|}Uc^he3#KaXoL2Ab zr~qs}g}v~MGy^R#uRt$k8j5mjFgmbHQ~;9KqF&uv-GE%f9*~~i8kjXu9#YQjUN@b9 zY`_uSPd4@{RnQZhzA#yMb-{2wGyup~$uFAFF;q^*j668FCxm8d)W%jCpRFTg zuzH#b>!SDq^ci)PEz>$CrGuWMso2UXLRVC=%~l8$#Hr+k-@2%L<}ATuVrZhTG@4Ut zU2-D{PIsj>5O@0`P7~WX?&C5Ry;UON(`{sO&7cn}JES}qV7rTlI&^E{Y1VAESuBV{ za$lYU>*ivwGN&Ljw=?t2EF4T!0`GT7R1#ACQqna;z#6teMb#Z006#~e! zwd*Q-%h33!W#L8Zx-HKd1_OC1-x&Vx9ayWMTT!Owy_2kKn3cTU!%C32!_WX!hRWf@Al5s}`PhMDvdMPq!)|RSa{_ z1S*b?TtXgfVIxBTD+EHMerwKG9j4CE0Z2m$pqhQaje!Q(#}9J8J7HLCMAr+aPa+b% z^W&3I>%?|uh=V|wK2hik*Q-#g1Q4Rbj7C8ls%E^u z!L+=<3)Z4qlR$QzAXXRTJdF`2M4W{@Mr?aF3idQFXMkeRRbhIY+XlTCm-AIhB4P_3 zkDqE{sGwg5Ye$EcdO{Rt4y0X-VO_P1y$@xU&Fk2vaU4o{br6$-OwJZne{G?k8P@T! zv2{WSkDugrV`6*hYZr(4_7p62%P8#{CbtQKR_9nN0mvhF2XcioZ%j5?deD$&M<$>L z*ryiWE>wF%KpKvepCvA+nMCd^>j_A*Ad=q@rWXZaRn4 zP^5^9b7!+Ic;&(_G47}#Vc#|E zLtow1;!MQMcSHkKHk%j&i;-lh)9SUwZ$daQ#}27xd6UxfYEB=evDlwP&GuV2+Z_!l z@1TDSGO#^+*-Ac$mgpnMVEqpX_x~!);Fc2`C7^3n<8c z6Hu`KGXVvgL8E-{qpeK);}fKR+kN+sTJ%RS{f|IH$<)}=!SbVD`FAbFHSt&pRS;>! zo6G6^V5{3cmh`J)CpaQV0VNXH;OTt5=8jSQ%Fh*zeQnF+BvrqU4m`^7V-s%3M#=rn zdA_&P^Yo3^rAliWutlI%KwC63d?=(raN%%>+Ng&?|zFQ~xCV?giCvi}UQ`#$T zglzj_@mnCV(^YCYgTg zc3HrVyLa}Mx8sO_Y`P4EpG)h2nJJ*+V5v^K-ITm|c4;Mj4%UHhm$$+Gnw=)scCgA* zKZPvuVkpB7^yEmADKs9LWRg0eK zU{1^#(_zD#7}wbgLu<&BxjJwy3e(ORrl2BD!r4_P99L~Ui3{7EA|WBV9W2XCEghF< zk5zCSQa$T=NyT4PeIcR5O) z^0TC!l4OCxvv2jz-=}Cg6k1sFwpAs&h`abL*(|*q1O#97k;GYg}BY}So(nEmpJ4Nt$%Q(*Kc3v@fEPj zOF;aJ5E%yDGrnuse_7`d40z!s`1A@KDGu$wJQ#*XFlqF}@>MAW-OY`uqW1eVz1Sm3 zGjKLw#OD|Hw!Fp~(JNIfZg5SVM;3rLb_81A{0eLvmp6y#6+4mwdUNlJbbDHpSM(8< zK%ULv@lT4YXs34d%ZKWy|DihmWf|+^(x_XySeQ5&x*OX3y^NK5>^?7s)GN+KOGq4^ z9b5vgm4_z>f<=i$Nk!%e?P{ID`e`N;#xqMNK!rGE9P)@ ziB72ocBar*->t zyQjo;)gUK-9kA<)X^KG|i7c6pu*R{av~J6X_dP-Hy5i^HTQyV=i@#L~te z^#fAINm^%R#|O@2Z)JA*tD)Z%(`3;d3kp=-juH!Wo0VQ@^o|2fw;MSZ$}Sjxo*2TN zUi3DRzdU?=Mt2`m>>JvKomEb;!oYLpHbQtI%O0bY1huo;#OrJ@F2KRTnPEgobQE8?{(Vg^A**iIK_?r7ae4T?wyB_gO0uP!3J1 zL#a@JLaAU6EpBx7%_BnS%;kjcDnh=AcUP{EP6qeH9OI(_+0hVw0>>T47Qeq{PEsyA zU)n>Z^vnrI#$`q?U{3HQIUj8s242q04sTO_)MEI$L5fq-0<@qx0Kx@Z53K z5-Vl4TvbSfS%fN26t$*F@jeOJ}-npMAzl%5k> z-D4M9Dk5F?BFgop7kD$<*=xuF-hwWPestzI>5G=noLm&_446y8Gws15m`j}D1 zC3RqFST&$4SvBA#;h!bp;;=~TLI<@_P9=&YzERWxvs=}sgV=mx5;4Ms*Fof*Rny4t zm&bX9p+MJQ>ycsO1TSTKgrBl-z>u>7@MI|)ycN?c2PDIPom@ln!&RI;Bu{_5UtiuD z5eY95`)-%BQf=v>{<+vCQyAM@u0qoeKyP)>8>NHSdMaaKO_j5zm-{JH&SX%pdP{nkhg&}{SJU-U3nG!Sm~Pz>OHb7n zbywN@$^uuq)l%ogFvv(o-s~zVi0>?9gZ_=GFy$2sX5yo!aDb{;hE9XO$qK$v`8aO< zK(Avr(Rg)8;1}R^jL25P(2+k_1I?z`K&#B=Tu#H&KI41X=&pp z|KQBmdq=cn-KsZ!$6c+gQ*(%O3Eq3j>SGlkOUZHb)a<}Fc&Enyi+yUlXHYx{_GaD>^P&$ey094fVHkjE=AU7+c2Zk0{PRdRdNRMPp3ye=H znmy`c8s5iX*Qy!V0?P~9G74}D*o4u9CO~;4Xq62O1LH?PMbSZjJZGdDPz{imysGVe z`2I1J7JGOqjTnRUXh&Fs^oYlN4C)aKNRPfwJ^{Um z5?2TTn+zj7VAaxBash-%yV)QdL}80wo#P{Ka^@ENU@U7@CiA&c!`EkL0a}agti)#I<>c&@h&ku1lyDOKp4Ka)QfM4=aKe#gI|218Sni;z^TXH{MHrfEbR+fdGT%1`0i(bnAH71Vc4Jb4OIesm>%v@EX%6qJSS* zpnsYN^Uq~F&8A(<|EO&D2NL-|i#h+(vfYQY6>OejQiMj9LUHgfc?;|RSJ_U>+ZGh! zqZe=n?tl37^!KRq@85gTr*F&$zi}Np;L6qYa~~5yw{k z)k&6{Dq5!%+lU5MAd{E!Yw3Oocpszw5k1m7#QYmpZDckJwlsg)Ut6dFU|BT!&e`92KspxwPM}!XHCB8G<9_> zT2D~G68U$41t*1F=q2yqet*^7q5qfK^oFD7SCgzufT+kIvyp1l3pe*r0! zAIevd?p9ytnNomK0hpX_^#*=*Pf%z`5e0{7NW?VkHaS|TyjItsm629@LijZnyzI76 z8vaWBf!ks_*tmUN(3>4E7goFdAn!%Ci>XuChI|8}9@Ek+Lrd)Zafi@g8iaG8qxDD2 zEAFr#d@94PRBP6!AttNjp|eY@#M{al<0EKE{azzHzE8(18kdriJs6jKRL4t>B%%ED z$6RYsg|X7lRT`HOMGQmU>ZEU78tv4_mm~A4l0DIg7R{;rv-$3B00i01p|DTiq|J6T z!5)y6G=^bNfb9szfH+?8%CUWRsfJ3lYL7}6Pl@2af4zZ^ zWJ&otg!tRWlRxkuvv%^keEX|Y?iI%$azy! z^cn~g;{}C~a`t}0Qus>t>9d$nJ?Wl7)cL+$97gW_REIZKRt{(Lym#Haw<8KD{V4e` zspHw;aTiDF!v;RZ<@wav`bM*@*3PFU5ha;qZLOZ3m&*rzc&L}-!`%}Cu!t@g! zlOcLy`iCiB#ez0J;vjfG!VrN$B541p{#@2aXE?Qfebz^7xW&G=;9t>$n{1DeLDVdh zL`)97oED@kp=|MZuD0_T%Y#G->+WAlbs)69AB2u8)|5-w6P;R$vK$EVC(AlR(1{lE zt=NR(Vo?9sgUcYcx_R@YnS2`wT5~(9`#HMbKac2{Xjh;~0YAQj?eqPorQPKOar*bP zHK&*Oa4hAO&izpH^A;WcKHDN!e~+XNyHM1$7F)YwghDn7hDFr|hRk71#igvBft*Ap zuQQ$`7F&AmxzB4&@Z(HM)#**6sFV6J14LYL-{r`hu^M#9FK7G{`r{?<<#6u72(NCv z8q(n&3~sCX9&AaWB;Nc6CiZMMPD7Z;y@IB|xH*P&No-pog2epuJ(ng(A*1ndDsb5- zXa^<}TTc56b@zF+2=*o|NJ29+hto13#M)B``&|o!EiZ~}Si}*G%Q|GnT{w2_nyRoy zYM<;DH!Nc1FI0dWK(kQDJnOTyU*M(dM(F^X(aK9j%_t2qBGnCRG6 zu-8T!Fa3Mk8Qa!!%1*SEgOuK&qOr9i`%tz+Pd?*?y;YF%bph9MNud0s+*8N!XZf5o zvC>;v)RU-?Sj9x;`v??ci7W*vpeH=og5WSa_=|p>So{ztMo!sDC&I|7`R6(JQr`#* zW0+=CTe1?%Lk1fjl2yToajPTKhBFb$GZmqMQbx)GWbvr5n0zeqdBqvv# z&%&|-=X)O~HImr$p2u);JR0;MSQWxAn(()iN2hCNQQ0ZkTw&MkEQ~K{;4S3F+#VL} zQ%vr{Lx753k|m)fSdTT%>?ZX5CphJm@i;8^v)IkQw2!t0^XWhaNw;=v-4AtRN8fIXd3Zk z3{1w(y<$;Uec(Nm+0z#;Q;ZS+1sf(V`7`W|a`J}TK8EAdx1)gd%)Yl>k4CG|FtHJU zwVq!B&Cm6{w*nE|4lxKUS{i!FoMYMV`s^B@ytr_7R+*>4<^ZOOBNd0)%8kV^;4%)n z5w>q=4;YQzK7tkUWk%t5<=^&kENmbJcn8+6n6psrHQ`b!#Z>9tCbu(>yRb7G8LC?q{Fd zaHLR?^bwGu1XzX32bT9&lKBBut8KBNO!p?i)Wo+IyL7AVXg1w6p-lI&!SE70;^Ltb z#J5%svV|Wmw31&1N%2x&Suc2~?1UwGWDg=%UU7%(m%{1F?8yIryuDRaU0b#_9NgXA z-Q6L$yK8WFcbDMq?hu?naNW2Q+})C3fxsq6{+*n|H&Infkht;o3J^L_B^){wZ6|AQSk0v7Pzais3yo^Yuy9uP6OAbhLnI0#v*LhuUVm#uM=O8kIg&BvbEALd*2YQO?Tyk9>mox6)~F%v|BQoVfpseV?uJ4#qjoXx-Ej-lB3pa zXOa7|ep(ZsJo5$8r`0?voO>y%UX^_(wF3mI7fY&MnSCeKgILNJEvmo|Lpv2Cvl+mR z^oU2o=st17_Ss~hKswMgx=%iyB?H)%4n&Xcla6P(zUF@#z7eiM9)U}2ytDDno9!d{ zK|l)LCWbEjiXu6%gAxKeGIs$jI-4&N_d3k&V+sV3X`? zEtFykfu4Zb!c};-N$3S*=sUqGGfx?Q!(bh0$*R@qE=Ygo`gZ&csL@?P1G-3iUFj1W zmIvPT!5x`*V=RU7J)>sIuy?*_57h}UyAugR4_@N>SOx1x+Xpf9K-iWYL#JfC_f)X>={m{?U7f|2KC0;LRRn@uC$*xL<{L6 zm#UM-YW4VA<@;$GtFaMyR?$!PwXpevlvPZ8JqykzxE<5#G+(qf$-bv%U#U*u4+%?M zn{Zko`k?@zN0{}VNd8=JF-ck;7l7)lpL`wvmhk1j`!*2X=Krcy-I)A)>k%tT?DEQg z-c+bM(2Qb5ZIg4a!NbJM3ho65lOly&2d7*M78GSI3<=S+6M#67ssi^U9Utlk`wf4w zQIrzc05b9ggfaRb4V83r`$^tnV*d|>QGUvXEeK&0`Qw}H2l|z$p|cLY)}}loSny&f zn4R#=Z;;GAJG5e|D$7z`$Ue2W=-?e=5Vyr*mK1Q5`VndaGqsi{KP)ZRL{Pl$U)>q! zvNo>0M$%umx4RL|O@#JDyv0MjPea&?K-_AudI}XF!|CPFQYC#N6IYiskhyqgOx~-E ztHASBNw64PDMqU{tD4lk_nNMpXC#EBJx7ul5cqOyj8_=_#4CJbz(t5w`pHmDHF8~) z6r9VHb|Y*DF&!`tr>eN49%VCGb5~Slqi*Tyd*>Q++zNNgAY!1;9Ffy$V0oyd$HsAc zGQ291xSrM$YW7`|Vj0kMT$X)?HuL{V# zNRH}EHzhA(e)r7eOCnjkdpb}uPI*v|s&GMBE%UORzpVsx3OrnXJ_&lIaG;3^ zP$_-8tB1S7S5cZZfYi~8H_Wt|u#0@*x|u3K_mGp`ATpSB(9Y5~BOlK>3NCJ~#pB_X zK!zIIz>a8H>mfQgN0ezIoZ(mFU}HPIgybPxQ?cKXqN!TbsaucFB`s_lfr!ZUzIx3< z6_tR?O~?!{lD4DMq5`)h_ENrt9tT-E@&Ig*M z2v*!!A~BFu+>N-b%Ap=RR&GeCs7ZIk_vz5wswr|8)<;dyd@pbM0p*i{+yJZ;R^AY< zVzi4@-lsEf2BC!7&{6La(kL22dH4d;?1Svk6CIN*evJSIoneHttF%ytw`|U5n&}C% z_mnlH39?Wu<&$TC%97ON)qD%v&SOXTPmL)n8q;_y8?<(gHj%wXsF${bE&)<2em)ac z92qvt4-fX#z8gT!R3T2flW+%M%Z8Jca@T9c>;;C-!pAf2XJ0iN()5Vj`cDWs;^Ts7 zv28fq9{gvun68g8Re>^A1Q~|&r&gzqQ58O0+n7Xz&b4d?4rbQy+TRSn9gV~@!g(!} z?D@1<)S1&sdydQzN~^3v5i+YJ&R}13Fbbc$>zWOCcp0kyKY+%m@jV>YMr28a@M=nL@@@&s#H}w#LF$k zp!)c@s)Q%%Gfr~gZYJy#k16(TzqGY9I|9|))#Qs0eSS1ux6JYggLwD*-Jx*nTO?K~ z4&rCXH1VcLr5o|U6bfnay6ZZq)M;FrHQLB-+$dkL(d5&tZ)VTvskd=7D0$xwjFunS z--Rj9tN-xCl1x!`^@Q=kJf02sZJ$5jSi3q3TG1V#|Mg_R$-~*n@gI``?FY~WGt8F? z2X;mNmX?r-3Q}wteNq((G*lb$A?wCggp0|fxbuEZUdyBw+8F}@C`j{C>$p8G8?fv1NRr#=YW0Tk6*Kmgj1bIkBFqtbit;NdVv zV$*BZSZN)>iG4Qg#P{Bz!>Nn~rq}M6v%71sGrN3Pv(h#vP}nSAXXFL_bcY$bz0-&7 z=#8|mBSX14DvMa$3<_5;G8|{AE4oW;W-ruHJrjs{nhQcbdsI}4&U72f^hH3g4Ccp=fqqIYWduJI7Jw29t zq`8PUdSAZ4eu4zOOe}cJn^C-BpTr|5RO#0lTF@*y&QUjn*7JH|ERE0Zvr)Co)mH2J zb9}P)dE6u3s#h?tm=c>6=2=lmGDn=?W3{j4w#*u5?3Mk*LTp-ALdv9PvCr22;)pk& zqAiaN_Is)tLR0TPo7`=%2?zfxT9cGO>tbDie5$9UzltXrSzE0Up3@?`eE9CcK)&SW zgrLG>segnCPuA^~(zHi?Enl;1v5;erMUa8%*yugFP4mTfnCK5n;HMr0*W%aMdtY9s z5ur*hYGbIVNU63>kYhLS7^g6kk27NGJLu6LEgxy=FO^B)!ZlMMM65B4y_36{_}-I& zkYZTnd_VlT>H#Qpjj(TNO|zn=a(ywFc93mQ6?9kBy#GZx7G@yYNXI&a+M6^-|GkE+ zz<~(f5*CN>v-QLC)!9IcNTa>C;`0T0jB`gNEpDn{_V;kE2G06|#p+tsD}_-{&F<=b zCM>5KZ|UJK`fYXAwnMzS;~-h(Dmb*wtjaO9*aE!;;*7E{jS88L6gLeR>F$iN`>X-W z`#;iBbHoAVVl#c;&N5tY54-7B`sxuirkrh(oT-ml0c5xZR$#d3P zHH8e9uU74`BU-P9Pvd_etv5jx$N$jeDZqkJyEa~XfN&1|o6-5ZJ0s68x=FFdRZ zg~NlS0I&iY0C0e60BzoyJv)DK5)`KGjz}lG8=^vvIk|3lZl0{Q$jn`8_KGek$B)kW zYHad0#5Sy)5;!t(8QpwT=Z2@aWnxxgb#d7|H34tBWR@q-yBP$m%$2VM^VP3=LeD>bNd=H! zLWugFqHN}g$NTGU>B*-8hRe#k>i5)ca&QZCv>HpBR&&3)(oD0DPMJskz| zgK9qy5k_0RgdNEb38b96{Q3a%Hms9ioWXiYzEsT2`c#|t#Gj+n_lu3nkGKyc5Z^Rc z3925)Qn~Q~;()#)#r}KQy>sy1H^@#nS2g8V$Y3I*QC_e>E?(M@C`f-yGj?y8{#0Jd zkSHj@2s?|b#$b{W5A=5WT^j?Iup00{2zGSu%3zX#cy`dAM6*!O&wI)2-3Gio^LLaL z;P3Hs#yaS`Y?^bEwZ-82F*RQIN*KN@#JK4JT?8iEJbaHi)3?@%k3Q}4FP?@dBJ zA@liX2k+3u_vrUuri^Yg?Rv?ZU7}t29X8#=wlg#BAAtud7!6HMUcokx6>qILiA6QM z5ppN)5h-Sg#GTecT<|7l`0=_{!Dg<3z+^L4cWPkBB@gyfKY6F%mm(u>7bFszohf2U*ll?Q$=rT8-KTBImyI6Jo)EUxc{e) zW!fm(Dia#S)C6J`X84Oy_%A~>EF7HeL1b$Go%r5hXrmTJBvF~5!4|c)V%J)~;wsV9 zsKp|0T_sHeEU&NEk3%dwaWVuRe zM!d~eC#*-jGa+9Vivf&|vMTiz3+Rhg;~LA2oiv(?+9+oVp}r{ZW*b*|CrKH1Pm$u{ zWl2Xl6k2ihs=l3$sBs4+DVDd!+1k*FhbHIR@gSRNYS+wYt@LGFCN#+ zAwJVyz?^R6cC6Ck4wK?Ox^!d_=A4}f4)8Vat9HqS)Ijh4;q~1&Y__^W{wIqFz-g@eNPEA-6or)15_Gt>n1Y&D|U`#d-(!OI_ zrW)-mDGT*NsVWJx1}Vmp%*W4k9r0rvKT2x2Z*=QnXLG~zs>Q5KIgWCJB0IqA*?aVS zqDIr-)*_F8N0958VKkyBedZW88jbgz=y~s4cSug7?Y3F$493;bLDfy_7&>wKVDyMR zP90R@kL+8IX)z*DX-h=cZK07a8QW^W;q_=cT|)KMWT-dwFziM`7}1BB_F*@lhd-O{ z6JLCV_tqun)c*TV^i5i4^tVdGx;a1vyxx>OJG|cHy>>(zb6&cE0VvC2^T%|&NKSk7 z(o^)-yp(AFPD@jgPrAFR66&1^y#gzq`y%oDvuPr^N~?UE6mJ6ubQNc1?;2=6Cf3A( zpJglKd#x2oxaf|YW4XE0QV-CRmF`Z~taqRy=hBIOAt|&ms%QVPP<@P7SJLT8p=K;# zP~Csjs1|~aUL#W**$7@oxn5)#!quo1;(@AaEL7(Z91m|#-J_J_NS0nl`C+~#_LiTN z5kLnu)87KgL`7u~a=BLvF4CU}pBH8WH3LvampIn_0dGM1W!Btl+Mga0p=>yA$fv*# zVOA&d4JHsPP<>a_TPAdginxu|H%u4Jzwk^|F$34sl0J3^58a;jqgi*NROkC;$iO;l zmoCNG+m$uZfRVCycGi0`8QB>yi)^{&1HIN0tb`{*S^M5Mti;oIx}2pL^sb+Y&s*PH zqnPNK>ZwgWFas{pYcWVpjY&i%(;dfv{H)0(JR6}MAET7aOFC_H5Y^8K2yuy%jRUTc za?&$8*N(h@LHW@FG00w?sh$17$LUFaVW@h?N533 zy z_TZ`t)o5m~Yv{@q`4Vd|fH1HX_u}Ac%Q^m)(ZF6nqcmj0?v>q7O!w#z=y4A)0y8+i z0>i}|ut4rZj)c6DLnettL+effNShSC0>QjL??Iyp_U}DLG{NvaNx6IxMHYF*vu8`z zJrN>sbhg>{K=COq0;XwPh4 zf_eYSg$#r{ry07!M_vh^S#brLG~Kik2Ie**f8sU3SrH|QqKQ}*Cv<#U7e(m(N-ZhU z)vpiEpSydHa&bi*z{&Yx4X}?ex7$cGFiU3wy^G&WA}eFvsuyVWRG=b{&K#wClFPh{m@Ga*Da8`?dq;J#GTW;}WLxac!A zV)5FC4MA<#MDkfP@&c-xqvTxyfB1cG#NLPnfy`&5KhI^#@s83fL3xcFG?nA}yZP<^ zDxnLE{k;+7uY?{^c8q;UnNjx7QRFE`Ik5@YFVd7hAlm4^Ald|f526k2*9gN2vRWSm z)Bf9*OL{xoxc*|3{v*eGBu#@zk})G@9X>vB**ZM0#J9_SCg0U^QSV}))!7{74o@>j z&xr==z{l(k!dw*(WoPNMxcub8p8;a zuuSnQIjzmi1b%bR?_>HnOCKL&Rrf`D9(`i?9=Fb3bRv50>2BDLDRzCy zWl>jBG;N7iX7=dKFMYwpvD}07%Nd6>oWyb+h6eH-VUerB%OZhNrGo;k?P_~lz6RA- z@p=YzSJS=*&x6-+e|A75hEVfu&_tmD1p1}?3kURYb9Zw1$0WEX^C1XB60?8jgW?C- zwsJ)qO-RT?SSHlhMb>C^O~x(dt$SC?R74+#&3VkZTgmCSy?4BK+Pq(Vk`{j19W8t= zeFAPb~@IvfR$ydiga~=(hyY!OQPm!`=>JP!>>LV@6lX3X1Pz zMq9}WO7Huivm|*Z56M#+QD4JHYs+>^?R%g*NvL+?g)CfUAUmm_5TReDcqc~gR92$M z_*Vg>`Tc7}Q@N@|?GLN?9H?C@@)gUrN-V5kxL^gM5}V^{LJH{E7c8n)&K3w<1nVr{ ztH9#p-ZYBtS14>)^7*^Q9#d|dSkGn9xvY%elyQvDMPz%)ad)2HUDIt?=xUY0&b?-f z^+iZ(^BJJ)6bGMUDqudWrFU;TILxx4z&|Pnm<`KnQC5<1he6LN=(Zl}bqrPMzHXIS zpIEQZr!PsZ8(1T1^;7E_%eOAwYW>P+IAM;PTc!x_hQs7)@EL7kqWJ8qUTF!>#QUMS z(5W~(K5j|eZIiW(E{ryg-n$}bCJV|m3rBb+=C}q;B9*t9m45rJ@6D+~fmyr&*usE> zeQz~l8%AS&Lff=Q&d!4+cyqxxsmRmQumMeEk*Q&SQhqi?=x$o`P;X=gqP#U0j7UrR zd}PxnxW$1QXzOWqXUN}K zlHR4ci9Q?`yJWK23YW^Zs`};;>^lR_bsv1&ab3b#7w2A>0(V!wV=82Pwja6gk$||* zCzXVaqdyvM?tHj*_1b5GYmBqOCS_}bYmh*AUPK+mEiTG^%4M-au;<&Bgo0%NGz9wM z7Hlr!s@N)MIZna$+Ef6Jz|tK!5$v=V2QB}3)S}<(ss{{I8$lCBVL<0aa6spU-9QT> z(r~?<_0Yv4vjFjvqKPt-+_KUU+SDw=$1;=~j66oqrv}dm%x`XOiSGQi`BMt=228 zLmj!7ZN28Z6g&kjwHx&b;u}Jy1GBSdeEV9(`A*NXn2Dr#2n-7R+OOI%R=z3^9u+u~ z+?>2vg$;m?O-s!sBc7@WZQYw~lg(i6$q^?F0YEnt(jv2rhu1Qq$@JZRAIB@UClfS? zXC@q`jOGJJjo7 z^N#oHf#z2UqI_?AnC-dj#RK|6J!jMxjA0Dka6EHx=3^}g>_M{;iO(voMm~NI3Zag^ zRNJ3MCs8|?M&Ch_g#v;92~2b%K)@oDFPgh#(L0cISi~v7>4{wcdY>ebzs^3z&s}j9 z{t8vEa&()Vzd}6dLFlNtix#c?S}#JHviHrI5dAfT?WJloiH5IJDv+%8o;!L6x{bkE zeBY}-pMEn5XgIOEK^54>5A=-QfwVBY0b? zf>=U*bdPLD*3abD24^=W_We*E>J z8-K4d$plfOo%{=zr}eJ(Th^4H*V89|tw&#etw;4B{@!|&PgD>!9%N%1==T>_@+BRT@_E4GpS!D^O za>mDB&r5$Yqamj}|5;_37{bGg-Lv7DPPn7nfAXT!fW!$5CZXD{maU^i-V~S;YMAs7 z>(wF=IR|NRr+wv{K{t!P1U!v`#IpkiC_l{^AmKIT!rI8jUtcw!T`bQWXecm#5sI-@SQ=wz$()&@&gM7G(g+Byj$_+ zodL^{;q9lx?}>yve}2PC$?E4}AlGRC{r-a8;J@DRzwBuK7jBdOAKj*c_gB5n267ke z<3D>#3;wSP9p<+ReE=T!H)oMEcsh*xyC=b1{NGI9{ud_w=acXclm4p(`FRqwFaB)W z-#-Y325>vnpo1Uw5ZvU7n2B^yalnZ&`P8=Bl%H@9Vew#^2 z3~q#lvJ^{73)?el2}id{cy+%r?~FL zCZL7`q6_*C@e2p7?2z#r<-t)_R12oE+IGy!*x5ozQ84;kh z7~M_S+YjvV4>f3T-iuur%OS-Yo4C7)>>aq`V&6uVid40+r)w)f{|Ew5>k5=re=f=v zEk-G>AjSD6sd`+k9b@OdQIa}d`vdw;u#&CT%nU9Nq@WSZb7BLxamd2p{&b*C+qx;$ zAX&fsRXC5kLvQ^0w;G0eEs@*#h`_dmM4fBF(gBFNDb znpg^Y`F0U~7E=lu4N0-EcBon6Id7=j{dqT~WUAZUuE?EDLQexiU5g_wIRv3bE4vzIt^@E$g+M4Z$u2{q4?dPO{z>$Ib?Fh9@zxIj+ z8T|qD`?mr>e==I#!rk58;!mPv|FrsV=aTdP926icGtv&r_^D}5GLO?)e;%Oo-wqJi zuS`P!KWCC^+NzwtALrCPO#fTG<9}h&U&J}cOlm%C%wM+rZ{u8>${u(q+zl#107 z6hl$MUJw+zU2Bq_d#5~C2df2lSqnG?y%$kmy{$}As1$H=&1Uwt@s3|!INYo*l7ikm zKcn{x=HMw51{BctISW8M;KBv&pjXPU-MOgFwN%XK(!Js!Bx`Be1J5 ztfg&-xbl+0k1m@Kbw_!k9Va1Yf+2K>5)YkW{MG`dG>*<<5Wje+IVedF zbzyQg@VAehzjdz{uD;1|>PV>E6F}Or1BwC?@dH0zaR6e(ZcyJd{-{(KZL>GqvX5Vu zS*fis`<~D3(8{Og#OAuy)790;>ASp6K(+hh;^>S_V`nD8J#XZZKVh#up_Y{|Z;maR zj)>+uA;IgqAVJ;KSTBpEv0@L0NWY3hL7MKfbuhvwG60Nt2=aaWQM_xqpJSyVPNoNK z_++d#qt}yzTFa-3(+k5n>#8sAiW|1K2o#Wp(K$Ay2ChU=>^!{l57yL}x^ZtA9dgSY zqDok#B(%?DYjgy(yw5YGs9Znv?RZ=`b={H@^UbYHwuE|)a|cOxlzip1vOF`xw|1>Vq{_C;Zumf%-m zVL+jIzl-iy*M%&gr?}D}3=vsM%td~p%%Y`lwyN^V6Qn4l?SA!0w4VqcS|PyuL}NPp z2;cx#iR4i&;Xarb1942z3pMv$q6;+-Ko5WqlrZ(R;IRfUYY2gs{wjQkWw!)gS>_2H z5vm{!XknnbCmTI`03raDeZug6H^>zoRH0xfx39faEie0&gRU(9mNokBM3K%bENO8DOhMQtQ_2?n&AkQ)?>dxO zQc))3PbhIGML3==W!@q9UA*5>ZdLVm=CBoQEyh-=Ishv-t!nuWh5oM~m*>3Nh_ za9F^wbX^FpRr6zuj8!&vRy*rRHugqd2rM>s=ZeY(s8&$ zIB=WBykCT4h=|7J28f%uAN6swxL=q1;CdH-6hl;aJ=Wh3Qs_$$fh)=X9SrN*ZLDGo ziv6r0NaSBMM6%{TQLvW(5HbAY?bK=7sV{&UqL7bsxEe;iZ)mOQOfiRX-Wp3XVOK+4 z*I{h54#C;je@J+N2uk4R=MQv#`jY6{oeM+hP$4)nW6rbYH`9^W)Af9Ff5P(0%)7b> zfk#ax2@9aeHWjm%f$JE%mmnt29KpAlo{U3sW7&OU!UEnIgjl# z-AIptzV5M+kb`a1V?w1wT|Sc6IsSf$J=stEZQihM#1brd1N-PagSql*r)t8Wqecz& z0#hi}1pf-vm#=Xij#=y7j;Um=)*6iYD|Th9#H~u)(i`3ElKA7Y0Cpf|c?z)+^&6vZ z*NAH>p7Y*YXM_D_j91?mrag-(Dd8Qpp3$Peb%#ert)?b`!J(aG7hUm zlqxOTZ5~OuplO3KzP+!|KfQQOuklGf-Y%E9aqQ#5xh&5Zd|T$i#z(A0N=ZSA?<}3t zc0^h3{(k1M{_jywIVYy}M?RxWn2Ix*(WBG%rBM<&fa%SBEl<(`>ujU$g67gt_)hUh~S6a;F}{Oc5A zeppnIPkvq%sk<`)FZ}svUKIc^xW}_PB$zSkXg7%i6TPzv-I5N98={X^ILv#n3EbIz zCFiM5!cwZ<$HZ#(81v>*y~RvLB%{%|zJ9MshExc9go+B|z7@cpR_^!EfcxSD*lrVo z3kGBednk$uM`-J~Kc*6I)$HNvEjuqqNt&k=inqIk6968vtPe?Z5O5P?rS8nt+;a`Z z9&-%mQq_)O_=R39+TcKUiE6U?DeFxpyaKk4lpZ(1+}qcm-z0sC_zEGwPH|ED64{)* zh}aPz;RHYJw&;gaiSqm#>;=ccGv+fWhWUVE*W!ZQ@Tu9vC+j&EgM$83JyUPn&^icfg9Pr0``y<4~Yd9z` zs9**%$EBx#<%WiT8%pXJtaT0L@pcfGm5^Y~J35fe!oaf0&Ta$mfer}s6f+bjfqpld=E!xLHtelXtS|wqDrR7XZVWP#edLDBDg|sS^RNp199@l@g3{b!?=N|0 z;rugmdG{@YT~yOX^V~>EU#rofeKIzXS*(e7OiyRh6_r`8xwe+Zt=2i2lyBT8DVYpU zcxO%b;XCI6sB}71t=77dVKtH~>`Oj+xTb^lsgxVEUHe+{8llAnZ%O#IyFz)X@%U#_ zC`GW_nNk?M6NsVIy~*~}^=2!k^bs zc~#UB=x-)B7Li6sLNz35HHJ?e4RxsZPHz8jP}>*|WaV@e(6X5qDUZfy612J=E%sE_ zcW}LX8mZ^i6HT+u{~A@p_ha70)GW!JN4L4hFlcNW6)fn@GNP@wRSSQq^J&AorNaXL zp1cW{6?y?N31i{H>9@(%9#fQNyCnfiCnH)?3}~O5El#1-7IJ6mY1{~+&-`7@gj$;$ zn{u)hkH1FSGiO`j)|S+l6bYhb`f*iRmHa>>s-b&vm)bW4CsKOz3b17Du)+&HCmV$9 zvJ?`18NO`fYfEDujzke<{Kh{DwZ0hT+skL=@NXbmnNLO}C4prSA@KNtq)9J`J~p-B z(dUW86zt!z;zzBqRYa{(kjyIrbn1(2P?%s;Xj`(yl&3%%SNE`WL+hTwckqK)?n%lL zz{Y?#8d(xBHeUI64zTrd?bisRaL;JVTryPApQ*P7t&)hs4unCO~I!<#Y3 zV?I~JL!>rBW|HH*(m1bozwEi+=I~6_kHT*Q+l}| zu-SG0<9=id!h1A;X9xP##@cH{&jBIT(@3WzAa%4;GLSp^G6~2WeVGgtjwVS0l0}mw z1KFYrlYn&5g~>p^=r>6~s^~Y#K(6SWBp_4tPBKs^S|kZb5iODo&K z*6x@vB{BxmR&P#m@$ic*M`}A48BuFI%4^t+a?}!(AY59o$~n+J}0b>gkF%F-tu~u7-#W! zT-Yo6xS96PJ*uBQi8TlNFqy|(egQA_tV8hj8=sYiYsTAQi3jaq=og`Q4do#Iw4u;|ofb4u?kndX%boo(S78TOoY_(IVs-f=tLf@!% zE@I|2!kLR_C1EIP6!srEHPdsp=oV2VDXJ{&^Jz?|#A;UCU47X^;+>St$D<2bR10eyJJ-)yq8kc^v&An`@7e{G(2+dw}ocERk}W zYHC;)`h9F}QJs<8Gm_WZCbXVo4b_1T^SChl-k7uGXX;OKOyz#dpU={YKGqJL(Ueo~ z7^hF4g+G25u6sNI6Y16#6;u&^VLz==DLC>#eLHwyub8H;M$DaQSDsfgnea6+rApHm zx$BKIVhWbkkv*164)In>6Nb$e-$KTq9wxT7PR-yt=5l?bCZgr#37@{B{u8)(OYd7@ zr_7$G48V#dn=&G^V4F9@^WGQ)nx1i#b5oMb1Un<#wE+TG8{_DY8ty&Ltq#VpnfLdQ zCIs}>x5zFcyJ|{`YCpsqQ@9<4cU|PU9WY1LHyfMY`!?jf~Z)^}DFKZx0E@>J%1g4iy$tJn)ioPJhFTPKz zXtf8Ag*?9i*lUDO441BU#;PMG+ghUJM3*M38^kpzYh0q&A6@1+t|--x%Yr zu1&4e*2NJ(Avm01j+*GS3CmC;Vwtb?sik`EbWtiSP}NDC@YOAZzcH@5f&!8gPa83u z<+UGw1!u5-KY?CLfYv7O&qu&v4>eySx<%Lyb^^wrM`{&Rj^fkbN$D2}}>gEpq1mdhxT_h2fQ=XT_!zoc{ zeTGX@&26%iC@$A2rApk}@0VTTLX^)?m08R%VUpvc%HNPO9a1$7uL98{?h;Mfze&wB zpB?jFT-Lh3S+1i5i>R=*q=)X~h( z(iX~m8fo}yF8ar+X2?q<@NLf$UQ-YMfl)ol@eP`=X^qDSTW@b-;^V{Ho)tWnqXP?n zg=?44M40wxN|H*THy=r5hX{wi;Mlj-!u)I0LbFV0=*0d?{C0FIZhPqMAv1kSJC(UD`rRRB3-Wut9!>5Ka_6m{b}F5 z>Brq?cBf?oCt=b$i71f9uu(KJSf5f(EE0I2T*1$$9{djNE=dXiWYjk`AT?N@DDn>F zF3%vIEEWHAx{la4Md$am==m>lo1va08NLft-5r`2ikb2l5gWS{sIJQb#mgaW`H?qz z#eQ(U(0Rr8o~NE`j-x-MU;)y5W>+pikldW`Fwp}idjPcXB+tNladJUbRd9*~tuIJ#W3he00~YykI?~8oK5v6RR^2 z5wQaL;AFII6A~wUcdkD^iO?XlZfUSwQcYY zKo)~0vdcP^P31i|AzqHYeQx1^V0A%nCTz7XkbF0Jl`gm53kBwY3gXHC3+xnH6yu7jg1=k2Wzn><7Llas*SDAuDTb-quBW9k=Ym8gM4g7lSdh|)blSr zZWkR^7c)J5fkBU8##k(3xC8E}99c-D6E2Bn%;6?OVsFg~D9GZWI{I+?(WB_kEfTO2 zG$TWhwidS(q2DmRL=F@-$Aor6>02}RbjMgIx4r}QUp}?RhWb2-sYuGhpxe3H3^WI8 zp_*!wE$ZC#3I2=d$+({i3^6^G2sNinC)g2HojoQM*uy^-!j~{2MI8u_LL@{HCh{)x z5_3S_d~d4mz{>p?^d%>-l&I)p%`ZsKCN;Mw7I8InRU%!YY$L|{u4Q_Tlt!+vSb!Oz zgwRQRM29BeNySLeY(lv0&=NwuzVEHxz`B>nsyCV| zd$=U_M4rgfoSuv2yDlatY@@R-SFd4Q$^BLZQ3GwBS&kEa(6ZKoY=+kEpWnHxw0h)X&Rm7nRKw1C${hDk)GQ=%D&SUx5?7dEe!F|0;oLdL{j>Qx6G*I7uv`F z_>J_61Cz(B0yLYz0nK*)0(|o?e*b@V%Ksh{1N84w7`rMbZ_-lqAXVd7(|=CqAAe2f zjUaw9GU!45J;)Ji&(2aO$l^25Ao?#D8UEOb|88)++N9DTXbcTe-rCyx8gs{q$@=3^ zIV$$2K`1GVxd6#fu2!lRpka=+f&maLFzp)oJRCf}X?!Yw6EuE4Q95}%xk2b>OW>qk zRVOnmbb|5c0BUKds5y_3`gtYRS@tK@3F*ydoas1j)WR5UIAr2|?5PJ73F^F*uQ;$B znii?gy6I)e)1Ga^Ge)j8t|Hiv)~*G<#%gtJGh{e*aSSXou;HB092~>iXbq$1;)rRZ z^gQ0e&~s=Dtr=VIR#jlH{0iq2{vM_o`Q&5hVqDLz zi0DLFjH8=NZ{1~392nJop=!|VWvHL=0d;7OLU$vThxF-lA#eKI$a5>{9&Vt`5#D-jA z5?h=XCk}nE9;*yowW>OL{e~AMfQ3BG^9U}{gpP@t9CphQ72#c0k1?(fdGh9WjgGC$ zHvaJW4N=Uu$XsstnUtPG4X_T#0WLYZerKF9Q`y%TWfxQAWjUhkZ)h&w$x&W9c~Dmy z;5Csi=h+ls8s*MZNa!|KoiueeedoAT_Ocx2n~PBoPFCZWHO%umL$!)hK7TPm&YRi! zaJD!9kxh97qR+w%Pm{on)q!z0BHm|}n=uO!hT~BGJ4~@3 zwR$N9apWS!uBuXk$>$)VRtH}zXd&@WU*D74RG6AU`j6Pjv_s*AagiL`Xz@r_hHbBvVEs^eGEj7D=2?-VNh z3jq$O7fjp;o7NN4*dJnl{^=Stp^xcR7gUg(S0}mrJwOf$SuZw%JVX&x7|{JsUh=PF z?|9I*YC{TBh=6dpid;~E6b=qfMU4QT@T0b#wb}-*GwBCA0Tn$x?J>Jz4IO;hi?pX= zf2y;%R636Qz?sB}+xjo~xzbgF+e;VQeit1LOI`Ot&q%vqh*0V}um>TbvsXU23$8C> z1DU{>1G3Q-!X4UE0QqQ2Xkz1Pl&pWv+?5R2s9C}#CZee*G8`Y}W71%=zxjm@fESy0nU5P&fitnd)tt{2QT#!yQ)8X^1R>kLx?69`0#Ay^-A}}E^@B-t z``%hBkRB-(u}9u=`j&+4R>CY7u{g~T4G|D|byI)!9M)~O>`yo8%!Dt1Qr>rJ_uWaE ztFr7|ujGuQV-of5yhIrl8UR}@vJ$wmpP|LEKW(Un#B!$fT67rkf_*9}+9zs;u;ya? zhrc5525wZ=wx9|#+-k)zU*S;GKQT0hT#j&7!`?L3K5sa2Z>DK0t=z|G`A++bZ(YiZ zI8K670qVF;1}i5+@#n#tb#nT^q+9BQqh`;h`pdek!FTR5iU(#`szVy~2hx$(?{TR< zS7@Tu#}qb}?pu9vekv)6d!uQ+s#$CnWg=_q2~Bdi1#Al z%b4^;yd|kFSZtAJZn!5$8L1lq%xPYI=DVFU#sXP@Ja5gkTy2UQ>>O8Z43fB_n zf|udv}!I}O}4#db5V*d1l@mA(PlPzWGc z9ru1C?dCAlKO>Q~{TW&u36TfYCq5avo|_eaU=?lTbXN~zg`(Xh+(mB_5xXscRWx>^ z#d>$9@YKmS?)Sb28``8gA9UQeLBGEM&;5}c)J(kO+?*W$_4NM}a|POWSwbs$LNkLv zbW+e6wfj$kQqXw6R`|D1Pq%p*&+bJ@y*No%$`f*m%uSZ&#_z|cCK;Q|%#D}l5Fu<` zXOv}+OpMKpt<2}ZZ5YR<#Kj&2tzdf9in_PSi2GjT2VQoy?RCUpCcSdsN3maD$SD>$NcWS>BxcFY`d^>gx zlPK~i?bGeW-jGe%U~@#ck^1=IvEzR0{vu#}=f~4EO>hs8FQn$$n=s(NNK80mt#tCt zt{G!bbOdMjK_n*4-qFL8j7BEc^sy^C-Nd6l-NgsfkVxC6*W9z+fF3W8?#hDzBt=gx z@mZja+knE6B28w_UF?Tcf@M@UD`kYql{x#FS-ZKq64n6Gbwjjs7oItX$&LSywX+I~ zYu(m#f(F;ZB@o=*CAho0yL;imEkJOG-~ocWySux)S0RA_NxIfrd-s;^v(D;1`{tiq z)Xn61<~PPav@udDVcQ(3&oUCBwed|8VH|KXY|#y&26% zp?UeYr*f#}j&+Ol%n#J(TC1|zpeRt?zF{$G;dhm;=X6|8Opc^f?-{j2#);5S+}RU_ zCAyk+Pd2u$bmku#nsoT{R}zhy)Bsu6>p~MpjjU)(Es4^xPwFOOaQM;YIlCGt?baS8 ze9Y|~ZM1Rrwyb)*!DG^;jVxAzt7bpm#k5X5rKpfEpe6F}O284h^2vXj#J+Joo!XWA z!8mHM@STQlv{zdr3Yp=uq(qvpQOu! zEIf$kVroq4$l;8#gs(kq3LO)>Vs6adgx7+jhho3K<(W&kW0V(hqOGHt z$Vm`4s4t7i6%#kC_kq7T`@bck7IS2=kLdF#fB0OSh_2(iTQf2K0I{S2sbpaNfRhGf z-AMTJfF4Ca76GI$C-RXFq!|?tshI0g2E2&?K-PMsoYli15MzEeM98`kaf@2mIVP#r zZ|g*?zpoP&e-vZ_BY0f6L@CjAQd0ypulb7Zsg1?hr9C!0?X6J?6%L?8k!tOS4=B-? z8Bv0L7iy~$A7wTwdiW^O@GuuL10KINbGI zH8q~Cli8Fva%YrZ1mmYcgS{TVp#Jq*BXP3aoez<59LUw?Po_2gF6aM#yZx^M7gyFq z#{?$7B%CG6B#R^*&hbmKx+L7x&ct2EK;j(v+x6kUG-L-?O!aSQMQcpuD3;{kZt~~9 z-{ggUzsaxt#pNN~rDB0`NZn2hVmb9E<79t-+kYs@ z%4$B~4v<4Nnkpa^Nnq{Gw-K%VUb=Jm*e&Z_%R2jb5zjW|D1z82B5z+O$nR#^Hr>|ypwHJ-0bxbssX-B_F@0oU-mxM89gA|;+wo?N!j8{J;z>}UzU!79J; zOJsq`rDy1TzR?snaXic2bHq!E<^}oEd#X-yS$pGrs58(H}>}7`Sl5GA3b{0YQjC@l0$K&**|&;kRmYG zlI^C*Z3K!kNJZ&&8IxlUvG$@1rs>i1i}Bp(wsuslm@-q_*PE8Pqv2*=47ePR*a1pu zkfqcBS}*G=IXP^S8nc|HkIEQL^E({dQ8xTZY$%1fHX+mMR(Wva;_&0@DrEMZy*?!& z9&shgn)Ei*wQlBkmU_7E{BHW=qlL-bVQL(wFi+DXs^P&ks%@t0!BgAaohjQU>2_T+ z#4csbPaOT8*kS-DSDo;|AtvyQ-c$nBV%fUU@+|rmcV(ieL(M|L!xksEr<}gyBDCd~ zA*M`&W!j}=`wm{Zr#kzhvZnpb5mu4yVv&|^Ll!UPnZQsAFN-SAC;AoK>9?UK`r*^- zxv!C9zoSUoZ}vjr1Wx# zN^oZ^tB;$>alCP1#2cw6AEn-_CoCooet7qh9PG)2a6KtHZ)eqJ>1$w(S3G&_%-Iq( z%cSjz)Ae|b=o(9<3I*8S;{fen6~IRq5B|5s4+4k+{K=00zkU<{F&+5-EbHy7r)4K- zC+8xn#IvOTrUul%JKg%j|L$~)^4FYhXJr{DyWt?4AGm*7#aFd3mvHp7uy=C)JG3Y* z%J(0u_1u-3BKg5Z@G$5!$}qCD+V(awuO&K~MrW8DJ;glLdXSi5RC*!gB4_}5Q33hh zBrWc+3L?{Y97CwC1PY~|icCCNA9uPq*| z+-JmTcqd9^a7h+Ewy;|aWJ?jZ?^%A7QO@iC%Bhf32FKfMzo@8#nOq(f>IDU@xS|-% zUrqow4<3~t(soUv6)Db9N0EzN%d}BmuO6CAHu3GhBj6%5k#Wy2iik*eIOj>bv8Kx~ zmvqmAd7a&yI)hhRm*SeH%Vj_0Tthze)ml|f85<#(UqeBOQm31fJShHhkXBkbCoZjy zQ*fi2ibc~{nvm65MFzQHfWNJdr8`Wpf+owwvVwJS=+)1Z%>2~~7P0(P2cCLI>Z~9P zOSIOqEF4>mOTC`4OpZ`Q#t}V~w$;5!^H`0UL$M0O4TZdvCG3vzNv{xUAlE*2&N@dp z3>9`4-+tt^d}GQsmUxz&k|^d$x$8A-`FrXF`5;a0+*I}|3AA7lKgujs9*yT#?O z`ay4_f%9c`lu6i7k=(mq$ydy3PR}qy?X-ErMaiMHpX1ckeI`kWqH#lFiuH8lI_qV( zhAr+~)H{F{R5z1Mge7~5x8sFe{BHd-^l&vi!6=70k^}{o}RJtec`b}xI zN(T`l)iy5Y{w|Cnb$%(s6PlXI$?lt&dpt9FZmf@IomNiCyw8rKEKL0mY}qNh@c04A zyVMAt`b#&PD0-Z$JA^RYqYJ4Rc{B4VIlNt|Gw_6FtB7Fzh@{&(aAJLKaQ$VHD_7&) zRbKEleHMt#pdRG+HCHynE30iP8yB6=^p}Bz@1A`ZTjM3T_4wCUSEU10jZ%JpV!0h^ z#izp+>|Wdo9IJH>Il?8KG?Vnlp!c{4U4E{?mKln$OYhU5E?M+~!YCZy*1mC6HD-+> zG^v6j!(^mLojFm(teh$7arMy^F-47HiSlMK3R2WA>w&WM{G=^u%6TvN3f`Qjw1?SQ zB={&Q?Q2gpC=05)pA?ZOv>)*W0T=rb>8IunJ`bJ9^Pzccx)o)*P7mG$su#*P$#jd7 zM3oK^96<0BuCO>NlDIXloVf#*Fbco&~#)Wo6|^g_Sg0Sw`KtKCwx?a$F2#by^2bql!t6Rvir9<{iV1yK zUIQ|Ny0bpgxZy0Qw7i`qgv_T~?pAkOz9g)D_yznL^z*2NV7jqTtjf`alf+J{x!n_( zNlfgyj-=l?vj|k<@u{syYxyB(u(^9?QDt~_2B;c}fud-^&yzIeyP3RNbBNwaT z6nH%p_+h^}2K;Kc8Ht_r;E{N50-m=^EK8K}HcQVd z#1LmV3jTs#y$6*4sO6H40JepcF!vXUNHO*}iAVwaoJ7mUX%M5_NB_?;AlfHZ+-6TEC0=z;l7!BEByPQxtK4_iSlbqRG=dEP;(hzWrz^hw0t?l*$HFRT zI%?J#v#JWhmu@L(oSa?GjVOuI7mTVx?IZJQyFW=RA#0YM0iS?9~;m2 zzhH6yPeJfM7W@C2#XY2@*K(9nd~|^O&sd}Xk;Q%X6?>}>B=Fk;{&dv(pVR+At>1Av zzZ`AaZQ5ul4^>545opnA$fYo7ij5nU?Gd%Xx`~tq(%cqaA(4^MxO@H(oDS|=DG8Cl z8~9%|!d=a)GTfsLhd1viArzgCYp*TeTT8a@&v{5`uNrpZS&nv2`Q(S$$pk9)cmczG z96q^&U>3uk7=iDYF=;v-eR~=>5W~=%K|+Qtb1+U!vrb3lNVVg%RFz~&H_93s(%MhPyRG^do-DoqK8(}I zVO_W**fp-A-CIhe(+(9+#za4lD?8Z%was#>V3uTa;>e*;FpUd4^v5g?b>UkM;}#!X zFAvy#B%}ia_NB8=tB6-q$VS<_c#JZsv6Wpvi^evYO z7RwCDd>uok&BvCMccbEZ$`wQmuNIz$BQ@xSO%A5`fxX1r|3ju$mdmg!+@6oNmor0j z{E;irmpY||rK5L(-kxfhf=Zr)@cUf2R7r6ST3iG}(|(`(g>_iWZiT!m3c`@3Z2fJE%LmWW z{kj*tEZ1YefSbj{qRxCi)~Xwdg*weoC^KKCEY1!@>Z_1n-o&vj?oVw?i;?3*zevyQ zVXQbd;u;AwO-T&ix#ht8Xci>AN-Xz7fSs2zc;7FRJvS4@1t{fw31%n2OfNNIih+%^ zvmO#fiK)@<$Gl=ZjIvb2X7zNuJz}xy zNNArW`3Jn`+wgsyZSKO5wHwE7lU7UFW0O}6?i@2sQ{S>J057Pf1D)gzOoXXCF3lvjsn^)m9~DHyETG zOOCYzzY6B;U*mQXKDpi5MkmKMD$0gmdOObOly5ENTxir3-Gs)CjmKlLKgt`bWZ

    zn4+W`kp>Xs2CEigDq8TQHid+5@3M^Dq?j$|nCp4(&RwAVPfA|>%DQf5?Jgegw>$j_ z(rpv%;M$#L2H(s5aEaMwy47n_`nmV3=r`O zZ3tv2k)-Sv1!{}ht4pNkI)zWzu*YjOhm?5-f*+2B3g{-5#jX<{vb>d zCIzdX)?WzKrHAN*2}=HL_Rt3JrwU>pHO@}hyVi&W{JUpMN)9X~*bDi(b^3eDM380P zMwU!p)>mvHogVlD&?uCn%&r=Y0Cj{C21vw)sU-E-v|9jIP0me4s+v0D3a`noAoX&g zWlkWJ5HZy6mg6%H)25&|QBOb5NeC&pC&CY8`egyyGG{1uHmiK_9*4A#qiZ%3m&@b{ z-SH>Z{P3QCG7xQ_b^E(XX=V!91{+(th?Jjl%=JXad^$#sj@q8Qkq0|}gK{f!#M#OH zLnsG-{ZRCt44Pj98$Y|`$dvtb#;O@uNJ7sy*T=+GX~yfI^?v>*?7xQV`N_D}BuM*( z0n&c?6BOLvz&C$%UvePbmvwRUVX0Q^^)Uii63kRP^!D(x+eW8MjOR@G)dOE}~(AG3W6=0sL{!%37x`%#n?fm;_I_TiSp z^~IiV`p8u^#=T?lK$SEs3$=`Zgxsw)XEI%>Pfc6;G5PxFOB2jD!=a*5;Oq% zlbrIbL=Z}^r_m}5HTmPi;cq4jixNd&B7u3dhJjPYf!^QmQ7Hz_nR)v6RYJTa&=nFT zYYXJV>_z1$#4?A;UB3^#YMnz!U>m((NDB9SYlc~oKt{0;EBd@Yx;RP5XI(BvzALRN zG@mcebWG~dwRP58TP8004K$SdI$Fj2^p)1bgXxPqn~txyTAGN;JvJAxAVY_wxM&Il ztWXTsF{JLd)bi(;cxKAApQlxbQT?ozIPKoW4j%h_tKe>4a0^(Rqc*bqYUs)J&A>Uu z9H`Hq<@BipW+kPY!a?-;+=(Ti_|DD3t8`j9j?vWNLV3|>^@c8tPDnF{pwuY{ag_EA zZFvkdH6xBCSmhK5Rmh4VGEQ-dzTWPAfO~l*Z2PHu#sD9Lb?Rgr?WLoP zKFG@o0UXRaMZlRUB*=Gd^ocWS_axUcCS{H@`&)cDV9JaWs zj{SyimidriY?@F=FOGvNzu;*)tEU;6+h&*mEG?I;iEKh9-l|oB{w$3bl)=>0@W~;oQ)#1Ojw8aIVb6ZiSL79CNY<%?SCneN2dddg;do8oE6W7Qj7y1(3+` z-)V2=4@05-kYw$WdF%l7_r<>vrhBp6ZGO|O@fZwR58Y;ZNl!<+hVBW}e_ViCE-aVy zLR%xODMjlH@A5xTnwbjSCD?eguh8EuHePKCmAjnEo1T z;97Iv0JB>v%1iFW@VAc2b22b~;96^65Hs+7)PwAc2iaeB8XPdE1A{*2-SXL%1JD&ppqqbsOo!{v$yik?2dL&60>- zB-#rcG%p?zFH)M#$#mc0uO4HH{p~bFf=M564oe`;i2Mz6fQVbc%!}L z$|j4gfPzkeXjy6vSuMkkL^z{8HG&^DkH}ps?N5RKD(X!4n1Y`nCD{Ll-}X0A|Bv0j z{u;mSZ-lddAY~y~n*Ra6%{q8A69IDf(!%~zveVz*^$+BZ!~Z6`G^Ty`T@c3`-o9IL zZ$GVFm%{*Ho3BG5!7}KIkFA+DHa4#B`G>k&L$6-cjcT6xZ$DH*sHPv@j-UzsydXW? zf2Lw@AH7;hE%(p$-!?z`;dh)f+L3fO-97aK^_9PK6$VpKY2gg)^e6As2{-dx>RYG` z+|ds4BMY|bPu?jLcIJlEw{RKUqkjahPu^)0zUEu;eXNh~!_Wx9NAK83)yApa@5>PL zW+#v7{PN$&@)o`~z566oUCOYTt6;GaY%`5YgFZ^kGk~lW1UH^-wYq_<_L&jAg*&Z2 z-O;Sb7CZfl4civwF8;_5UoeY)%`u(0)_`jqab(@)uY+f+b^SKwPg10`y*H_Y-4~eqaV3#h&0>$rq;g^NQ26Gsg%-2cj zkXod?Y_RnwNo=_o;*>WwV8O)`81l8ml-K0*B3-wA-;*CmCf^T))?tuQB-0?kHtF^y za5N>850cos(CO_Jr{7F{F9p_DyEtnUSjB9GlgeH1Hj%6O=K#w^`~W(!Ih1C1 zQ+ba@vW@s@e~ZP{)0dEgse@>2n|FgR#rqPZxV~)4-+rVxj5B>p$68RNpf9p{%ozpP zU=e_)yM@Mx| zZ&ZTJ(Lpq9$mo!9!B5o?2`|(|g?|1VIgeHz4%6xLR9^PcIP8plxX+a_u^g<4Q>#tF z5wFw)0Fhe_(svYBk1FhTscu@k+^}5ZX$>8z=a0#Q<5gvQhJ?Ko zh&FOwMB&$wZBgKfWGKCIZcss+y8wO>s~~TA&yz8+_Z;*bGgsq|9SsY!Hz%XePGU;8 zHDZS<7}{+cU6I>z?Q!>`5vt+SkHypRIK9zOTj~-Ohe=hnUeW8mz>-&M;D{8oyXI8i zuYuG17(3nqumX7pU0Kg0SH7*=BR{CFxZU#h0+5!s$NWhj)?2oxhWl^(Zh__>ptK+p zE&8$Lh{WpF)xD`aKCu4&)A-7Yz}-jHV7rPoC6P&&txkA2Z!ai--HeovkCIqy&x0&j zH>mUwSlLq@LWW>S4Ki7w?mveK5d0_&@(J30#XSaj#P_Ac#J_o=!b{u52vU-E(b(Z0 zha5?&9U?pUyjyQUw6r9E#|EN!M89rqC+tT?*AA7PW?680k5keeB4y+(Ajwy0b2%b({DodvX&2hyCinti+~k9D7;&AAbeU9T%M$Tmmt#Q zJ%pg?F>q+laS>pd%300O#Q{nfCV~>!-orRD2J#GA|J1)E+tEM#LyS3oQtES0zbG3q zHIxggcyAc_f{%;c=cyz+VT2rq84nz$6Yxe@;QO>{q4;jg$R2-ZY@D3{;46{?S+xAQ ze$X3I7e=i!9)t?zf@22#A_g%!#P~k5#nG>Hl=W+B+MVib@r83(APTJlbK4hlrlZk2 zCSOA(6HMV1|~4C zUj0D%Q%=&~-v3{5sEwL-ZtLRMg0A-CXp0KjQu&OOVX1tIdd)$JsiDfltb+?SACr=; zXv;e&5bF-K>ui8ODc6GX`{BcAu z#xAKz5hqyh@E*yE_r67N5;~l;>iC|`ZA1ZnV-yX{F6h8uS_q%z5o4 zet{VI1?BbXS?)#(Qs&odY_7_t@@oc!NJ6D=>81$M*0yP!v2a){r|kNi$g!h*I&q_w zsUN;DagU0tugN#z)y6%4tO%dXaAZ-lsbG}jbQf*lCm>Vg_av5EL_BwmnMlk!i(}Hu z;i}v^GcrJxy`QvSNlephd9l#YssyN}W%){X$$Gx3CAQR%URQTyVmL}aWl%Z}uE?fT z1d*e0IkqvAPYO6gad$RjPo{J*m_G}&dP`>r#f)xze(g0Fb?zBJB>-m>jst%zIfayV z3bJ&AZrHfI+=v45a>zt;Z)D13c0O=SYN5$lw=t7;lFMcVRAlH!Vt6Hz)o})5SWE;( zwWxi7x`NrOpp&ehDZta!9X?PB@|{QY*nhwDHH2}=-UjB7P(7fWC2IydKY9fV9Q#H= zTn*+s(65gnmg()Rxza zaujzC8c7mT5BB9c#o9B>=u@a@vl(scv;Q6=^4+9aeI;U1w^etG4$HwI%i1bF8Ugq8 z+#y;B4(o2F7XDX`i!a}aXW$ZXo||tQ+QrXc{*sEOktXZJ^=%Ma*GQ9g|LN=dXM{e%}8EsX#~!CtHb&W zNnZF6$w2Aw-9cFEcz$Q<2&dUQ#*WL(``LlK?-w|uSDw}^1*J!dz~4?{ zhOizi5yOh$U z5FS}=G5qU&5+Ub#WwH`9mu-b*i8PxhUN-TBz@YiQH|jF#wItX{yx8oH>>o)fk6yDn ze8$0MpT$aQEUW7u@C$9D4_6Z>ik3+;4LDe^Pki9&EdCM*1O4nZ{qOyzFp_l4FA%Aw zfJikL@{q&`EG8hyC?=3TVIpv=pg1j*ntbz!3OKVd2bw>X2ndmo;c4QnnuLH>kAz0Au)9w>{TF>?Aigg&C6~XakpK5 z?<$-iVjfimi$1>>UN}#6d^j`M=Dgf052if^zh?KdJ@L1)Rx89~wObWBXHC0M@3&~1 z9+}iP@4AFhM?KH#zV%QXrEHsyvg&-xYqkR-2&OEKjA<&Ymi-X3$N-W0ZtS* z3K~5`ki=e{mT}_o?jo6ws;CuJvK-OM>o3J09l4=cJ%_n;?bZqt?yG zQDf*Wu)2Vz$(I$4UiFKz&pfKBr?Xt#{T|_6HjB-7y)g`P5Rb*EL&)%il^UWx;uhbb zJ7ZVc$jHe?WmWgV90Aj=2MT2}CxbH>(QwfjuG)rYygf!gdw)*=7q>-wZ;yP8P96p4 z39`pLUz%6BgrZcbP>O^(KaCPnGSXDl)7@?NQHfnFOD z?|cdFW=Uzmyrwg~PYU#LMO{0icdv%mfp)LSp+q5YD}}%7r1o<;m|sRIvG+LGzXM}C zg5#|CS9G$YVeZc*Xx^ujt>9k_p_z_OpHHFSpX_>s(0^Q-w?)oUpWAHvWAgF9@>{|Lw2i;&2RP`vhs7DKw z3ZsPZf><>MO71ytq3WH7>Q?-vBm-*bagq(m!+c!7*(rtj8HcR}`?HEj3pPM5S_$bz zkXMKi^iT|x+#wwSf9%mJ25RouxeCyO(29YIJLj$f)Sz`$eXK`f-l|v-GQne{WLk(@ zE+XirI-Qo>h`;Zv=+hgwKr&(1KjTFinv!3A#FS@ip-w{4xJN%Uhhm3(m|w^_rI6cf5^*!OkF4bpVSqb z@(4g3obr##5*}71ya~o{>ZKdHYN^}F+y|YJ#{0si;*Z;pzoI5rD zSiZBfM?y+~d1GVfAC4Z9MKdF{CTi2uQl_W!1?BWPe?(7DTsn@@cP((ybB%T$EhpeA ze(a!%VUW#`kbR!^KSXY#KXZ~a+U6APz}epURlj*-YFHa zfrv*%+}>+pmzu0H`o&WAYmKIym_O>o6>|csDGx6{q>4WYS=70cD(j zF6*G|w80;I(ic*w<&DncH(%G$M5u21;f>WMq!$rlLf(D%iOc{QdTha4naT_IR<4eS zEkH{!k8}Ysm8jRNki#v&scJ5ORZ;dn2`N7+Df{x4pcp@M7{~2<5?o)UBt?oLt7hcU z*Tb0?q3FdIe0*^{HSBQki~aF);%UxRa$ZAQavH?i*8brHe=Jeg%WEy@@`T^g&7s3x zf>BObrvrZ__niJwws#q^O9fOJe2wj=B&FGSUWMPFcd*32c=^N<;#}%`XGgdX&%L@g z(8qtUfp^w%9ZQ(Td$}S+YhmsSQc@(rTM7QE8t#)3W z6^;u|4CmEfU|}AxAgkIb54UTn+Ql?f28F<3abs%}1c>LDm}C=ia2VV1449#yo)N_D zux;?_JrM}();NbJYo0+O~&BX}fK*h(5ff z=Oj?~wfwsXZvde^jn+p=%_ zqJMaMNcFw6;jA4)uZuD(-W6rFqBLVCZ(?=++*uu)J4Ig1ELrwi6kM<_!3F*uI6%1o zN`AG9G`(uDKXh!Lg2OU;^)gXqjhVH>RW|?#*n7bKR2<<0H?Zx;p<3}~cziZ9Q<_JW zl#CaeN*84`tq@SiTK_`5Qk{?AO8t~{ww>@qsoEV*nBap$`&3GkiWK-3(2rXLioy#} zL(PlajZp>ig>NVJ&$9}|Qz8gp^{1(P>Sbqr@z_Z1sb_sbb;lPV?7udZfYLI3q}%$` zo5Caz!41Zt68)i2B=#fa&`kbk_y&=BrUJlPAp9HJ0@LC8U3Ovf4#`$;I}puId-%B_ ztq*S2|HCr}mU|4w<|5N(!)JP;eImjT<_HD*(f-V&7Apbn)%OY_)|Hb!)%z@iD+x+i>yhoxQ^T2xuYQ4UB z?M!#+M?h&ilR^h30;W>%+h;>g&C{mX)PZJlGE6j~4``HA7oI0LuoO5(}{1~DV zn`+L=mVZG{WDWlG+};#ekE{P_ozejA2V0BB;}*bcl2nj;tm`l6ih zEdvUn3K=(_CE9qicxoxPK4Nb7R-VG|foJg&Gy;6xM~WYH+TbMGm|>qz9?;_xR#Z)W zG4&J~6z0d+SUFE$dHb8=ulijAF3L0{OM~-;Pp!;JlI~a}6Ww9)eQcuF#*o-BNj3I# zqT8CT5&!bJO_zx$^$UlbC%xiSJAA{`5~3l52at;#$h3bBD5quHp<~m(a+|q}#D-*8q52GLyqrF><*F=RIJ# z2M!obwlqO;!Cv^fcTi$lj&kd>bK#bbMQOxx+}u?71%vmDxn6k59fO<^Y8(0Q^{Y-K zX?2B+7_zWaX`K0;PAR3BGfhj@DaG1dB-W2$DAFCR&*Acprz~rYwOYsG9E;rAF448@ zb+%bJOYJdCYfQZ97{KHrIGdUFhpeDlSaV$WP&4Z%m& z$nem56Lyq{0!G&f7x*BCmg->*jGQ@z&DN2bOajAqDjB9hs@Cf}im6+=Ubfob0@g3a zT$SiL=(J5?j6kyJ^>))PH&!pv?u#zIoKfpRk>=&B?>`|W+H|{;ck!KmPFXdkhiR@NF(7X7Hddb8mTUQTJ9T)y&fq0$*Idn zmhT)!b7~Y==rm1DX#(Hcu8OiCIv2Je=z?U;PYYpD<(FO=FZkqdR)yb{P+$a0Qf3b7 zj(_po~ZLZZU(V$P) z(wLE8-g<58a3y<_2cVH5w@`m$5|1#eJ{?y4UHAQje1I;?&dRl47ojb1_u zO$RrqhS*Q1xR)GFMx+8Ni)MCC%C9a{2N>W<>pQ1@&j-+a* zcMM%kdGHb0Ta!wP@h6YMC>?RfHFLMtwQ1s>D^qis__G!|eGIYYZIQU(EhdR4XKW(u zEFAe?&#YSVGg`7s%zrf}>28)(ReD~sx(6axD zyEH4GfLkjHHUF@3y%E7Ezf%=J zsXd#F-~M99PV4UwSLoAngGFNFL@=5x;J{yu5T;j>tn4w0LB2T{!e7xeV7El57^n2eg+?;uo`CKawf_T06IdmUk z@(lRC{TmtvsT#6?3kjc?kWl(3e4szn^goq1{6(X8xZnL({*f^JkBr`%X_FP1A?uUK zkpBIj440{Qbu4cG%-OylV1T! z-$Wj;j$$R2LVo2-F)jT~1{D!#_&%Z+RkQEz%(3%eVTF zvNC+n>ri3d$zdTtlfc)jYM(EzT_*jO-i|nV<6pR^ zsb!WjfheJdoo9Lhle5G zzs+S^7#gsfBR=&wEhvtvmNrW1qVo6OLt!CMIDxG#N3iOW`3i*z~U4GL-Q0@_K~EPc6m@5Fin61?VasbVKYeABG$ygSUv?Rl|@Ye-I^%`@SU~ zgtJD_@fqZ>v9Jppwmr8e5w^XwFA>(RyP^I_Ea*u0Qiaou-Bmcu7`8pXM;W%gykATk z*Zr@9F|_shF2oR&&Mjm^?@wS8>c5pTEdP#x?)>|D9+v`_Of#bb?Hf8o*U%DzN+?;m z#wOTu#!3efa33Z9+TbPCg(Dr!7J1}D6lCD>t!yW#3)JI9(R$Guqe4g{xB5Lai1*q#CAbJ_P-f}K)(pOLSVetsArJ0ncn?Pp>5;4fm0 z+9#y}V)YZv$s2Rl4n}086)Cc+;42yOSj3A%TPv|dZk9%ucGw!jY=TMo7RQnFUNIfA zxQCjzi@%lR3b(wrMnlM^(ZALwp9BZ%;qWoGBvE?FcPKAU_Ees8q|2hhb11Q=v}8Vv z^^P}JZ{#@A7EgY-G&#fks14io%$m+@CCsuNB@2Ze3xjf9aKv6uYP(k)Zl4vCpW;mh zLw+%*q`gL>4uYE8y6)Jgw;d9TcOOT6Doqejeyt>60GZqjBf74ofjsqd!V&L@CiY~KFnmpC4&qmqz*bBoZO1?n zs7*)2UKvDYF{_`gxU!7Qa%ZER3yJf=d<+v}UHW#FdkL_uJJ8={o7x*m>u#o#L2>#i zYNoeNh~H2S#tmx`4J&HB8cXjgD*GM?F0St!lL;!mm;lRPc*u zv4!M#QMUbyoo_HNeuMd=eE77*qi8s@#iML^HD!yrtV?V08W-(!POzFO0oDp%euf#I z+l;yOhuGOsI=%xc6VpkR{hab*l%zV2*yOA1@LjX?16jykp15_6E3a3Pdk!xlai#sw zc)I4E(Ka*XeptB6UzM3i5cXG&5P1$mEN;>TuE*4?+>=L(_0KwMmN|`tl8C})?ut8J zz5A@wGq?;%ihNcoZ}SNdO6X@03=kQ@Bwb z5AZrSLD5TpEn3FGtdMR ziTDB~Oar2SDd{nAu7;7L&f$i-(%dm&yWwxG8fRY6T_oroERf4fdXt*Giw65MwEN8p zW$!4ZBeLc2`g1#cddgTj0^hV;I7@)$@H+dqHv!y@q4gB4>>UCN4v_u5R3hVbwuw5y z8T>-> zduN(j)vg{{72x--9Jw-Yd%r)bza~BrD-c6Jw6!l2gY5HhlR(*YvlCUr)HD@6zg6!z z_w?$Ab@YN^)clOfF|-wd7-vK?;7@dou`d+&fC!e2tH#<-A-WC;czt#JD8cf!?*|cS zDA{Y0okyRQw|&q=-P$JxM~{@I*KEVwh{q%ckHvef@Vo)|`b<4yMBPwT*t=wLPMAJu zZZCAT4=lqPWQK#_Nz;z#eFSMl=dgX`rbx)yFWQm0|IQS0WU@RG#5n=rjrzeAVL--V z4_3o*unL(_$bL9pUN1Nqy?P(0`*GRDFAF{1c>{YNBTmm43FH%JWh@`M?Dj%1Krai* z&=K&pbr?P(wk|1Hn3(vH>#{8RhS`X}H;qv02ugLIhr|5RApRF8`Uk=t$rc31aJ?PP zw9ZKruht7c5Wf%sYR^}nbV1Z%&LJYfW4Cm{gtGP71;>^BaJ_gcTI5!h#37TbS(D%^ z(0c$Xb{5{A$T1nMCeBTG>v9U9nT}smHuuK(_a&L01k(}}hCh~YNeB=AK z^fJHi-)7_;hq5}6t3BkGJ+mSQstCsR%ScI)g4AaOL2n0RSH!-ExpU)CJsgZuJea7s z9xE}o#vh#7BoK~d$D8yHi8;$EG1Rftorq~)gv1cCHc%c$A13IBF-o#y&*?AAJ0&g4 ztF6+?f*=(RmF}qKT&HRNU88@EulyYNNcoV=^}nHi{5`(@$8y)dM*j%^twB&){7=;0 z{~7&5nEmpp3X)A&Lb3_6|GM0z;r91TqERa6iD3%ByzJHB30DmZxcFpFya1FNr~DaBrSLsDH1X zL1=jImZ7U>FNUFOU~inEt8cG@p=)UGoT00CFN>iIFszfU<{~75wrvT16$7v1A7q8A zp}!Y#JplR?9f9@8M4|$wiI1-Z>JL7cJ_aBQOBXCm0K}v8jdmm zDd!FG)zCds6$x~dMA{7*=#=mEtIS)ff=Slwbe|F}h!zkMIkE4;-jp~@YqQFl?Zzf4 zww|nn#wL!<%ZaBk;V&*E~&gEggU1N2Yfi>I-; zghCQU&JP7t1iiU)MPWrrD_KbV}`g9T&CoJcir_p)PEcW2en? zL`$Tpu`BDwf8l!$jxmI`zSNU%Wst-FYB)V~qx|7+AX~6s;^6a4>wlWR-{3VDFEt#! ztDqM7G%r?{?bVWUIC*-cVHt(>Vy%qh(#%yV0PGr8;ZCQ}en&^O8&2{BEG}c=TEBu8uX>2LQX7x@+C1;ecJ^0Byu$=#CE|zfRlOj2a z9kEwL%vfu#IbGIILfjTSNLU#(qW+XnqT)MMDm~oW%YU9%rnx`&dT;c5ZC&Vt5Xa+{wy!2rwmIQt^lZz8wofv^4OBQrYIdi~q>_G|J(Ld*Siq8A}@ z2Fzw&GgmZO7o*gg7RykstRzM>r$*I&!N^K(#?b|4vlA+Spa}fRr|^i}3U|fc-8t!9 zPO%|L@So8tjBd(bbN(qt9ii?N+%zP^nIf_npE+QE#$w=r)EjssuD@Ep?etOvhQb4FmP~6$Q~{vT4!ub^}gaY^gD62)+OgMQG-4vvsxnC zxUU&k?vW0tDILLQLfO`9r8AyqaAvo~ekq{TOfLRse?Yk3h1#`tdBhN9 z$?A?ovH@l)Cl=kj6^L%WHq*sR{rq6qhkEGAA!{(QRFm0Yb7!j3k>6(hW zSYIpB+470Sw{WNBDLW+AP__RGkQBnV9Sa4{raXZ4F<@pMXgjp`M}guRUD0S;V1bLR-R`ZdJNCL@YmMzj44OPMgftq?jAs@kqAhQ{N$Db6Iu=$0v|)?V$p ze7Hz&z_PqAU!TRN4WfE&K{Es44)?{Mk6Yx@HKX~=A^Y|4%9d5{AtRA}p4ZK~?lMC~ z^*FlzJPC@Eqg`#5-p+zmdK52T;%6&$zb@eBBR19oY|pBBn}s>@IbqMw|2dba{C+p4 z@_6YA;T`L$)Xy?*yZbD_L5%(qM$|I?gB>fX1DMA}#;<7TB(?+OJx6~X`}h%TPdyJG zUi7p?{@O63Y3JKWIKP}tQw5)}Bjxngac*ut%jp?$=}CF2Xz)cxG zBMuW^m-*ulPcXVGf0-BX=%8LB-^{51`32wIrTK3W^6`9G7z|VrU$^>iMXVWreY&yQ zL30qUNsLXdgZz(*y4;{z2_And^`sVmbwR4_e+{>admW(bN!VK?+hoPpwm^I&p>EKv zBrLv({^l zRLl;YV0I!M-8q5-p^v%4{P@kRh=nTKH zuOMOYVA7i5^!gg6jId{>tvl+0+SxZFA6c*)t1PEcdHYe%Fz?0P*HbOK)r`n?`=v^r3{bs%Q$(Q#1j(<2G z*NqRD6Xg3Apnq8)!~wMyn#;d*4aWTlT-}Dx18;OKeB&`Fc2X`gcjrEQBb)Uy__~UrD+DMe6IX%l`ixtm*%^N_in@rT+!e zl4thpqzsd(z~YxOyamUo*`7;ywH?2@*9ELvuSjE2n>^3j@N8$`F&gNXM)E|;Zd&J9j}1+$pY_Ice#Ui32p7ZJdn}@ z@-sAObWB|A0X1K_G8bVK;!qi}Q@A9Z^VG@&lB>zhte!4V{gnPme@;Af;w9|N=T+Lp zI#DB(QbI*c(?wF9=h6b(WkDiI6H;3KyK^v9HL#K}| z7;=KOTb@q880Vz8EYr5n#?AXA39zw{hbX_VV77igqn5ovF5xRKd1d9}&7ICdoD!gJ zu%2x+hzwl|d>#Fr(-My<>q;W{A`xj}E4@-{Xd#I&jTV3l?f|0(R?~ z)}sB+Bux%0kEegyDSt3R&TsYWlD`4Hj2Z0*c-jXf!@$npM7#`qhNGdrMD1pr@&RpCb~pEgBZncbE&J2;>V2-d5fCDL) z3;>4oMGXHIK1Vzm_k zy$D|ab(QhZ7Y7V^vd}tulm?Q1 z{a^fNDG9^c#(6tGf@fm1PPMF;>HDhW&Y5iHwqg|?uGj+}3I&3ypvR|(ymda|G;pG?rN@skP@6=Z#X^+E?+oY*|H(h?V)gGVJu;xv3#TiqtX5#856NaPh8Fafs zlf}p2{#s;NFO{f~&N`{tEuOAE)k9_wC|?v9R;UV;z_uhE4gH~eG0I?mTcBF!2~AW$ zRzGs{lR(}?L?sJ z#G6bf1jRai1~G137&g99y(ILt)(`e1mNR8AfD70I>a#)G$QG&Ckf3ZyKw`+MBCm;Z z#)C$)@4GDAyE@l{!<-_mr5loN&2Nn>9cn z>F{0~FOn!&pzO_5+FTpkpF5A0V|B#T&sZ%yCvO{}*ZLCHb_>|~qq;g~cc4!B!0cM7 zzzt$YV%oql7Vnm!6;$GfgjS@S!rmVf)d5GA_AKe=p+{Es{wYLv`bh&A;SP+v;=A-K zxP%+LNd3e&wNk-)me<(snm=hO!OMH?cHFSu@ILZ-@pmj>KS2Fde|W)>%x}}}S9H`z zhPv1xx*^dC1%48iU#r1>fcq_NZ(QSXn~IpC$LR$7nP1DLk=~1;E^F>BnEJwPjfgtO zqMD|;&#WsM4G#q8V$(iH!oZgzW)0uK3;4)y>MqhC^Q_Ao=HLVA=uXW!`_A{O(H4%* zJiMfZnOxASQ9qw)4|uBKo?&(xk&crzAay`}D(bg*3zgm)($O7I?0JnA2-TdbSkc4^ zv=*ZI+;49zGV-u+mG+o4{nkrO^+ki-P0LO1p%jBR;pZXt$yeKmBWlf(6x%>} zA{f4k71~R)&9vA{g=KX__|Ug`s@Kv^kiWg-u5TI!7O<(?SJSmD{IFt~{Xyp)(ty>~ z)Pxy1&Mx8f!oJ$M%DW5Ug713^V%_7{+3Nq{ddn~@*4Z220I#RlJN(;wV2v6B;u-6T zS$^At-70_}>9zI4ax#!jhaRu29{bRh$Q$Qi4+DR=EjQ4cd*D8l!;V)So`7t#pPbBo zA-XWY=&VOWUKYX>O1h7QB^E!Z1mbCrBJD7i2}1)pCj95Q(DauHSHhPGm$xXK9on@9 zMW;y5(f&0WP;Mv@l6$2;ez29vwd$Aa)hQ3b_R`pIGSIg{#V?01y7>MtG+U06gL0iZ zvLgZH$I&SWEC<;NH*9>JYg(Xg1*j{uYb8hb7XNO=RaHzNzvRv;M&J)iicYZ}J)+RZ?@w06KDDwvb_tKY zoIu?g8D2GC&R{uzjk-{JblY}u{aI=EfP z;r6qsIpp@)WX}-ZvDQy$h=82}vOGFtFX#_9eqh^BuI;L8)>h=p-S<~l<96)L-dAsE zvr`_B%s4}Ru$*FM{^S6!?d+yrYf1Z_2Ejo6n;q6guU~R4&b%Z16Mttj0@P=^^ou;aOObnI;na& zK`+)hJ_N?3O7tnkpO5+0;Kf3cZy!Cy;x8ccq~D+QrwQHqL#I_RJdPcSE_Y*U8CSp~ zu{pz#w?Oa@+h81aZG^S6r%D`oBufqZY-+z8`6&&8g{$|A@D05 z?d?4Jn+bS0j`xal)-f;AvZ?6pZMnXF(BXxZiR$(e`5Zehc(=bEZtL;i>TXNYIHi|g zFrwrOS~C1QaN_R}I$2&us-GXhCvjk4@o6R^81Fa9g+XtnNG%U4wr4XSvNk+0#eR zEh^S#C#uM@ws=O&D54sJF*IwSSUN}tcx;-w34%0u357w}6oOpy-`?@EBdNE_=c^x_ zG*{pxc_rhw=?8%f1>Mdi85Ww;GCZ1G6>ca*-zs3U7%b158bATDCtbf#XrILpKckjC z@Q359bf@ZubOLX|&%FIN{U^+E#r(G2Kx?$v2LWidg!&-6vTi@OLu2gzds3B(e>e9p zHX+{E;{7jzs{e__{&VpJ4V?Z%WAy)7Sb6H-dxMyz7#E?Cq>vr{CpF+0Svit^nW7Hk z7|w+-yEpGo59l4i_b+RJY1SVj;QNpP&oD5*G}kaO*aT5)K_p1Q;r>RWjIkq+82g$u z*4JZ%{9i?lt%)<;e=)=%X84cyNWzBfmn+)v=bSCqT6-}V3YB45?eb#HJy8Zm^v@na zta2Ok1?cLKiy+#V4i~;_8gJN|g&+hY_iy;4?j_nNZ3M(jM_F6vlb>1R9DW}koIuy0 z@DZ&MR$wUfYI(=)LzKg?u(zx0^QJ%d(8Qv5f;V1w$u?_gM4Qol>&1L)`4laFwc!34 z&^>E*HO484C%eFX=16v!O&Oubp*MEbf;ps;d;Xc*Y5IpX;|eqC-u?%sbOvQQMFZE@ zea1(+<<2p;p@PMnpL3#4Zm*7(bSLpG>%9GiV|x1r%-10KLp}vVm>aUONjKP+&1-Ha zjjz>u2(9C4-%ms#i_*$DXWmL*sJ3XT?8up`TRns6B-389R^nVdZ~4C4 ze3Hf!k{%ti0AR%|2;RjrX?gp#dk;b(R3guP5!ld?v*P_a->8@Isv}@xzi#v`u-QnX zZ{;+jno2vQSg>&AO2tNTW#cE+Rs~7t>E00+UC zMA$JYj&=byCKM)83Hq93-y-ZK_l#$a4@D++XUG}(VC3?Eo~dC}R9X@k*<72MPf! z)NZknFz+if=^AoL_p9@EKV(5oETUEIEcyUn0ii)y`ePbhuD_C`1X+lDU~LAk&=|rh zLPJdvAtrf(QAEQ}LXQYRc$AkkLR9iQ1`&_2JF?HyCG+B~YqC=u(W;U_OP#06MR9d1 z>;+CatBk&-I`CttmDUh0c|VZ%kP|-|NXKVU~rJ0&awOHm5MZS}2S^+QF)7}U!!JqR&Qen!eCZ|GX8OV1T z8&jDos2ssoyUNcwrtHQIa?vo|sP9_9p`g!G0zt<4i;^j$;|KTsf=4Vnt=ZoVp413J zyrcc$g|0J1(mmeXwLZc*u;`JD+;70If*})Vo9k|=-l05gXK`FtuIeR2f9uoa*2NxU z|M!JGAhvWu`C3%^uf6;)Ir4vBSVa>D7ZWFE853u7JL7-u>1?GdyIFY@o>(-^JZtN{ zQ0e*dvL0vL$!D;7`j(+M{U20Xf^UWI@3H77hA z7aor}ZeFiPSFu~)ba!1)2y+ImQKpFZiIWV)3~qlz(pdrzX$85eQb{`q6CY+}q| zD_KVW-L45vXt(EWH$CQc(wPrF7BeZtCbN)d%pPaXVA=X1r1W&9=Q39#r{8XYRmY`e zgPlG*pY1d~I2}|4yl!Kb!ogV2$`UvFv=KgBGPrQ#Fu#OJd2=e4$lE(DhfnA_90eUyv{8ps+9*2A&LxO%G zG>VX5ja-SX;#JAUmEh zTwvelfJ}kM9i^*pCgT)^Q7T)ZL%8c;2=wY0mf3=;3B2z;l2+~cri~GAQ~;=92Up+q zgtEc}JB3i%%)x+l{FQa5^avbxpz&S`#Nq&HyToe{jy-BeWCNG=#M%N~!t-PdGh`0A zBG+`cb7%2h& z4@d^&l(2~Y{rD(p)7|l)s%90ds>OCKt;W@eraDWifDnFRc`a?tv)R=J&80-T*)Ce!b{~`4S)#yxKl`Z zsRrg9NXLFZEdlxp);Zcm|j$2>oDf}?Lk zuY1O8@g41=caBO$Ezvmv)Sk|?-(WvdBDW}>9BHk4)LNfF0=p`^AtijY;=uPoq4B~sZ@93+P=+4hRSsOsG)kViFY#Ty%BmuUqkkyRLW zhIkkPU%3OLlQ}ZPME+N&3pUtYpxcIyyk1H;7m7D$9(cIc2rVjV}yX>^kc@Afex46b0Z0UT2USfTlPo)P#Y5`C7qjAw_FbA6=Gq8YYrXqD>SP^_f9DlO5UYvUQ1_ zl4-W8@1Rf(Qld>+iZoL0;=pdQnKX+c9#QUc!}1PAqBwLBE?U~BWulY!)%1R2TcRM$ z%ilK5B!q#zSl6xza|Pv}KI=0e(nP))HWY>F)y0k$E%;7ktb+_W{4VfP9R?TFX}VWn zON3@ezl$5s3R-L`q0&&(4A!gSm+x2D&AkublKQ$kqu=^Fp~u3N`VxLv?L}wu)4ytY;oJ!$cJKG$xr~;e$n@TkU52Q@bDpCJ&Bc?iDInNv>upKu;idk;w4IuK%-_B z6kQkJvTGd76sLxT6|t5V4*MXjvp${dVO+xD=~xT1l^9{682I(_4hMFZq#Y|4HnyZA zuBD1Ms0uAjosuBNG%W726#52eMYO#Ud(SR%%qh%EnPuyY?_(A`-s(GJsx;AYzBtzV-cCK_VPk98;;` z5qHL_jGyaA1B3fZ5CApwTy(uWaTawgRDg(%HX-fAQuM0fS3f>94G^9X`-b}bg~_HvA3l(V(Q7R)cDBQU@FB_uB5slL*O!`F{R6> zLwk&q16*H{u(&2-jEkF#NP$D4jA=-a85UZyDFBN%~PT1e82zmBJVwMl&v2ZMcJdt`CU!U}M`Gyv z%(rYXmm!XOf~C`twPlWj%-@sqkBH@n;0gmQ?X4*y%C(b%Twqp4gLx6*gvK51OThtk zaEr#F5)6G$3&o}ljie~Vrb#7F1$&V01+>-3OJ}>_q$bWv8OBm-q^>h_8<=A!qB`pX z%@$XAph?W1rT~|*OzRZ=I(6~GlDeqzV0#YF!-_p}oT^Bz0XApq{YAENlICzNm#k3K z_Es5hDa4kuT{wV^WUmVV*P)cQIkJP?ZsPk7CCh$?N#%?B#X+}0o%Ytu$g6O?Af=EQ zy?Ou&uf?fXW$`keA&$c)vN*|`NzS5pOK8-JxseFmSLxzJj(?cz%|R}dPn1Z($jBH( z;Klp?Br?gJ)dds;H%B&bJ@<_W<=)8r2+pK zVRRGmqY1%_y(Cbq16z=jJP^%#`^_`Ou5{ z9{4X?0X1irh7CIdTHONzuVeqPYQQHrMtc1jj!CDz|8dU1*|AG3JaWtk-#4xjLMA>h z)=>bO{*jzSdPUm_xjj5~tiU(tu|H&ap@?(rfN5r4dqj z$6zYVmwp+GIMAlj&Q6{~{Msuk!d)C$I>^-i1bJJFhJMl-6gj9pzegB^tQJ%#`ePOk z&X(jrXLfd0xMI{GqLZ+4Th5}uUG+_RcwxCB@~Dg?2c2%(0>BOj7d02z{=@<8tbC*1 z$UX4}S8~s7voTHvpKckzH~!5@LT+Y$ISNW}bPk1)-0B9DGpYxC3N2!lwA6%qTaL&_0v`RgROe3M$N|=ipJ2`IPe95in+c4KwBaqTBwf*`?Qc&M)589ZAC8 z(005b=SHJk3C)cS^Guqx`Vry};2DMpx+&*Ap8UjU9Ulg9WZ6HOllAL(s-7978>~SA zSn0flWIx&sUZDW$X?>?`Em&?#aJifT5lr;p5dBOXzqHld zoB@2hIy!GUou!d}_O{P*u7sbngRi?FI^N{GgrN+eKV>Cf1fwVqD!-cubtMvjQ4H9! z6rfED60sCT#tss2s^Xd~n93?6pL~}0(`19EckveQh-tKwc+jVDthYnfj*Emsab!bJ z+=we8Lk1&_%mf%YnOql*!-nEjj>B3}#7EH;-4STLBsPm7(K@Z{7E)V1JA9I|BHjK9 zl;>Cn*Dy7Me$xV{%t7-Hq*||B|f<#Miyn_;l^!2 z5q?c_)N=h!pX+gq!;i->#w40jc{lJHCTYg$(MO8QIg~UIFCU<0O6-c6ORiBM0>Oi% z-a?^4H+|D#UeoG*NN{l|TSp(5TvGwrmFTYX8J z+VNNLXaxLvB!YW6g`X*}q{kjTk{>bwo^J{zQs@^hpvP|cJ}*&5HsGy_md4Vr8%u&= zv0*_F#kI=T$BA)>f^VRU_G<};>}nWJVPileW=p+dyaj)C%-aB?Q4KAj{yf?E_HF9r zd;I*lq%Sj0vM(bue!|nah5D2fhcRv-UNW_DOd={AlbJ*g09ov6d@PBku2tY6RchU$ z{zfkYE0#JL-C%h3c^(?gCWZUfbfGwTL}oXhpIF#@#&#zP*;Zloc6_@uJ-%)q8X-4_ za2!WV0hf-8a7Zouqj|qo7Q|Vx2B0*GX;kZkAkV%!oQM>) zaDy3^t2yBvb)0RlOh;(L*JLz%^Bv#gRg+#ExCAXeEv7%)6enZ_d6+0Xvt4`D(O|&& z>9A0?_RZryg*}pCP310%W#RjSj6wqHf{0Z`I>iG&Ibk%nanRZxt|Ge& z$}X%&qAIchUuQa8H8FH9Dt{GrWn#>Yb#B3^0dI*yVC^rcc&v_)&TIfYupvqk^04@A zLR$T&tA|W`JW01V53+LVBtLXP!bK@h#_*=NL=YznZq;w`T!e1OQkCo#_J2RWSq2pyqqaNp-^Um(skRC9M3C6_r={s|@ zH6!6rhNGhO>P$!_oHD)-FtQo=FzF*D(XGp-9`T&2y(|kWG*+hw+Qm@m;i9VtxEw&f zC|WO9@2Uie?RV(SA^PMfQ4){M^KXE736xjqGd74sa4#kcqNJc%OPP3idVYH3)6|*@ z8(l4>gG!x_ifWUQRn%x`t4tr3u}mu;=U*7R2%*%yH69F97n9oU?Z@n<_+tk#5m*-j zqlyLI8yX9TR|y}~d#QBc%3rdGC1U*-`kA25W#9Zk*3)9a{Mi#cfe(A#or~}3K*;nO zmDWa<&g=1rtk}AD6?o$HH`sGVA?L9n#Xo_TBi%rF$^9IU_SHbnoUmyq${yN<@%O2z zTvt4Mb+2eH!G?k4U8&E02AIsxc=8`;Zb5o*{RkyR>BEpW;lazQ&w*)cJQlV*3bZK> zAX^|m*7&tejD5k5DF;sAcBlFMpj~u2hASmH;0>2FM7YDUYWthEFx56n31(@4H%0>* zd+vi-QswvD09}j|$2QUXzGKgt%3AaxYmiW@bGRC-tOZvkug--W{tM(^58+&$T;_;Q z9on_HA&^jL2Zx86UX$ORXTdofr?P|MqfdV|C%Bub^48As?MGZ`T+EjRhXBGP>Lkqn=nW^C1pdIf*2Rg&P5ho za6>FYhSZ&YMx=9q*6u?;x1PR|U~?nQJ(!^_m8bz((k@#^Mml9U|GKT*CMv`?Zs9U9 zn6P2L>f1J@jv;nTR@|Z4t0Bb7k<6MN?L@tBr;ZWhnw>M5vrC-tLywoHDovWRciLl6 zE&$gJrQ`5kKt!^S!#`%EWoWi|BPBCC>7V!Zrhz?j~cwd^g&WO6V)Pn_zh z4F9m@GK5JS620~C;wO`ne)5t_O6BN&Rb>V`V<;q_3E4dLZ97`KC2~f>+o=o9DrDq@ z>(6@ll9_#yps32pB}+G&`zB89G4HB~%FU&Ub}a8IFgUfsn%>plbwz!L%{-h-IZR6m z$K;K6q2ab#`9`Y2il?gUlK9kY=w0hSc|dBC+cUHm4*AQ^tks+fPMn&E?KNf~s3ers z(%-XdUw-U+=~T_v{!oO;86stt>Kz4QlozoyE)KYzK$2j@?=6zcTTQsbB>oBJUPAH{ zLYy0}qUJc%NpnQ5$^e9G$t8z*0db!9^V=_*^Pk!c9s))uve&WW9vy|~iwaEotZR}^ zp1nWHtF}OruC9P01jl1}jGJm|O}-L+rjl}VXQa2i_TLi%3U zc4gZ7N?^M4H^PP}Z^j+#A~e7zuf5%?=Q4t&m6ekk*P;n`N7_EZx>h-oUHjn5`j?u+Ie^867YY=>ktEqIIm>MnKawzi{p4K>D?an_swsRfVfsJL#N z`p)WpQEaSsSo>aCTXhymiB5Z1zbTBdhB_L2i(pJsPF}3uTdu#O-=}OnM_?dJG`Jtu zUvB!Gs+A65(Jw?5uOTMd{zNpS8O%C6rLn~Bq<~mdw`{8!oh^E-kH_x(fSZ=o-WZ5i zAvs^B)-#oQs^@L}*?kYgE!&e?($SbD*Gu#J#?jF<)F2^12ETvc%Zwp$=E=IRF`XV& zm6;WJaOT~fh`>XMZhakEFExFal1Z?{^tpDh2%ayWg{6Y7v@F$1q#QR~T_cOIA%B1v zd5T6NZX_vFS!G$0L<7~e<(;9`1Y7tQsyNs=#5P)rOU9VmM#W%*$9jF*p);5E7X4nw znrPSjMbcOUrDH>)nbVgavwPnd??F4ywG0r?HOf_+4R+SBmQAHSakHxWnQeCE;kXML zC-lNaW7KXtjZL7S8NRm^?G?H6L*Iq!v5VrdPw!YSdtJZh67H`ylv7F$tNNs#dmB}c zMXx2d*4D(xi;=nxX)XJ;I40_rcL|IWl1H~tk)U%x#a0tI?{6j=RqVVoG5w_ZfKwoK zaM_i8Jc~f(ZPXD&eELtbs;)JjWtv75V!QjyE$&6Qc1egg%^%JFM={R2q`&v6D0E&)VRU2AnNQj_;BZ z@a*JFwt3B>x>lc6aZB(JnmVx;A;XVG!8|(C)N{-lUdLM};ThBJ1%0vs##YJ02rYqC zK|_AZ0&R7Q=Pqj${O_#+&0NdSa<+l-Tsst_E-NK!_kDBPd`xNwr(~$c8;aX)%0?sE zd2JR&@V=whvS{NCT+2u2HS*9Db$-5F>~v~zz_4SBRS$j8w#g(bO!h1zzwj~)z&KW9 z6V?i^nKbx-rZi?d5TNEQc|$l&sx=yeWF?5s#h%QW_#4YD`pTuVUMETLaDF0dOvV5i znxg&Sb)dpfFVkN$_@g$>4oVb)IOECKX?wsacG;#RODsfrSNN$@c~`pS zVjcXrP*0XB(x;siUci>bRf@^B2?u}nmeNu3U5(%J6lXukFP8V~tOeiX)fy7h-;-vF zK!xNcpTUDKklQ%hFgeR2oluPZv^Yu%@_Fd{hol}Xp{*nwB1m&jYECJ1S|T{R+Fh1p zodDwTO-Q>@A#=V?5wl`8w|@LHir&vTBFn&31a~h~mydNhu@0mMPrnr~JCr$Y-r5hA zgTfJx81m6;UxM?-7&x-guWZC)@0RG7%)gpq(au`B+k{cwQ1@p8zg4*O(62Dw&+PY8 zFIbYGOt(-}(@q@e<3A1(;h6HXSHjodQPf9bB6LQuizACUzd55yuY-LAl;|MTUIZLf zb?TG76{3G|Kz%I0UnzYC>OR?{;K%ZnOcJa-7vaMx9fh5Hufl^=bs)9|F2@FNa?~50 ziE+970p%+aHbUP|PgM&$r;7;xO}P)U0^JGvEFJ@`Tck<0ds~L*un1WTWZS#NmGyT4 z;)dB-$B-|EK;Ty~`(LWH{G*U-=BHO8=}h+9-_3_S2)_q|Ua={A4|Uh0}qH zZ?z{E6wHcS7Dj}i{R3JFRU|8cL(Ci8O^(iw^YpC?l0f%I9&pqCP4Bwea2-C%SrPd?Uz>-f?ruCxwBwdFj<%c&;2npc4f^(2ple!BIktq>$Gn6c7} zS%bpL`C*b6ANUPgr)%KD9ZFD1yQp|&G6X=eWXYNAXzb6~Q)*@igocT^~` zjxIxtH`NbAh_2%Lm7AavEhxTre9HwurfcNp>P-QCPIJQQrXvoYqUV|Yk$8wN3VTu3 zS@n6+moyl^A7KsAPB2V=b~SL< z2wyG(u=n3+XO18RZbM&fz4Kp|X#cX)=O2Hlz5QS0I%7o>Cp#BMqyJ#pMSt}_U=N~x z(lj@nO$-eY)HgFd?3y9`>@r zAVjiK9WZVQ@sI!}m}2a25n%~Yne3fE3>AicgzBLJYNL!$HyoKbUa-VsuZIiY0BK=0 zW9%a)-2}UtjI%htQUfhtWQ(_$uwj#|-D^n1tz?GYokwAAial4}8SXB+T?#}#glTtf zE>=qYvoO;M(o!0$Rs9i*CC0?zlNqW!mTZXwN91Q`Q+MXnn(xCe&PtClQ0B+yoFb&) zRlvy8zc4G#Vk#PfxH!co%bYA{9@=;h3@0XQr}M(CEwa>L`mUip*CtC+F30q?OhxX$drt($HzX2~8IZeO@Xdhj z9SO=eA{TO57}+rAsH~*Yk{bcaH%4zd<>k%WoZp|Z9E+PgF-4=uy$RHKv($o&79OK( z7RBk0r;2epDm=6bO-of=rK1*erMXtgu&IsEeQO{T5&o`pMGh-djTaM`ShgDM7Ky`+ z!D33B%BrfI8;?#Qm^CcmcIRg_H!-*p%Z-^Qx1Bd<_drb^R3#SV@9 z8Z#MfK89pIlDYgip6slqsb3XlSm+fxIEyY4riOIZ`0Ip`*?Bz1CJ&QgN? z9cSQ%ntnz@(&is%p_wvmZ4_;(J?IJ3rWmP)%!#)wOk?85n@bz@1Dx!+Hz0?+k(YnGM z4VX_2;TF;OG~r3|Y@<@W#@ItNyF2|RKcNKJ z^Xxf%TD@)KuNL64H05hK?!s-oH-H^CQC>~X3XrdaN(*5>^TwhD!OApJyQ)S&4d%dN zY(s}=ktJ%Mt>CchAIjMoO(Gvk!8WkW;3{n`HXlW0N$J=iiwcM(*(?)4ZREZs?OQ?| zG^OC_uPUxnPe*6ergKg>k;U%TKp5@SP8L^gO$zK$V%Wral!ayb^wjf~3!wJq6G6AC zg2KA8+r6>k&{PptomFi4w$38dd_}g2&R?<$`pG5MPG-h(b-fLuzdR0MDmtel;R*aTFz8~)E24TM0yJ%c2lV-ixduD2{lXG zv(}@GCT<1i#=O+h4d?C7Kt5KDlv0=~6Na&gqBhYOUjKAeA7l8s5CvYOE>;+EGC?(B z6K6ET=oF?H4*yv`Q6}YE&XqZkgFlkp9~KK$Oh4aNCrw7RcahQ4H45;yEy=()@XT|< zUDb)t_LGqDfcjh>&AG2uDAf)GU3F;^_RF4h&zUFmeDUfBFy0&x_Pg07K%J? zA!r(`<~udVm9TsH4qa)Ac&|8)%@W|!U~xmNLA8%Pegv^u6=};HSS&5eeuiG=`DLdX zaCKim+8jZoY!ZTQn$0;yl&N|`-`SpaecKVZj@<%@C&c%~ferG9XqRgJ6%^ub)L9<1 zEH0-_Ezpi%=YHFk(~7eV8=eG%Irw0p?%YBaKvVJbKAq2&2XRhM z3F9i+uG(M?8m<1L5g=xnsMWN<0CCBb3`^n%*UbFyu*q}6_7oi!e)B+yym*WY0RlZYyY$n z2cL@+XcY-k+8ZDt!;9!eg9l|=Z`h=tkNz3dR=n<+;r@23jQL7NyWQiVt=H$YdcDpF zhvXv!8M`J$7=z$2PnM%LBqMzHI>3(^C=Bx~ToGj?j6+rsgbZ)MZZF?A zLBid=TM`t{D(@{j+f!D$wr2MBUtqxA&i4OO?z0nQayV6yh^BdZ+T(UopIlw5*4(aWw09ukL1q{Ts znV-bAFD_Pe}iN|ccPrP?%SLa${T~5@HMoOlyW;yox zN|c8nixT~zJorPvZa`lu+(L{Tha*RQQ3-CU3j6x;e#WRsJ`!f6DGDrs$rOj#e3lI{ zK{{mni1T5QvSYclZtx1mIQ~hlyU`NW&UL;*6XEP+wNR#ucdc%30h;r8XnzREvxMOO+GzAspdzcT_)6#3-$!LMQeJ1KR? z1y6PL3&+2M{SRh>e?h;0>Ms5(^rvhkHz$wb3)kTs6=AduCPF=GA0-8b2nx<=JAx$K z*JBI-q1Zr-EUe<8d1;uZqsF=~4Cfnt%Hc%N;Ikf?JowFf^~%fB?d$gpr;mkgakt}3 z780*SpU@YGa$_+-pCKsFtDb?fXK`mp7%g#3!JU*^j#6^)Ax_H#g;z>nsW01$9AZ3E zPve(Pkb>_sf}rPOnU$}l{$P+@vj|J@;L3`5c#|nM6rR5X`zjAV7>N#wx<&LlIHQW# zpB!PAW|xb7S?wTSI(>2vPwM6~RtF|zHptls%XckaH=R(Ru5QaFHOd{jYO>PDW}O(? z;>gvrCMoD+v}}!Rtc9qe-R}bSe;E6!xH!LL+YlU@5ZoGfcXxN!;O_38U`=p$cXtU+ zpwZy&?!hHUAaMIXGw0mj%$;-RynHX;uVe7B#Vc7x)yFmbujRhO9lm=Dn+3f-c&PmI5w-c+{>m9M(`D-_2GaO znpdpbbLZ_~^M{zDuCx-SA5%;LBYzU@WMu#WPco5SAk3{oOBL0c>e#zc{nVLtBmT_> z(O=`zB7rSFKGQQU{LpnoN^$kk5(5#=k*G6!bMQ}5A+m>az9Ei+&FrffVe0kD1)?Kl zz6-@2(J*}0c~8-?c_aRk)tNC?7-yKH#GfReKpLEj`QgR*)FE=5tXdUR$SB41DDD9i z!XUloq3^yfof-TfC_azv4`LuL3=}dvsvnjM-ncC+i}_1ccyI}uUIm=p+#~!-&oZt2 zE*AkQDly#gh#~f2(@pkbWT^D1lJ^`?RDG35Al=4w=+}P%NFS!4e=b9A$s^>J{EurG ze+eP{+dJ|}8ABEGmC2x#kvugRnTdy{ri6j~D~ZZ_U%WbiA) zuP~`1q0Gmk=%ZMygh}zNJ0`0?le}B&dA&lPp;^MuF+ncO5iaJG`{-?XB0^yZROmD^ z=?V#^bYY|lWh~H~LGZh5S>Lmli6box`-@<(DH!Cu$3HUTm+sWCO59*D;}#NVC9wnA zKt9X61dJ0Nr=3`!LH`38NXARGB&rPZKFH2LNwIrl*qldt8M z;ZduVPU%>DHC{M`|M!75wNnif*{<7C_Sj108D;Jlhx$=p%{uZ`ZlcN-E}dZT8Es)S zeH)#L>=0Wyh57|nIcTiXs@2M=-!SMGae zH2hfwO6cCNP#S#mpUWcEY_F)M8&qrQFxo8k8Gh4221tSus;hFxD=FMG`F=Bb1&gPG zl3(Fpp8C+11o5hLlCEKtDU;2s%|ecoJPh!bSo=RBznDjxN(@o8;tqu%fJzn>m%cfS zU3|?c#<29cdefM>H ziZF^A3qX`>J;vOt77s?Z<%RhHfDD$OShwBLZ`tOTEoR*qVYOeGnLI|i6CDs_0N^JT zPikn-OBMR^a!0Z7-^I*7toQ2}j&zEAQ^iPntM!3y-s{De&A}^ZsroY6AIpw$yZON% zduh^11Z$R#xn%f@1hsfzpK)`!y5yuNlmKh z#|*Z)|2dCb$h?+fL0Sk>kQM@jdH(;JQb8_ahloWK;#r^GC3S(n@41$WN1I`f2=1=IW1*UVpkP;9@EL|CUi~y$tZvyZd?`Ge%QmmItSJs{&@Y2GYc=#Dl$<_bMP6&|L z^pRy)8dvDYH7lr-SBZ5U?2@@-7#qj#A6zu)4BATqxB(wnvkx9I!DYM`R*!&TUeJ`Q zf9%dJ(8&0aY#16~wEM^g*5)BHf20F1;r7(#FXi&tV|Jb1RR$mUp`H%kDNN93;o0IA zZtAz2pBPTCV(QOrb~1h`bxdL7oubt%DM(FKRrlH`IOmY?*IS|UTf=fMgGZ(L8nY^i z&+v&uA542{`9vk=Rs4W`CRb{{MmaZDmO*ceozY7{Op?_lz!GF7V@fT1~sX>qpaFFBY=E$CLtW z89$cREt~_kOdq)9Is}p-~G~(YPjf(HgwG^27T4omf+VkQ?EV8fn@G zYUs)e>vNwGmVKnoRp5+9&a~BlLXdv53*9TIm%hzjwdfke{q|j0bN?C$OJDqP>E}iB zXUp9%n+;l3fDw>&xqPc`*XWV^Jn85-)o;WZQy;xA&z@};lbo{(SMW}v$jBqwbhADd zuhf82nM-0e%1m*Vu3M$vE;Wt$r-d8WEJ}SG4sl#46D-6L;=d!)atk}jM7a1Bc*(YOB``O_Z623Od2|aB*EKCY zQ^X+*kmAOwj;rTg?mt0wx999MWo6WJcrJD4tA!;Ow$S6`{yh={)12^SfmnA`FfMn- z>W9HmEE>^hIXTyixwQkv39QQu9j<=AJ}I|SrIsY+%?tPMH28roD~-z1i<$j2W?R;k zeb(XJ1x2R>FfST99R9rjM}ofYOv81$C9wsuXUdZq+MQzdQ`0+JP{!-#5zfzVoSh)Jr`SoI0pLZqM}dP62ibN|u2*$RKy;I9Cz7ieLCF z#>>WrxidKBc9h?M^aP}2cD6*gWNk_8K9Rhk#Z0@>kziVD?hST0Kb;LBOhU zmY$EyC%Bw=qnb1lzl#6WFcrUfM%-ZpqF`5pq_#VBYhFp~I0UHow4t^Git8DD|9BCwJH5F7Nw=1~Uq0eOD}&2f!Sote^zl zO=m^2OLJx4raINKVjp_DVqbQEQ(t8`>?r<6WrdDh&0b;Bk(2zO($mH1T{i|q#0naW zDIQedO+=*u_dCkvYrz1^21NCj9eBTX;s;{@penef_&y8hfQGKjEfcP6jJ9EVoK~%Sci0-g(B@xkx529Et-H}CiSh_Ng$SpL{DMUjlLO-8op_)- zMd_qitucv{@Z;2{o)JRXLqA`-;)tN)*r&*xcMkZ{@8&@tfT2OHjI=ikY~ZS*uxCdN`VkTbsCAS-7eHcQ*bds2zErEB z`|OPCmAyZ&d$-!};vlnF5HAEDnWoE|K}D&$le5Vuv{#to(IaVTD(s{NR|l^lE#j&X z#2$?(g4%NZCgRH<9s1%wNNzhX`6yq*ciTP@7M*%~E}e(XSh&-SasJTP4fk-FzFkcb zCt4}^(RW*w$aP=$}RUeb@tbbZ?PN3+W<11PaX{iABw%H<=Y!7 zO6mFflPEzd!gEEfpCuSy#h2W{4T4O5P-wIG?B9!}$d=pQg=A5pXgjBv*t8wGu^r^@ zwMyo1$AUWB%65d@QF!+`F;z6`Yj>akp!IeF+w>t$&@lOzEp&vT{8xVham(}%pp;R6 z7V~h7T;6_%%bO31SF>J(r|Aggi}&NcRgDWQdVc&9=ZjSvWtQEl6$=w^;8lbpa!TtB zOL5ZSWTw+2kvQAkaU_-Vj8=@B0B!rRSUV7Q+_IU@!dsa9r=ab`(B`YOdFu<8DLjo6 zX$3B5(W@Nf7sRArF%0KO__$1Sj_B0N?l+v^QRpF*cF-?U_?UC-9A9u} zS#ae6Ja(*>%JIX}xZB33bdT7ju8(mBV;wQF#q74mMrN)7C5~9u5mxH7csQ!p+J32p zlG}dEBl^fZ6D(#)0$D-igZhkv$&R63mFOiN2xla$T@>i8K=~@ZV6MI#i+3l8KA1WE zy;*FXexiKWQx%M*Z=pkQ5Fk~$j?)Mhg!STB9~4A+D6ktLsUi*U3JwOrv*04JV=b`6 z*#Syer!QTum_%NmltA<48~}p37898`Dgi8g&-)1`kL&)Fem+uC+g~BJMFuN2T5Irr zH5>P1f2bFvn$(;$vH*H!zvEP=@tJ-Lq>C6VzCj5J5g%y#C<)Uzxn z0hhjV>-XQZ;Z3X5=*Q#V3!dAayLg9E~~7#fWz!+qk171CPA#Q{c<+8h~IALzd+=IgK3ncK1z#$ zD-aC9<)9_bu7Z(bUE(N`Fc;3^1!rA{>=|b*FfR%Q{^mSO#p0x0`YcP0i4<55*o1aA zFsfwEQdW)(yanQrFIOq8MSNSR&)-2G=11#_dYD(ebTcPE9)?E)h&VI2?(-;su4t>Q zVT%CgGkrcFl^?8>U@Gh1z z;c{8MPw4bDY;!Z6Nd?|9xa^P0f@FLtsSU!8-1IGJ{t&|nLuD9tiQ$@?Sq=TbkyN>% zvBtrN)!mlA)QF;qrg8_Eq^~cU>>%;x-WJO;B?w7MFdAA|>lu=&zpo;pHHXy>j|q+? z1AZ_S3M~VN7meaSKIjP^V4F~73QJP%me%uhj#%eW|U)GCBrV_!_tpB z!_<$-Ci@wp87cB5g&D5)DbjKu!PX%!NeE8)8hJ2;c{^@|M%z@9B5nJMTkI(LeDl|o zJ+s%GJtoWDLC&)!+n=NK_@tbZcdYHmPh$$>YniD*e`QITfg`XgDIU>CWAez}IipZL4qdgjmm1 zIi@|X*NQCmKEbL6hfARbiF5J*!I_BPj@oNT{iQyJqb$}z>VoMe&vX5pe&tP}Hk015 z^xa=FE%GBK6ua_~+y69PVc8~a$OHbIZU{KYu4SXcqNlsq(@R^OXJq%J=T4L+X1L$) zwzoH}Agk}4tSH#}azVO>%O5M?5E^@y(nK+i8;1N^RXbU6JZhAd1#`#s0!ait;HedN z;3}P`B)Pjv2rd@1s6$UuF`*7@w3Em*3Mq;heUwZJ)!r1lR=3X+8pAHRKVuy)svjsz zN}V97<0k!-@}bMCG8~_K_W9C-hYNQCU6^CpacUzVw$7D_H$f==@I5g2H>*cNzM?}@ zI6^_vp&rD!Q)#RS_k;ItwtC4`1pck7fs4mBb%U$UmuQHyfbdHtyD*xp4^o< z>&Nux0b+{w_Cj{8qTTF-d2F@cP+-nq(#KA)cY+m8l)u8fAGzJp<}@vccFNH%HnpT4 z93C}ou|nw=w>?OjikF&@W~CLJ1b6Q>2Tat~RYlM0)P8;C|M`*F_^4m->^GhiUZ-FE z5!5~UmiAB&TW*neSjR(>tAM>b;32;^8X9$`?ge#Ab;JVLg#tci=@;bDSP>`&YC8%$ zU3I3s3|I>Q&WROVfJH~l#cQu1(fR2eVb&{LWZ*Ebl5^J=99b?2K4uR}+B#4Q{?_d8SK`(dPpIQpZ$(RsNA%XvplmGrQO1im0S}%}x z%)hAv4be3ZO80kPOkdd+8nYAu>bkXkhaCBL>^=|!pVWgo1W^}o=7)5jxZc33n z(h#P;Rsjjwk#=!=Wg+sOD`twN*dT=|(k`7ZOUZWTdxJg>@zbvJRnwpXUcT!@(&QW0 zY*L`}78l_&d5o~6cB7#o^Kz}Gb7YYJF9Atj-=8%ndIE$n>sXkC6k4ql4-oU$+LGs& z7;ux=)ETDt?z`_d0%JQJSl+d-q0y?PEMe#Ev{P6wAuio=6rB5cg{ zrK@+cplkIDQSduBJWKo%mG08S5#hC`DkkybhAu$S0u-vl#lF^rz_su#kiSzrvbNfx zc!^tGmb|;YA={_x$<%|k+p&0YaSjfwqljonQjYQ)n(3zqvy^f}N9$m0a&rB%zvD{K zc2Bhen-zBG`ikq_@?q^sKL(zwC&|=|S%TNB=wkAM32sDgvrW`5p0@W9`GcNBtY#N2QVSnvzvp%X#`ff!idpCZ^%e$q6QsTLcQD&7oVLO985m~Zh z_u;cPpPH=>7a-qaYlpwbyD@2u8SBj>55>M|dbaj$2|r{;NSU4uUksq(aH1#G59Y&( zOqqU#-XZ;6Z|*|Eu`_2NZI$x3~D4IsCt=6f_(lgDuR!i^Uqf3O;wF zuL#ga_qG_qe2p-2nj`%qAar3ykIpJeuk%??xEH)v^j}~Z4%WbXX*}f!sK&*QFUCoJ zlilaH0uSqMN|#d*@g!((B*i|!q4_wyj4@Lb>^h27R6%>0G2(*-1HDQ;SrLhu<`BNP z?}q1DeqTI8sv)~f$J!BqJ>bG^iYx3-kQQ;&L@xh4!%_>(62q29Ga(yjTl@m%*I~ia z=6vXhPUbLt@WXqDH}8SdhTSE5{dXV0?TqJQ#vyC2bQDbzy zAJY+O*EU(tQ}Yr$ez=Ssa53s#zKcdwMN?Q@7#$g18Hu0EGGE)A7YVe)!$+HaLVWG- z@|FRuyIbOFG0CHVZGq-fcm9D|0ib@4zv1L+%hT`HUcX{uX9Slw zKd%I|bXqj?`&K!)<1UhEM#`v^+zO$Z7IPQH;8>)Qr6Vtpox4x%S&A@n7)6JJo`<`w zMgRg{ZEk!UuirkCl-8+=cxSPcySGq`s*fdfi&lMtfT2qN_xE@^;C`wCJ*pRdGVjQj zS#FBWY?3F~S(pmM*{NdK3bh=O*P!t-^;JcD^aQ5^E*X+HX%gj2ikl4A65T8k{;(34 ztV6{0r+*ot2IG_C{)LHd|2OgHlg)q|!6r;<0wGu*NttBf@H{1BG#<)&nKKku{-btkG#Tlo}fh0xoDq=-R4`Lr7aFfoQ3CyS^7F z;)T1OJmP%YJ@v(pBG=O0tDc=8YT#N@H%Uh{lZ9;2?!Ca0%}p)DCO&I8_o_yvO{v1y zy!#u#hPQR+)+_Owc#+TU^(=3~c}MF$h_Eg8I#Iz)6)bU!V~Et-!W})P5MrPiVA%n88?$^ukH8#;m<~2fvoR8o=I5(lm$B2o8XK;8-7q zMnQ$ZBGS5oFNML1C~?Ltxaz43EKvl21GMGKf-C01*C$=jc)bX~E(yzY8Wl{;~QmJU%3YBSll5bPI(#ta5q$_Jt@X5gAfU zx5pw>i;sGNYdJz%v1~@_Yu`}PY@f3S%yl{_ICUS|jsUjDQgU1YN>|;quQ8(-aSZ3! z__(#ROc>P4U>PoPucm#xC-Yap8Af4XBk072K8dh z$N+ub7?li%;0YAtD4A)*@qOg21SZG(g4_>nN25c|w>bZdig>?j)r~@^8r~4WK(7Dr z_DMK-nA%%t_&8hqKhdUU0Fg7t6ck4`OM^xJ`t^Nap}}_08599gjyc4P*6T2v-|FI0cvu*!OJutbTn!(a zH979Ge!~*CMikiwZrCmem5il~?F2sH4lO3Ddgc_UAmRfCW6ZVLk~`Qm#j2*7FSKl* z3#r8z6@ZRZpVY^W*OllVn(bGdkJQ8O^@lPDJ1qB|oHtIU7$rqp||x5&V3o9eA&Q`Z$D7 zit*+>p?;q60_3%O!%h6Zp)P#nOZt<#LJ{L`y4$CeV&eKmzX%9@*?zZ31Xd`)pJytS zJzTlXduFoZw!nu)nJt%?P^g|?fxV#suE<7~j@xKfv#ue;e78Q1ndOfIMj}5z_@6VWYIdsjwPFXP8R?Z{bT@_X068D7R zR{9qn&*bzKl^;aXydLA-JMRAw9RJ^8oR9xs!?>YTj;e*<8oLq>NsvXNhMaO6c?3`V zdctoWAE*bER!c>eN9^=QZM8QHcxA!De$Y0o{n za^nQ&Kby_V-md19*>5+yAm)G%o8w&pS1%h6@7uCDe;|-CngPQl+;oP}))}OvC2s|0 z*2(ssyrG7XB|kHS;_M6-wx{g1MH6~QMDulNaC~#=Qjkhw(GE|GYS;ccLoaztC)%SM zZAhNEgmmK}x*oga)+IVbDI@P)bi758$xqSs=?;T!Gx*yNZ-PytetzfZy&Tf&em|Z~ z`ri*>&eWSzth7Z2xQ}0=X@qD7gekDwDP^Mkbw>O{_lnqrKyhx_@h<3PJQwJEc^@79 z)xvndu??9%G!tWJzIuziaT7^4r@;qR@-u=)mhwHhMbM##17l&Avi*MlW0#Y z7hjKs)=sX3i0?z83C>)s^HSQECRe{Q!RGeY^_F&8Vhb4Dc6#=6%QlpWh}5h~>e>?D z1}Dtz=Q*T37`fz<8qgzZ7bH*5MtqgW=27@;Ur3%fi!YW&e*`zeb}-5d_B(&F*jrht zUErQ<9l!oKtc|Pt=4nF%9>625y!W*u@8(5-n%23949?rbN!~;Xq~!<F2mM|ucTp@_TXSYqwnWkk z4tS}Bw|85T{H^RV_VkS(_)5H~9BYj*9;GoHHiCI0*^h;%@S?!Qs!NdbVf2eUIHu>{Y zNU+It!H0oi4ZCDG`AV95-`hm93XmX~sjCgvOhK2#mr1o%+*(JEH10Z`)hnS1+$DE* z$tZ?8I-&J69Nlt=Q$&=79JEvqO~@u?7a^8PVK4=fcP$haatJQRbY1F&9>A{L!_Grm`Ks zly%5V_n;Gqnv^IeR4`uY0>>EC2=&F(uLg2U!euQ@$okR=g@laNLgvwG$W|F7K4W=A<9X7@ziv3_V{PJEt;AO zBW74WuT$~Y_UgzSu^pN8_ELd&KW{Ash7#$h)^FXKX>@ zS9Z2)n7!_-*1KP7BPL@f&%XFD8);|w*V1K)8@i6`Q-#vEi8aV0%9Uy8>x^R2JyIxk z1&82=6<1I|f2Bk^LzhC#`Qwf7F-Op^>Pbo2wNKevK9zcJCidONJt+VG>-=+0P9$lI6t3aX;|^qJ^wj zDf5QX*;GF(;DUP{kj^OLu?oc|vka93P=3{%kJSwSN=6#Vc5Q%<5Of*@R zuR-NRA)PJwIn~sVL0+eE2(Sjwc9n-z=#rFQ%~jRtY04AwUexq zwkn-Ix-ogckwHyW6q)Y(43Z06rcey!YWE#-qS1!5U@W5}CRQAB;tjC1RjUhyd7$~= zr!B>=W91agwKe8rBMQEwMbDHVi7qp*e`UyBt&s3XqYObwVjm{!c_04`{F!KsSBgi< z<}>?rfpfGA1sV2PZydKNTtdS^F54qz5|IPTU5|nl5ktKG3`ew8(1-B z1E%31%nRz;e_r0LK0&Ergy`Xc=%I+{;efb6Je2yrg)`a#*47Ufnkl6dYdzcT z%JHYg>OS3igcoe^ze-y=29%QJLyFx=NUy#MeDyUs zh{n3$Txn_POsg*Qug%}HQRr7QUrAb+$!O?;;~Hv7DHX*MeV-9OOA>3STtUCkxRA|8 zG8!5J#wRZhv%xEPhX=o|@xCKrV^Jg|v6hm6vV&a|05^_mLD5|hDYZE^O9W`URI{+t zQ11$VnRwfa2$EtY2@?OY`Wkv6gS1uxM|pOGrRFe8xY{CzYqf8Z@;n7S8yu5>2`-@e z?O+8Xeu1a+31T<1O%u6&XzJ;_J~bvzfngxLU#gj}C;wM5y9NxswV2v2!94-8OCa|r z18SOIQJ^cbAdw-4f`u$L!MJla81^Z=m;O)2TtR>t{UZb*H)>-lW7DhC$g5A z5+Tze(NyC0vxr_6c%l57d$doFfBG%g->*DHf%z=zi6ZO_k@(xA<~)rc$I8C zRvp0fpJ;uCJ-o)U4)z5Xc zcjHoo9DOH*X2$y;j$h5fT+-3g!rsZ*;@=#*rruvo&ev4K)`71i`9pr)tt3OwC6dj_ zl_c+55q=;Kc}C1|j8aq-y+XYOvA@3CS_tPMXOEqFrTJAHqO+#q-^kucy(W0H=GNmj zdGYNsulF5KI2Iy!L=Lx)W|$U{)!dI2G`ExX!v(Zg9jZ}|25xue%j<_l#Bqt(YlJ-I z_^XFJH|W1vm`o6sc&K=4-PVm|VhK`rlvxJYRwzNWsplRZ+}@32_{mt1yfH;MU02gD9Lp zp*0OpfV|f@2wCTWn&*X_Hi?!gfX$gVbCt7CrkMJ*l+RB*m?=*vu4@k197`Bk0T3PlP9Q{d znm>J1O6%Ctr) zVKebLPd;?;B;HLZF_hrS%0kX!4r#MHv6vZzkqBd;ov|7}wrP{FxWJH;^v?2}H@tF^Yx#R;$&9U|rw zaq3436G6;}Y>ZAy4D^O_2-1S{(aRp_q!Me%GqH40;>{^A$n(Ank-Rk2v(C(|2Zr$Y z%4$hN-|g?7eieKPeUzqnPXXVzlu+p5^p5s>tG-yoWiqt=6lKc5G0E@uXOEFRKr6W$ z!dW>skvBaWIWf|?puK5+q_7?vjgZ@W;z?!~-8Z<3qx5_H|4@&L7@dG&io0wADr1KX)076XBzM}mnVu~!Z z&)2?_$s| z@Wds{IHLzyFPu7qB)$ij$X@5}qGn{Cd&J~A=j5Kj?^w9g%Hu26Chudd-T$t&b=JFs z@zSjDwC`>K*tA3FnB0kLKdf`^yiagq_IzUZK^We(*VzhgIwNZRZdJKekNlcHloU8A zFF`K=(L?>1-!rT!kEog$iaTwoKc6Wg1q*^~!rF{-RR?ntW9i#|)C>K1jvjY38u{?R zxjy59^WeTNEhUZ3OX!2if$1UerB5ZhqC6H>-;5?MC@?PMGt|wL7hADZiOF(yEsD4= z$4!s~Ki9NFGWX zquh%f(g(|nbE6ksk0M0Vkxsm^DV%U7Qb=B!~ah2>UNi%D>ADW3F>Dn1Y1Dt7v2t6i_hiUwl>(MFoybtk`&BgF@qB z)+oMHad=82n9EX*sL1k#D@0 zR_#Nu#8TKsjpdCM=B;HZwo+UJ9O9z4zwn7So^eouYfJA+tdPcDvb3gL$56^j2x852 z)VTeJ7t^dObs8zp^V?ozUMSt=mq8b!jPhLXyI<#126alp98A&DV+}mdM1&9{pFS*e zI)GbN13B)nKbf9*C@;UJ-bDgB?SiZYdT7@>yp2a=Q7L16V%dh@ONYH!sL(0n&&HGo z#8yFum?qCSi3{*?Uqhk^YcoKM!L8EQYsavF?X=Ca?_b8TG|z^ikb?gj7&u!~A8}?L zu9Yq%6Ac$eQm(5sL}x(;8zW<=VOArR>$YnXjb@V9B+__?zE?&J=SB19(UDlyl{#R? zO7@+OWM(YQdE8jQRpM-AVeA^+Vnd&EJ!;o}2i?VXZDa_~fb)gkVPNS6SGIdN#U*==Xq9{jxx$!5V z%0)|NK|~S)KV7KX1xXtY)O#7}05TY-Y#2Reff#W@X?iQ@J;a~YD-N|eMJ~S!x(1<( zC=Rk@L|uO-{NyV|B}%E}q!CPEAi-hRj88r)Q(9^m(k*sprmAgP-t-433rMn82*;(P z*dlRx;7oiY!y*&>@Ct{giyE#Xc1Bm+yl==ka3Q8EuNY@WF_8NWm)5zo#E7J-L_GQx zT2bDnm~U|fNN>(jYaw>F@HjR(BRrE0`~2m3#QA01C4CQJST&YmxMA{!M^tHA2K{B< zI-*+e*XSzZZ)RCGcFq7xs)5I`Sm8At{IU~2g!Z_9zM!M*Q;z$P^_fNF|3PEG!`;T7 z`R`@Bx{Z~iiMxmEKQsm=v`!(k9n3crii~=ONY&(W>-tEj_o`L%g;Ts2y3egO0ZTn6bE~L#X0}ri*}kzxeoAjtdVW?IGBn0d%h_k^KI`pnmzP48 zuP@IJ&+k5LTfx>Gt4;?eIZ9w=i`Cix#=J8VxmOyqROy@J*^`=&A#Ha}HPaErlH!@9 z)nPs<4@ODM)viY)cZ?oo#3|m60#0dce-bDY0k;L~Mvt7}4u=NwA#mqve;h8hM+c^1 zo(0EG93WA!9)N1Ui^%n1r2}nXW9oU>kTMT^=78FG`qCJ_{d_|z7fwJ+XLme|U>QEN zB|N34XC|9DU6zWIYvXw~4BwX#T}%8lWmXMIMn=zeBY6~?J=wnN_oAXSAK#htgG<}$ z;U)%}Eh7wB-TFC7;lO_YHT2~wAM>yqqBH6(g9ja?c`SJhDb|mt>KU2bO=i^+%qUD0 zKiqptqOzY|#f1@(Mv5Z#e#D@qH#t6${;{gO?A9eQU5Q|t7wNftpL-_YTz*c+niJva zs;_>{W~h2iXGqSd*%iyJ(G_t@2Ro++bgJ@(=N>`*(Lx7T?u~QF%E6%N^!=-)X;RK; zn<#j+Lh_GBS6l$#mwY?<@8(nmh4|8_Xh2VifU0Y=rG(UYBR@J@Se8zfGH+VQo?*_@RqEPNnEeY=xx+$xnp8cBr?PmhkO=0j(RgGS3U8J0 zL(X{t30(pKTXgZXJ9?MN3Pl9b)Pw!fDmVDaf|T5@8M_JKX6eA$F~VH)q|L}E*2F=H z^y#WRI1jb1ye$#U)BEWqVd(Aa{47GAte$D40tZ_%7H0sm4_CT0WJsHkct@XMx!o$C z7^*!Xcdu^kU|@jKL1bP}wTrfa?qY)8^BSC@p2>;FP&@t9`=o97^ft-$p(xjot|nfX zI=u_KVnewIMIs~Hp#%B8YC=VndwVbJz)0l-&P>$AEe(P76SPw5ujDE4%*7R-uB)>z zp<)nFpVzsL9Nw#Q?lfCEO!`{mFyE3=`@`vBJ^5BuF1XZxiXEPEYi*#>IUhZIT8f!f zHf~N{VOG63r&#hn!^W)pI?C?6_>1^?U*0@y<2D^|>L{4*E!&c;I!yE?$)h$to zdR`LKSl3}S@P-#@y(8Q}?a(Y>;(+(;0(HHvwk@WTe|gVl#DsYa4hZjhg$k3M*v$W) zDT@z!y|nhrTB(3aj*&Bb6Az#ErSqCAI=)fuox=lya# zP8O4fDSNZZt5{4dJxca^r8chCB}bG*;tJQW#RnmwTMoo|-JicKjJ1|D4|herCM5Q{d;vc1w^i`*F#`>%=cr4?I+~Jtr^WbGacy^(9-xyn5)?1fJ%uiBW z4qYZ^l%+WJ=^}B$!*^QmY%P%oF26%79v| z|G}c>UrzV$CmN%T=uNPI_DY@FT=k2}C0U)91ZT)989H%$K-PY^A?FdHHAHrHvHGB; zF@k}1Hj?Mg@kH@t!*q2vHMPSFx;Zi=sFX2G>_k*KHZ^tgAwYz{*~*hr&l9s=_^JDw z(`HY`(@~y}6S40_tsj(qF+Haa?&3%A#B7&QA3TRQ%h@ozOH{NF#Y8xkzXZ7Eu^diV zsC1hPg%70Zum2kjD^KNG7AtS|%En)6&`Q%^Y4AuhTg|02lHYtL2dO9DB%|wY(A3;n zcd$H?9by^73fafja*0E@U>r(wZpAek(k_0g41V7K^IYPSk9+Xg5e#4QS!R$MQ=r;J zu!nZy8>YYBpcjXIKRHrQ)wUnoOAm%()*pcq+LDwIVI9)4D2NFqKDP1ehpb^Q@NH#S$Ir}6s~%V zitMd?%!=%-dJK>JT=|$5`PuFfH8=GT@6(eJ-XG;mx83I^q};h_YPcA?Hp!AwaplDy&=c=lN&W<8G$ z#j`u1K4awnoR=}4jH6b^`5|l~)S&?_G;F8XX4x{lZxbjZ^)QfBdrxm!e61o1+tg`K z?q5A2<4zEun#2pPreqLOPV%;D@N$b?_AC@~kbJIF$Qn%w<@|JDvla>R&JzoyDP|GI zD`lcbXFqdKjB(7k-@MOwtS@4bi^N?pcXgIW7Ev7`5g51Go_=GsV0nu3;%D*gj@Ep#XAnh+~1pk8lHl4o0XJ72mg)Yu# z7{~oFHEb`WKt_NlBC|k-jtH64WiPZ}fli}3NvX*rQ{2siuD~ah?o-}23dW4P+^a#g z9|-+Kh?;!y@E}YKD(7(SeGc|48P#|9qDEhYG{nVEEV$KLQ#M5A-I zI=y}PZhuw`DWq0B<#Q`jin2kZj!Tfy`O^aMvY9>mme|$Gozv{y@0ahV{7Wk=n2&KV zCiJO`B*l0!tNVU5^b>*S*V^RL{_51FDaAnw-R_g*(M6O2-q9xZ0I5jrNv4D1mI>YA zKQIO66Nv2o1NDAxz8<<%fsq`t;2*iKjtk zI5;ucNgxWFy6Wj`x~|N6R(MQ3P84b`kM~8+%L*mF=Z~!HLo5aoIP}eGWtz>INm6B; z&01yh<;iFniHvpxX07IVkbKmU`~zmsHHXgJW%TaqM1%I$SeLgj-6s5ldn?;;xm=m8 zuCxvxskJ5e)AF`d(#Eds()@Cb`q#?z=1D$!qDo~{Kzg)QnGMf4!XXS}gT$(3cPZ=f z4|iQ<0*NIl8?F;~JjU4**J3xvQF%g)5~Z?4oACcA6WaJPj`TsV`^4H|q2U#T6M zdRd29*x+wd4-zt_Qbob7VIsNmi%!5yvCY_?qH&QhT@TwL&m2B$VUq*o1DeRpV zaI+!7BVIoRd=q$cIbJU<%?2^Wu2I!Vx%%j+Xk9&~n)O9Dbook^Jrq0L-r8k|vlk>x zMYo6Pw(MOH==ZjfDe})ZVdn~~Popd(i>*-(fA7l1`H={+cFf}vN z-hx}<={DkdkrcZt@Jw6wxf_Ok$N9QmXOff-1tRTsC<^S8I?V(@(IJVnyIzo;;^ zhYacLPq}A^Zxz!@A*)TSV+r=aMtQ0g%KG?a;U!U$++h2 zmVH9F8s;87$XK)Uu_Su%{}uFYm*d!TB#)SyWk6oCi%{~)rMIWB(H665wMtr5V-GLn zXxqm7@(VLGB{b)82I^%j6&ewzb+zHP!ha5>*H zHVg^Vlls|38(T3tSY{7sr=Sl!r!yAc7C%@dtUU85yFeiy`6* z5Z|(_%X3*^c?qUDVDym$Ux5{5m`i{Pq9vlBri28(;EzJ4seqs+AQnDT>dY>~GP8H) zZsTV^88aj3R{-*o%XjkQkCi-pTCJaY`$7~q$C zj?WLwHxB6Vv^yj{;7?q?(PGmyd}U@1aa_EvzRIU*?t+Gz=Ab5vSCU^^r|jHxG%IV( zY*)=Q2g;7__SUWnZS^o|v9G&nH>I$A=t_}Sm{!(|tm`3*ty2ClOSU@hcJ+rx-(PyR zeS65Hf-T2+{HsBPW_83BL4HcJdupAV>5;_Yz0=FG&XynRJ(;uXoy~LKGEWP6;}P7D zR(4Qt+P-S*3lER!IgYOi&g{)jHT$Z#Af`I(+O-Ws(jtdNR6ZAmHPz17sCksqIDK;8 z7l(g!PcgV5t{Lw4FwuWskY;-HmN`ow^)?5FG`;ZY$rO&Ql=zLRTyieQu+qf!Gk-Ui zk^JxMCkuXB^|j%xyMkqBM!g?=;N#5G*UCR}Hf=9ExXmWOXYR>#;i|o3rQ(~h`-?-W z4y|dc{=m!N@#rzj%PKAy_ihtrm~<8`NtvH#o7y3Gk(%r3P~e)r@uhHT>5id)PY%7D z=TJ~IqkhS(#y&Tn@Wt^{+iiP>y&>#=-(;;>p))npqwoXq?QGMY$6Y$NT^xMx)Lu&b z&ig&RV}XAT@xPVE_e(PEh)GVkeQAB0Wc1qUSx=9hJ~c5yqhkDnAmb>bq7NlmNhP{O z_qL>v&P#v4wSSD&{ogfell$IYZ57uuGh8A1z2K9r=Fv+IeR^!`zG@xg z1F_35b-7lxew((odv9A)#Y)4FQ6YCNWS+h2L7cJ~_L=)jp4#iJtqpLg5**16)r ziWs|P0S>+5-#Ux+%%0rRd=%I)`>{>tWN}S$$@BVOUhL8P=*Ntla|dg8I%c0=HZks# zZ&Py0tsGky2^~Iv*M4Maz-D)iRyW6aTI>FL`44OutnrqiCd`V1FZ~iSvb>?YG;nD1 z;G1Omq0j3gUzziK_(;mQFAsumwQH~j}$m;@Ar zTw99^0o!;ELKLA8gJwN)k&Gyi+%;_|l4AUIpg@Wm(bwUtX$J4}N}wY?c7Va-$p~Zk zR~7dvhHn-9HKjQURG__sW;q~Q;b%!hNuZ{%p!(kqqKVa2((8W#DGZ83e&0$RG9nZP znpKF(dk>2e!+ymQ#pDk@RVC0O{$KgWHUfDph>(jNQ-_Qwh51(8A{g}BGkxtFfM)<` zSBeW~8F2;PVsW8i$b+1~C6vz{z^IfyY(7dVT!)_vP30*>3=S2TD+WFiWAF!V>KT~; z`j$!|mO)J7zg5EQfZ0fdfFihfL`S2mWa5<}OALUN z_qJkvMhYk+GWA($vjt*-L@1gaC5ewkV|y;{jLZktI2AA4hghcKV}+4}v2z9{RG|gF z`dGW99G-P4l-Y?g8qPA}cZg5i0`hmZ0{Lt$G~9W^rno|YO#~f7G~H&xV0V)b%%n(Sw`r<{pI3QpAn$#Hc9&F zz3+iD0qiDsd#4T=u@ORyI$Ye%G;vy9bPs~cDhT8Bs1*x>>L?6+bb~Gezj9T{-%wlD zL2aSe^+ITFxdZ~j;zHL;1&IPNn!Mt8n=!hscg;|jjC0S*jggvK5N+xqgj-VHhqH`$ z2(8}52Xsd%O3$7&qwh`KQdcE7a2!m!$yhRI~lN|oF2I^g# z0n^XkzU%_>nU!eZFz4W2w4Z%fV1PJ3UtYT{WG^Iww$Or+oh0gz5pK|vVyk7eS)gc} z^G({b3V=2dZsL0s70xokOrRzhXS>$M(qU5pzY2l~UBW0xO$p@;R&*&w*rlw$4Y%?L zgb?~e_>GWVB0e@QDv~8jIrQd^Ump0u5Da&u`Q>yNj)-%}2Oe(v8Nej_s`R#|D4dl& zS0on2iIzqs3B++p)XZMAH{wtAm6N&h1aLULvZO^|_~gP}WHyclFWlwZl?p~5fgimQ zdmzSwIUbz(t6$&Sj&#Tmk?L`|9kOP%_8n_*h$lFNelvGSaD2r_{p5nXXrCla)BTxz zfXHzGdY3^X8pl@j8Waj>`j3}qC4LU{GWgMZRnM?=+J~=be34Dz*XSEsAA>Vqv068p zdtz~mK?THanJz>YFr7MNM2?h|E1w&R=4CxG)gU9QJ~-K)g27ovWG8U*aL;1GKl#bm zfs_SgYZ`fTA~%^_QWkBkv@&pUIF#NQS}ywYw|4_8(`!B1)ei3OY@@-(kqPOKz{n&p zmYxC6|CklLFbc3qmR|5!OS!7rnwh1BjqrfDLL9ZAc_L*K29CDY(Q;BqG~_XP3(CPgZM|k*HT35NHicAAt{wap< z3(3^n815E5%v)!wL&aIGfBMe#Q^0-*RgIo|neAZZD?$zqUF_WXX+5C30Zkt=GT)^( zT4hfzW>@t5jL>VPpx^^;haTL(AtUDP!KiRmWFsv>(Ki6Q4L^EBcHfJ^E*(6P3w>Ab zpFiBZ9Uc+MJ3OA%fXQSivi*{k4m}|Gf|zI||3UNF{eUt8kJBIP7f=qC>PI1Qx6-&N z-|ZsQ?K#kWqX#3hPk@1QRqy1Lqlb|V-x#o(p4PpB!l(tt+1@bU;qqC?dR>f}&t>m- z91;U_ve53HKH2ppx~u=PNF6H9>fG)rCzHYI@KMY_+I5hFPcEB^Hn{O}=E*%!oS zp(RAyUAb?yHu#Wd19grbm(H9~pN%U)MD)Zpf+4V3$p~h)apo*eg*y@bbljH)=mCka zpVcMftnYiKGt2<2uhV5l6Hzr*Ln@HOat(jxXP;^z3!pmu`E%`mfaA)Ll5^7RPiPs$ zdd!YSRUNC08u{+r_HR@${;C3YgKd1n+e1 z5fBW9>NBHDcLTdXd=Tp}zwQx>dNQq29UXFO#sG27IAQz6LMLc@^dKBqf&_KQ2&-Q? z(2X%adB*#59TW-O!&e?f~tZ+)|WVjL>C$?MC<#k1&hRaVCIyrS0!L? zFxYEO6(7zr;$AB&oZR6BUHn}A?N7+mW+c=wdSl-32PY0^XU^DlR@DF{$JXh7J@JSY z93Tn`jf#q389@#rSq@!UBkM}=X(a(0VBQYbo%?r#5x&ih**y=)qj(nyD6z2xJ zS*_oa@qv6dMbBxxpZ_O3`*=ZSlui0Yz>fh>+t5ld_XR>iz9s5nFKRbbOBZy-Sd{yu z%@&@taS(Rs9c2GkYEb!7X%tJ9J8!l9t`^v<33R$ketE4f8Qy}&3BsWNi8j97GCbB0 z@Xla7{T+sRpBfVVuXcSzaiLKx8PtgX*X{Cd+2U%#IOrqg*Ar0%|52jodbu31)7&rv%r*_!ttb=rGbZ;A3K$ySpi| zWss>Mv8;Q&G1<&Lv6Spvb}Vd`9kQ5Y=3YWda-SoDJm?b`{LVs5E#@`~O0B4A+*QG4kEzF8GF_>+?n7=p#T!}G`O!=T=F-DTg``>PC@5bw z;mX2X Date: Tue, 26 Dec 2017 22:26:43 +0800 Subject: [PATCH 044/104] bintrayUpload added --- .gitignore | 2 ++ build.gradle | 70 +++++++++++++++++++++++++++++++++++++++++++++++++--- pom.xml | 15 +++++------ 3 files changed, 74 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index e18827b..7eb4658 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,5 @@ bin/ # mpeltonen/sbt-idea plugin .idea_modules/ + +gradle.properties diff --git a/build.gradle b/build.gradle index 44434a2..351abe9 100644 --- a/build.gradle +++ b/build.gradle @@ -1,11 +1,26 @@ -apply plugin: 'java' +buildscript { + repositories { + jcenter() + } +} + +plugins { + id "com.jfrog.bintray" version "1.8.0" +} -repositories { - jcenter() +allprojects { + repositories { + jcenter() + } + apply plugin: 'maven' + apply plugin: 'maven-publish' + apply plugin: 'java' } +sourceCompatibility = 1.7 +targetCompatibility = 1.7 + dependencies { - compile 'org.slf4j:slf4j-api:1.7.21' compile 'com.google.code.gson:gson:2.6.2' compile 'commons-codec:commons-codec:1.10' @@ -21,3 +36,50 @@ task javadocJar(type: Jar, dependsOn: javadoc) { classifier = 'javadoc' from javadoc.destinationDir } + +artifacts { + archives sourcesJar, javadocJar +} + +publishing { + publications { + mavenJava(MavenPublication) { + from components.java + artifact sourcesJar + artifact javadocJar + groupId 'Pingplusplus' + artifactId 'pingpp-java' + version releaseVersion + + pom.withXml { + def root = asNode() + root.appendNode('name', 'pingpp-java') + root.appendNode('url', 'https://github.com/PingPlusPlus/pingpp-java') + } + } + } +} + +bintray { + user = bintrayUser + key = bintrayApiKey + publications = ['mavenJava'] + dryRun = false + publish = true + pkg { + repo = 'maven' + name = 'pingplusplus' + licenses = ['MIT'] + labels = ['Ping++', 'pingxx', 'payment'] + vcsUrl = 'https://github.com/PingPlusPlus/pingpp-java.git' + version { + name = releaseVersion + } + } +} + +model { + tasks.generatePomFileForMavenJavaPublication { + destination = file("pom.xml") + } +} diff --git a/pom.xml b/pom.xml index 1fc4fac..aa7a5c9 100644 --- a/pom.xml +++ b/pom.xml @@ -1,26 +1,23 @@ - + 4.0.0 Pingplusplus pingpp-java - 2.3.1 - pingpp-java - https://github.com/PingPlusPlus/pingpp-java - - 1.7 - 1.7 - + 2.3.2 com.google.code.gson gson 2.6.2 + runtime commons-codec commons-codec 1.10 + runtime + pingpp-java + https://github.com/PingPlusPlus/pingpp-java From 244a24881db582761a237c1719da41ac87e1de03 Mon Sep 17 00:00:00 2001 From: afon Date: Wed, 27 Dec 2017 16:07:16 +0800 Subject: [PATCH 045/104] version 2.3.3; fix javadoc warnings, add bintrayUpload task --- CHANGELOG.md | 8 +++- README.md | 4 +- VERSION | 2 +- pom.xml | 2 +- src/main/java/com/pingplusplus/Pingpp.java | 2 +- .../com/pingplusplus/model/BalanceBonus.java | 6 +-- .../model/BalanceTransaction.java | 8 ++-- .../pingplusplus/model/BalanceTransfer.java | 6 +-- .../com/pingplusplus/model/BatchRefund.java | 14 +++---- .../com/pingplusplus/model/BatchTransfer.java | 18 ++++----- .../java/com/pingplusplus/model/Channel.java | 8 ++-- .../java/com/pingplusplus/model/Charge.java | 24 ++++++------ .../java/com/pingplusplus/model/Coupon.java | 10 ++--- .../pingplusplus/model/CouponTemplate.java | 14 +++---- .../java/com/pingplusplus/model/Customs.java | 12 +++--- .../java/com/pingplusplus/model/Event.java | 8 ++-- .../pingplusplus/model/Identification.java | 4 +- .../java/com/pingplusplus/model/Order.java | 20 +++++----- .../com/pingplusplus/model/OrderRefund.java | 8 ++-- .../java/com/pingplusplus/model/Recharge.java | 6 +-- .../pingplusplus/model/RechargeRefund.java | 8 ++-- .../com/pingplusplus/model/RedEnvelope.java | 16 ++++---- .../java/com/pingplusplus/model/Refund.java | 12 +++--- .../java/com/pingplusplus/model/Royalty.java | 6 +-- .../pingplusplus/model/RoyaltySettlement.java | 8 ++-- .../pingplusplus/model/RoyaltyTemplate.java | 10 ++--- .../model/RoyaltyTransaction.java | 4 +- .../com/pingplusplus/model/SettleAccount.java | 8 ++-- .../java/com/pingplusplus/model/SubApp.java | 10 ++--- .../java/com/pingplusplus/model/Transfer.java | 18 ++++----- .../java/com/pingplusplus/model/User.java | 10 ++--- .../com/pingplusplus/model/Withdrawal.java | 24 ++++++------ .../com/pingplusplus/net/APIResource.java | 38 +++++++++---------- .../pingplusplus/net/AppBasedResource.java | 8 ++-- .../com/pingplusplus/net/PingppResponse.java | 6 +-- .../pingplusplus/net/SubAppBasedResource.java | 6 +-- .../pingplusplus/net/UserBasedResource.java | 6 +-- .../com/pingplusplus/util/WxpubOAuth.java | 8 ++-- .../com/pingplusplus/PingppAccountTest.java | 2 +- 39 files changed, 198 insertions(+), 194 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 85f34a7..433f400 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # ChangeLog +## 2.3.3 (2017-12-27) +#### 修正 +- 修正 javadoc + ## 2.3.2 (2017-12-21) #### 修正 - 兼容 JDK 1.7 @@ -14,9 +18,9 @@ ## 2.2.5 (2017-10-10) #### 新增 -- 新增重试机制 +- 新增重试机制 -#### 修改 +#### 修改 - 优化 SDK ## 2.2.4 (2017-06-19) diff --git a/README.md b/README.md index 72b0fcd..04e828f 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.3.2 + 2.3.3 jar ``` @@ -52,7 +52,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.3.2' +compile 'Pingplusplus:pingpp-java:2.3.3' ``` ### 初始化 diff --git a/VERSION b/VERSION index f90b1af..0bee604 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.3.2 +2.3.3 diff --git a/pom.xml b/pom.xml index aa7a5c9..8abea48 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 Pingplusplus pingpp-java - 2.3.2 + 2.3.3 com.google.code.gson diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index 9c6101b..5a365db 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,7 +11,7 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.3.2"; + public static final String VERSION = "2.3.3"; /** * api key */ diff --git a/src/main/java/com/pingplusplus/model/BalanceBonus.java b/src/main/java/com/pingplusplus/model/BalanceBonus.java index 823ea93..bfb76b3 100644 --- a/src/main/java/com/pingplusplus/model/BalanceBonus.java +++ b/src/main/java/com/pingplusplus/model/BalanceBonus.java @@ -147,7 +147,7 @@ public void setMetadata(Map metadata) { * 创建 balance_bonus * * @param params 请求参数 - * @return + * @return BalanceBonus * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -165,7 +165,7 @@ public static BalanceBonus create(Map params) * 查询 balance_bonus * * @param id - * @return + * @return BalanceBonus * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -183,7 +183,7 @@ public static BalanceBonus retrieve(String id) * 查询 balance_bonus 列表 * * @param params - * @return + * @return BalanceBonusCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/BalanceTransaction.java b/src/main/java/com/pingplusplus/model/BalanceTransaction.java index 252105a..7605f43 100644 --- a/src/main/java/com/pingplusplus/model/BalanceTransaction.java +++ b/src/main/java/com/pingplusplus/model/BalanceTransaction.java @@ -111,7 +111,7 @@ public void setUser(String user) { * 查询 balance_transaction * * @param id - * @return + * @return BalanceTransaction * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -129,7 +129,7 @@ public static BalanceTransaction retrieve(String id) * 查询 balance_transaction 列表 * * @param params - * @return + * @return BalanceTransactionCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -148,7 +148,7 @@ public static BalanceTransactionCollection list(Map params) * * @param userId * @param id - * @return + * @return BalanceTransaction * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -168,7 +168,7 @@ public static BalanceTransaction retrieve(String userId, String id) * * @param userId * @param params - * @return + * @return BalanceTransactionCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/BalanceTransfer.java b/src/main/java/com/pingplusplus/model/BalanceTransfer.java index 8627c7d..451ce87 100644 --- a/src/main/java/com/pingplusplus/model/BalanceTransfer.java +++ b/src/main/java/com/pingplusplus/model/BalanceTransfer.java @@ -147,7 +147,7 @@ public void setMetadata(Map metadata) { * 创建 balance_transfer * * @param params - * @return + * @return BalanceTransfer * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -165,7 +165,7 @@ public static BalanceTransfer create(Map params) * 查询 balance_transfer * * @param id - * @return + * @return BalanceTransfer * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -183,7 +183,7 @@ public static BalanceTransfer retrieve(String id) * 查询 balance_transfer 列表 * * @param params - * @return + * @return BalanceTransferCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/BatchRefund.java b/src/main/java/com/pingplusplus/model/BatchRefund.java index c65f64d..e400e85 100644 --- a/src/main/java/com/pingplusplus/model/BatchRefund.java +++ b/src/main/java/com/pingplusplus/model/BatchRefund.java @@ -127,7 +127,7 @@ public void setTimeSucceeded(Long timeSucceeded) { /** * @param clazz - * @return + * @return String */ protected static String classURL(Class clazz) { return apiBasePrefixedURL("/v1/batch_refunds"); @@ -137,7 +137,7 @@ protected static String classURL(Class clazz) { * 创建 batch_refund * * @param params - * @return + * @return BatchRefund * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -156,7 +156,7 @@ public static BatchRefund create(Mapparams) * * @param apiKey Ping++ ApiKey * @param params - * @return + * @return BatchRefund * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -174,7 +174,7 @@ public static BatchRefund create(String apiKey, Mapparams) * 查询 batch_refund * * @param id - * @return + * @return BatchRefund * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -193,7 +193,7 @@ public static BatchRefund retrieve(String id) * * @param id * @param apiKey Ping++ ApiKey - * @return + * @return BatchRefund * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -211,7 +211,7 @@ public static BatchRefund retrieve(String id, String apiKey) * 查询 batch_refund 列表 * * @param params - * @return + * @return BatchRefundCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -230,7 +230,7 @@ public static BatchRefundCollection list(Map params) * * @param apiKey Ping++ ApiKey * @param params - * @return + * @return BatchRefundCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/BatchTransfer.java b/src/main/java/com/pingplusplus/model/BatchTransfer.java index 3401d5b..7cccb3b 100644 --- a/src/main/java/com/pingplusplus/model/BatchTransfer.java +++ b/src/main/java/com/pingplusplus/model/BatchTransfer.java @@ -173,7 +173,7 @@ public void setType(String type) { /** * @param clazz - * @return + * @return String */ protected static String classURL(Class clazz) { return apiBasePrefixedURL("/v1/batch_transfers"); @@ -183,7 +183,7 @@ protected static String classURL(Class clazz) { * 创建 batch_transfer * * @param params - * @return + * @return BatchTransfer * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -202,7 +202,7 @@ public static BatchTransfer create(Mapparams) * * @param apiKey Ping++ ApiKey * @param params - * @return + * @return BatchTransfer * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -220,7 +220,7 @@ public static BatchTransfer create(String apiKey, Mapparams) * 查询 batch_transfer * * @param id - * @return + * @return BatchTransfer * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -239,7 +239,7 @@ public static BatchTransfer retrieve(String id) * * @param id * @param apiKey Ping++ ApiKey - * @return + * @return BatchTransfer * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -257,7 +257,7 @@ public static BatchTransfer retrieve(String id, String apiKey) * 查询 batch_transfer 列表 * * @param params - * @return + * @return BatchTransferCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -276,7 +276,7 @@ public static BatchTransferCollection list(Map params) * * @param apiKey Ping++ ApiKey * @param params - * @return + * @return BatchTransferCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -313,7 +313,7 @@ public static BatchTransfer update(String id, Map params) * @param id * @param apiKey Ping++ ApiKey * @param params - * @return + * @return BatchTransfer * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -350,7 +350,7 @@ public static BatchTransfer cancel(String id) * * @param id * @param apiKey Ping++ Apikey - * @return + * @return BatchTransfer * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/Channel.java b/src/main/java/com/pingplusplus/model/Channel.java index f4413c8..96e187c 100644 --- a/src/main/java/com/pingplusplus/model/Channel.java +++ b/src/main/java/com/pingplusplus/model/Channel.java @@ -76,7 +76,7 @@ public void setParams(Map params) { * * @param subAppId * @param params - * @return + * @return Channel * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -95,7 +95,7 @@ public static Channel create(String subAppId, Mapparams) * * @param subAppId * @param channel - * @return + * @return Channel * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -115,7 +115,7 @@ public static Channel retrieve(String subAppId, String channel) * @param subAppId * @param channel * @param params - * @return + * @return Channel * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -134,7 +134,7 @@ public static Channel update(String subAppId, String channel, Map params) * * @param params * @param apiKey Ping++ ApiKey - * @return + * @return Charge * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -298,7 +298,7 @@ public static Charge create(String apiKey, Map params) * 查询 charge * * @param id - * @return + * @return Charge * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -316,7 +316,7 @@ public static Charge retrieve(String id) throws AuthenticationException, * 查询 charge * * @param id - * @return + * @return Charge * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -335,7 +335,7 @@ public static Charge retrieve(String id, String apiKey) throws AuthenticationExc * * @param id * @param params - * @return + * @return Charge * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -354,7 +354,7 @@ public static Charge retrieve(String id, Map params) throws Auth * * @param id * @param params - * @return + * @return Charge * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -372,7 +372,7 @@ public static Charge retrieve(String id, String apiKey, Map para * 查询 charge 列表 * * @param params - * @return + * @return ChargeCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -390,7 +390,7 @@ public static ChargeCollection list(Map params) * 查询 charge 列表 * * @param params - * @return + * @return ChargeCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -415,7 +415,7 @@ public static ChargeCollection list(String apiKey, Map params) * @param id * @param apiKey Ping++ ApiKey * @param params - * @return + * @return Charge * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -438,7 +438,7 @@ public static Charge reverse(String id, String apiKey, Map param * * @param id * @param params - * @return + * @return Charge * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -456,7 +456,7 @@ public static Charge reverse(String id, Map params) throws Authe * 撤销 charge * * @param id - * @return + * @return Charge * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -475,7 +475,7 @@ public static Charge reverse(String id) throws AuthenticationException, * * @param id * @param apiKey Ping++ ApiKey - * @return + * @return Charge * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/Coupon.java b/src/main/java/com/pingplusplus/model/Coupon.java index 2c19485..79c18c3 100644 --- a/src/main/java/com/pingplusplus/model/Coupon.java +++ b/src/main/java/com/pingplusplus/model/Coupon.java @@ -148,7 +148,7 @@ public void setUserTimesCirculated(Integer userTimesCirculated) { * * @param userId * @param params - * @return + * @return Coupon * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -168,7 +168,7 @@ public static Coupon create(String userId, Mapparams) * * @param userId * @param id - * @return + * @return Coupon * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -188,7 +188,7 @@ public static Coupon retrieve(String userId, String id) * * @param userId * @param params - * @return + * @return CouponCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -208,7 +208,7 @@ public static CouponCollection list(String userId, Map params) * * @param userId * @param params - * @return + * @return Coupon * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -228,7 +228,7 @@ public static Coupon update(String userId, String id, Mapparams) * * @param userId * @param id - * @return + * @return DeletedCoupon * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/CouponTemplate.java b/src/main/java/com/pingplusplus/model/CouponTemplate.java index b3baf0f..f805ee4 100644 --- a/src/main/java/com/pingplusplus/model/CouponTemplate.java +++ b/src/main/java/com/pingplusplus/model/CouponTemplate.java @@ -165,7 +165,7 @@ public void setMaxUserCirculation(Integer maxUserCirculation) { * 创建 coupon_template * * @param params - * @return + * @return CouponTemplate * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -183,7 +183,7 @@ public static CouponTemplate create(Mapparams) * 查询 coupon_template * * @param id - * @return + * @return CouponTemplate * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -201,7 +201,7 @@ public static CouponTemplate retrieve(String id) * 查询 coupon_template 列表 * * @param params - * @return + * @return CouponTemplateCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -219,7 +219,7 @@ public static CouponTemplateCollection list(Map params) * 更新 coupon_template * * @param params - * @return + * @return CouponTemplate * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -237,7 +237,7 @@ public static CouponTemplate update(String id, Mapparams) * 删除 coupon_template * * @param id - * @return + * @return DeletedCouponTemplate * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -260,7 +260,7 @@ public static String couponsURL(String tmplId) throws InvalidRequestException { * * @param id * @param params - * @return + * @return CouponCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -279,7 +279,7 @@ public static CouponCollection createCoupons(String id, Mapparam * * @param id * @param params - * @return + * @return CouponCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/Customs.java b/src/main/java/com/pingplusplus/model/Customs.java index 0ad3b52..6b05c1d 100644 --- a/src/main/java/com/pingplusplus/model/Customs.java +++ b/src/main/java/com/pingplusplus/model/Customs.java @@ -173,7 +173,7 @@ public void setTransactionNo(String transactionNo) { * 创建 customs * * @param params - * @return + * @return Customs * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -192,7 +192,7 @@ public static Customs create(Map params) * * @param apiKey Ping++ ApiKey * @param params - * @return + * @return Customs * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -210,7 +210,7 @@ public static Customs create(String apiKey, Map params) * 查询 customs * * @param id - * @return + * @return Customs * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -229,7 +229,7 @@ public static Customs retrieve(String id) throws AuthenticationException, * * @param id * @param apiKey Ping++ ApiKey - * @return + * @return Customs * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -247,7 +247,7 @@ public static Customs retrieve(String id, String apiKey) throws AuthenticationEx * 查询 customs 列表 * * @param params - * @return + * @return CustomsCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -266,7 +266,7 @@ public static CustomsCollection list(Map params) * * @param apiKey Ping++ ApiKey * @param params - * @return + * @return CustomsCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/Event.java b/src/main/java/com/pingplusplus/model/Event.java index 46ea39e..6a502b0 100644 --- a/src/main/java/com/pingplusplus/model/Event.java +++ b/src/main/java/com/pingplusplus/model/Event.java @@ -87,7 +87,7 @@ public void setRequest(String request) { * 查询 Event * * @param id - * @return + * @return Event * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -105,7 +105,7 @@ public static Event retrieve(String id) throws AuthenticationException, * * @param id * @param apiKey Ping++ ApiKey - * @return + * @return Event * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -124,7 +124,7 @@ public static Event retrieve(String id, String apiKey) throws AuthenticationExce * * @param id * @param params - * @return + * @return Event * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -143,7 +143,7 @@ public static Event retrieve(String id, Map params) throws Authe * @param id * @param apiKey Ping++ ApiKey * @param params - * @return + * @return Event * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/Identification.java b/src/main/java/com/pingplusplus/model/Identification.java index 57151b2..dd8bf17 100644 --- a/src/main/java/com/pingplusplus/model/Identification.java +++ b/src/main/java/com/pingplusplus/model/Identification.java @@ -65,7 +65,7 @@ public void setApp(Object app) { * 请求认证 * * @param params - * @return + * @return Identification * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -83,7 +83,7 @@ public static Identification identify(Map params) * * @param apiKey Ping++ ApiKey * @param params - * @return + * @return Identification * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/Order.java b/src/main/java/com/pingplusplus/model/Order.java index e991112..50784a7 100644 --- a/src/main/java/com/pingplusplus/model/Order.java +++ b/src/main/java/com/pingplusplus/model/Order.java @@ -301,7 +301,7 @@ public void setCharge(String charge) { * 创建 order * * @param params - * @return + * @return Order * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -319,7 +319,7 @@ public static Order create(Map params) * 查询 order * * @param id - * @return + * @return Order * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -337,7 +337,7 @@ public static Order retrieve(String id) throws AuthenticationException, * 查询 order 列表 * * @param params - * @return + * @return OrderCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -355,7 +355,7 @@ public static OrderCollection list(Map params) * 更新 order * * @param params - * @return + * @return Order * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -372,7 +372,7 @@ public static Order update(String id, Map params) /** * 取消 order * - * @return + * @return Order * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -392,7 +392,7 @@ public Order cancel() * 取消 order * * @param id - * @return + * @return Order * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -412,7 +412,7 @@ public static Order cancel(String id) * 支付 order * * @param params - * @return + * @return Order * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -432,7 +432,7 @@ public Order pay(Map params) throws AuthenticationException, * * @param id * @param params - * @return + * @return Order * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -452,7 +452,7 @@ public static Order pay(String id, Map params) throws Authentica * * @param id * @param params - * @return + * @return ChargeCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -472,7 +472,7 @@ public static ChargeCollection chargeList(String id, Map params) * * @param orderId * @param chargeId - * @return + * @return Charge * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/OrderRefund.java b/src/main/java/com/pingplusplus/model/OrderRefund.java index 19ce357..b551e94 100644 --- a/src/main/java/com/pingplusplus/model/OrderRefund.java +++ b/src/main/java/com/pingplusplus/model/OrderRefund.java @@ -12,7 +12,7 @@ public class OrderRefund extends APIResource { * * @param order * @param params - * @return + * @return OrderRefundCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -32,7 +32,7 @@ public static OrderRefundCollection create(String order, Map par * * @param order * @param refund - * @return + * @return Refund * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -52,7 +52,7 @@ public static Refund retrieve(String order, String refund) * * @param order * @param params - * @return + * @return OrderRefundCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -71,7 +71,7 @@ public static OrderRefundCollection list(String order, Mapparams * 查询 order_refund 列表 * * @param order - * @return + * @return OrderRefundCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/Recharge.java b/src/main/java/com/pingplusplus/model/Recharge.java index f90f58d..bda72d2 100644 --- a/src/main/java/com/pingplusplus/model/Recharge.java +++ b/src/main/java/com/pingplusplus/model/Recharge.java @@ -165,7 +165,7 @@ public void setMetadata(Map metadata) { * 创建 recharge * * @param params - * @return + * @return Recharge * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -183,7 +183,7 @@ public static Recharge create(Map params) * 查询 recharge * * @param id - * @return + * @return Recharge * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -201,7 +201,7 @@ public static Recharge retrieve(String id) * 查询 recharge 列表 * * @param params - * @return + * @return RechargeCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/RechargeRefund.java b/src/main/java/com/pingplusplus/model/RechargeRefund.java index 4d498ce..74c1f3a 100644 --- a/src/main/java/com/pingplusplus/model/RechargeRefund.java +++ b/src/main/java/com/pingplusplus/model/RechargeRefund.java @@ -12,7 +12,7 @@ public class RechargeRefund extends AppBasedResource { * * @param rechargeId * @param params - * @return + * @return Refund * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -32,7 +32,7 @@ public static Refund create(String rechargeId, Map params) * * @param rechargeId * @param refundId - * @return + * @return Refund * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -52,7 +52,7 @@ public static Refund retrieve(String rechargeId, String refundId) * * @param rechargeId * @param params - * @return + * @return RechargeRefundCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -71,7 +71,7 @@ public static RechargeRefundCollection list(String rechargeId, Map metadata) { * 创建 RedEnvelope * * @param params - * @return + * @return RedEnvelope * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -229,7 +229,7 @@ public static RedEnvelope create(Map params) * * @param apiKey Ping++ ApiKey * @param params - * @return + * @return RedEnvelope * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -247,7 +247,7 @@ public static RedEnvelope create(String apiKey, Map params) * 查询 RedEnvelope * * @param id - * @return + * @return RedEnvelope * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -265,7 +265,7 @@ public static RedEnvelope retrieve(String id) throws AuthenticationException, * * @param id * @param apiKey Ping++ ApiKey - * @return + * @return RedEnvelope * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -284,7 +284,7 @@ public static RedEnvelope retrieve(String id, String apiKey) throws Authenticati * * @param id * @param params - * @return + * @return RedEnvelope * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -303,7 +303,7 @@ public static RedEnvelope retrieve(String id, Map params) throws * @param id * @param apiKey Ping++ ApiKey * @param params - * @return + * @return RedEnvelope * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -321,7 +321,7 @@ public static RedEnvelope retrieve(String id, String apiKey, Map * 查询 RedEnvelope * * @param params - * @return + * @return RedEnvelopeCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -339,7 +339,7 @@ public static RedEnvelopeCollection list(Map params) * * @param apiKey Ping++ ApiKey * @param params - * @return + * @return RedEnvelopeCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/Refund.java b/src/main/java/com/pingplusplus/model/Refund.java index a18235a..e6205e4 100644 --- a/src/main/java/com/pingplusplus/model/Refund.java +++ b/src/main/java/com/pingplusplus/model/Refund.java @@ -171,7 +171,7 @@ public void setExtra(Map extra) { * * @param charge * @param params - * @return + * @return Refund * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -191,7 +191,7 @@ public static Refund create(String charge, Map params) * @param charge * @param apiKey Ping++ ApiKey * @param params - * @return + * @return Refund * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -211,7 +211,7 @@ public static Refund create(String charge, String apiKey, Map pa * * @param charge * @param id - * @return + * @return Refund * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -231,7 +231,7 @@ public static Refund retrieve(String charge, String id) * @param charge * @param id * @param apiKey Ping++ ApiKey - * @return + * @return Refund * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -251,7 +251,7 @@ public static Refund retrieve(String charge, String id, String apiKey) * * @param charge * @param params - * @return + * @return ChargeRefundCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -271,7 +271,7 @@ public static ChargeRefundCollection list(String charge, Mappara * @param charge * @param apiKey Ping++ ApiKey * @param params - * @return + * @return ChargeRefundCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/Royalty.java b/src/main/java/com/pingplusplus/model/Royalty.java index dd5134f..1b47ade 100644 --- a/src/main/java/com/pingplusplus/model/Royalty.java +++ b/src/main/java/com/pingplusplus/model/Royalty.java @@ -183,7 +183,7 @@ public void setRoyaltySettlement(String royaltySettlement) { * 查询 royalty * * @param id - * @return + * @return Royalty * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -201,7 +201,7 @@ public static Royalty retrieve(String id) throws AuthenticationException, * 查询 royalty 列表 * * @param params - * @return + * @return RoyaltyCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -219,7 +219,7 @@ public static RoyaltyCollection list(Map params) * 批量更新 royalty * * @param params - * @return + * @return RoyaltyCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/RoyaltySettlement.java b/src/main/java/com/pingplusplus/model/RoyaltySettlement.java index 276a0e6..eb03425 100644 --- a/src/main/java/com/pingplusplus/model/RoyaltySettlement.java +++ b/src/main/java/com/pingplusplus/model/RoyaltySettlement.java @@ -192,7 +192,7 @@ public void setMetadata(Map metadata) { * 创建 royalty_settlement * * @param params - * @return + * @return RoyaltySettlement * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -210,7 +210,7 @@ public static RoyaltySettlement create(Map params) throws Authen * 查询 royalty_settlement * * @param id - * @return + * @return RoyaltySettlement * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -228,7 +228,7 @@ public static RoyaltySettlement retrieve(String id) throws AuthenticationExcepti * 查询 royalty_settlement 列表 * * @param params - * @return + * @return RoyaltySettlement * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -247,7 +247,7 @@ public static RoyaltySettlementCollection list(Map params) * * @param id * @param params - * @return + * @return RoyaltySettlement * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/RoyaltyTemplate.java b/src/main/java/com/pingplusplus/model/RoyaltyTemplate.java index a04200b..1202a11 100644 --- a/src/main/java/com/pingplusplus/model/RoyaltyTemplate.java +++ b/src/main/java/com/pingplusplus/model/RoyaltyTemplate.java @@ -84,7 +84,7 @@ public void setDescription(String description) { * 创建 royalty_template * * @param params - * @return + * @return RoyaltyTemplate * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -102,7 +102,7 @@ public static RoyaltyTemplate create(Map params) throws Authenti * 查询 royalty_template * * @param id - * @return + * @return RoyaltyTemplate * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -120,7 +120,7 @@ public static RoyaltyTemplate retrieve(String id) throws AuthenticationException * 查询 royalty_template 列表 * * @param params - * @return + * @return RoyaltyTemplateCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -138,7 +138,7 @@ public static RoyaltyTemplateCollection list(Map params) * 删除 royalty_template * * @param id - * @return + * @return DeleteRoyaltyTemplate * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -156,7 +156,7 @@ public static DeleteRoyaltyTemplate delete(String id) * 更新 royalty_template * * @param id - * @return + * @return RoyaltyTemplate * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/RoyaltyTransaction.java b/src/main/java/com/pingplusplus/model/RoyaltyTransaction.java index b474488..ba68c14 100644 --- a/src/main/java/com/pingplusplus/model/RoyaltyTransaction.java +++ b/src/main/java/com/pingplusplus/model/RoyaltyTransaction.java @@ -111,7 +111,7 @@ public void setTransfer(String transfer) { * 查询 royalty_transaction * * @param id - * @return + * @return RoyaltyTransaction * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -129,7 +129,7 @@ public static RoyaltyTransaction retrieve(String id) throws AuthenticationExcept * 查询 royalty_transaction 列表 * * @param params - * @return + * @return RoyaltyTransactionCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/SettleAccount.java b/src/main/java/com/pingplusplus/model/SettleAccount.java index fe97c1c..b4a4923 100644 --- a/src/main/java/com/pingplusplus/model/SettleAccount.java +++ b/src/main/java/com/pingplusplus/model/SettleAccount.java @@ -67,7 +67,7 @@ public void setLivemode(Boolean livemode) { * * @param userId * @param params - * @return + * @return SettleAccount * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -87,7 +87,7 @@ public static SettleAccount create(String userId, Mapparams) * * @param userId * @param id - * @return + * @return SettleAccount * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -107,7 +107,7 @@ public static SettleAccount retrieve(String userId, String id) * * @param userId * @param params - * @return + * @return SettleAccountCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -127,7 +127,7 @@ public static SettleAccountCollection list(String userId, Map pa * * @param userId * @param id - * @return + * @return DeletedSettleAccount * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/SubApp.java b/src/main/java/com/pingplusplus/model/SubApp.java index af5af87..8f5ee15 100644 --- a/src/main/java/com/pingplusplus/model/SubApp.java +++ b/src/main/java/com/pingplusplus/model/SubApp.java @@ -113,7 +113,7 @@ public void setParentApp(String parentApp) { * 创建 sub_app * * @param params - * @return + * @return SubApp * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -131,7 +131,7 @@ public static SubApp create(Mapparams) * 查询 sub_app * * @param id - * @return + * @return SubApp * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -149,7 +149,7 @@ public static SubApp retrieve(String id) * 查询 sub_app 列表 * * @param params - * @return + * @return SubApp * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -168,7 +168,7 @@ public static SubAppCollection list(Map params) * * @param id * @param params - * @return + * @return SubApp * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -186,7 +186,7 @@ public static SubApp update(String id, Mapparams) * 删除 sub_app * * @param id - * @return + * @return DeletedSubApp * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/Transfer.java b/src/main/java/com/pingplusplus/model/Transfer.java index 20b53ab..ed876ae 100644 --- a/src/main/java/com/pingplusplus/model/Transfer.java +++ b/src/main/java/com/pingplusplus/model/Transfer.java @@ -190,7 +190,7 @@ public void setMetadata(Map metadata) { /** * 创建 Transfer * @param params - * @return + * @return Transfer * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -208,7 +208,7 @@ public static Transfer create(Map params) * * @param apiKey Ping++ APiKey * @param params - * @return + * @return Transfer * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -225,7 +225,7 @@ public static Transfer create(String apiKey, Map params) /** * 查询 Transfer * @param id - * @return + * @return Transfer * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -243,7 +243,7 @@ public static Transfer retrieve(String id) throws AuthenticationException, * * @param id * @param apiKey Ping++ ApiKey - * @return + * @return Transfer * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -261,7 +261,7 @@ public static Transfer retrieve(String id, String apiKey) throws AuthenticationE * 查询 Transfer * @param id * @param params - * @return + * @return Transfer * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -280,7 +280,7 @@ public static Transfer retrieve(String id, Map params) throws Au * @param id * @param apiKey Ping++ ApiKey * @param params - * @return + * @return Transfer * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -315,7 +315,7 @@ public static TransferCollection list(Map params) * * @param apiKey Ping++ APiKey * @param params 分页参数等 - * @return + * @return TransferCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -359,7 +359,7 @@ public static Transfer update(String id, Map params) * @param id transfer id * @param apiKey Ping++ ApiKey * @param params 更新参数 - * @return + * @return Transfer * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -396,7 +396,7 @@ public static Transfer cancel(String id) * * @param id transfer id * @param apiKey Ping++ ApiKey - * @return + * @return Transfer * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/User.java b/src/main/java/com/pingplusplus/model/User.java index 89b984c..5baef5c 100644 --- a/src/main/java/com/pingplusplus/model/User.java +++ b/src/main/java/com/pingplusplus/model/User.java @@ -193,7 +193,7 @@ public void setType(String type) { * 创建 user * * @param params - * @return + * @return User * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -211,7 +211,7 @@ public static User create(Mapparams) * 查询 user * * @param id - * @return + * @return User * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -230,7 +230,7 @@ public static User retrieve(String id) * 查询 user 列表 * * @param params - * @return + * @return UserCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -249,7 +249,7 @@ public static UserCollection list(Map params) * * @param id * @param params - * @return + * @return User * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -269,7 +269,7 @@ public static User update(String id, Mapparams) * * @param userId * @param params - * @return + * @return BalanceTransaction * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/model/Withdrawal.java b/src/main/java/com/pingplusplus/model/Withdrawal.java index bf36732..7a57ace 100644 --- a/src/main/java/com/pingplusplus/model/Withdrawal.java +++ b/src/main/java/com/pingplusplus/model/Withdrawal.java @@ -220,7 +220,7 @@ public void setSettleAccount(String settleAccount) { * 创建 withdrawal * * @param params - * @return + * @return Withdrawal * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -238,7 +238,7 @@ public static Withdrawal create(Mapparams) * 查询 withdrawal * * @param id - * @return + * @return Withdrawal * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -256,7 +256,7 @@ public static Withdrawal retrieve(String id) * 查询 withdrawal 列表 * * @param params - * @return + * @return WithdrawalCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -275,7 +275,7 @@ public static WithdrawalCollection list(Map params) * * @param id * @param params - * @return + * @return Withdrawal * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -293,7 +293,7 @@ public static Withdrawal update(String id, Mapparams) * 取消 withdrawal * * @param id - * @return + * @return Withdrawal * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -313,7 +313,7 @@ public static Withdrawal cancel(String id) * 确认 withdrawal * * @param id - * @return + * @return Withdrawal * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -334,7 +334,7 @@ public static Withdrawal confirm(String id) * * @param userId * @param params - * @return + * @return Withdrawal * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -357,7 +357,7 @@ public static Withdrawal create(String userId, Mapparams) * * @param userId * @param id - * @return + * @return Withdrawal * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -378,7 +378,7 @@ public static Withdrawal retrieve(String userId, String id) * * @param userId * @param params - * @return + * @return WithdrawalCollection * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -403,7 +403,7 @@ public static WithdrawalCollection list(String userId, Map param * @param userId * @param id * @param params - * @return + * @return Withdrawal * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -424,7 +424,7 @@ public static Withdrawal update(String userId, String id, Mappar * * @param userId * @param id - * @return + * @return Withdrawal * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -446,7 +446,7 @@ public static Withdrawal cancel(String userId, String id) * * @param userId * @param id - * @return + * @return Withdrawal * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/net/APIResource.java b/src/main/java/com/pingplusplus/net/APIResource.java index 7a3e3d0..86c5ee3 100644 --- a/src/main/java/com/pingplusplus/net/APIResource.java +++ b/src/main/java/com/pingplusplus/net/APIResource.java @@ -84,7 +84,7 @@ public static Class getSelfClass() { /** * @param clazz - * @return + * @return className */ protected static String className(Class clazz) { String className = clazz.getSimpleName().toLowerCase().replace("$", " "); @@ -104,7 +104,7 @@ protected static String className(Class clazz) { /** * @param clazz - * @return + * @return singleClassURL */ protected static String singleClassURL(Class clazz) throws InvalidRequestException { String className = null; @@ -131,7 +131,7 @@ protected static String singleClassURL(Class clazz) throws InvalidRequestExce /** * @param clazz - * @return + * @return classURL */ protected static String classURL(Class clazz) throws InvalidRequestException { return String.format("%ss", singleClassURL(clazz)); @@ -140,7 +140,7 @@ protected static String classURL(Class clazz) throws InvalidRequestException /** * @param clazz * @param id - * @return + * @return instanceURL * @throws InvalidRequestException */ protected static String instanceURL(Class clazz, String id) throws InvalidRequestException { @@ -157,7 +157,7 @@ protected static String apiBasePrefixedURL(String url) { /** * @param str - * @return + * @return urlEncodedString * @throws UnsupportedEncodingException */ protected static String urlEncode(String str) throws UnsupportedEncodingException { @@ -171,7 +171,7 @@ protected static String urlEncode(String str) throws UnsupportedEncodingExceptio /** * @param k * @param v - * @return + * @return urlEncodedString * @throws UnsupportedEncodingException */ private static String urlEncodePair(String k, String v) @@ -181,7 +181,7 @@ private static String urlEncodePair(String k, String v) /** * @param apiKey - * @return + * @return headers */ static Map getHeaders(String apiKey) { Map headers = new HashMap(); @@ -217,7 +217,7 @@ static Map getHeaders(String apiKey) { /** * @param url * @param apiKey - * @return + * @return HttpURLConnection * @throws IOException */ private static java.net.HttpURLConnection createPingppConnection( @@ -250,7 +250,7 @@ private static void throwInvalidCertificateException() throws APIConnectionExcep /** * @param url * @param query - * @return + * @return formatedURL */ private static String formatURL(String url, String query) { if (query == null || query.isEmpty()) { @@ -266,7 +266,7 @@ private static String formatURL(String url, String query) { * @param url * @param query * @param apiKey - * @return + * @return HttpURLConnection * @throws IOException * @throws APIConnectionException */ @@ -311,7 +311,7 @@ private static java.net.HttpURLConnection createDeleteConnection( * @param url * @param query * @param apiKey - * @return + * @return HttpURLConnection * @throws IOException * @throws APIConnectionException */ @@ -352,7 +352,7 @@ private static java.net.HttpURLConnection createPostConnection( * @param url * @param query * @param apiKey - * @return + * @return HttpURLConnection * @throws IOException * @throws APIConnectionException */ @@ -391,7 +391,7 @@ private static java.net.HttpURLConnection createPutConnection( /** * @param params - * @return + * @return queryString * @throws UnsupportedEncodingException * @throws InvalidRequestException */ @@ -411,7 +411,7 @@ private static String createQuery(Map params) /** * @param params - * @return + * @return JSONString */ private static String createJSONString(Map params) { Gson gson = new GsonBuilder().enableComplexMapKeySerialization().create(); @@ -420,7 +420,7 @@ private static String createJSONString(Map params) { /** * @param params - * @return + * @return flattenParams * @throws InvalidRequestException */ private static Map flattenParams(Map params) @@ -501,7 +501,7 @@ public String toString() { /** * @param responseStream - * @return + * @return responseString * @throws IOException */ private static String getResponseBody(InputStream responseStream) @@ -520,7 +520,7 @@ private static String getResponseBody(InputStream responseStream) * @param url * @param query * @param apiKey - * @return + * @return PingppResponse * @throws APIConnectionException */ private static PingppResponse makeURLConnectionRequest( @@ -578,7 +578,7 @@ private static PingppResponse makeURLConnectionRequest( * @param params * @param clazz * @param - * @return + * @return * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -597,7 +597,7 @@ protected static T request(APIResource.RequestMethod method, String url, Map * @param params * @param clazz * @param - * @return + * @return * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/net/AppBasedResource.java b/src/main/java/com/pingplusplus/net/AppBasedResource.java index 405c4f2..511744a 100755 --- a/src/main/java/com/pingplusplus/net/AppBasedResource.java +++ b/src/main/java/com/pingplusplus/net/AppBasedResource.java @@ -72,7 +72,7 @@ protected static String className(Class clazz) { /** * @param clazz - * @return + * @return singleClassURL * @throws InvalidRequestException */ protected static String singleClassURL(Class clazz) throws InvalidRequestException { @@ -84,7 +84,7 @@ protected static String singleClassURL(Class clazz) throws InvalidRequestExce /** * @param clazz - * @return + * @return classURL * @throws InvalidRequestException */ protected static String classURL(Class clazz) throws InvalidRequestException { @@ -94,7 +94,7 @@ protected static String classURL(Class clazz) throws InvalidRequestException /** * @param clazz * @param id - * @return + * @return instanceURL * @throws InvalidRequestException */ protected static String instanceURL(Class clazz, String id) throws InvalidRequestException { @@ -107,7 +107,7 @@ protected static String instanceURL(Class clazz, String id) throws InvalidReq /** * @param objectName - * @return + * @return customURL * @throws InvalidRequestException */ protected static String customURL(String objectName) throws InvalidRequestException { diff --git a/src/main/java/com/pingplusplus/net/PingppResponse.java b/src/main/java/com/pingplusplus/net/PingppResponse.java index 58a5fe3..f27e983 100644 --- a/src/main/java/com/pingplusplus/net/PingppResponse.java +++ b/src/main/java/com/pingplusplus/net/PingppResponse.java @@ -35,7 +35,7 @@ public PingppResponse(int responseCode, String responseBody, Map> getResponseHeaders() { return responseHeaders; diff --git a/src/main/java/com/pingplusplus/net/SubAppBasedResource.java b/src/main/java/com/pingplusplus/net/SubAppBasedResource.java index 9a3ce87..59fe923 100644 --- a/src/main/java/com/pingplusplus/net/SubAppBasedResource.java +++ b/src/main/java/com/pingplusplus/net/SubAppBasedResource.java @@ -10,7 +10,7 @@ public abstract class SubAppBasedResource extends AppBasedResource { /** * @param clazz * @param subAppId - * @return + * @return singleClassURL * @throws InvalidRequestException */ protected static String singleClassURL(Class clazz, String subAppId) throws InvalidRequestException { @@ -23,7 +23,7 @@ protected static String singleClassURL(Class clazz, String subAppId) throws I /** * @param clazz * @param subAppId - * @return + * @return classURL * @throws InvalidRequestException */ protected static String classURL(Class clazz, String subAppId) throws InvalidRequestException { @@ -34,7 +34,7 @@ protected static String classURL(Class clazz, String subAppId) throws Invalid * @param clazz * @param id * @param subAppId - * @return + * @return instanceURL * @throws InvalidRequestException */ protected static String instanceURL(Class clazz, String subAppId, String id) throws InvalidRequestException { diff --git a/src/main/java/com/pingplusplus/net/UserBasedResource.java b/src/main/java/com/pingplusplus/net/UserBasedResource.java index 7e661a2..c4969a9 100644 --- a/src/main/java/com/pingplusplus/net/UserBasedResource.java +++ b/src/main/java/com/pingplusplus/net/UserBasedResource.java @@ -10,7 +10,7 @@ public abstract class UserBasedResource extends AppBasedResource { /** * @param clazz * @param userId - * @return + * @return singleClassURL * @throws InvalidRequestException */ protected static String singleClassURL(Class clazz, String userId) throws InvalidRequestException { @@ -23,7 +23,7 @@ protected static String singleClassURL(Class clazz, String userId) throws Inv /** * @param clazz * @param userId - * @return + * @return classURL * @throws InvalidRequestException */ protected static String classURL(Class clazz, String userId) throws InvalidRequestException { @@ -34,7 +34,7 @@ protected static String classURL(Class clazz, String userId) throws InvalidRe * @param clazz * @param id * @param userId - * @return + * @return instanceURL * @throws InvalidRequestException */ protected static String instanceURL(Class clazz, String userId, String id) throws InvalidRequestException { diff --git a/src/main/java/com/pingplusplus/util/WxpubOAuth.java b/src/main/java/com/pingplusplus/util/WxpubOAuth.java index 03341bd..8648b7a 100644 --- a/src/main/java/com/pingplusplus/util/WxpubOAuth.java +++ b/src/main/java/com/pingplusplus/util/WxpubOAuth.java @@ -110,7 +110,7 @@ private static String httpBuildQuery(Map queryString) throws Uns /** * Http Get 请求 * @param urlString - * @return + * @return responseString */ private static String httpGet(String urlString) { String result = ""; @@ -136,7 +136,7 @@ private static String httpGet(String urlString) { * 获取微信公众号 jsapi_ticket * @param appId * @param appSecret - * @return + * @return JsapiTicket * @throws UnsupportedEncodingException */ public static String getJsapiTicket(String appId, String appSecret) throws UnsupportedEncodingException { @@ -165,10 +165,10 @@ public static String getJsapiTicket(String appId, String appSecret) throws Unsup /** * 生成微信公众号 js sdk signature - * @param charge + * @param charge charge 对象JSON字符串 * @param jsapiTicket * @param url - * @return + * @return 签名 */ public static String getSignature(String charge, String jsapiTicket, String url) { if (null == charge || null == jsapiTicket || charge.isEmpty() || jsapiTicket.isEmpty()) diff --git a/src/test/java/com/pingplusplus/PingppAccountTest.java b/src/test/java/com/pingplusplus/PingppAccountTest.java index a65f524..eba8fec 100644 --- a/src/test/java/com/pingplusplus/PingppAccountTest.java +++ b/src/test/java/com/pingplusplus/PingppAccountTest.java @@ -17,7 +17,7 @@ public class PingppAccountTest extends PingppAccountTestBase { } @Test public void testVerifyVersions() { - assertEquals("Pingpp.VERSION should match", "2.3.2", Pingpp.VERSION); + assertEquals("Pingpp.VERSION should match", "2.3.3", Pingpp.VERSION); assertEquals("PingppAccount.VERSION should match", "1.2.4", PingppAccount.VERSION); } } From 5fd40db462065d46dbd43158c64f4ee068c58885 Mon Sep 17 00:00:00 2001 From: afon Date: Wed, 27 Dec 2017 16:34:54 +0800 Subject: [PATCH 046/104] channels example added; jar added --- .../com/pingxx/example/ChargeExample.java | 141 ++++++++++++++++++ libs/pingpp-java-2.3.2.jar | Bin 105942 -> 0 bytes libs/pingpp-java-2.3.3.jar | Bin 0 -> 132269 bytes 3 files changed, 141 insertions(+) delete mode 100644 libs/pingpp-java-2.3.2.jar create mode 100644 libs/pingpp-java-2.3.3.jar diff --git a/example/src/main/java/com/pingxx/example/ChargeExample.java b/example/src/main/java/com/pingxx/example/ChargeExample.java index b8fcc5c..3ea534b 100644 --- a/example/src/main/java/com/pingxx/example/ChargeExample.java +++ b/example/src/main/java/com/pingxx/example/ChargeExample.java @@ -249,6 +249,27 @@ private Map channelExtra(String channel) { case "isv_wap": extra = isvWapExtra(); break; + case "alipay_scan": + extra = alipayScanExtra(); + break; + case "wx_pub_scan": + extra = wxPubScanExtra(); + break; + case "cb_alipay": + extra = cbAlipayExtra(); + break; + case "cb_wx": + extra = cbWxExtra(); + break; + case "cb_wx_pub": + extra = cbWxPubExtra(); + break; + case "cb_wx_pub_qr": + extra = cbWxPubQrExtra(); + break; + case "cb_wx_pub_scan": + extra = cbWxPubScanExtra(); + break; } return extra; @@ -555,6 +576,102 @@ private Map isvWapExtra() { return extra; } + private Map alipayScanExtra() { + Map extra = new HashMap<>(); + // 必填,客户端软件中展示的条码值,扫码设备扫描获取。 + extra.put("scan_code", "286801346868493272"); + // 必填,终端号,要求不同终端此号码不一样,会显示在对账单中,如A01、SH008等。 + extra.put("terminal_id", "SH008"); + // 可选,商户操作员编号(可包含字母、数字、下划线、中划线) + extra.put("operator_id", "yx_001"); + // 可选,商户门店编号(可包含字母、数字、下划线、中划线) + extra.put("store_id", "SH_001"); + // 可选,系统商编号 + extra.put("sys_service_provider_id", "2088511833207846"); + + // 可选,商品列表,上送格式参照下面示例。 + List goodsList = goodsListForAlipayScan(); + extra.put("goods_list", goodsList); + return extra; + } + + private Map wxPubScanExtra() { + Map extra = new HashMap<>(); + // 必填,客户端软件中展示的条码值,扫码设备扫描获取。 + extra.put("scan_code", "286801346868493272"); + // 可选,终端号,要求不同终端此号码不一样,会显示在对账单中,如A01、SH008等。 + extra.put("terminal_id", "SH008"); + // 可选,指定支付方式,指定不能使用信用卡支付可设置为 no_credit 。 + extra.put("limit_pay", "no_credit"); + // 可选,商品标记,代金券或立减优惠功能的参数。 + // extra.put("goods_tag", "your goods_tag"); + return extra; + } + + private Map cbAlipayExtra() { + Map extra = new HashMap<>(); + // 可选,支付类型。默认值为:1(商品购买)。 + extra.put("payment_type", 1); + + // 可选,分账列表。 + List list = new ArrayList<>(); + Map map = new HashMap<>(); + map.put("account", "2088866088886666"); // 接受分账资金的支付宝账户ID。 + map.put("amount", 1); // 分账的金额。 + map.put("desc", "split_desc desc"); // 分账描述信息。 + extra.put("split_fund_info", list); + return extra; + } + + private Map cbWxExtra() { + Map extra = new HashMap<>(); + // 可选,指定支付方式,指定不能使用信用卡支付可设置为 no_credit 。 + extra.put("limit_pay", "no_credit"); + + // 必填,商品列表 + List goodsList = goodsListForCbWx(); + extra.put("goods_list", goodsList); + return extra; + } + + private Map cbWxPubExtra() { + Map extra = new HashMap<>(); + // 可选,指定支付方式,指定不能使用信用卡支付可设置为 no_credit 。 + extra.put("limit_pay", "no_credit"); + // // 必填,用户在商户 appid 下的唯一标识。 + extra.put("open_id", "openidxxxxxxxxxxxx"); + // 必填,商品列表 + List goodsList = goodsListForCbWx(); + extra.put("goods_list", goodsList); + return extra; + } + + private Map cbWxPubQrExtra() { + Map extra = new HashMap<>(); + // 可选,指定支付方式,指定不能使用信用卡支付可设置为 no_credit + extra.put("limit_pay", "no_credit"); + // 必填,商品 ID,1-32 位字符串。此 id 为二维码中包含的商品 ID,商户可自定义。 + extra.put("product_id", "286801346868493272"); + // 必填,商品列表 + List goodsList = goodsListForCbWx(); + extra.put("goods_list", goodsList); + return extra; + } + + private Map cbWxPubScanExtra() { + Map extra = new HashMap<>(); + // 必填,客户端软件中展示的条码值,扫码设备扫描获取。 + extra.put("scan_code", "286801346868493272"); + // 可选,指定支付方式,指定不能使用信用卡支付可设置为 no_credit 。 + extra.put("limit_pay", "no_credit"); + // 可选,终端号,要求不同终端此号码不一样,会显示在对账单中,如A01、SH008等。 + extra.put("terminal_id", "SH008"); + // 必填,商品列表 + List goodsList = goodsListForCbWx(); + extra.put("goods_list", goodsList); + return extra; + } + private List goodsListForIsv() { List goodsList = new ArrayList<>(); Map goods = new HashMap<>(); @@ -570,4 +687,28 @@ private List goodsListForIsv() { return goodsList; } + + private List goodsListForAlipayScan() { + List goodsList = new ArrayList<>(); + Map goods = new HashMap<>(); + goods.put("goods_id", "iphone"); // 商户定义商品编号(一般为商品条码)。 + goods.put("goods_name", "iPhone"); // 商品名称 + goods.put("quantity", 1); // 商品数量。 + goods.put("price", "528800"); // 商品价格,单位为分。 + goods.put("goods_category", "123456"); // 商品类目,可选。 + goods.put("body", "苹果手机"); // 商品描述信息,可选。 + goods.put("show_url", "https://www.example.com"); // 商品的展示网址,可选。 + goodsList.add(goods); + + return goodsList; + } + + private List goodsListForCbWx() { + List goodsList = new ArrayList<>(); + Map goods = new HashMap<>(); + goods.put("goods_name", "iPhone"); // 商品名称 + goods.put("goods_num", "1"); // 数量 + goodsList.add(goods); + return goodsList; + } } diff --git a/libs/pingpp-java-2.3.2.jar b/libs/pingpp-java-2.3.2.jar deleted file mode 100644 index cc1c2c4198e642b5162eac38c7ca219527c3b132..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105942 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 Date: Wed, 10 Jan 2018 11:45:07 +0800 Subject: [PATCH 047/104] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E5=BA=9F=E5=BC=83?= =?UTF-8?q?=E6=96=B9=E6=B3=95=EF=BC=9B=E6=9B=B4=E6=96=B0=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=EF=BC=9B=E6=9B=B4=E6=96=B0=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 8 ++ README.md | 4 +- VERSION | 2 +- pom.xml | 2 +- src/main/java/com/pingplusplus/Pingpp.java | 2 +- .../model/BalanceTransaction.java | 43 ------ .../com/pingplusplus/model/BatchTransfer.java | 39 ----- .../java/com/pingplusplus/model/Charge.java | 8 -- .../model/ChargeRefundCollection.java | 7 - .../java/com/pingplusplus/model/Notify.java | 38 ----- .../java/com/pingplusplus/model/Order.java | 9 -- .../com/pingplusplus/model/RedEnvelope.java | 7 - .../model/SettleAccountRecipient.java | 45 ++++++ .../java/com/pingplusplus/model/Transfer.java | 83 ----------- .../java/com/pingplusplus/model/User.java | 21 --- .../java/com/pingplusplus/model/Webhooks.java | 12 -- .../com/pingplusplus/model/Withdrawal.java | 134 ------------------ .../com/pingplusplus/PingppAccountTest.java | 2 +- .../com/pingplusplus/order/OrderTest.java | 1 - 19 files changed, 59 insertions(+), 408 deletions(-) delete mode 100644 src/main/java/com/pingplusplus/model/Notify.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 433f400..07b51df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # ChangeLog +## 2.3.4 (2018-01-10) +#### 修改 +- 移除已废弃接口 +- 移除 transfer、batch_transfer 取消接口 +- 更新示例 +- 移除 order user_from 字段 +- settle_account 字段更新 + ## 2.3.3 (2017-12-27) #### 修正 - 修正 javadoc diff --git a/README.md b/README.md index 04e828f..3be6989 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.3.3 + 2.3.4 jar ``` @@ -52,7 +52,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.3.3' +compile 'Pingplusplus:pingpp-java:2.3.4' ``` ### 初始化 diff --git a/VERSION b/VERSION index 0bee604..3f684d2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.3.3 +2.3.4 diff --git a/pom.xml b/pom.xml index 8abea48..f138ee0 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 Pingplusplus pingpp-java - 2.3.3 + 2.3.4 com.google.code.gson diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index 5a365db..60b45e1 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,7 +11,7 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.3.3"; + public static final String VERSION = "2.3.4"; /** * api key */ diff --git a/src/main/java/com/pingplusplus/model/BalanceTransaction.java b/src/main/java/com/pingplusplus/model/BalanceTransaction.java index 7605f43..3ee8076 100644 --- a/src/main/java/com/pingplusplus/model/BalanceTransaction.java +++ b/src/main/java/com/pingplusplus/model/BalanceTransaction.java @@ -142,47 +142,4 @@ public static BalanceTransactionCollection list(Map params) APIConnectionException, APIException, ChannelException, RateLimitException { return request(APIResource.RequestMethod.GET, classURL(BalanceTransaction.class), params, BalanceTransactionCollection.class); } - - /** - * 查询 balance_transaction - * - * @param userId - * @param id - * @return BalanceTransaction - * @throws AuthenticationException - * @throws InvalidRequestException - * @throws APIConnectionException - * @throws APIException - * @throws ChannelException - * @throws RateLimitException - */ - @Deprecated - public static BalanceTransaction retrieve(String userId, String id) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - return request(APIResource.RequestMethod.GET, instanceURL(BalanceTransaction.class, id), null, BalanceTransaction.class); - } - - /** - * 查询 balance_transaction 列表 - * - * @param userId - * @param params - * @return BalanceTransactionCollection - * @throws AuthenticationException - * @throws InvalidRequestException - * @throws APIConnectionException - * @throws APIException - * @throws ChannelException - * @throws RateLimitException - */ - @Deprecated - public static BalanceTransactionCollection list(String userId, Map params) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - if (params != null) { - params.put("user", userId); - } - return request(APIResource.RequestMethod.GET, classURL(BalanceTransaction.class), params, BalanceTransactionCollection.class); - } } diff --git a/src/main/java/com/pingplusplus/model/BatchTransfer.java b/src/main/java/com/pingplusplus/model/BatchTransfer.java index 7cccb3b..9d901f4 100644 --- a/src/main/java/com/pingplusplus/model/BatchTransfer.java +++ b/src/main/java/com/pingplusplus/model/BatchTransfer.java @@ -326,43 +326,4 @@ public static BatchTransfer update(String id, String apiKey, Map APIConnectionException, APIException, ChannelException, RateLimitException { return request(RequestMethod.PUT, instanceURL(BatchTransfer.class, id), apiKey, params, BatchTransfer.class); } - - /** - * 撤销/取消 BatchTransfer - * @param id batch_transfer ID - * @return BatchTransfer - * @throws AuthenticationException - * @throws InvalidRequestException - * @throws APIConnectionException - * @throws APIException - * @throws ChannelException - */ - public static BatchTransfer cancel(String id) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - Map params = new HashMap(); - params.put("status", "canceled"); - return update(id, params); - } - - /** - * 撤销/取消 BatchTransfer - * - * @param id - * @param apiKey Ping++ Apikey - * @return BatchTransfer - * @throws AuthenticationException - * @throws InvalidRequestException - * @throws APIConnectionException - * @throws APIException - * @throws ChannelException - * @throws RateLimitException - */ - public static BatchTransfer cancel(String id, String apiKey) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - Map params = new HashMap(); - params.put("status", "canceled"); - return update(id, apiKey, params); - } } diff --git a/src/main/java/com/pingplusplus/model/Charge.java b/src/main/java/com/pingplusplus/model/Charge.java index 7b36209..4e80f4f 100644 --- a/src/main/java/com/pingplusplus/model/Charge.java +++ b/src/main/java/com/pingplusplus/model/Charge.java @@ -488,12 +488,4 @@ public static Charge reverse(String id, String apiKey) throws AuthenticationExce APIException, ChannelException, RateLimitException { return reverse(id, apiKey, null); } - - @Deprecated - public static ChargeCollection all(Map params) - throws RateLimitException, APIException, ChannelException, - InvalidRequestException, APIConnectionException, AuthenticationException { - return list(params); - } - } diff --git a/src/main/java/com/pingplusplus/model/ChargeRefundCollection.java b/src/main/java/com/pingplusplus/model/ChargeRefundCollection.java index a37771c..c73046f 100644 --- a/src/main/java/com/pingplusplus/model/ChargeRefundCollection.java +++ b/src/main/java/com/pingplusplus/model/ChargeRefundCollection.java @@ -22,13 +22,6 @@ public ChargeRefundCollection list(String apiKey, Map params) return request(RequestMethod.GET, url, apiKey, params, ChargeRefundCollection.class); } - @Deprecated - public ChargeRefundCollection all(Map params) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - return list(params); - } - public Refund retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { diff --git a/src/main/java/com/pingplusplus/model/Notify.java b/src/main/java/com/pingplusplus/model/Notify.java deleted file mode 100644 index 0969384..0000000 --- a/src/main/java/com/pingplusplus/model/Notify.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.pingplusplus.model; - -import com.google.gson.FieldNamingPolicy; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.pingplusplus.net.APIResource; - -public class Notify { - class InnerObject { - String object; - } - - @Deprecated - public static Object parseNotify(String notifyJson) { - - InnerObject innerObject; - try { - innerObject = new Gson().fromJson(notifyJson, InnerObject.class); - } catch (Exception e) { - e.printStackTrace(); - return null; - } - - if (innerObject == null || innerObject.object == null || innerObject.object.isEmpty()) - return null; - - if (innerObject.object.equals("charge")) { - return APIResource.GSON.fromJson(notifyJson, Charge.class); - } else if (innerObject.object.equals("refund")) { - return new GsonBuilder() - .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) - .create() - .fromJson(notifyJson, Refund.class); - } - - return null; - } -} diff --git a/src/main/java/com/pingplusplus/model/Order.java b/src/main/java/com/pingplusplus/model/Order.java index 50784a7..6311e14 100644 --- a/src/main/java/com/pingplusplus/model/Order.java +++ b/src/main/java/com/pingplusplus/model/Order.java @@ -36,7 +36,6 @@ public class Order extends APIResource { Map metadata; ChargeEssentials chargeEssentials; Long availableBalance; - String userFrom; String receiptApp; String serviceApp; List availableMethods; @@ -257,14 +256,6 @@ public void setAvailableBalance(Long availableBalance) { this.availableBalance = availableBalance; } - public String getUserFrom() { - return userFrom; - } - - public void setUserFrom(String userFrom) { - this.userFrom = userFrom; - } - public String getReceiptApp() { return receiptApp; } diff --git a/src/main/java/com/pingplusplus/model/RedEnvelope.java b/src/main/java/com/pingplusplus/model/RedEnvelope.java index fe6babe..b65310b 100644 --- a/src/main/java/com/pingplusplus/model/RedEnvelope.java +++ b/src/main/java/com/pingplusplus/model/RedEnvelope.java @@ -352,11 +352,4 @@ public static RedEnvelopeCollection list(String apiKey, Map para APIConnectionException, APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, classURL(RedEnvelope.class), apiKey, params, RedEnvelopeCollection.class); } - - @Deprecated - public static RedEnvelopeCollection all(Map params) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - return list(params); - } } diff --git a/src/main/java/com/pingplusplus/model/SettleAccountRecipient.java b/src/main/java/com/pingplusplus/model/SettleAccountRecipient.java index 37b2452..5d6016c 100644 --- a/src/main/java/com/pingplusplus/model/SettleAccountRecipient.java +++ b/src/main/java/com/pingplusplus/model/SettleAccountRecipient.java @@ -10,6 +10,11 @@ public class SettleAccountRecipient extends PingppObject { String openBankCode; String openBank; Boolean forceCheck; + String accountType; + Integer cardType; + String prov; + String city; + String subBank; public String getAccount() { return account; @@ -58,4 +63,44 @@ public Boolean getForceCheck() { public void setForceCheck(Boolean forceCheck) { this.forceCheck = forceCheck; } + + public String getAccountType() { + return accountType; + } + + public void setAccountType(String accountType) { + this.accountType = accountType; + } + + public Integer getCardType() { + return cardType; + } + + public void setCardType(Integer cardType) { + this.cardType = cardType; + } + + public String getProv() { + return prov; + } + + public void setProv(String prov) { + this.prov = prov; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getSubBank() { + return subBank; + } + + public void setSubBank(String subBank) { + this.subBank = subBank; + } } diff --git a/src/main/java/com/pingplusplus/model/Transfer.java b/src/main/java/com/pingplusplus/model/Transfer.java index ed876ae..253f6ca 100644 --- a/src/main/java/com/pingplusplus/model/Transfer.java +++ b/src/main/java/com/pingplusplus/model/Transfer.java @@ -328,87 +328,4 @@ public static TransferCollection list(String apiKey, Map params) APIConnectionException, APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, classURL(Transfer.class), apiKey, params, TransferCollection.class); } - - @Deprecated - public static TransferCollection all(Map params) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - return list(params); - } - - /** - * 更新 Transfer - * @param id transfer id - * @param params 更新参数 - * @return Transfer - * @throws AuthenticationException - * @throws InvalidRequestException - * @throws APIConnectionException - * @throws APIException - * @throws ChannelException - */ - public static Transfer update(String id, Map params) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - return update(id, null, params); - } - - /** - * 更新 Transfer - * - * @param id transfer id - * @param apiKey Ping++ ApiKey - * @param params 更新参数 - * @return Transfer - * @throws AuthenticationException - * @throws InvalidRequestException - * @throws APIConnectionException - * @throws APIException - * @throws ChannelException - * @throws RateLimitException - */ - public static Transfer update(String id, String apiKey, Map params) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.PUT, instanceURL(Transfer.class, id), apiKey, params, Transfer.class); - } - - /** - * 撤销/取消 Transfer - * @param id transfer id - * @return Transfer - * @throws AuthenticationException - * @throws InvalidRequestException - * @throws APIConnectionException - * @throws APIException - * @throws ChannelException - */ - public static Transfer cancel(String id) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - Map params = new HashMap(); - params.put("status", "canceled"); - return update(id, params); - } - - /** - * 撤销/取消 Transfer - * - * @param id transfer id - * @param apiKey Ping++ ApiKey - * @return Transfer - * @throws AuthenticationException - * @throws InvalidRequestException - * @throws APIConnectionException - * @throws APIException - * @throws ChannelException - * @throws RateLimitException - */ - public static Transfer cancel(String id, String apiKey) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - Map params = new HashMap(); - params.put("status", "canceled"); - return update(id, apiKey, params); - } } diff --git a/src/main/java/com/pingplusplus/model/User.java b/src/main/java/com/pingplusplus/model/User.java index 5baef5c..0ddc831 100644 --- a/src/main/java/com/pingplusplus/model/User.java +++ b/src/main/java/com/pingplusplus/model/User.java @@ -264,27 +264,6 @@ public static User update(String id, Mapparams) return request(APIResource.RequestMethod.PUT, instanceURL(User.class, id), params, User.class); } - /** - * 创建 balance transfer - * - * @param userId - * @param params - * @return BalanceTransaction - * @throws AuthenticationException - * @throws InvalidRequestException - * @throws APIConnectionException - * @throws APIException - * @throws ChannelException - * @throws RateLimitException - */ - @Deprecated - public static BalanceTransaction createBalanceTranfer(String userId, Mapparams) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - User.checkUserId(userId); - return request(APIResource.RequestMethod.POST, String.format("%s/transfers", instanceURL(User.class, userId)), params, BalanceTransaction.class); - } - public static void checkUserId(String userId) throws InvalidRequestException { if (userId == null || userId.trim().length() == 0) { throw new InvalidRequestException("ID should not be null or empty.", "user_id", null); diff --git a/src/main/java/com/pingplusplus/model/Webhooks.java b/src/main/java/com/pingplusplus/model/Webhooks.java index 0e77a97..6fbeb55 100644 --- a/src/main/java/com/pingplusplus/model/Webhooks.java +++ b/src/main/java/com/pingplusplus/model/Webhooks.java @@ -7,18 +7,6 @@ * Created by sunkai on 15/5/11. */ public class Webhooks { - - /** - * 解析 event 中的 object - * - * @param eventStr - * @return Object - */ - @Deprecated - public static Object parseEvnet(String eventStr) { - return getObject(eventStr); - } - /** * 解析 event 中的 object * diff --git a/src/main/java/com/pingplusplus/model/Withdrawal.java b/src/main/java/com/pingplusplus/model/Withdrawal.java index 7a57ace..1deb594 100644 --- a/src/main/java/com/pingplusplus/model/Withdrawal.java +++ b/src/main/java/com/pingplusplus/model/Withdrawal.java @@ -328,138 +328,4 @@ public static Withdrawal confirm(String id) params.put("status", "pending"); return update(id, params); } - - /** - * 创建 withdrawal - * - * @param userId - * @param params - * @return Withdrawal - * @throws AuthenticationException - * @throws InvalidRequestException - * @throws APIConnectionException - * @throws APIException - * @throws ChannelException - * @throws RateLimitException - */ - @Deprecated - public static Withdrawal create(String userId, Mapparams) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - if (params != null) { - params.put("user", userId); - } - return request(APIResource.RequestMethod.POST, classURL(Withdrawal.class), params, Withdrawal.class); - } - - /** - * 查询 withdrawal - * - * @param userId - * @param id - * @return Withdrawal - * @throws AuthenticationException - * @throws InvalidRequestException - * @throws APIConnectionException - * @throws APIException - * @throws ChannelException - * @throws RateLimitException - */ - @Deprecated - public static Withdrawal retrieve(String userId, String id) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - User.checkUserId(userId); - return request(APIResource.RequestMethod.GET, instanceURL(Withdrawal.class, id), null, Withdrawal.class); - } - - /** - * 查询 withdrawal 列表 - * - * @param userId - * @param params - * @return WithdrawalCollection - * @throws AuthenticationException - * @throws InvalidRequestException - * @throws APIConnectionException - * @throws APIException - * @throws ChannelException - * @throws RateLimitException - */ - @Deprecated - public static WithdrawalCollection list(String userId, Map params) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - User.checkUserId(userId); - if (params != null) { - params.put("user", userId); - } - return request(APIResource.RequestMethod.GET, classURL(Withdrawal.class), params, WithdrawalCollection.class); - } - - /** - * 更新 withdrawal - * - * @param userId - * @param id - * @param params - * @return Withdrawal - * @throws AuthenticationException - * @throws InvalidRequestException - * @throws APIConnectionException - * @throws APIException - * @throws ChannelException - * @throws RateLimitException - */ - @Deprecated - public static Withdrawal update(String userId, String id, Mapparams) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - User.checkUserId(userId); - return request(APIResource.RequestMethod.PUT, instanceURL(Withdrawal.class, id), params, Withdrawal.class); - } - - /** - * 取消 withdrawal - * - * @param userId - * @param id - * @return Withdrawal - * @throws AuthenticationException - * @throws InvalidRequestException - * @throws APIConnectionException - * @throws APIException - * @throws ChannelException - * @throws RateLimitException - */ - @Deprecated - public static Withdrawal cancel(String userId, String id) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - Map params = new HashMap(); - params.put("status", "canceled"); - return update(userId, id, params); - } - - /** - * 确认 withdrawal - * - * @param userId - * @param id - * @return Withdrawal - * @throws AuthenticationException - * @throws InvalidRequestException - * @throws APIConnectionException - * @throws APIException - * @throws ChannelException - * @throws RateLimitException - */ - @Deprecated - public static Withdrawal confirm(String userId, String id) - throws AuthenticationException, InvalidRequestException, - APIConnectionException, APIException, ChannelException, RateLimitException { - Map params = new HashMap(); - params.put("status", "pending"); - return update(userId, id, params); - } } diff --git a/src/test/java/com/pingplusplus/PingppAccountTest.java b/src/test/java/com/pingplusplus/PingppAccountTest.java index eba8fec..c0512ff 100644 --- a/src/test/java/com/pingplusplus/PingppAccountTest.java +++ b/src/test/java/com/pingplusplus/PingppAccountTest.java @@ -17,7 +17,7 @@ public class PingppAccountTest extends PingppAccountTestBase { } @Test public void testVerifyVersions() { - assertEquals("Pingpp.VERSION should match", "2.3.3", Pingpp.VERSION); + assertEquals("Pingpp.VERSION should match", "2.3.4", Pingpp.VERSION); assertEquals("PingppAccount.VERSION should match", "1.2.4", PingppAccount.VERSION); } } diff --git a/src/test/java/com/pingplusplus/order/OrderTest.java b/src/test/java/com/pingplusplus/order/OrderTest.java index f76b02e..d96526a 100644 --- a/src/test/java/com/pingplusplus/order/OrderTest.java +++ b/src/test/java/com/pingplusplus/order/OrderTest.java @@ -53,7 +53,6 @@ public class OrderTest extends PingppAccountTestBase { Map params = new HashMap<>(); params.put("channel", "alipay_wap"); params.put("charge_amount", 100); - params.put("balance_amount", 0); Map extra = new HashMap<>(); // extra: 根据各个渠道传入相应的参数 extra.put("success_url", "http://www.pingxx.com"); params.put("extra", extra); From 49b2ce5a39ba65c6d20b55fd5011a87ad12a8996 Mon Sep 17 00:00:00 2001 From: afon Date: Mon, 15 Jan 2018 10:32:54 +0800 Subject: [PATCH 048/104] make jar --- ...p-java-2.3.3.jar => pingpp-java-2.3.4.jar} | Bin 132269 -> 129365 bytes 1 file changed, 0 insertions(+), 0 deletions(-) rename libs/{pingpp-java-2.3.3.jar => pingpp-java-2.3.4.jar} (63%) diff --git a/libs/pingpp-java-2.3.3.jar b/libs/pingpp-java-2.3.4.jar similarity index 63% rename from libs/pingpp-java-2.3.3.jar rename to libs/pingpp-java-2.3.4.jar index 8ca7c0d79f8c3b8520b4649f9ac10f841d312b7f..27573d6f5cab3e4ade78d0b9dfdda92849ab7a70 100644 GIT binary patch delta 36474 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%0DaZGrA4ul*%sATgU2TOe#LwSMI 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 N1YnfZ_W|sn{|CMt+06g| delta 39309 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 mLRcMx0M>yOtB{sYKza?7*76 Date: Wed, 17 Jan 2018 11:43:14 +0800 Subject: [PATCH 049/104] fix typo --- src/test/java/com/pingplusplus/PingppTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/test/java/com/pingplusplus/PingppTest.java b/src/test/java/com/pingplusplus/PingppTest.java index 068ed45..982d0af 100644 --- a/src/test/java/com/pingplusplus/PingppTest.java +++ b/src/test/java/com/pingplusplus/PingppTest.java @@ -122,7 +122,6 @@ public class PingppTest { Integer limit = 3; Map params = new HashMap(); params.put("per_page", limit); - params.put("sign", false); BatchRefundCollection objs = BatchRefund.list(params); assertEquals("object should be list", "list", objs.getObject()); From 4f07dd24f4c0282d3a0ae53ebb496b64dd02680e Mon Sep 17 00:00:00 2001 From: afon Date: Tue, 27 Feb 2018 16:25:38 +0800 Subject: [PATCH 050/104] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=83=A8=E5=88=86=20?= =?UTF-8?q?Integer=20=E4=B8=BA=20Long?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 +++ README.md | 4 +-- VERSION | 2 +- ...p-java-2.3.4.jar => pingpp-java-2.3.5.jar} | Bin 129365 -> 129364 bytes pom.xml | 2 +- src/main/java/com/pingplusplus/Pingpp.java | 2 +- .../com/pingplusplus/model/BatchTransfer.java | 6 ++--- .../pingplusplus/model/BatchWithdrawal.java | 24 +++++++++--------- .../pingplusplus/model/RoyaltySettlement.java | 24 +++++++++--------- .../java/com/pingplusplus/model/User.java | 12 ++++----- .../com/pingplusplus/PingppAccountTest.java | 2 +- 11 files changed, 43 insertions(+), 39 deletions(-) rename libs/{pingpp-java-2.3.4.jar => pingpp-java-2.3.5.jar} (75%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07b51df..a2b22ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # ChangeLog +## 2.3.5 (2018-02-27) +#### 修正 +- 部分对象字段从 Integer 改成 Long + ## 2.3.4 (2018-01-10) #### 修改 - 移除已废弃接口 diff --git a/README.md b/README.md index 3be6989..2835f1e 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.3.4 + 2.3.5 jar ``` @@ -52,7 +52,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.3.4' +compile 'Pingplusplus:pingpp-java:2.3.5' ``` ### 初始化 diff --git a/VERSION b/VERSION index 3f684d2..cc6c9a4 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.3.4 +2.3.5 diff --git a/libs/pingpp-java-2.3.4.jar b/libs/pingpp-java-2.3.5.jar similarity index 75% rename from libs/pingpp-java-2.3.4.jar rename to libs/pingpp-java-2.3.5.jar index 27573d6f5cab3e4ade78d0b9dfdda92849ab7a70..ea0cb5957c3291986d39f3877d1b89a4487c536d 100644 GIT binary patch delta 21468 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

    HO=8Mx`j#eUOF6)w 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 St^y`$_a0fQ-Y5jcfdn+vpXz(N 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.0.0 Pingplusplus pingpp-java - 2.3.4 + 2.3.5 com.google.code.gson diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index 60b45e1..7db1744 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,7 +11,7 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.3.4"; + public static final String VERSION = "2.3.5"; /** * api key */ diff --git a/src/main/java/com/pingplusplus/model/BatchTransfer.java b/src/main/java/com/pingplusplus/model/BatchTransfer.java index 9d901f4..7537790 100644 --- a/src/main/java/com/pingplusplus/model/BatchTransfer.java +++ b/src/main/java/com/pingplusplus/model/BatchTransfer.java @@ -11,7 +11,7 @@ public class BatchTransfer extends APIResource { String id; String object; String app; - Integer amount; + Long amount; String batchNo; String channel; String currency; @@ -51,11 +51,11 @@ public void setApp(String app) { this.app = app; } - public Integer getAmount() { + public Long getAmount() { return amount; } - public void setAmount(Integer amount) { + public void setAmount(Long amount) { this.amount = amount; } diff --git a/src/main/java/com/pingplusplus/model/BatchWithdrawal.java b/src/main/java/com/pingplusplus/model/BatchWithdrawal.java index a083257..a194a6f 100644 --- a/src/main/java/com/pingplusplus/model/BatchWithdrawal.java +++ b/src/main/java/com/pingplusplus/model/BatchWithdrawal.java @@ -12,10 +12,10 @@ public class BatchWithdrawal extends AppBasedResource { String app; Long created; Boolean livemode; - Integer amount; - Integer amountSucceeded; - Integer amountFailed; - Integer amountCanceled; + Long amount; + Long amountSucceeded; + Long amountFailed; + Long amountCanceled; Integer count; Integer countSucceeded; Integer countFailed; @@ -69,35 +69,35 @@ public void setLivemode(Boolean livemode) { this.livemode = livemode; } - public Integer getAmount() { + public Long getAmount() { return amount; } - public void setAmount(Integer amount) { + public void setAmount(Long amount) { this.amount = amount; } - public Integer getAmountSucceeded() { + public Long getAmountSucceeded() { return amountSucceeded; } - public void setAmountSucceeded(Integer amountSucceeded) { + public void setAmountSucceeded(Long amountSucceeded) { this.amountSucceeded = amountSucceeded; } - public Integer getAmountFailed() { + public Long getAmountFailed() { return amountFailed; } - public void setAmountFailed(Integer amountFailed) { + public void setAmountFailed(Long amountFailed) { this.amountFailed = amountFailed; } - public Integer getAmountCanceled() { + public Long getAmountCanceled() { return amountCanceled; } - public void setAmountCanceled(Integer amountCanceled) { + public void setAmountCanceled(Long amountCanceled) { this.amountCanceled = amountCanceled; } diff --git a/src/main/java/com/pingplusplus/model/RoyaltySettlement.java b/src/main/java/com/pingplusplus/model/RoyaltySettlement.java index eb03425..871e875 100644 --- a/src/main/java/com/pingplusplus/model/RoyaltySettlement.java +++ b/src/main/java/com/pingplusplus/model/RoyaltySettlement.java @@ -11,10 +11,10 @@ public class RoyaltySettlement extends AccountAPIResource { String object; Boolean livemode; Long created; - Integer amount; - Integer amountSucceeded; - Integer amountFailed; - Integer amountCanceled; + Long amount; + Long amountSucceeded; + Long amountFailed; + Long amountCanceled; Integer count; Integer countSucceeded; Integer countFailed; @@ -60,35 +60,35 @@ public void setCreated(Long created) { this.created = created; } - public Integer getAmount() { + public Long getAmount() { return amount; } - public void setAmount(Integer amount) { + public void setAmount(Long amount) { this.amount = amount; } - public Integer getAmountSucceeded() { + public Long getAmountSucceeded() { return amountSucceeded; } - public void setAmountSucceeded(Integer amountSucceeded) { + public void setAmountSucceeded(Long amountSucceeded) { this.amountSucceeded = amountSucceeded; } - public Integer getAmountFailed() { + public Long getAmountFailed() { return amountFailed; } - public void setAmountFailed(Integer amountFailed) { + public void setAmountFailed(Long amountFailed) { this.amountFailed = amountFailed; } - public Integer getAmountCanceled() { + public Long getAmountCanceled() { return amountCanceled; } - public void setAmountCanceled(Integer amountCanceled) { + public void setAmountCanceled(Long amountCanceled) { this.amountCanceled = amountCanceled; } diff --git a/src/main/java/com/pingplusplus/model/User.java b/src/main/java/com/pingplusplus/model/User.java index 0ddc831..c8b68c9 100644 --- a/src/main/java/com/pingplusplus/model/User.java +++ b/src/main/java/com/pingplusplus/model/User.java @@ -12,7 +12,7 @@ public class User extends AppBasedResource { String object; String app; String address; - Integer availableBalance; + Long availableBalance; Integer availableCoupons; String avatar; Long created; @@ -27,7 +27,7 @@ public class User extends AppBasedResource { String relatedApp; List settleAccounts; String type; - Integer withdrawableBalance; + Long withdrawableBalance; public String getId() { return id; @@ -77,11 +77,11 @@ public void setAvatar(String avatar) { this.avatar = avatar; } - public Integer getAvailableBalance() { + public Long getAvailableBalance() { return availableBalance; } - public void setAvailableBalance(Integer availableBalance) { + public void setAvailableBalance(Long availableBalance) { this.availableBalance = availableBalance; } @@ -157,11 +157,11 @@ public void setMetadata(Map metadata) { this.metadata = metadata; } - public Integer getWithdrawableBalance() { + public Long getWithdrawableBalance() { return withdrawableBalance; } - public void setWithdrawableBalance(Integer withdrawableBalance) { + public void setWithdrawableBalance(Long withdrawableBalance) { this.withdrawableBalance = withdrawableBalance; } diff --git a/src/test/java/com/pingplusplus/PingppAccountTest.java b/src/test/java/com/pingplusplus/PingppAccountTest.java index c0512ff..32501f0 100644 --- a/src/test/java/com/pingplusplus/PingppAccountTest.java +++ b/src/test/java/com/pingplusplus/PingppAccountTest.java @@ -17,7 +17,7 @@ public class PingppAccountTest extends PingppAccountTestBase { } @Test public void testVerifyVersions() { - assertEquals("Pingpp.VERSION should match", "2.3.4", Pingpp.VERSION); + assertEquals("Pingpp.VERSION should match", "2.3.5", Pingpp.VERSION); assertEquals("PingppAccount.VERSION should match", "1.2.4", PingppAccount.VERSION); } } From ea9d693c580238d0eee6e22808a6b474a8cd7ccc Mon Sep 17 00:00:00 2001 From: afon Date: Thu, 15 Mar 2018 20:52:37 +0800 Subject: [PATCH 051/104] CardBin, BalanceSettlement added --- CHANGELOG.md | 5 + README.md | 4 +- VERSION | 2 +- src/main/java/com/pingplusplus/Pingpp.java | 2 +- .../pingplusplus/model/BalanceSettlement.java | 199 ++++++++++++++++++ .../model/BalanceSettlementCollection.java | 4 + .../java/com/pingplusplus/model/CardBin.java | 100 +++++++++ .../com/pingplusplus/net/APIResource.java | 2 + .../java/com/pingplusplus/CardBinTest.java | 28 +++ .../com/pingplusplus/PingppAccountTest.java | 23 -- .../pingplusplus/PingppAccountTestData.java | 91 -------- .../java/com/pingplusplus/PingppTest.java | 4 + ...countTestBase.java => PingppTestBase.java} | 10 +- .../java/com/pingplusplus/PingppTestData.java | 4 + .../java/com/pingplusplus/WebhookTest.java | 4 +- .../balance/BalanceBonusTest.java | 4 +- .../balance/BalanceSettlementTest.java | 47 +++++ .../balance/BalanceTransactionTest.java | 4 +- .../balance/BalanceTransferTest.java | 4 +- .../coupon/CouponTemplateTest.java | 4 +- .../com/pingplusplus/coupon/CouponTest.java | 4 +- .../com/pingplusplus/order/OrderTest.java | 10 +- .../order/RoyaltySettlementTest.java | 12 +- .../order/RoyaltyTemplateTest.java | 8 +- .../com/pingplusplus/order/RoyaltyTest.java | 4 +- .../order/RoyaltyTransactionTest.java | 4 +- .../pingplusplus/recharge/RechargeTest.java | 4 +- .../settle_account/SettleAccountTest.java | 4 +- .../sub_app/SubAppChannelTest.java | 4 +- .../com/pingplusplus/sub_app/SubAppTest.java | 8 +- .../pingplusplus/transfer/TransferTest.java | 20 +- .../java/com/pingplusplus/user/UserTest.java | 12 +- .../withdrawal/BatchWithdrawalTest.java | 8 +- .../withdrawal/WithdrawalTest.java | 4 +- 34 files changed, 465 insertions(+), 186 deletions(-) create mode 100644 src/main/java/com/pingplusplus/model/BalanceSettlement.java create mode 100644 src/main/java/com/pingplusplus/model/BalanceSettlementCollection.java create mode 100644 src/main/java/com/pingplusplus/model/CardBin.java create mode 100644 src/test/java/com/pingplusplus/CardBinTest.java delete mode 100644 src/test/java/com/pingplusplus/PingppAccountTest.java delete mode 100644 src/test/java/com/pingplusplus/PingppAccountTestData.java rename src/test/java/com/pingplusplus/{PingppAccountTestBase.java => PingppTestBase.java} (54%) create mode 100644 src/test/java/com/pingplusplus/balance/BalanceSettlementTest.java diff --git a/CHANGELOG.md b/CHANGELOG.md index a2b22ff..6bd1876 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # ChangeLog +## 2.3.6 (2018-03-15) +#### 新增 +- BalanceSettlement 接口 +- CardBin 接口 + ## 2.3.5 (2018-02-27) #### 修正 - 部分对象字段从 Integer 改成 Long diff --git a/README.md b/README.md index 2835f1e..65557fc 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.3.5 + 2.3.6 jar ``` @@ -52,7 +52,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.3.5' +compile 'Pingplusplus:pingpp-java:2.3.6' ``` ### 初始化 diff --git a/VERSION b/VERSION index cc6c9a4..e75da3e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.3.5 +2.3.6 diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index 7db1744..83f3611 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,7 +11,7 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.3.5"; + public static final String VERSION = "2.3.6"; /** * api key */ diff --git a/src/main/java/com/pingplusplus/model/BalanceSettlement.java b/src/main/java/com/pingplusplus/model/BalanceSettlement.java new file mode 100644 index 0000000..e2457fd --- /dev/null +++ b/src/main/java/com/pingplusplus/model/BalanceSettlement.java @@ -0,0 +1,199 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; +import com.pingplusplus.net.AppBasedResource; + +import java.util.Map; + +public class BalanceSettlement extends AppBasedResource { + String id; + String object; + String app; + Integer amount; + Integer amountRefunded; + Long created; + String charge; + Boolean livemode; + String failureMsg; + Boolean refunded; + String orderNo; + String status; + Long timeCredited; + Long timeSucceeded; + String transactionNo; + String user; + String userFee; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public String getApp() { + return app; + } + + public void setApp(String app) { + this.app = app; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + public Integer getAmountRefunded() { + return amountRefunded; + } + + public void setAmountRefunded(Integer amountRefunded) { + this.amountRefunded = amountRefunded; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public String getCharge() { + return charge; + } + + public void setCharge(String charge) { + this.charge = charge; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public String getFailureMsg() { + return failureMsg; + } + + public void setFailureMsg(String failureMsg) { + this.failureMsg = failureMsg; + } + + public Boolean getRefunded() { + return refunded; + } + + public void setRefunded(Boolean refunded) { + this.refunded = refunded; + } + + public String getOrderNo() { + return orderNo; + } + + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Long getTimeCredited() { + return timeCredited; + } + + public void setTimeCredited(Long timeCredited) { + this.timeCredited = timeCredited; + } + + public Long getTimeSucceeded() { + return timeSucceeded; + } + + public void setTimeSucceeded(Long timeSucceeded) { + this.timeSucceeded = timeSucceeded; + } + + public String getTransactionNo() { + return transactionNo; + } + + public void setTransactionNo(String transactionNo) { + this.transactionNo = transactionNo; + } + + public String getUser() { + return user; + } + + public void setUser(String user) { + this.user = user; + } + + public String getUserFee() { + return userFee; + } + + public void setUserFee(String userFee) { + this.userFee = userFee; + } + + /** + * 查询 balance_settlement + * + * @param id balance_settlement ID + * @return BalanceSettlement + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BalanceSettlement retrieve(String id) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, instanceURL(BalanceTransaction.class, id), null, BalanceSettlement.class); + } + + /** + * 查询 balance_transaction 列表 + * + * @param params 过滤参数 + * @return BalanceSettlementCollection + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static BalanceSettlementCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, classURL(BalanceTransaction.class), params, BalanceSettlementCollection.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/BalanceSettlementCollection.java b/src/main/java/com/pingplusplus/model/BalanceSettlementCollection.java new file mode 100644 index 0000000..5e72a8c --- /dev/null +++ b/src/main/java/com/pingplusplus/model/BalanceSettlementCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class BalanceSettlementCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/CardBin.java b/src/main/java/com/pingplusplus/model/CardBin.java new file mode 100644 index 0000000..327894b --- /dev/null +++ b/src/main/java/com/pingplusplus/model/CardBin.java @@ -0,0 +1,100 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; + +import java.util.List; +import java.util.Map; + +public class CardBin extends APIResource { + String app; + String cardBin; + Integer cardType; + String openBankCode; + String openBank; + List supportChannels; + + public String getApp() { + return app; + } + + public void setApp(String app) { + this.app = app; + } + + public String getCardBin() { + return cardBin; + } + + public void setCardBin(String cardBin) { + this.cardBin = cardBin; + } + + public Integer getCardType() { + return cardType; + } + + public void setCardType(Integer cardType) { + this.cardType = cardType; + } + + public String getOpenBankCode() { + return openBankCode; + } + + public void setOpenBankCode(String openBankCode) { + this.openBankCode = openBankCode; + } + + public String getOpenBank() { + return openBank; + } + + public void setOpenBank(String openBank) { + this.openBank = openBank; + } + + public List getSupportChannels() { + return supportChannels; + } + + public void setSupportChannels(List supportChannels) { + this.supportChannels = supportChannels; + } + + /** + * 银行卡信息查询 + * + * @param params 卡号等信息 + * @return CardBin + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + */ + public static CardBin query(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return query(params, null); + } + + /** + * 银行卡信息查询 + * + * @param params 卡号等信息 + * @param apiKey Ping++ ApiKey + * @return CardBin + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static CardBin query(Map params, String apiKey) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, singleClassURL(CardBin.class), apiKey, params, CardBin.class); + } +} diff --git a/src/main/java/com/pingplusplus/net/APIResource.java b/src/main/java/com/pingplusplus/net/APIResource.java index 86c5ee3..20e54b5 100644 --- a/src/main/java/com/pingplusplus/net/APIResource.java +++ b/src/main/java/com/pingplusplus/net/APIResource.java @@ -97,6 +97,8 @@ protected static String className(Class clazz) { return "batch_transfer"; } else if (className.equals("customs")) { return "custom"; + } else if (className.equals("cardbin")) { + return "card_info"; } else { return className; } diff --git a/src/test/java/com/pingplusplus/CardBinTest.java b/src/test/java/com/pingplusplus/CardBinTest.java new file mode 100644 index 0000000..e378657 --- /dev/null +++ b/src/test/java/com/pingplusplus/CardBinTest.java @@ -0,0 +1,28 @@ +package com.pingplusplus; + +import com.pingplusplus.exception.*; +import com.pingplusplus.model.CardBin; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +public class CardBinTest extends PingppTestBase { + /** + * 通过卡号查询卡信息。 + */ + @Test public void testCardBinQuery() throws RateLimitException, APIException, ChannelException, InvalidRequestException, APIConnectionException, AuthenticationException { + Map params = new HashMap(); + params.put("app", PingppTestData.getAppID()); + params.put("bank_account", "6222280012469823"); + + CardBin obj = CardBin.query(params); + + assertEquals("622228", obj.getCardBin()); + assertEquals("0310", obj.getOpenBankCode()); + assertEquals("浦东发展银行", obj.getOpenBank()); + assertEquals(2, obj.getCardType().intValue()); + } +} diff --git a/src/test/java/com/pingplusplus/PingppAccountTest.java b/src/test/java/com/pingplusplus/PingppAccountTest.java deleted file mode 100644 index 32501f0..0000000 --- a/src/test/java/com/pingplusplus/PingppAccountTest.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.pingplusplus; - -import org.junit.Test; - -import static org.junit.Assert.assertEquals; - -/* - * This Java source file was auto generated by running 'gradle init --type java-library' - * by 'Afon' at '16-12-16 上午10:33' with Gradle 3.1 - * - * @author Afon, @date 16-12-16 上午10:33 - */ -public class PingppAccountTest extends PingppAccountTestBase { - - @Test public void testSetApiKey() { - assertEquals("apiKey should be set", PingppAccountTestData.getApiKey(), Pingpp.apiKey); - } - - @Test public void testVerifyVersions() { - assertEquals("Pingpp.VERSION should match", "2.3.5", Pingpp.VERSION); - assertEquals("PingppAccount.VERSION should match", "1.2.4", PingppAccount.VERSION); - } -} diff --git a/src/test/java/com/pingplusplus/PingppAccountTestData.java b/src/test/java/com/pingplusplus/PingppAccountTestData.java deleted file mode 100644 index 48658d8..0000000 --- a/src/test/java/com/pingplusplus/PingppAccountTestData.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.pingplusplus; - -/** - * Created by Afon on 2016/12/20. - */ -public class PingppAccountTestData { - public static String getApiBase() { - return "https://api.pingxx.com"; - } - - public static String getApiKey() { - return "sk_test_ibbTe5jLGCi5rzfH4OqPW9KC"; - } - - public static String getAppID() { - return "app_1Gqj58ynP0mHeX1q"; - } - - public static String getPKCS8PrivateKey() { - return "-----BEGIN PRIVATE KEY-----\n" + - "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHYyS3FwoESp1h\n" + - "GLYiBhy6k9Ag3lzGCIEvm50IIEkE0Ftc9qq44TWqyl+EHUpTMdcBOcI42JLO5stw\n" + - "FOfCLa3PQStEJ4llIRFEKlsrHh67pvWd5RNaSBrvGlnFY40S+SZmjk2WF/h9dE9R\n" + - "ic79t0YI0alD8dIl9Yu3OaEKo7VonBWFwOYMxjPhtORlq+EUF1XJd//yftQrKWTT\n" + - "d7KaUonWzBCl4VzFop/OyTWYlTuZz3eYJaNpH5VaQ1vDgBAcPIeBvMf7NgBHMKW6\n" + - "LLmFd2LEYQ/6I7hkGTjysSzWEpO8bPWT6OEsJ2R2kFGOrSkr+G2MDcJ7ykXYAmz5\n" + - "+A3plS6ZAgMBAAECggEAVrgwR9GlcahiOtDcpn+yDxQq+aC9CQS561LrQZWJLKbS\n" + - "leRS7IZHKTlLwdJbeUO8F7RfXQoVEBghc2YkRrhHWFUn1ES95VY0hElHzcET7Nn5\n" + - "CeuQNzwVOtljIg7iVNY4dXJ/HEDguu/Tb8tYU9FajItj60FJ/WiGk/JksJPzWsOC\n" + - "VPVniy9fTbTLy1e+dCpCI6OXirtm7hvbodRNDjree0wSEzm7vL0wVzEZFo6kX+AB\n" + - "GUwaoO7pPyH+hgyI5Iuhc65NHsHzTJpf8yNFl9QGhkxvm2Ff2oEtDt1idOTBrHB6\n" + - "tg+ti9Ctb2+2yzBnk14hsSYJnKitR7wM6ZCFPX4eYQKBgQD+JAREeFkodec/SC+G\n" + - "X+4Q4Y68uMPkfUPrMKXM4cyY5wgXk64RBvRVxIxX7x6Y3tIKn9v8tWAprbsyVr15\n" + - "eb4RcAFEVwjuoZixhd9sIPsRhfdNolKn/fSPIsHL4ywcJMSIt7KVKHuQeqBNHy0o\n" + - "0PxQjNej1ozsmrAWqV55cbKHswKBgQDI2JQRTPIEC/2y6LdmBVhGJW9OKWTYdVNj\n" + - "q7rX+Yw4uxOtfd5hBqpvgZEklKEk72aazFdEcERlAm9SqoX09qk6zK/wcq4Xn5Q/\n" + - "qy8ecmjuyf2AK9X+HUdMerMVxhK9RpeevKYP/RO2F/wIN64anlQVYygVkXXgdOvW\n" + - "hBE4YABKgwKBgDRtmbPGYB5ItHwJmERQZfx1i8zDESaB8RED6DBsJJkmkDTM8ovw\n" + - "s1c+RPWfDuDalto6QFfR0xTGEmhAHLaCtwNB6AEBM4aHL8jvpTfZVfI3gN0zL3oY\n" + - "mestcG1vYBouO504yE6dG2Ci6479b4OMGYFEjPfvuwLUpp8GMcc7/WihAoGANCp8\n" + - "mtm/ammq5VMof2kX+nAyrrx1ovsmQ5cRGpOIZhvBCqjMn6rZjci7aCLqj+tWXRKC\n" + - "ABagzROK0o/T50JBxjHv6KYArcYW/Up7HI9ezdbM7wNzu2LjZ+veo+MkbuDs9J/P\n" + - "CgwTmJI2NfQwVl2VPVDZ0nBLi5cSwk7fIiNdL/0CgYEAtECmC1QDs53Di2MIsa/F\n" + - "e4sWfJGSDqEWqhcA/aPwf1skM6VJJXBBMV1qFtwgO1AlLnu9dQYra6ylsUoubVYI\n" + - "XM9XK7EMhbqi57+Q75jHFTc0DnzOTyho5Gp4Ddi8dztmZGNWdWTGdeMqh+svqMXk\n" + - "D6VdJeddyGu/Zlgj7Wk6whU=\n" + - "-----END PRIVATE KEY-----\n"; - } - - public static String getPKCS1PrivateKey() { - return "-----BEGIN RSA PRIVATE KEY-----\n" + - "MIIEowIBAAKCAQEAx2MktxcKBEqdYRi2IgYcupPQIN5cxgiBL5udCCBJBNBbXPaq\n" + - "uOE1qspfhB1KUzHXATnCONiSzubLcBTnwi2tz0ErRCeJZSERRCpbKx4eu6b1neUT\n" + - "Wkga7xpZxWONEvkmZo5Nlhf4fXRPUYnO/bdGCNGpQ/HSJfWLtzmhCqO1aJwVhcDm\n" + - "DMYz4bTkZavhFBdVyXf/8n7UKylk03eymlKJ1swQpeFcxaKfzsk1mJU7mc93mCWj\n" + - "aR+VWkNbw4AQHDyHgbzH+zYARzCluiy5hXdixGEP+iO4ZBk48rEs1hKTvGz1k+jh\n" + - "LCdkdpBRjq0pK/htjA3Ce8pF2AJs+fgN6ZUumQIDAQABAoIBAFa4MEfRpXGoYjrQ\n" + - "3KZ/sg8UKvmgvQkEuetS60GViSym0pXkUuyGRyk5S8HSW3lDvBe0X10KFRAYIXNm\n" + - "JEa4R1hVJ9REveVWNIRJR83BE+zZ+QnrkDc8FTrZYyIO4lTWOHVyfxxA4Lrv02/L\n" + - "WFPRWoyLY+tBSf1ohpPyZLCT81rDglT1Z4svX020y8tXvnQqQiOjl4q7Zu4b26HU\n" + - "TQ463ntMEhM5u7y9MFcxGRaOpF/gARlMGqDu6T8h/oYMiOSLoXOuTR7B80yaX/Mj\n" + - "RZfUBoZMb5thX9qBLQ7dYnTkwaxwerYPrYvQrW9vtsswZ5NeIbEmCZyorUe8DOmQ\n" + - "hT1+HmECgYEA/iQERHhZKHXnP0gvhl/uEOGOvLjD5H1D6zClzOHMmOcIF5OuEQb0\n" + - "VcSMV+8emN7SCp/b/LVgKa27Mla9eXm+EXABRFcI7qGYsYXfbCD7EYX3TaJSp/30\n" + - "jyLBy+MsHCTEiLeylSh7kHqgTR8tKND8UIzXo9aM7JqwFqleeXGyh7MCgYEAyNiU\n" + - "EUzyBAv9sui3ZgVYRiVvTilk2HVTY6u61/mMOLsTrX3eYQaqb4GRJJShJO9mmsxX\n" + - "RHBEZQJvUqqF9PapOsyv8HKuF5+UP6svHnJo7sn9gCvV/h1HTHqzFcYSvUaXnrym\n" + - "D/0Tthf8CDeuGp5UFWMoFZF14HTr1oQROGAASoMCgYA0bZmzxmAeSLR8CZhEUGX8\n" + - "dYvMwxEmgfERA+gwbCSZJpA0zPKL8LNXPkT1nw7g2pbaOkBX0dMUxhJoQBy2grcD\n" + - "QegBATOGhy/I76U32VXyN4DdMy96GJnrLXBtb2AaLjudOMhOnRtgouuO/W+DjBmB\n" + - "RIz377sC1KafBjHHO/1ooQKBgDQqfJrZv2ppquVTKH9pF/pwMq68daL7JkOXERqT\n" + - "iGYbwQqozJ+q2Y3Iu2gi6o/rVl0SggAWoM0TitKP0+dCQcYx7+imAK3GFv1KexyP\n" + - "Xs3WzO8Dc7ti42fr3qPjJG7g7PSfzwoME5iSNjX0MFZdlT1Q2dJwS4uXEsJO3yIj\n" + - "XS/9AoGBALRApgtUA7Odw4tjCLGvxXuLFnyRkg6hFqoXAP2j8H9bJDOlSSVwQTFd\n" + - "ahbcIDtQJS57vXUGK2uspbFKLm1WCFzPVyuxDIW6oue/kO+YxxU3NA58zk8oaORq\n" + - "eA3YvHc7ZmRjVnVkxnXjKofrL6jF5A+lXSXnXchrv2ZYI+1pOsIV\n" + - "-----END RSA PRIVATE KEY-----\n"; - } - - public static String getChargeWebhooksData() { - return "{\"id\":\"evt_c4qfbcefvIhsxKuES4CpqdUN\",\"created\":1482204769,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"amount\":100,\"amount_refunded\":0,\"amount_settle\":100,\"app\":\"app_1Gqj58ynP0mHeX1q\",\"body\":\"Your body\",\"channel\":\"alipay\",\"client_ip\":\"210.28.41.51\",\"created\":1482204769,\"credential\":{},\"currency\":\"cny\",\"description\":\"Description.\",\"extra\":{},\"failure_code\":null,\"failure_msg\":null,\"id\":\"ch_1SiPqPDCuvj5S4OaTSX54KC0\",\"livemode\":false,\"metadata\":{},\"object\":\"charge\",\"order_no\":\"orderno1482210036043\",\"paid\":true,\"refunded\":false,\"refunds\":{\"data\":[],\"has_more\":false,\"object\":\"list\",\"url\":\"/v1/charges/ch_1SiPqPDCuvj5S4OaTSX54KC0/refunds\"},\"subject\":\"Your Subject\",\"time_expire\":1482207768,\"time_paid\":1482204769,\"time_settle\":null,\"transaction_no\":\"2016122028818332\"}},\"object\":\"event\",\"request\":\"iar_cfgO0GxCSs9CH0K4r1t5Whjk\",\"pending_webhooks\":0}"; - } - - public static String getBatchTransferWebhooksData() { - return "{\"id\":\"evt_cx1zsoQsiPfjagJKt5gydjsx\",\"created\":1475924802,\"livemode\":true,\"type\":\"batch_transfer.succeeded\",\"data\":{\"object\":{\"id\":\"181610081644346142\",\"amount\":2200,\"app\":\"app_1Gqj58ynP0mHeX1q\",\"batch_no\":\"battr1475916275\",\"channel\":\"alipay\",\"created\":1475916274,\"currency\":\"cny\",\"description\":\"Batch transfer description.\",\"extra\":{},\"failure_msg\":null,\"fee\":100,\"livemode\":true,\"metadata\":{},\"object\":\"batch_transfer\",\"recipients\":[{\"account\":\"test@gmail.com\",\"amount\":1100,\"description\":\"批量付款说明。\",\"name\":\"test\",\"status\":\"paid\",\"transfer\":\"tr_uj9GSfTK8G8mLeHu9KafK5WT\"},{\"account\":\"test@gmail.com\",\"amount\":1100,\"description\":\"批量付款说明。\",\"name\":\"test002\",\"status\":\"paid\",\"transfer\":\"tr_PiXiffX4mbevX5HDfT44DmjL\"}],\"status\":\"succeeded\",\"time_succeeded\":null,\"transaction_no\":null,\"type\":\"b2c\"}},\"object\":\"event\",\"request\":\"iar_23eD0xHi58zLfD5HKdnC2nDc\",\"pending_webhooks\":0}"; - } - - public static String getWithdrawalWebhooksData() { - return "{\"id\":\"evt_gJKt5gzsoQsiPfcx1Pfjajaw\",\"created\":1475924802,\"livemode\":true,\"type\":\"balance.withdrawal.succeeded\",\"data\":{\"object\":{\"id\":\"1701611150302360654\",\"object\":\"withdrawal\",\"app\":\"app_1Gqj58ynP0mHeX1q\",\"amount\":20000,\"asset_transaction\":\"\",\"balance_transaction\":\"\",\"channel\":\"unionpay\",\"created\":1472648887,\"description\":\"test232description\",\"extra\":{\"card_number\":\"6225210207073918\",\"user_name\":\"姓名\",\"open_bank_code\":\"0102\",\"prov\":\"上海\",\"city\":\"上海\"},\"fee\":200,\"livemode\":true,\"metadata\":{},\"order_no\":\"20160829133002\",\"source\":null,\"status\":\"pending\",\"time_canceled\":null,\"time_succeeded\":null,\"user\":\"user_001\",\"user_fee\":50}},\"object\":\"event\",\"request\":\"iar_23eD0xHi58zLfD5HKdnC2nDc\",\"pending_webhooks\":0}"; - } -} diff --git a/src/test/java/com/pingplusplus/PingppTest.java b/src/test/java/com/pingplusplus/PingppTest.java index 982d0af..807daff 100644 --- a/src/test/java/com/pingplusplus/PingppTest.java +++ b/src/test/java/com/pingplusplus/PingppTest.java @@ -29,6 +29,10 @@ public class PingppTest { assertEquals("apiKey should be set", "sk_test_ibbTe5jLGCi5rzfH4OqPW9KC", Pingpp.apiKey); } + @Test public void testVerifyVersions() { + assertEquals("Pingpp.VERSION should match", "2.3.6", Pingpp.VERSION); + } + @Test public void testCreateCharge() { String appId = PingppTestData.getAppID(); diff --git a/src/test/java/com/pingplusplus/PingppAccountTestBase.java b/src/test/java/com/pingplusplus/PingppTestBase.java similarity index 54% rename from src/test/java/com/pingplusplus/PingppAccountTestBase.java rename to src/test/java/com/pingplusplus/PingppTestBase.java index 2a5d555..aa2b831 100644 --- a/src/test/java/com/pingplusplus/PingppAccountTestBase.java +++ b/src/test/java/com/pingplusplus/PingppTestBase.java @@ -8,13 +8,13 @@ * * @author Afon, @date 16-12-16 上午10:33 */ -public class PingppAccountTestBase { +public class PingppTestBase { @BeforeClass public static void initApiKey() { - Pingpp.overrideApiBase(PingppAccountTestData.getApiBase()); - Pingpp.apiKey = PingppAccountTestData.getApiKey(); - Pingpp.appId = PingppAccountTestData.getAppID(); - Pingpp.privateKey = PingppAccountTestData.getPKCS8PrivateKey(); + Pingpp.overrideApiBase(PingppTestData.getApiBase()); + Pingpp.apiKey = PingppTestData.getApiKey(); + Pingpp.appId = PingppTestData.getAppID(); + Pingpp.privateKey = PingppTestData.getPKCS8PrivateKey(); Pingpp.DEBUG = true; } diff --git a/src/test/java/com/pingplusplus/PingppTestData.java b/src/test/java/com/pingplusplus/PingppTestData.java index d603782..3a48102 100644 --- a/src/test/java/com/pingplusplus/PingppTestData.java +++ b/src/test/java/com/pingplusplus/PingppTestData.java @@ -85,4 +85,8 @@ public static String getChargeWebhooksData() { public static String getBatchTransferWebhooksData() { return "{\"id\":\"evt_cx1zsoQsiPfjagJKt5gydjsx\",\"created\":1475924802,\"livemode\":true,\"type\":\"batch_transfer.succeeded\",\"data\":{\"object\":{\"id\":\"181610081644346142\",\"amount\":2200,\"app\":\"app_1Gqj58ynP0mHeX1q\",\"batch_no\":\"battr1475916275\",\"channel\":\"alipay\",\"created\":1475916274,\"currency\":\"cny\",\"description\":\"Batch transfer description.\",\"extra\":{},\"failure_msg\":null,\"fee\":100,\"livemode\":true,\"metadata\":{},\"object\":\"batch_transfer\",\"recipients\":[{\"account\":\"test@gmail.com\",\"amount\":1100,\"description\":\"批量付款说明。\",\"name\":\"test\",\"status\":\"paid\",\"transfer\":\"tr_uj9GSfTK8G8mLeHu9KafK5WT\"},{\"account\":\"test@gmail.com\",\"amount\":1100,\"description\":\"批量付款说明。\",\"name\":\"test002\",\"status\":\"paid\",\"transfer\":\"tr_PiXiffX4mbevX5HDfT44DmjL\"}],\"status\":\"succeeded\",\"time_succeeded\":null,\"transaction_no\":null,\"type\":\"b2c\"}},\"object\":\"event\",\"request\":\"iar_23eD0xHi58zLfD5HKdnC2nDc\",\"pending_webhooks\":0}"; } + + public static String getWithdrawalWebhooksData() { + return "{\"id\":\"evt_gJKt5gzsoQsiPfcx1Pfjajaw\",\"created\":1475924802,\"livemode\":true,\"type\":\"balance.withdrawal.succeeded\",\"data\":{\"object\":{\"id\":\"1701611150302360654\",\"object\":\"withdrawal\",\"app\":\"app_1Gqj58ynP0mHeX1q\",\"amount\":20000,\"asset_transaction\":\"\",\"balance_transaction\":\"\",\"channel\":\"unionpay\",\"created\":1472648887,\"description\":\"test232description\",\"extra\":{\"card_number\":\"6225210207073918\",\"user_name\":\"姓名\",\"open_bank_code\":\"0102\",\"prov\":\"上海\",\"city\":\"上海\"},\"fee\":200,\"livemode\":true,\"metadata\":{},\"order_no\":\"20160829133002\",\"source\":null,\"status\":\"pending\",\"time_canceled\":null,\"time_succeeded\":null,\"user\":\"user_001\",\"user_fee\":50}},\"object\":\"event\",\"request\":\"iar_23eD0xHi58zLfD5HKdnC2nDc\",\"pending_webhooks\":0}"; + } } diff --git a/src/test/java/com/pingplusplus/WebhookTest.java b/src/test/java/com/pingplusplus/WebhookTest.java index 3ea0f39..21cdf56 100644 --- a/src/test/java/com/pingplusplus/WebhookTest.java +++ b/src/test/java/com/pingplusplus/WebhookTest.java @@ -11,12 +11,12 @@ /* * @author Afon, @date 17-03-28 */ -public class WebhookTest extends PingppAccountTestBase { +public class WebhookTest extends PingppTestBase { /** * 解析 webhooks 消息 (withdrawal) */ @Test public void testWebhooksParseWithdrawal() { - String webhookData = PingppAccountTestData.getWithdrawalWebhooksData(); + String webhookData = PingppTestData.getWithdrawalWebhooksData(); PingppObject obj = Webhooks.getObject(webhookData); diff --git a/src/test/java/com/pingplusplus/balance/BalanceBonusTest.java b/src/test/java/com/pingplusplus/balance/BalanceBonusTest.java index d9b4146..cf62d42 100644 --- a/src/test/java/com/pingplusplus/balance/BalanceBonusTest.java +++ b/src/test/java/com/pingplusplus/balance/BalanceBonusTest.java @@ -1,6 +1,6 @@ package com.pingplusplus.balance; -import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.PingppTestBase; import com.pingplusplus.exception.*; import com.pingplusplus.model.BalanceBonus; import com.pingplusplus.model.BalanceBonusCollection; @@ -11,7 +11,7 @@ import static org.junit.Assert.assertEquals; -public class BalanceBonusTest extends PingppAccountTestBase { +public class BalanceBonusTest extends PingppTestBase { /** * 余额赠送 balance-bonus */ diff --git a/src/test/java/com/pingplusplus/balance/BalanceSettlementTest.java b/src/test/java/com/pingplusplus/balance/BalanceSettlementTest.java new file mode 100644 index 0000000..169fed6 --- /dev/null +++ b/src/test/java/com/pingplusplus/balance/BalanceSettlementTest.java @@ -0,0 +1,47 @@ +package com.pingplusplus.balance; + +import com.pingplusplus.PingppTestBase; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.BalanceSettlement; +import com.pingplusplus.model.BalanceSettlementCollection; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +public class BalanceSettlementTest extends PingppTestBase { + /** + * 查询单个结算到余额 + */ + @Test + public void testRetrieve() throws APIException, + RateLimitException, InvalidRequestException, + ChannelException, AuthenticationException, APIConnectionException { + + // 查询单个 balance_settlement 方法 + // 参数: balance_settlement id + BalanceSettlement obj = BalanceSettlement.retrieve("670180130750711562240001"); + + assertEquals("object should be balance_settlement", "balance_settlement", obj.getObject()); + } + + /** + * 查询结算到余额列表 + */ + @Test + public void testList() throws APIException, + RateLimitException, InvalidRequestException, + ChannelException, AuthenticationException, APIConnectionException { + Map params = new HashMap<>(); + params.put("page", 1); + params.put("per_page", 3); + params.put("user", "user_test_01"); + // 查询 balance_settlement 列表方法 + // 参数: params + BalanceSettlementCollection objs = BalanceSettlement.list(params); + + assertEquals("object should be list", "list", objs.getObject()); + } +} diff --git a/src/test/java/com/pingplusplus/balance/BalanceTransactionTest.java b/src/test/java/com/pingplusplus/balance/BalanceTransactionTest.java index 1af0dd8..93866c7 100644 --- a/src/test/java/com/pingplusplus/balance/BalanceTransactionTest.java +++ b/src/test/java/com/pingplusplus/balance/BalanceTransactionTest.java @@ -1,6 +1,6 @@ package com.pingplusplus.balance; -import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.PingppTestBase; import com.pingplusplus.exception.*; import com.pingplusplus.model.BalanceTransaction; import com.pingplusplus.model.BalanceTransactionCollection; @@ -11,7 +11,7 @@ import static org.junit.Assert.assertEquals; -public class BalanceTransactionTest extends PingppAccountTestBase { +public class BalanceTransactionTest extends PingppTestBase { /** * 查询单个余额明细 (balance_transaction) */ diff --git a/src/test/java/com/pingplusplus/balance/BalanceTransferTest.java b/src/test/java/com/pingplusplus/balance/BalanceTransferTest.java index 2084d11..a823e35 100644 --- a/src/test/java/com/pingplusplus/balance/BalanceTransferTest.java +++ b/src/test/java/com/pingplusplus/balance/BalanceTransferTest.java @@ -1,6 +1,6 @@ package com.pingplusplus.balance; -import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.PingppTestBase; import com.pingplusplus.exception.*; import com.pingplusplus.model.BalanceTransfer; import com.pingplusplus.model.BalanceTransferCollection; @@ -11,7 +11,7 @@ import static org.junit.Assert.assertEquals; -public class BalanceTransferTest extends PingppAccountTestBase { +public class BalanceTransferTest extends PingppTestBase { /** * 创建 balance_transfer */ diff --git a/src/test/java/com/pingplusplus/coupon/CouponTemplateTest.java b/src/test/java/com/pingplusplus/coupon/CouponTemplateTest.java index 429289c..1a66df2 100644 --- a/src/test/java/com/pingplusplus/coupon/CouponTemplateTest.java +++ b/src/test/java/com/pingplusplus/coupon/CouponTemplateTest.java @@ -1,6 +1,6 @@ package com.pingplusplus.coupon; -import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.PingppTestBase; import com.pingplusplus.exception.*; import com.pingplusplus.model.CouponTemplate; import com.pingplusplus.model.CouponTemplateCollection; @@ -12,7 +12,7 @@ import static org.junit.Assert.assertEquals; -public class CouponTemplateTest extends PingppAccountTestBase { +public class CouponTemplateTest extends PingppTestBase { /** * 创建优惠券模板 */ diff --git a/src/test/java/com/pingplusplus/coupon/CouponTest.java b/src/test/java/com/pingplusplus/coupon/CouponTest.java index 6ef385f..bc46701 100644 --- a/src/test/java/com/pingplusplus/coupon/CouponTest.java +++ b/src/test/java/com/pingplusplus/coupon/CouponTest.java @@ -1,6 +1,6 @@ package com.pingplusplus.coupon; -import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.PingppTestBase; import com.pingplusplus.exception.*; import com.pingplusplus.model.Coupon; import com.pingplusplus.model.CouponCollection; @@ -15,7 +15,7 @@ import static org.junit.Assert.assertEquals; -public class CouponTest extends PingppAccountTestBase { +public class CouponTest extends PingppTestBase { /** * 创建单个优惠券 Coupon */ diff --git a/src/test/java/com/pingplusplus/order/OrderTest.java b/src/test/java/com/pingplusplus/order/OrderTest.java index d96526a..6b6bccd 100644 --- a/src/test/java/com/pingplusplus/order/OrderTest.java +++ b/src/test/java/com/pingplusplus/order/OrderTest.java @@ -1,7 +1,7 @@ package com.pingplusplus.order; -import com.pingplusplus.PingppAccountTestBase; -import com.pingplusplus.PingppAccountTestData; +import com.pingplusplus.PingppTestBase; +import com.pingplusplus.PingppTestData; import com.pingplusplus.exception.*; import com.pingplusplus.model.*; import org.junit.Test; @@ -15,7 +15,7 @@ /* * @author Afon, @date 17-03-28 */ -public class OrderTest extends PingppAccountTestBase { +public class OrderTest extends PingppTestBase { /** * 创建 order @@ -25,7 +25,7 @@ public class OrderTest extends PingppAccountTestBase { APIConnectionException, AuthenticationException { Map params = new HashMap(); params.put("uid", "test_user_001"); // 用户在当前 app 下的 User ID, 可选 - params.put("app", PingppAccountTestData.getAppID()); // App ID, 必传 + params.put("app", PingppTestData.getAppID()); // App ID, 必传 params.put("merchant_order_no", "2017" + System.currentTimeMillis()); // 商户订单号, 必传 params.put("subject", "ORDER_SUBJECT"); // 商品的标题, 必传 params.put("body", "ORDER_BODY"); // 商品的描述信息, 必传 @@ -94,7 +94,7 @@ public class OrderTest extends PingppAccountTestBase { params.put("page", 1); params.put("per_page", 3); params.put("paid", false); - params.put("app", PingppAccountTestData.getAppID()); + params.put("app", PingppTestData.getAppID()); params.put("refunded", false); OrderCollection objs = Order.list(params); //查询 order 列表方法 diff --git a/src/test/java/com/pingplusplus/order/RoyaltySettlementTest.java b/src/test/java/com/pingplusplus/order/RoyaltySettlementTest.java index 0be8e61..df70ce7 100644 --- a/src/test/java/com/pingplusplus/order/RoyaltySettlementTest.java +++ b/src/test/java/com/pingplusplus/order/RoyaltySettlementTest.java @@ -1,7 +1,7 @@ package com.pingplusplus.order; -import com.pingplusplus.PingppAccountTestBase; -import com.pingplusplus.PingppAccountTestData; +import com.pingplusplus.PingppTestBase; +import com.pingplusplus.PingppTestData; import com.pingplusplus.exception.*; import com.pingplusplus.model.RoyaltySettlement; import com.pingplusplus.model.RoyaltySettlementCollection; @@ -12,7 +12,7 @@ import static org.junit.Assert.assertEquals; -public class RoyaltySettlementTest extends PingppAccountTestBase { +public class RoyaltySettlementTest extends PingppTestBase { /** * 创建 royalty_settlement */ @@ -21,9 +21,9 @@ public void testRoyaltySettlementCreate() throws RateLimitException, APIException, ChannelException, InvalidRequestException, APIConnectionException, AuthenticationException { Map params = new HashMap<>(); - params.put("payer_app", PingppAccountTestData.getAppID()); // 分润发起方所在应用的 id, 必传 + params.put("payer_app", PingppTestData.getAppID()); // 分润发起方所在应用的 id, 必传 params.put("method", "alipay"); // 分润的方式,余额 balance 或渠道名称,例如 alipay, 必传 - params.put("recipient_app", PingppAccountTestData.getAppID()); // 分润接收方的应用 id,即分润用户关联的应用 id。可选 + params.put("recipient_app", PingppTestData.getAppID()); // 分润接收方的应用 id,即分润用户关联的应用 id。可选 params.put("is_preview", false); // 是否预览,选择预览不会真实创建分润结算对象,也不会修改分润对象的状态, 可选 // 创建 royalty_settlement 方法 // 参数: params @@ -52,7 +52,7 @@ public void testRoyaltySettlementCreate() throws RateLimitException, APIException, ChannelException, InvalidRequestException, APIConnectionException, AuthenticationException { Map params = new HashMap(); - params.put("payer_app", PingppAccountTestData.getAppID()); + params.put("payer_app", PingppTestData.getAppID()); params.put("per_page", 3); params.put("page", 1); // 查询 royalty_settlement list 列表方法 diff --git a/src/test/java/com/pingplusplus/order/RoyaltyTemplateTest.java b/src/test/java/com/pingplusplus/order/RoyaltyTemplateTest.java index 7f18ed6..e8d6218 100644 --- a/src/test/java/com/pingplusplus/order/RoyaltyTemplateTest.java +++ b/src/test/java/com/pingplusplus/order/RoyaltyTemplateTest.java @@ -1,7 +1,7 @@ package com.pingplusplus.order; -import com.pingplusplus.PingppAccountTestBase; -import com.pingplusplus.PingppAccountTestData; +import com.pingplusplus.PingppTestBase; +import com.pingplusplus.PingppTestData; import com.pingplusplus.exception.*; import com.pingplusplus.model.DeleteRoyaltyTemplate; import com.pingplusplus.model.RoyaltyTemplate; @@ -15,7 +15,7 @@ import static org.junit.Assert.assertEquals; -public class RoyaltyTemplateTest extends PingppAccountTestBase { +public class RoyaltyTemplateTest extends PingppTestBase { /** * 创建 royalty_template */ @@ -24,7 +24,7 @@ public void testRoyaltyTemplateCreate() throws RateLimitException, APIException, ChannelException, InvalidRequestException, APIConnectionException, AuthenticationException { Map params = new HashMap<>(); - params.put("app", PingppAccountTestData.getAppID()); // App ID, 必传 + params.put("app", PingppTestData.getAppID()); // App ID, 必传 params.put("name", "royalty_templates name"); // 模板名称,允许中英文等常用字符, 可选 Map rule = new HashMap<>(); diff --git a/src/test/java/com/pingplusplus/order/RoyaltyTest.java b/src/test/java/com/pingplusplus/order/RoyaltyTest.java index 4d187d3..6ee058e 100644 --- a/src/test/java/com/pingplusplus/order/RoyaltyTest.java +++ b/src/test/java/com/pingplusplus/order/RoyaltyTest.java @@ -1,6 +1,6 @@ package com.pingplusplus.order; -import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.PingppTestBase; import com.pingplusplus.exception.*; import com.pingplusplus.model.Royalty; import com.pingplusplus.model.RoyaltyCollection; @@ -13,7 +13,7 @@ import static org.junit.Assert.assertEquals; -public class RoyaltyTest extends PingppAccountTestBase { +public class RoyaltyTest extends PingppTestBase { /** * 批量更新 royalty */ diff --git a/src/test/java/com/pingplusplus/order/RoyaltyTransactionTest.java b/src/test/java/com/pingplusplus/order/RoyaltyTransactionTest.java index 5f41a0e..3a8fac5 100644 --- a/src/test/java/com/pingplusplus/order/RoyaltyTransactionTest.java +++ b/src/test/java/com/pingplusplus/order/RoyaltyTransactionTest.java @@ -1,6 +1,6 @@ package com.pingplusplus.order; -import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.PingppTestBase; import com.pingplusplus.exception.*; import com.pingplusplus.model.RoyaltyTransaction; import com.pingplusplus.model.RoyaltyTransactionCollection; @@ -11,7 +11,7 @@ import static org.junit.Assert.assertEquals; -public class RoyaltyTransactionTest extends PingppAccountTestBase { +public class RoyaltyTransactionTest extends PingppTestBase { /** * 查询单个 royalty_transaction */ diff --git a/src/test/java/com/pingplusplus/recharge/RechargeTest.java b/src/test/java/com/pingplusplus/recharge/RechargeTest.java index 340b84a..e72ca89 100644 --- a/src/test/java/com/pingplusplus/recharge/RechargeTest.java +++ b/src/test/java/com/pingplusplus/recharge/RechargeTest.java @@ -1,6 +1,6 @@ package com.pingplusplus.recharge; -import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.PingppTestBase; import com.pingplusplus.exception.*; import com.pingplusplus.model.*; import org.junit.Test; @@ -10,7 +10,7 @@ import static org.junit.Assert.assertEquals; -public class RechargeTest extends PingppAccountTestBase { +public class RechargeTest extends PingppTestBase { /** * 创建 recharge */ diff --git a/src/test/java/com/pingplusplus/settle_account/SettleAccountTest.java b/src/test/java/com/pingplusplus/settle_account/SettleAccountTest.java index 857872e..2e086c1 100644 --- a/src/test/java/com/pingplusplus/settle_account/SettleAccountTest.java +++ b/src/test/java/com/pingplusplus/settle_account/SettleAccountTest.java @@ -1,6 +1,6 @@ package com.pingplusplus.settle_account; -import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.PingppTestBase; import com.pingplusplus.exception.*; import com.pingplusplus.model.DeletedSettleAccount; import com.pingplusplus.model.SettleAccount; @@ -13,7 +13,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -public class SettleAccountTest extends PingppAccountTestBase { +public class SettleAccountTest extends PingppTestBase { /** * 创建结算账户 SettleAccount */ diff --git a/src/test/java/com/pingplusplus/sub_app/SubAppChannelTest.java b/src/test/java/com/pingplusplus/sub_app/SubAppChannelTest.java index c633d7b..cd554ad 100644 --- a/src/test/java/com/pingplusplus/sub_app/SubAppChannelTest.java +++ b/src/test/java/com/pingplusplus/sub_app/SubAppChannelTest.java @@ -1,6 +1,6 @@ package com.pingplusplus.sub_app; -import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.PingppTestBase; import com.pingplusplus.exception.*; import com.pingplusplus.model.Channel; import com.pingplusplus.model.DeletedChannel; @@ -11,7 +11,7 @@ import static org.junit.Assert.assertEquals; -public class SubAppChannelTest extends PingppAccountTestBase { +public class SubAppChannelTest extends PingppTestBase { /** * 配置子商户 app 渠道参数 */ diff --git a/src/test/java/com/pingplusplus/sub_app/SubAppTest.java b/src/test/java/com/pingplusplus/sub_app/SubAppTest.java index 9cc780e..c6219ee 100644 --- a/src/test/java/com/pingplusplus/sub_app/SubAppTest.java +++ b/src/test/java/com/pingplusplus/sub_app/SubAppTest.java @@ -1,7 +1,7 @@ package com.pingplusplus.sub_app; -import com.pingplusplus.PingppAccountTestBase; -import com.pingplusplus.PingppAccountTestData; +import com.pingplusplus.PingppTestBase; +import com.pingplusplus.PingppTestData; import com.pingplusplus.exception.*; import com.pingplusplus.model.DeletedSubApp; import com.pingplusplus.model.SubApp; @@ -13,7 +13,7 @@ import static org.junit.Assert.assertEquals; -public class SubAppTest extends PingppAccountTestBase { +public class SubAppTest extends PingppTestBase { /** * 创建子商户 app */ @@ -27,7 +27,7 @@ public void testSubAppCreate() throws RateLimitException, Map params = new HashMap<>(); params.put("user", userId); params.put("display_name", displayName); - params.put("parent_app", PingppAccountTestData.getAppID()); //父商户应用 ID,必须为平台或者平台下其他的子商户,默认值为平台 + params.put("parent_app", PingppTestData.getAppID()); //父商户应用 ID,必须为平台或者平台下其他的子商户,默认值为平台 // 创建子商户 app 方法 // 参数: params diff --git a/src/test/java/com/pingplusplus/transfer/TransferTest.java b/src/test/java/com/pingplusplus/transfer/TransferTest.java index a3fa621..3f22efc 100644 --- a/src/test/java/com/pingplusplus/transfer/TransferTest.java +++ b/src/test/java/com/pingplusplus/transfer/TransferTest.java @@ -1,7 +1,7 @@ package com.pingplusplus.transfer; -import com.pingplusplus.PingppAccountTestBase; -import com.pingplusplus.PingppAccountTestData; +import com.pingplusplus.PingppTestBase; +import com.pingplusplus.PingppTestData; import com.pingplusplus.exception.*; import com.pingplusplus.model.Transfer; import com.pingplusplus.model.TransferCollection; @@ -15,7 +15,7 @@ /** * Transfers 企业付款 示例 */ -public class TransferTest extends PingppAccountTestBase { +public class TransferTest extends PingppTestBase { /** * 创建 Transfer 对象- alipay 渠道 */ @@ -38,7 +38,7 @@ public class TransferTest extends PingppAccountTestBase { params.put("description", "alipay transfer description"); Map app = new HashMap<>(); - app.put("id", PingppAccountTestData.getAppID()); + app.put("id", PingppTestData.getAppID()); params.put("app", app); Map extra = new HashMap<>(); @@ -71,7 +71,7 @@ public class TransferTest extends PingppAccountTestBase { params.put("description", "allinpay transfer description"); Map app = new HashMap<>(); - app.put("id", PingppAccountTestData.getAppID()); + app.put("id", PingppTestData.getAppID()); params.put("app", app); Map extra = new HashMap<>(); @@ -110,7 +110,7 @@ public class TransferTest extends PingppAccountTestBase { params.put("description", "jdpay transfer description"); Map app = new HashMap<>(); - app.put("id", PingppAccountTestData.getAppID()); + app.put("id", PingppTestData.getAppID()); params.put("app", app); Map extra = new HashMap<>(); @@ -145,7 +145,7 @@ public class TransferTest extends PingppAccountTestBase { params.put("description", "unionpay transfer description"); Map app = new HashMap<>(); - app.put("id", PingppAccountTestData.getAppID()); + app.put("id", PingppTestData.getAppID()); params.put("app", app); Map extra = new HashMap<>(); @@ -193,7 +193,7 @@ public class TransferTest extends PingppAccountTestBase { params.put("recipient", "o9zPms1OLVHU1r701mOHP0s-uK9c"); Map app = new HashMap<>(); - app.put("id", PingppAccountTestData.getAppID()); + app.put("id", PingppTestData.getAppID()); params.put("app", app); Map extra = new HashMap<>(); @@ -227,7 +227,7 @@ public class TransferTest extends PingppAccountTestBase { params.put("recipient", "user_test_02"); Map app = new HashMap<>(); - app.put("id", PingppAccountTestData.getAppID()); + app.put("id", PingppTestData.getAppID()); params.put("app", app); Transfer obj = Transfer.create(params); @@ -252,7 +252,7 @@ public class TransferTest extends PingppAccountTestBase { Map params = new HashMap<>(); params.put("limit", 5); Map app = new HashMap<>(); - app.put("id", PingppAccountTestData.getAppID()); + app.put("id", PingppTestData.getAppID()); params.put("app", app); TransferCollection objs = Transfer.list(params); diff --git a/src/test/java/com/pingplusplus/user/UserTest.java b/src/test/java/com/pingplusplus/user/UserTest.java index c098f0e..e6f0b19 100644 --- a/src/test/java/com/pingplusplus/user/UserTest.java +++ b/src/test/java/com/pingplusplus/user/UserTest.java @@ -1,7 +1,7 @@ package com.pingplusplus.user; -import com.pingplusplus.PingppAccountTestBase; -import com.pingplusplus.PingppAccountTestData; +import com.pingplusplus.PingppTestBase; +import com.pingplusplus.PingppTestData; import com.pingplusplus.exception.*; import com.pingplusplus.model.User; import com.pingplusplus.model.UserCollection; @@ -15,7 +15,7 @@ /* * @author Afon, @date 17-03-28 */ -public class UserTest extends PingppAccountTestBase { +public class UserTest extends PingppTestBase { /** * 创建用户 (User) @@ -38,7 +38,7 @@ public class UserTest extends PingppAccountTestBase { assertEquals("object should be user", "user", obj.getObject()); assertEquals("id", params.get("id"), obj.getId()); - assertEquals("app", PingppAccountTestData.getAppID(), obj.getApp()); + assertEquals("app", PingppTestData.getAppID(), obj.getApp()); assertEquals("address", params.get("address"), obj.getAddress()); assertEquals("avatar", params.get("avatar"), obj.getAvatar()); assertEquals("email", params.get("email"), obj.getEmail()); @@ -61,7 +61,7 @@ public class UserTest extends PingppAccountTestBase { assertEquals("object should be user", "user", obj.getObject()); assertEquals("id", userId, obj.getId()); - assertEquals("app", PingppAccountTestData.getAppID(), obj.getApp()); + assertEquals("app", PingppTestData.getAppID(), obj.getApp()); } /** @@ -97,7 +97,7 @@ public class UserTest extends PingppAccountTestBase { assertEquals("object should be user", "user", obj.getObject()); assertEquals("id", userId, obj.getId()); - assertEquals("app", PingppAccountTestData.getAppID(), obj.getApp()); + assertEquals("app", PingppTestData.getAppID(), obj.getApp()); assertEquals("address", params.get("address"), obj.getAddress()); assertEquals("avatar", params.get("avatar"), obj.getAvatar()); assertEquals("email", params.get("email"), obj.getEmail()); diff --git a/src/test/java/com/pingplusplus/withdrawal/BatchWithdrawalTest.java b/src/test/java/com/pingplusplus/withdrawal/BatchWithdrawalTest.java index bbb763a..0d1097a 100644 --- a/src/test/java/com/pingplusplus/withdrawal/BatchWithdrawalTest.java +++ b/src/test/java/com/pingplusplus/withdrawal/BatchWithdrawalTest.java @@ -1,7 +1,7 @@ package com.pingplusplus.withdrawal; -import com.pingplusplus.PingppAccountTestBase; -import com.pingplusplus.PingppAccountTestData; +import com.pingplusplus.PingppTestBase; +import com.pingplusplus.PingppTestData; import com.pingplusplus.exception.*; import com.pingplusplus.model.BatchWithdrawal; import com.pingplusplus.model.BatchWithdrawalCollection; @@ -13,7 +13,7 @@ import static org.junit.Assert.*; -public class BatchWithdrawalTest extends PingppAccountTestBase { +public class BatchWithdrawalTest extends PingppTestBase { /** * 批量提现确认 */ @@ -31,7 +31,7 @@ public void testBatchWithdrawalCreate() throws RateLimitException, assertEquals("object should be batch_withdrawal", "batch_withdrawal", obj.getObject()); assertNotNull("id should not be null", obj.getId()); - assertEquals("app", PingppAccountTestData.getAppID(), obj.getApp()); + assertEquals("app", PingppTestData.getAppID(), obj.getApp()); assertNotNull("amount should not be null", obj.getAmount()); assertTrue("created should be greater than 0", obj.getCreated() > 0); assertNotNull("status should not be null", obj.getStatus()); diff --git a/src/test/java/com/pingplusplus/withdrawal/WithdrawalTest.java b/src/test/java/com/pingplusplus/withdrawal/WithdrawalTest.java index 84cb223..2d845ae 100644 --- a/src/test/java/com/pingplusplus/withdrawal/WithdrawalTest.java +++ b/src/test/java/com/pingplusplus/withdrawal/WithdrawalTest.java @@ -1,6 +1,6 @@ package com.pingplusplus.withdrawal; -import com.pingplusplus.PingppAccountTestBase; +import com.pingplusplus.PingppTestBase; import com.pingplusplus.exception.*; import com.pingplusplus.model.Withdrawal; import com.pingplusplus.model.WithdrawalCollection; @@ -11,7 +11,7 @@ import static org.junit.Assert.*; -public class WithdrawalTest extends PingppAccountTestBase { +public class WithdrawalTest extends PingppTestBase { /** * 创建提现申请 */ From 2cea8a9a107a0b0a4dd661059a624c6a37dd530f Mon Sep 17 00:00:00 2001 From: afon Date: Thu, 15 Mar 2018 20:55:44 +0800 Subject: [PATCH 052/104] pom.xml updated --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ea78b28..b39491d 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 Pingplusplus pingpp-java - 2.3.5 + 2.3.6 com.google.code.gson From c959cc2369276bfac683f861d70601f7643b8479 Mon Sep 17 00:00:00 2001 From: afon Date: Fri, 16 Mar 2018 10:32:40 +0800 Subject: [PATCH 053/104] 2.3.6 --- ...p-java-2.3.5.jar => pingpp-java-2.3.6.jar} | Bin 129364 -> 132869 bytes 1 file changed, 0 insertions(+), 0 deletions(-) rename libs/{pingpp-java-2.3.5.jar => pingpp-java-2.3.6.jar} (77%) diff --git a/libs/pingpp-java-2.3.5.jar b/libs/pingpp-java-2.3.6.jar similarity index 77% rename from libs/pingpp-java-2.3.5.jar rename to libs/pingpp-java-2.3.6.jar index ea0cb5957c3291986d39f3877d1b89a4487c536d..f762bee4f3894bcd9111683a10433bb0d07984e3 100644 GIT binary patch delta 19335 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 delta 16274 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 aeG{OA3+Tuscs@uzNa4^WQ9A(Hg7iOw0&r#k From 69099eeb38f023ca378c09a8e742b0429333e214 Mon Sep 17 00:00:00 2001 From: afon Date: Fri, 16 Mar 2018 16:38:19 +0800 Subject: [PATCH 054/104] 2.3.7 CardInfo --- CHANGELOG.md | 4 ++-- README.md | 4 ++-- VERSION | 2 +- ...p-java-2.3.6.jar => pingpp-java-2.3.7.jar} | Bin 132869 -> 132876 bytes pom.xml | 2 +- src/main/java/com/pingplusplus/Pingpp.java | 2 +- .../model/{CardBin.java => CardInfo.java} | 12 ++++++------ .../{CardBinTest.java => CardInfoTest.java} | 8 ++++---- .../java/com/pingplusplus/PingppTest.java | 2 +- 9 files changed, 18 insertions(+), 18 deletions(-) rename libs/{pingpp-java-2.3.6.jar => pingpp-java-2.3.7.jar} (81%) rename src/main/java/com/pingplusplus/model/{CardBin.java => CardInfo.java} (86%) rename src/test/java/com/pingplusplus/{CardBinTest.java => CardInfoTest.java} (67%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6bd1876..d3407d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,9 @@ # ChangeLog -## 2.3.6 (2018-03-15) +## 2.3.7 (2018-03-16) #### 新增 - BalanceSettlement 接口 -- CardBin 接口 +- CardInfo 接口 ## 2.3.5 (2018-02-27) #### 修正 diff --git a/README.md b/README.md index 65557fc..eafd1bf 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.3.6 + 2.3.7 jar ``` @@ -52,7 +52,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.3.6' +compile 'Pingplusplus:pingpp-java:2.3.7' ``` ### 初始化 diff --git a/VERSION b/VERSION index e75da3e..00355e2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.3.6 +2.3.7 diff --git a/libs/pingpp-java-2.3.6.jar b/libs/pingpp-java-2.3.7.jar similarity index 81% rename from libs/pingpp-java-2.3.6.jar rename to libs/pingpp-java-2.3.7.jar index f762bee4f3894bcd9111683a10433bb0d07984e3..4ff46e38500c836ad6824e0108fae2a1bb43cd94 100644 GIT binary patch delta 12842 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

    D!<@R% z4Vpg}Pn=^WA6Ut`nY8eN@5l;-SGZcPID8zLCxZs!BcDXzWBd|wIL=n83?IKLLxhjL zD`w#1Csm4YnqQ3zUr^Oe?C_Pi(h>r{%YNA{497q9_`vP5k2s-#_R}Zcql1)hK^!jc zw)7Z&H$JrX49*waD~J1ecB%^3uQ;=Z>(SlBputz*hhJajpqg3$L-hf(X0<1 zzKvxq4t<&n zP(wAS02FA`K5!RG+Xf4v1P{0dotEGO@H|xiCIA!x0#I@4fO<;=83ADw8v%g{3ZMfN zkf+X;ijGz zCv|0>ptfh_+m5d{1$KYwL{WRaS=g(j>Hd{EgTkMzC@E-d?Y=$zZf;t{qebH8`i$i5 zluZ$7M@P2CUI^&}^HUw{s8$W)mLR2;Uz(5~Ukc|RmQE1L7&r6FbURT7J#m}!bX-e# zT76i%ljLrnC}m6P=rU75Cf7Q3jP>r}l0_2n)GGUSY|)r|O}*oU#QP~#EpnkJJeKv5 zzbcFy>#QgEt3`vl24y+~*z4_Hizh~n^(8z%rGh$?+^f=mJ*3ygSZ+R<*QkWX+`q#G z$!Tf&S!8?Ak?L=}?MU(MF3Ej+0c`sYC)Lu(09(iaV{Ff;+=Zk^XRd{t=-wLIQu}a^ z>vZUqw^6I@ONeTYO_3m{vQ~T8F;?5`bE&*o|NW=*x|~&{Vea2s@77+@R>vMjyq-mVQuMJN1muu76#o1NkbG=UHmy72vJ({(zC=pe;vUN@B*CN!U)O z@M}&jZ-Nu|C9E@Yk~+4r^J81Ty5`k&#~v5lZAIDOw=&pBP+06>teo+l-SrJXT!%AXJMqe4k%^(>mlLNVnLWl!tcvBh~Ra>7_sQcE>6R<4?=WlK|7L; z9z$lH#q#4T4GmR>KNn5jKGH9i52P70F#Ub%HGSL{M3*36N#meXnog1Mb9&L$LrlWT z)kPzxPwA`b%nt?RBnk(jktd`XWNr{Um5XzPE%ugG-Gip^a?Z5(oy9}11Zo<`9kt?# z>_15(JO1PmjnY=m6R>wX&#WEtdWCwP`;B)Yrm77|UA?LZdwkJ!K(dbQs({sTEo5PJ z@diiai%>0N+4W{%=s5lSX z0fnrQUK?tTE8ti;!gTj4%?Oqk$8TTjbQML5qR1r0p&<3SOG-;ITG{g92%04iVq#kg zGGi+8S9%l{a}(59HNW22z9%&J5Y1NvHH>|oPJ}s(D2CD2mVy{%3jD8WqTjra@yMY~ zWb9;T>2woPxQDS%{d0O9iHF#ijj%}rFE|$YOaqaSzZWNVhH-GP%ZgHgK(df@@WId7 zEu=gA3tQRD($3cf>~py$Mp;O?e$2laFA${T2M6W7^5N}Bof0;QY3L2BZSq=ynqwf+^ds>fkE&WOw|r@ zKp~t%q6+YUeY#p%3lN2y4ABPo!JVPH`3azT+f|!84e3kJ5fGSZ;z~2A;&!u8pz5ap zZncI9@D&~ymi0f~Qr-qwM}vpKhA_`}3Tv|?K&&GPRO1X_02?eC6ygM2fY#r<1mck} zz`nY@{JmfiYMcu&Lut+dVyM0wun9`Yx&yV~R#OeU2Gnl@`E`#Y+!X}@;hX@R8+3OK zX7KG5fD7d~2T-e{y#OEhT=0E?UU*!yApm?AtY!@Z2Egs9`Z5AGDeyr(3T701$cP5u zJ682h4A2AT)Wrcs@Z{Je0XT4uM=~G_e`rVn48U!%nl$I1bm`>+9B?Qo4;X?&hM!?G z17&tgfpj<&Qx3?$0~@OWjNz|~uO1c{d^>9EI{66ZsRzCt!E%cYjY34ki~Dqn3;odm z9D;_r8v%T{{&Xww=r$85E;reYXb1>p6mfWV|IGv{^!EvXS^cCP7yx5|viAc*paq+L zAP64H?f~!>{@^?WjKCk{M}T?w1Is874S)DH2GqeHUQGZQ@CS-Xm|w)=0O->x06dLA zKTH9VAf227xIl_M4TynMc^XgvY5X+c1X8pazz(D?Gq>aA8NeJIE6xJXK>B4CumLIg z+%4Z{4tNfZx8?u~kZR4}>Nm^-X5g510dNFq^es(T1f<{x3GkP8P{l<+1q7jsfDTBv z76Aj0%Kri$gEafstr3)^TfXTMpbzqEmH=Il;w=MDLF&8=7=pBK8IT4k!3tmk(w8fM z7D(Gx0R4YIDxi$3fDFjB{fB;D1@yo%>Kb4KQj4`)?~QA)69{ZfxDGr4snh!HxMls; z>%EOz8nSUKzx>Zw;WwZP%0qwO&TjcPpbqz5h>V{PeR&EyxoB+yqM%6h=Iz8+Hg8?a zY~4;UWed;%@$D_Z6r}3gx306cZzrn015iTAb^r>flMR3umwF1jVZ8ycX~EU0R;Xq{ z3tMtV_y`D`usZ$EUyd)=5p-zh_O;{h0+fiU=W*OOOi+wH0PIoFry!3D5lV0fkU?Qb zzPoUnAW{b+j!3u2e-3_>aBp*OGuUqrcK_?`BQhvY0oB+8=;5OJ+m|;}uxQi(1cV3w zi3&z@d^b^UO*d`8+Cv5=fDLWgugmVFqaj{a{<^fZ5+6=6Pj z{_?Q^joAap|2;k4hSaDUln+K<0uyKbOPm!OZaHqS8W~D+0CNRPgBVDyaiH9%z&&Uy z7Vt;X|2k^^WvC1nZirImucN01tjpa&y8UG=%yK$tnTzOlGNwcT9_!x%u(!%&;vop@ z=wB!i5E%Y)Pyoe01bE=HXY5x)L4+N4$zgM$|4WDt`t%Ush6_DtAB&oUffleibN?k| z0WCcQB;i6(%zy?1*wNVm=YJCu1I0fAgu!&E9KnL-;k*sn{|KOlYyNjPLqK5r%lsC! z=?D-3HLpO;_rkZD@OlzH1_(h!?HGnw!EOeQ09t7HF+c*Z9LX|7{Y_Xj_^^`xyK)Fr zZ;eQ*0z}ZA}3*|b6H)^Q;DNG&3`qn1=+eFCv&&v4D%|?(3>-+8G|C&8!xx0zU;Y8NodFc^Ou@HiSk|rnU;X2_ z-O9t(7%I4J)7@rPL7CVE2?0R>R*HWw010Hfe5DWtw|AI01ryKaci;^L?%N1b%qW7HUqOexDOD* z-@(19#RxCh2jVd7ge3S^JuyMKF9CTlA+IlCHjX3y^@|2&kAy`4wnPwK0Aa-_Flr_! z;}t*;G8L|1%%tdlbsm7sk05hB24s>!;oXQP7MA^20OD2hBabhM6-@`omoMH9!p_jUe(e`BvxZ8lVH2v^OwjP0GI^p+Ze=07CeC zitu}1z7KQw4fbCDc1)OaYrZ58);qs|7GRe8L8_7aU&ry-h_o;uo&%8*@onC}8aTLr z_nG*&FkJidE&iVmZB*#H^MArP2}SAFf`w2Cdm(@Kj*Ze=CD^LMj5968gr@KOqmwC{ zB#Q*wkDkL8FXLZ13oF0XaR3m>;IlOTNX>@}Tj%DmuJiCO(ZQPAu8aK@RytsM;RjLC z)4Y>2sQMK^jL2CJ=8_r8fe4!cECVVaebaEe!oD>8v6+1Yk=Djr*RWoT0$oEygcs>0 zh>W#@2n7^Yq!>{Awm+)-2@(vZYzN{0HVRDW58zh2288eTgD??PqaVQhpWH$LWSD^Y z9|BNOWJGv1JOPo7f&Z#PsRjWms08XiWfz)!-X8=@``Z6YyTi~QO6fzeX@W{%0_ad+ zHl;@XfS;fsvcS`vLb1y%1vAG0Gxv9z8Akt**BgaxxBoG>2AZoJ`vYDZgPlSC1FNFK oV3&zM;9yilcu^OF2=U}CqP_}iK8vV`WSFV2ZeutF3j*Q)0K{jN>Hq)$ delta 12721 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.0.0 Pingplusplus pingpp-java - 2.3.6 + 2.3.7 com.google.code.gson diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index 83f3611..5ca3ecd 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,7 +11,7 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.3.6"; + public static final String VERSION = "2.3.7"; /** * api key */ diff --git a/src/main/java/com/pingplusplus/model/CardBin.java b/src/main/java/com/pingplusplus/model/CardInfo.java similarity index 86% rename from src/main/java/com/pingplusplus/model/CardBin.java rename to src/main/java/com/pingplusplus/model/CardInfo.java index 327894b..58e9305 100644 --- a/src/main/java/com/pingplusplus/model/CardBin.java +++ b/src/main/java/com/pingplusplus/model/CardInfo.java @@ -6,7 +6,7 @@ import java.util.List; import java.util.Map; -public class CardBin extends APIResource { +public class CardInfo extends APIResource { String app; String cardBin; Integer cardType; @@ -66,14 +66,14 @@ public void setSupportChannels(List supportChannels) { * 银行卡信息查询 * * @param params 卡号等信息 - * @return CardBin + * @return CardInfo * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException * @throws APIException * @throws ChannelException */ - public static CardBin query(Map params) + public static CardInfo query(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { return query(params, null); @@ -84,7 +84,7 @@ public static CardBin query(Map params) * * @param params 卡号等信息 * @param apiKey Ping++ ApiKey - * @return CardBin + * @return CardInfo * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -92,9 +92,9 @@ public static CardBin query(Map params) * @throws ChannelException * @throws RateLimitException */ - public static CardBin query(Map params, String apiKey) + public static CardInfo query(Map params, String apiKey) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(RequestMethod.POST, singleClassURL(CardBin.class), apiKey, params, CardBin.class); + return request(RequestMethod.POST, singleClassURL(CardInfo.class), apiKey, params, CardInfo.class); } } diff --git a/src/test/java/com/pingplusplus/CardBinTest.java b/src/test/java/com/pingplusplus/CardInfoTest.java similarity index 67% rename from src/test/java/com/pingplusplus/CardBinTest.java rename to src/test/java/com/pingplusplus/CardInfoTest.java index e378657..f23e763 100644 --- a/src/test/java/com/pingplusplus/CardBinTest.java +++ b/src/test/java/com/pingplusplus/CardInfoTest.java @@ -1,7 +1,7 @@ package com.pingplusplus; import com.pingplusplus.exception.*; -import com.pingplusplus.model.CardBin; +import com.pingplusplus.model.CardInfo; import org.junit.Test; import java.util.HashMap; @@ -9,16 +9,16 @@ import static org.junit.Assert.assertEquals; -public class CardBinTest extends PingppTestBase { +public class CardInfoTest extends PingppTestBase { /** * 通过卡号查询卡信息。 */ - @Test public void testCardBinQuery() throws RateLimitException, APIException, ChannelException, InvalidRequestException, APIConnectionException, AuthenticationException { + @Test public void testCardInfoQuery() throws RateLimitException, APIException, ChannelException, InvalidRequestException, APIConnectionException, AuthenticationException { Map params = new HashMap(); params.put("app", PingppTestData.getAppID()); params.put("bank_account", "6222280012469823"); - CardBin obj = CardBin.query(params); + CardInfo obj = CardInfo.query(params); assertEquals("622228", obj.getCardBin()); assertEquals("0310", obj.getOpenBankCode()); diff --git a/src/test/java/com/pingplusplus/PingppTest.java b/src/test/java/com/pingplusplus/PingppTest.java index 807daff..77e78a8 100644 --- a/src/test/java/com/pingplusplus/PingppTest.java +++ b/src/test/java/com/pingplusplus/PingppTest.java @@ -30,7 +30,7 @@ public class PingppTest { } @Test public void testVerifyVersions() { - assertEquals("Pingpp.VERSION should match", "2.3.6", Pingpp.VERSION); + assertEquals("Pingpp.VERSION should match", "2.3.7", Pingpp.VERSION); } @Test public void testCreateCharge() { From f0a77e0db9432e8ab4881f5ba5d0c9fb3213a6df Mon Sep 17 00:00:00 2001 From: afon Date: Fri, 16 Mar 2018 17:01:19 +0800 Subject: [PATCH 055/104] fix cardinfo --- libs/pingpp-java-2.3.7.jar | Bin 132876 -> 132874 bytes .../com/pingplusplus/net/APIResource.java | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/pingpp-java-2.3.7.jar b/libs/pingpp-java-2.3.7.jar index 4ff46e38500c836ad6824e0108fae2a1bb43cd94..b2c8b34e845c047d165cd266c43c6dc896293eee 100644 GIT binary patch delta 7252 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 x5Z*J~WE0#HGY6uq$WZAd{8iyl5^Y4gE6T`C2^% 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 clazz) { return "batch_transfer"; } else if (className.equals("customs")) { return "custom"; - } else if (className.equals("cardbin")) { + } else if (className.equals("cardinfo")) { return "card_info"; } else { return className; From 09624924bcc6f681ba763fe98ae5ed543e50e6ee Mon Sep 17 00:00:00 2001 From: afon Date: Thu, 17 May 2018 20:32:58 +0800 Subject: [PATCH 056/104] Agreement added; AccountEventDataDeserializer, AccountAPIResource removed --- pom.xml | 2 +- src/main/java/com/pingplusplus/Pingpp.java | 2 +- .../com/pingplusplus/model/Agreement.java | 264 ++++++++++++++++++ .../model/AgreementCollection.java | 4 + .../com/pingplusplus/model/PingppObject.java | 7 +- .../com/pingplusplus/model/RedEnvelope.java | 6 +- .../java/com/pingplusplus/model/Royalty.java | 3 +- .../pingplusplus/model/RoyaltySettlement.java | 3 +- .../pingplusplus/model/RoyaltyTemplate.java | 3 +- .../model/RoyaltyTransaction.java | 3 +- .../java/com/pingplusplus/model/Transfer.java | 6 +- .../com/pingplusplus/net/APIResource.java | 58 ++-- .../pingplusplus/net/AccountAPIResource.java | 21 -- .../pingplusplus/net/AppBasedResource.java | 59 ---- .../AccountEventDataDeserializer.java | 77 ----- .../serializer/EventDataDeserializer.java | 25 ++ .../java/com/pingplusplus/PingppTest.java | 2 +- .../java/com/pingplusplus/PingppTestData.java | 12 + .../java/com/pingplusplus/WebhookTest.java | 48 +++- .../agreement/AgreenmentTest.java | 65 +++++ .../withdrawal/WithdrawalTest.java | 2 +- 21 files changed, 471 insertions(+), 201 deletions(-) create mode 100644 src/main/java/com/pingplusplus/model/Agreement.java create mode 100644 src/main/java/com/pingplusplus/model/AgreementCollection.java delete mode 100644 src/main/java/com/pingplusplus/net/AccountAPIResource.java delete mode 100644 src/main/java/com/pingplusplus/serializer/AccountEventDataDeserializer.java create mode 100644 src/test/java/com/pingplusplus/agreement/AgreenmentTest.java diff --git a/pom.xml b/pom.xml index fb0e6d8..0f50c70 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 Pingplusplus pingpp-java - 2.3.7 + 2.3.8 com.google.code.gson diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index 5ca3ecd..96a608a 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,7 +11,7 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.3.7"; + public static final String VERSION = "2.3.8"; /** * api key */ diff --git a/src/main/java/com/pingplusplus/model/Agreement.java b/src/main/java/com/pingplusplus/model/Agreement.java new file mode 100644 index 0000000..e40c301 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/Agreement.java @@ -0,0 +1,264 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; + +import java.util.Map; + +/** + * 微信企业付款 + */ +public class Agreement extends APIResource { + String id; + String object; + Boolean livemode; + String app; + Long created; + String channel; + String contractNo; + String contractId; + Map credential; + String status; + Long timeSucceeded; + Long timeCanceled; + String failureCode; + String failureMsg; + Map extra; + Map metadata; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public String getApp() { + return app; + } + + public void setApp(String app) { + this.app = app; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public String getChannel() { + return channel; + } + + public void setChannel(String channel) { + this.channel = channel; + } + + public String getContractNo() { + return contractNo; + } + + public void setContractNo(String contractNo) { + this.contractNo = contractNo; + } + + public String getContractId() { + return contractId; + } + + public void setContractId(String contractId) { + this.contractId = contractId; + } + + public Map getCredential() { + return credential; + } + + public void setCredential(Map credential) { + this.credential = credential; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Long getTimeSucceeded() { + return timeSucceeded; + } + + public void setTimeSucceeded(Long timeSucceeded) { + this.timeSucceeded = timeSucceeded; + } + + public Long getTimeCanceled() { + return timeCanceled; + } + + public void setTimeCanceled(Long timeCanceled) { + this.timeCanceled = timeCanceled; + } + + public String getFailureCode() { + return failureCode; + } + + public void setFailureCode(String failureCode) { + this.failureCode = failureCode; + } + + public String getFailureMsg() { + return failureMsg; + } + + public void setFailureMsg(String failureMsg) { + this.failureMsg = failureMsg; + } + + public Map getExtra() { + return extra; + } + + public void setExtra(Map extra) { + this.extra = extra; + } + + public Map getMetadata() { + return metadata; + } + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + /** + * 创建签约(agreement) + * + * @param params 签约参数 + * @return Agreement + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + */ + public static Agreement create(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return create(params, null); + } + + /** + * 创建签约(agreement) + * + * @param params 签约参数 + * @param apiKey Ping++ APiKey + * @return Transfer + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Agreement create(Map params, String apiKey) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, classURL(Agreement.class), apiKey, params, Agreement.class); + } + + /** + * 查询签约(agreement) + * + * @param id id + * @return Agreement + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + */ + public static Agreement retrieve(String id) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return retrieve(id, null); + } + + /** + * 查询签约(agreement) + * + * @param id id + * @param apiKey Ping++ ApiKey + * @return Agreement + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Agreement retrieve(String id, String apiKey) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, instanceURL(Agreement.class, id), apiKey, null, Agreement.class); + } + + /** + * 查询签约列表 + * + * @param params 分页参数等 + * @return AgreementCollection + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + */ + public static AgreementCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return list(params, null); + } + + /** + * 查询签约列表 + * + * @param apiKey Ping++ APiKey + * @param params 分页参数等 + * @return AgreementCollection + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static AgreementCollection list(Map params, String apiKey) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, classURL(Agreement.class), apiKey, params, AgreementCollection.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/AgreementCollection.java b/src/main/java/com/pingplusplus/model/AgreementCollection.java new file mode 100644 index 0000000..c112561 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/AgreementCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class AgreementCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/PingppObject.java b/src/main/java/com/pingplusplus/model/PingppObject.java index aa5ade7..6f58a7b 100644 --- a/src/main/java/com/pingplusplus/model/PingppObject.java +++ b/src/main/java/com/pingplusplus/model/PingppObject.java @@ -3,9 +3,7 @@ import com.google.gson.FieldNamingPolicy; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import com.pingplusplus.serializer.BatchRefundChargesSerializer; -import com.pingplusplus.serializer.BatchTransferRecipientSerializer; -import com.pingplusplus.serializer.DoubleTypeSerializer; +import com.pingplusplus.serializer.*; import java.lang.reflect.Field; @@ -19,6 +17,9 @@ public abstract class PingppObject { .registerTypeAdapter(BatchTransferRecipientSerializer.class, new BatchTransferRecipientSerializer()) .registerTypeAdapter(BatchRefundCharges.class, new BatchRefundChargesSerializer()) .registerTypeAdapter(Double.class, new DoubleTypeSerializer()) + .registerTypeAdapter(ChargeEssentials.class, new ChargeEssentialsSerializer()) + .registerTypeAdapter(CouponTemplateExpiration.class, new CouponTemplateExpirationSerializer()) + .registerTypeAdapter(SettleAccountRecipient.class, new SettleAccountRecipientSerializer()) .create(); public static Gson getPrettyPrintGson() { diff --git a/src/main/java/com/pingplusplus/model/RedEnvelope.java b/src/main/java/com/pingplusplus/model/RedEnvelope.java index b65310b..07d4a6b 100644 --- a/src/main/java/com/pingplusplus/model/RedEnvelope.java +++ b/src/main/java/com/pingplusplus/model/RedEnvelope.java @@ -35,7 +35,7 @@ public class RedEnvelope extends APIResource { String description; String failureMsg; Map extra; - Map metadata; + Map metadata; public String getStatus() { return status; @@ -198,11 +198,11 @@ public void setBody(String body) { this.body = body; } - public Map getMetadata() { + public Map getMetadata() { return metadata; } - public void setMetadata(Map metadata) { + public void setMetadata(Map metadata) { this.metadata = metadata; } diff --git a/src/main/java/com/pingplusplus/model/Royalty.java b/src/main/java/com/pingplusplus/model/Royalty.java index 1b47ade..691a46a 100644 --- a/src/main/java/com/pingplusplus/model/Royalty.java +++ b/src/main/java/com/pingplusplus/model/Royalty.java @@ -2,11 +2,10 @@ import com.pingplusplus.exception.*; import com.pingplusplus.net.APIResource; -import com.pingplusplus.net.AccountAPIResource; import java.util.Map; -public class Royalty extends AccountAPIResource { +public class Royalty extends APIResource { String id; String object; Boolean livemode; diff --git a/src/main/java/com/pingplusplus/model/RoyaltySettlement.java b/src/main/java/com/pingplusplus/model/RoyaltySettlement.java index 871e875..8403002 100644 --- a/src/main/java/com/pingplusplus/model/RoyaltySettlement.java +++ b/src/main/java/com/pingplusplus/model/RoyaltySettlement.java @@ -2,11 +2,10 @@ import com.pingplusplus.exception.*; import com.pingplusplus.net.APIResource; -import com.pingplusplus.net.AccountAPIResource; import java.util.Map; -public class RoyaltySettlement extends AccountAPIResource { +public class RoyaltySettlement extends APIResource { String id; String object; Boolean livemode; diff --git a/src/main/java/com/pingplusplus/model/RoyaltyTemplate.java b/src/main/java/com/pingplusplus/model/RoyaltyTemplate.java index 1202a11..6d216ca 100644 --- a/src/main/java/com/pingplusplus/model/RoyaltyTemplate.java +++ b/src/main/java/com/pingplusplus/model/RoyaltyTemplate.java @@ -2,11 +2,10 @@ import com.pingplusplus.exception.*; import com.pingplusplus.net.APIResource; -import com.pingplusplus.net.AccountAPIResource; import java.util.Map; -public class RoyaltyTemplate extends AccountAPIResource { +public class RoyaltyTemplate extends APIResource { String id; String object; Boolean livemode; diff --git a/src/main/java/com/pingplusplus/model/RoyaltyTransaction.java b/src/main/java/com/pingplusplus/model/RoyaltyTransaction.java index ba68c14..a620595 100644 --- a/src/main/java/com/pingplusplus/model/RoyaltyTransaction.java +++ b/src/main/java/com/pingplusplus/model/RoyaltyTransaction.java @@ -2,11 +2,10 @@ import com.pingplusplus.exception.*; import com.pingplusplus.net.APIResource; -import com.pingplusplus.net.AccountAPIResource; import java.util.Map; -public class RoyaltyTransaction extends AccountAPIResource { +public class RoyaltyTransaction extends APIResource { String id; String object; Integer amount; diff --git a/src/main/java/com/pingplusplus/model/Transfer.java b/src/main/java/com/pingplusplus/model/Transfer.java index 253f6ca..3ae6dbf 100644 --- a/src/main/java/com/pingplusplus/model/Transfer.java +++ b/src/main/java/com/pingplusplus/model/Transfer.java @@ -32,7 +32,7 @@ public class Transfer extends APIResource { String failureMsg; String transaction_no; Map extra; - Map metadata; + Map metadata; public String getId() { return id; @@ -178,11 +178,11 @@ public void setExtra(Map extra) { this.extra = extra; } - public Map getMetadata() { + public Map getMetadata() { return metadata; } - public void setMetadata(Map metadata) { + public void setMetadata(Map metadata) { this.metadata = metadata; } diff --git a/src/main/java/com/pingplusplus/net/APIResource.java b/src/main/java/com/pingplusplus/net/APIResource.java index 13c6bcd..fe3ccd0 100644 --- a/src/main/java/com/pingplusplus/net/APIResource.java +++ b/src/main/java/com/pingplusplus/net/APIResource.java @@ -46,7 +46,7 @@ protected enum RequestMethod { } /** - * Gson object use to transform json string to Charge object + * Gson object use to transform json string to resource object */ public static final Gson GSON = new GsonBuilder() .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) @@ -74,11 +74,6 @@ public static Gson getGson() { } public static Class getSelfClass() { - try { - return Class.forName("com.pingplusplus.net.AccountAPIResource"); - } catch (ClassNotFoundException ignored) { - } - return APIResource.class; } @@ -89,18 +84,45 @@ public static Class getSelfClass() { protected static String className(Class clazz) { String className = clazz.getSimpleName().toLowerCase().replace("$", " "); - if (className.equals("redenvelope")) { - return "red_envelope"; - } else if (className.equals("batchrefund")) { - return "batch_refund"; - } else if (className.equals("batchtransfer")) { - return "batch_transfer"; - } else if (className.equals("customs")) { - return "custom"; - } else if (className.equals("cardinfo")) { - return "card_info"; - } else { - return className; + switch (className) { + case "redenvelope": + return "red_envelope"; + case "batchrefund": + return "batch_refund"; + case "batchtransfer": + return "batch_transfer"; + case "customs": + return "custom"; + case "cardinfo": + return "card_info"; + case "assettransaction": + return "asset_transaction"; + case "balancebonus": + return "balance_bonuse"; + case "balancetransfer": + return "balance_transfer"; + case "balancetransaction": + return "balance_transaction"; + case "coupontemplate": + return "coupon_template"; + case "batchwithdrawal": + return "batch_withdrawal"; + case "transactionstatistics": + return "transaction_statistics"; + case "settleaccount": + return "settle_account"; + case "subapp": + return "sub_app"; + case "royalty": + return "royaltie"; + case "royaltysettlement": + return "royalty_settlement"; + case "royaltytransaction": + return "royalty_transaction"; + case "royaltytemplate": + return "royalty_template"; + default: + return className; } } diff --git a/src/main/java/com/pingplusplus/net/AccountAPIResource.java b/src/main/java/com/pingplusplus/net/AccountAPIResource.java deleted file mode 100644 index 889cb1b..0000000 --- a/src/main/java/com/pingplusplus/net/AccountAPIResource.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.pingplusplus.net; - - -public abstract class AccountAPIResource extends APIResource { - - public static String className(Class clazz) { - String className = APIResource.className(clazz); - - if (className.equals("royalty")) { - return "royaltie"; - } if (className.equals("royaltysettlement")) { - return "royalty_settlement"; - } if (className.equals("royaltytransaction")) { - return "royalty_transaction"; - } if(className.equals("royaltytemplate")) { - return "royalty_template"; - } else { - return className; - } - } -} diff --git a/src/main/java/com/pingplusplus/net/AppBasedResource.java b/src/main/java/com/pingplusplus/net/AppBasedResource.java index 511744a..d8ba5ce 100755 --- a/src/main/java/com/pingplusplus/net/AppBasedResource.java +++ b/src/main/java/com/pingplusplus/net/AppBasedResource.java @@ -11,65 +11,6 @@ import java.io.UnsupportedEncodingException; public abstract class AppBasedResource extends APIResource { - - /** - * Gson object use to transform json string to resource object - */ - public static final Gson GSON = new GsonBuilder() - .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) - .registerTypeAdapter(Charge.class, new ChargeDeserializer()) - .registerTypeAdapter(RedEnvelope.class, new RedEnvelopeDeserializer()) - .registerTypeAdapter(Transfer.class, new TransferDeserializer()) - .registerTypeAdapter(ChargeRefundCollection.class, new ChargeRefundCollectionDeserializer()) - .registerTypeAdapter(EventData.class, new AccountEventDataDeserializer()) - .registerTypeAdapter(PingppRawJsonObject.class, new PingppRawJsonObjectDeserializer()) - .create(); - - public static final Gson PRETTY_PRINT_GSON = new GsonBuilder() - .setPrettyPrinting() - .serializeNulls() - .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) - .disableHtmlEscaping() - .registerTypeAdapter(BatchTransferRecipientSerializer.class, new BatchTransferRecipientSerializer()) - .registerTypeAdapter(BatchRefundCharges.class, new BatchRefundChargesSerializer()) - .registerTypeAdapter(Double.class, new DoubleTypeSerializer()) - .registerTypeAdapter(ChargeEssentials.class, new ChargeEssentialsSerializer()) - .registerTypeAdapter(CouponTemplateExpiration.class, new CouponTemplateExpirationSerializer()) - .registerTypeAdapter(SettleAccountRecipient.class, new SettleAccountRecipientSerializer()) - .create(); - - protected static String className(Class clazz) { - String className = clazz.getSimpleName().toLowerCase().replace("$", " "); - - if (className.equals("assettransaction")) { - return "asset_transaction"; - } else if (className.equals("balancebonus")) { - return "balance_bonuse"; - } else if(className.equals("balancetransfer")){ - return "balance_transfer"; - } else if (className.equals("balancetransaction")) { - return "balance_transaction"; - } else if (className.equals("coupontemplate")) { - return "coupon_template"; - } else if (className.equals("batchwithdrawal")) { - return "batch_withdrawal"; - } else if (className.equals("transactionstatistics")) { - return "transaction_statistics"; - } if (className.equals("settleaccount")) { - return "settle_account"; - } if (className.equals("subapp")) { - return "sub_app"; - } if (className.equals("royalty")) { - return "royaltie"; - } if (className.equals("royaltysettlement")) { - return "royalty_settlement"; - } if (className.equals("royaltytransaction")) { - return "royalty_transaction"; - } else { - return className; - } - } - /** * @param clazz * @return singleClassURL diff --git a/src/main/java/com/pingplusplus/serializer/AccountEventDataDeserializer.java b/src/main/java/com/pingplusplus/serializer/AccountEventDataDeserializer.java deleted file mode 100644 index e13340b..0000000 --- a/src/main/java/com/pingplusplus/serializer/AccountEventDataDeserializer.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.pingplusplus.serializer; - -import com.google.gson.JsonDeserializationContext; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParseException; -import com.pingplusplus.model.*; -import com.pingplusplus.net.AppBasedResource; - -import java.lang.reflect.Type; -import java.util.HashMap; -import java.util.Map; - -/** - * Created by Afon on 16/12/27. - */ -public class AccountEventDataDeserializer extends EventDataDeserializer { - - @SuppressWarnings("rawtypes") - static final Map objectMap = new HashMap(); - static { - objectMap.put("charge", Charge.class); - objectMap.put("transfer", Transfer.class); - objectMap.put("refund", Refund.class); - objectMap.put("red_envelope", RedEnvelope.class); - objectMap.put("account_daily_summary", Summary.class); - objectMap.put("account_weekly_summary", Summary.class); - objectMap.put("account_monthly_summary", Summary.class); - objectMap.put("app_monthly_summary", Summary.class); - objectMap.put("app_daily_summary", Summary.class); - objectMap.put("app_weekly_summary", Summary.class); - objectMap.put("batch_transfer", BatchTransfer.class); - objectMap.put("batch_refund", BatchRefund.class); - objectMap.put("customs", Customs.class); - - objectMap.put("order", Order.class); - objectMap.put("order_refund", OrderRefund.class); - objectMap.put("user", User.class); - objectMap.put("settle_account", SettleAccount.class); - objectMap.put("withdrawal", Withdrawal.class); - objectMap.put("batch_withdrawal", BatchWithdrawal.class); - objectMap.put("balance_bonus", BalanceBonus.class); - objectMap.put("balance_transfer", BalanceTransfer.class); - objectMap.put("recharge", Recharge.class); - objectMap.put("balance_transaction", BalanceTransaction.class); - - objectMap.put("coupon", Coupon.class); - objectMap.put("coupon_template", CouponTemplate.class); - - objectMap.put("royalty", Royalty.class); - objectMap.put("royalty_settlement", RoyaltySettlement.class); - objectMap.put("royalty_transaction", RoyaltyTransaction.class); - - objectMap.put("sub_app", SubApp.class); - objectMap.put("channel", Channel.class); - } - - @SuppressWarnings("unchecked") - public EventData deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) - throws JsonParseException { - EventData eventData = new EventData(); - if (json.isJsonObject()) { - JsonObject jsonObject = json.getAsJsonObject(); - for(Map.Entry entry: jsonObject.entrySet()) { - String key = entry.getKey(); - JsonElement element = entry.getValue(); - if ("object".equals(key)) { - String type = element.getAsJsonObject().get("object").getAsString(); - Class cl = objectMap.get(type); - PingppObject object = AppBasedResource.GSON.fromJson(entry.getValue(), cl != null ? cl : PingppRawJsonObject.class); - eventData.setObject(object); - } - } - } - return eventData; - } -} diff --git a/src/main/java/com/pingplusplus/serializer/EventDataDeserializer.java b/src/main/java/com/pingplusplus/serializer/EventDataDeserializer.java index fec7932..2d24690 100644 --- a/src/main/java/com/pingplusplus/serializer/EventDataDeserializer.java +++ b/src/main/java/com/pingplusplus/serializer/EventDataDeserializer.java @@ -30,6 +30,31 @@ public class EventDataDeserializer implements JsonDeserializer { objectMap.put("batch_transfer", BatchTransfer.class); objectMap.put("batch_refund", BatchRefund.class); objectMap.put("customs", Customs.class); + objectMap.put("agreement", Agreement.class); + + objectMap.put("order", Order.class); + objectMap.put("order_refund", OrderRefund.class); + objectMap.put("user", User.class); + objectMap.put("settle_account", SettleAccount.class); + objectMap.put("withdrawal", Withdrawal.class); + objectMap.put("batch_withdrawal", BatchWithdrawal.class); + objectMap.put("balance_bonus", BalanceBonus.class); + objectMap.put("balance_transfer", BalanceTransfer.class); + objectMap.put("recharge", Recharge.class); + objectMap.put("balance_transaction", BalanceTransaction.class); + objectMap.put("balance_settlement", BalanceSettlement.class); + + objectMap.put("coupon", Coupon.class); + objectMap.put("coupon_template", CouponTemplate.class); + + objectMap.put("royalty", Royalty.class); + objectMap.put("royalty_settlement", RoyaltySettlement.class); + objectMap.put("royalty_transaction", RoyaltyTransaction.class); + objectMap.put("royalty_template", RoyaltyTemplate.class); + + objectMap.put("app", App.class); + objectMap.put("sub_app", SubApp.class); + objectMap.put("channel", Channel.class); } private Object deserializeJsonPrimitive(JsonPrimitive element) { diff --git a/src/test/java/com/pingplusplus/PingppTest.java b/src/test/java/com/pingplusplus/PingppTest.java index 77e78a8..a2ad416 100644 --- a/src/test/java/com/pingplusplus/PingppTest.java +++ b/src/test/java/com/pingplusplus/PingppTest.java @@ -30,7 +30,7 @@ public class PingppTest { } @Test public void testVerifyVersions() { - assertEquals("Pingpp.VERSION should match", "2.3.7", Pingpp.VERSION); + assertEquals("Pingpp.VERSION should match", "2.3.8", Pingpp.VERSION); } @Test public void testCreateCharge() { diff --git a/src/test/java/com/pingplusplus/PingppTestData.java b/src/test/java/com/pingplusplus/PingppTestData.java index 3a48102..597fd80 100644 --- a/src/test/java/com/pingplusplus/PingppTestData.java +++ b/src/test/java/com/pingplusplus/PingppTestData.java @@ -89,4 +89,16 @@ public static String getBatchTransferWebhooksData() { public static String getWithdrawalWebhooksData() { return "{\"id\":\"evt_gJKt5gzsoQsiPfcx1Pfjajaw\",\"created\":1475924802,\"livemode\":true,\"type\":\"balance.withdrawal.succeeded\",\"data\":{\"object\":{\"id\":\"1701611150302360654\",\"object\":\"withdrawal\",\"app\":\"app_1Gqj58ynP0mHeX1q\",\"amount\":20000,\"asset_transaction\":\"\",\"balance_transaction\":\"\",\"channel\":\"unionpay\",\"created\":1472648887,\"description\":\"test232description\",\"extra\":{\"card_number\":\"6225210207073918\",\"user_name\":\"姓名\",\"open_bank_code\":\"0102\",\"prov\":\"上海\",\"city\":\"上海\"},\"fee\":200,\"livemode\":true,\"metadata\":{},\"order_no\":\"20160829133002\",\"source\":null,\"status\":\"pending\",\"time_canceled\":null,\"time_succeeded\":null,\"user\":\"user_001\",\"user_fee\":50}},\"object\":\"event\",\"request\":\"iar_23eD0xHi58zLfD5HKdnC2nDc\",\"pending_webhooks\":0}"; } + + public static String getAgreementEventData() { + return "{\"created\":1526557545,\"livemode\":false,\"type\":\"agreement.succeeded\",\"data\":{\"object\":{\"id\":\"agr_19EEE7QdgGMCoY\",\"object\":\"agreement\",\"livemode\":false,\"app\":\"app_1Gqj58ynP0mHeX1q\",\"created\":1526557489,\"channel\":\"qpay\",\"contract_no\":\"2018051700001\",\"contract_id\":\"1413528914776620328305865065617065\",\"credential\":{},\"status\":\"succeeded\",\"time_succeeded\":1526557545,\"time_canceled\":null,\"failure_code\":null,\"failure_msg\":null,\"extra\":{\"display_account\":\"签约测试\"},\"metadata\":{}}},\"object\":\"event\",\"request\":\"iar_L08SS8iLCubTLi10yDrbP4a5\",\"scope\":\"app_1Gqj58ynP0mHeX1q\",\"acct_id\":\"acct_zjb1KS1i9C0CvzrL\"}"; + } + + public static String getRechargeSucceededEventData() { + return "{\"id\":\"evt_400180517202605018219403\",\"created\":1526559964,\"livemode\":false,\"type\":\"recharge.succeeded\",\"data\":{\"object\":{\"id\":\"220180517753149716480010\",\"object\":\"recharge\",\"app\":\"app_1Gqj58ynP0mHeX1q\",\"created\":1526559949,\"livemode\":false,\"amount\":90,\"succeeded\":true,\"time_succeeded\":1526559964,\"refunded\":false,\"user\":\"user_test_02\",\"from_user\":\"user_test_02\",\"user_fee\":10,\"charge\":{\"id\":\"ch_0u9erLv9WPeD48WX14i9SebP\",\"object\":\"charge\",\"created\":1526559949,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_1Gqj58ynP0mHeX1q\",\"channel\":\"alipay_wap\",\"order_no\":\"20171526559948047\",\"client_ip\":\"127.0.0.1\",\"amount\":100,\"amount_settle\":100,\"currency\":\"cny\",\"subject\":\"Recharge subject\",\"body\":\"Recharge body\",\"extra\":{\"success_url\":\"http://www.pingxx.com\",\"buyer_account\":\"alipay_account\"},\"time_paid\":1526559964,\"time_expire\":1526646349,\"time_settle\":null,\"transaction_no\":\"2018051714482272\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_0u9erLv9WPeD48WX14i9SebP/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"Recharge description.\"},\"balance_bonus\":null,\"balance_transaction\":\"600180517753305323520001\",\"description\":\"Recharge description.\",\"metadata\":{}}},\"object\":\"event\",\"request\":\"iar_nbrfrD4en14GrbTirLnfHOC8\",\"pending_webhooks\":0}"; + } + + public static String getOrderSucceededEventData() { + return "{\"id\":\"evt_400180517202836018305903\",\"created\":1526560116,\"livemode\":false,\"type\":\"order.succeeded\",\"data\":{\"object\":{\"id\":\"2001805170000308581\",\"object\":\"order\",\"created\":1526560047,\"livemode\":false,\"paid\":true,\"refunded\":false,\"status\":\"paid\",\"app\":\"app_1Gqj58ynP0mHeX1q\",\"uid\":\"test_user_001\",\"available_balance\":4,\"merchant_order_no\":\"20171526560045673\",\"amount\":100,\"actual_amount\":100,\"amount_refunded\":0,\"amount_paid\":100,\"coupon_amount\":0,\"currency\":\"cny\",\"subject\":\"ORDER_SUBJECT\",\"body\":\"ORDER_BODY\",\"client_ip\":\"192.168.1.125\",\"time_paid\":1526560116,\"time_expire\":1526646447,\"charge\":\"ch_5iTOm1P8inv1L48iL4bTOyLS\",\"coupon\":null,\"description\":null,\"metadata\":{},\"charge_essentials\":{\"channel\":\"alipay_wap\",\"transaction_no\":\"2018051773981055\",\"failure_code\":null,\"failure_msg\":null,\"extra\":{\"success_url\":\"http://www.pingxx.com\",\"buyer_account\":\"alipay_account\"},\"credential\":{}},\"receipt_app\":\"app_1Gqj58ynP0mHeX1q\",\"service_app\":\"app_1Gqj58ynP0mHeX1q\",\"available_methods\":[],\"charges\":{\"object\":\"list\",\"url\":\"/v1/charges\",\"has_more\":false,\"data\":[{\"id\":\"ch_5iTOm1P8inv1L48iL4bTOyLS\",\"object\":\"charge\",\"created\":1526560093,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_1Gqj58ynP0mHeX1q\",\"channel\":\"alipay_wap\",\"order_no\":\"20171526560045673\",\"client_ip\":\"192.168.1.125\",\"amount\":100,\"amount_settle\":0,\"currency\":\"cny\",\"subject\":\"ORDER_SUBJECT\",\"body\":\"ORDER_BODY\",\"extra\":{\"success_url\":\"http://www.pingxx.com\",\"buyer_account\":\"alipay_account\"},\"time_paid\":1526560116,\"time_expire\":1526646447,\"time_settle\":null,\"transaction_no\":\"2018051773981055\",\"refunds\":null,\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":null}]}}},\"object\":\"event\",\"request\":\"iar_bXrXH0ib9yT4vLuDmLrDmb5K\",\"pending_webhooks\":0}"; + } } diff --git a/src/test/java/com/pingplusplus/WebhookTest.java b/src/test/java/com/pingplusplus/WebhookTest.java index 21cdf56..660522b 100644 --- a/src/test/java/com/pingplusplus/WebhookTest.java +++ b/src/test/java/com/pingplusplus/WebhookTest.java @@ -1,8 +1,6 @@ package com.pingplusplus; -import com.pingplusplus.model.PingppObject; -import com.pingplusplus.model.Webhooks; -import com.pingplusplus.model.Withdrawal; +import com.pingplusplus.model.*; import org.junit.Test; import static org.junit.Assert.assertEquals; @@ -15,12 +13,52 @@ public class WebhookTest extends PingppTestBase { /** * 解析 webhooks 消息 (withdrawal) */ - @Test public void testWebhooksParseWithdrawal() { + @Test + public void testWebhooksParseWithdrawal() { String webhookData = PingppTestData.getWithdrawalWebhooksData(); PingppObject obj = Webhooks.getObject(webhookData); assertTrue("object should be an instance of Withdrawal", obj instanceof Withdrawal); - assertEquals("object should be withdrawal", "withdrawal", ((Withdrawal)obj).getObject()); + assertEquals("object should be withdrawal", "withdrawal", ((Withdrawal) obj).getObject()); + } + + /** + * 解析 webhooks 消息 (recharge) + */ + @Test + public void testWebhooksParseRecharge() { + String webhookData = PingppTestData.getRechargeSucceededEventData(); + + PingppObject obj = Webhooks.getObject(webhookData); + + assertTrue("object should be an instance of Recharge", obj instanceof Recharge); + assertEquals("object should be recharge", "recharge", ((Recharge) obj).getObject()); + } + + /** + * 解析 webhooks 消息 (order) + */ + @Test + public void testWebhooksParseOrder() { + String webhookData = PingppTestData.getOrderSucceededEventData(); + + PingppObject obj = Webhooks.getObject(webhookData); + + assertTrue("object should be an instance of Order", obj instanceof Order); + assertEquals("object should be order", "order", ((Order) obj).getObject()); + } + + /** + * 解析 webhooks 消息 (agreement) + */ + @Test + public void testWebhooksParseAgreement() { + String webhookData = PingppTestData.getAgreementEventData(); + + PingppObject obj = Webhooks.getObject(webhookData); + + assertTrue("object should be an instance of Agreement", obj instanceof Agreement); + assertEquals("object should be agreement", "agreement", ((Agreement) obj).getObject()); } } diff --git a/src/test/java/com/pingplusplus/agreement/AgreenmentTest.java b/src/test/java/com/pingplusplus/agreement/AgreenmentTest.java new file mode 100644 index 0000000..7718faa --- /dev/null +++ b/src/test/java/com/pingplusplus/agreement/AgreenmentTest.java @@ -0,0 +1,65 @@ +package com.pingplusplus.agreement; + +import com.pingplusplus.PingppTestBase; +import com.pingplusplus.PingppTestData; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.Agreement; +import com.pingplusplus.model.AgreementCollection; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +public class AgreenmentTest extends PingppTestBase { + + @Test + public void testCreate() throws RateLimitException, + APIException, ChannelException, + APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("app", PingppTestData.getAppID()); // App ID + params.put("contract_no", "2018051700001"); // 签约协议号 + params.put("channel", "qpay"); // 签约渠道 + Map extra = new HashMap<>(); + extra.put("display_account", "签约测试"); // 可选,签约用户的名称,用于页面展示,如商户侧账号,昵称。 + params.put("extra", extra); + Map metadata = new HashMap<>(); + params.put("metadata", metadata); // metadata 元数据 + + Agreement agreement; + try { + agreement = Agreement.create(params); + + assertEquals("object should be agreement", "agreement", agreement.getObject()); + } catch (InvalidRequestException e) { + assertTrue("error message should be", e.getMessage().contains("该签约协议号 2018051700001 在 qpay 渠道下已使用。请用新的签约协议号发起签约。")); + } + } + + @Test + public void testRetrieve() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String id = "agr_19EEE7QdgGMCoY"; + Agreement agreement = Agreement.retrieve(id); + + assertEquals("object should be agreement", "agreement", agreement.getObject()); + assertEquals("object id should be", id, agreement.getId()); + } + + @Test + public void testList() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("per_page", 3); // 每页数量 + params.put("app", PingppTestData.getAppID()); // App ID 此参数必填 + + AgreementCollection objs = Agreement.list(params); + + assertEquals("object should be list", "list", objs.getObject()); + } +} diff --git a/src/test/java/com/pingplusplus/withdrawal/WithdrawalTest.java b/src/test/java/com/pingplusplus/withdrawal/WithdrawalTest.java index 2d845ae..b03959d 100644 --- a/src/test/java/com/pingplusplus/withdrawal/WithdrawalTest.java +++ b/src/test/java/com/pingplusplus/withdrawal/WithdrawalTest.java @@ -34,7 +34,7 @@ public void testCreateWithdrawal() throws RateLimitException, Withdrawal withdrawal = Withdrawal.create(params); // 创建 Withdrawal 对象 - assertEquals("object should be list", "withdrawal", withdrawal.getObject()); + assertEquals("object should be withdrawal", "withdrawal", withdrawal.getObject()); assertEquals("user should be same as the value in params", params.get("user"), withdrawal.getUser()); assertEquals("amount should be same as the value in params", params.get("amount"), withdrawal.getAmount()); assertEquals("description should be same as the value in params", params.get("description"), withdrawal.getDescription()); From e6043a08ec4a4103d3248397c1a5cec9d023ab7f Mon Sep 17 00:00:00 2001 From: afon Date: Fri, 18 May 2018 15:14:34 +0800 Subject: [PATCH 057/104] agreement.cancel added --- .../com/pingplusplus/model/Agreement.java | 40 +++++++++++++++++++ .../agreement/AgreenmentTest.java | 21 ++++++++++ 2 files changed, 61 insertions(+) diff --git a/src/main/java/com/pingplusplus/model/Agreement.java b/src/main/java/com/pingplusplus/model/Agreement.java index e40c301..9efdbcf 100644 --- a/src/main/java/com/pingplusplus/model/Agreement.java +++ b/src/main/java/com/pingplusplus/model/Agreement.java @@ -3,6 +3,7 @@ import com.pingplusplus.exception.*; import com.pingplusplus.net.APIResource; +import java.util.HashMap; import java.util.Map; /** @@ -261,4 +262,43 @@ public static AgreementCollection list(Map params, String apiKey APIConnectionException, APIException, ChannelException, RateLimitException { return request(RequestMethod.GET, classURL(Agreement.class), apiKey, params, AgreementCollection.class); } + + /** + * 解除签约(agreement) + * + * @param id id + * @return Agreement + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Agreement cancel(String id) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return cancel(id, null); + } + + /** + * 解除签约(agreement) + * + * @param id id + * @param apiKey Ping++ ApiKey + * @return Agreement + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static Agreement cancel(String id, String apiKey) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + Map params = new HashMap(); + params.put("status", "canceled"); + return request(RequestMethod.PUT, instanceURL(Agreement.class, id), apiKey, params, Agreement.class); + } } diff --git a/src/test/java/com/pingplusplus/agreement/AgreenmentTest.java b/src/test/java/com/pingplusplus/agreement/AgreenmentTest.java index 7718faa..6c54507 100644 --- a/src/test/java/com/pingplusplus/agreement/AgreenmentTest.java +++ b/src/test/java/com/pingplusplus/agreement/AgreenmentTest.java @@ -62,4 +62,25 @@ public void testList() throws RateLimitException, assertEquals("object should be list", "list", objs.getObject()); } + + @Test + public void testCancel() throws RateLimitException, + APIException, ChannelException, + APIConnectionException, AuthenticationException { + String id = "agr_19EEE7QdgGMCoY"; + + Agreement agreement; + + try { + agreement = Agreement.cancel(id); + + assertEquals("object should be agreement", "agreement", agreement.getObject()); + assertEquals("object id should be", id, agreement.getId()); + assertEquals("object status should be", "canceled", agreement.getStatus()); + } catch (InvalidRequestException e) { + assertTrue("error message should be", e.getMessage().contains("该签约对象不能被更新状态。") && e.getMessage().contains("当前的状态为:canceled。")); + } + + + } } From 715a5daae5914297473ebb5068fc489338776a17 Mon Sep 17 00:00:00 2001 From: afon Date: Fri, 18 May 2018 15:15:53 +0800 Subject: [PATCH 058/104] update class description --- src/main/java/com/pingplusplus/model/Agreement.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/pingplusplus/model/Agreement.java b/src/main/java/com/pingplusplus/model/Agreement.java index 9efdbcf..ac43ad5 100644 --- a/src/main/java/com/pingplusplus/model/Agreement.java +++ b/src/main/java/com/pingplusplus/model/Agreement.java @@ -7,7 +7,7 @@ import java.util.Map; /** - * 微信企业付款 + * 签约 */ public class Agreement extends APIResource { String id; From 41ab0c76f75ac6b0c7e85cbfc5860bd3db540768 Mon Sep 17 00:00:00 2001 From: afon Date: Mon, 21 May 2018 19:33:44 +0800 Subject: [PATCH 059/104] WxLiteOAuth added --- CHANGELOG.md | 9 ++ .../com/pingplusplus/util/WxLiteOAuth.java | 90 +++++++++++++++++++ .../com/pingplusplus/util/WxpubOAuth.java | 24 ++++- .../com/pingplusplus/WeixinOpenidTest.java | 38 ++++++++ 4 files changed, 157 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/pingplusplus/util/WxLiteOAuth.java create mode 100644 src/test/java/com/pingplusplus/WeixinOpenidTest.java diff --git a/CHANGELOG.md b/CHANGELOG.md index d3407d4..6981348 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # ChangeLog +## 2.3.8 +#### 新增 +- WxLiteOAuth 接口 +- Agreement 接口 + +#### 修改 +- 合并部分内部类 +- WxpubOAuth 接口错误时增加异常 + ## 2.3.7 (2018-03-16) #### 新增 - BalanceSettlement 接口 diff --git a/src/main/java/com/pingplusplus/util/WxLiteOAuth.java b/src/main/java/com/pingplusplus/util/WxLiteOAuth.java new file mode 100644 index 0000000..abbe3c5 --- /dev/null +++ b/src/main/java/com/pingplusplus/util/WxLiteOAuth.java @@ -0,0 +1,90 @@ +package com.pingplusplus.util; + +import com.google.gson.FieldNamingPolicy; +import com.google.gson.GsonBuilder; +import com.pingplusplus.exception.ChannelException; + +import java.io.UnsupportedEncodingException; +import java.util.HashMap; +import java.util.Map; + +/** + * 用于微信小程序用户授权后获取用户唯一标识 openid + * WxLiteOAuth 中的方法都是可选的,开发者也可根据实际情况自行开发相关功能, + * 详细内容可参考 https://developers.weixin.qq.com/miniprogram/dev/api/api-login.html + */ +public class WxLiteOAuth extends WxpubOAuth { + /** + * 获取微信小程序授权用户唯一标识 + * + * @param appId 微信小程序应用唯一标识 + * @param appSecret 微信小程序应用密钥(注意保密) + * @param code 授权 code, 登录时获取的 code + * @return openid 微信小程序授权用户唯一标识 + * @throws UnsupportedEncodingException + */ + public static String getOpenId(String appId, String appSecret, String code) + throws UnsupportedEncodingException, ChannelException { + + AuthResult authResult = getSession(appId, appSecret, code); + if (authResult.getErrmsg() != null) { + throw new ChannelException(authResult.getErrmsg(), authResult.getErrcode().toString(), null); + } + + return authResult.getOpenid(); + } + + /** + * 获取微信小程序授权用户唯一标识 + * + * @param appId 微信小程序应用唯一标识 + * @param appSecret 微信小程序应用密钥(注意保密) + * @param code 授权 code, 登录时获取的 code + * @return openid 微信小程序授权用户唯一标识 + * @throws UnsupportedEncodingException + */ + public static AuthResult getSession(String appId, String appSecret, String code) + throws UnsupportedEncodingException { + Map params = new HashMap(); + params.put("appid", appId); + params.put("secret", appSecret); + params.put("js_code", code); + params.put("grant_type", "authorization_code"); + String url = "https://api.weixin.qq.com/sns/jscode2session?" + httpBuildQuery(params); + + String ret = httpGet(url); + AuthResult authResult = new GsonBuilder() + .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) + .create().fromJson(ret, AuthResult.class); + + return authResult; + } + + class AuthResult { + String sessionKey; + String openid; + String unionid; + Integer errcode; + String errmsg; + + public String getSessionKey() { + return sessionKey; + } + + public String getOpenid() { + return openid; + } + + public String getUnionid() { + return unionid; + } + + public Integer getErrcode() { + return errcode; + } + + public String getErrmsg() { + return errmsg; + } + } +} diff --git a/src/main/java/com/pingplusplus/util/WxpubOAuth.java b/src/main/java/com/pingplusplus/util/WxpubOAuth.java index 8648b7a..924cc09 100644 --- a/src/main/java/com/pingplusplus/util/WxpubOAuth.java +++ b/src/main/java/com/pingplusplus/util/WxpubOAuth.java @@ -1,6 +1,8 @@ package com.pingplusplus.util; import com.google.gson.*; +import com.pingplusplus.exception.ChannelException; +import com.pingplusplus.model.Channel; import java.io.BufferedReader; import java.io.IOException; @@ -18,7 +20,7 @@ /** * 用于微信公众号OAuth2.0鉴权,用户授权后获取授权用户唯一标识openid * WxpubOAuth中的方法都是可选的,开发者也可根据实际情况自行开发相关功能, - * 详细内容可参考http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html + * 详细内容可参考 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842 */ public class WxpubOAuth { @@ -37,7 +39,7 @@ public class WxpubOAuth { * @throws UnsupportedEncodingException */ public static String getOpenId(String appId, String appSecret, String code) - throws UnsupportedEncodingException { + throws UnsupportedEncodingException, ChannelException { String url = WxpubOAuth.createOauthUrlForOpenid(appId, appSecret, code); String ret = WxpubOAuth.httpGet(url); @@ -45,6 +47,10 @@ public static String getOpenId(String appId, String appSecret, String code) .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) .create().fromJson(ret, OAuthResult.class); + if (oAuthResult.getErrmsg() != null) { + throw new ChannelException(oAuthResult.getErrmsg(), oAuthResult.getErrcode().toString(), null); + } + return oAuthResult.getOpenid(); } @@ -95,7 +101,7 @@ private static String createOauthUrlForOpenid(String appId, String appSecret, St return "https://api.weixin.qq.com/sns/oauth2/access_token?" + queryString; } - private static String httpBuildQuery(Map queryString) throws UnsupportedEncodingException { + protected static String httpBuildQuery(Map queryString) throws UnsupportedEncodingException { StringBuilder sb = new StringBuilder(); for (Map.Entry e : queryString.entrySet()) { if (sb.length() > 0) { @@ -112,7 +118,7 @@ private static String httpBuildQuery(Map queryString) throws Uns * @param urlString * @return responseString */ - private static String httpGet(String urlString) { + protected static String httpGet(String urlString) { String result = ""; try { URL url = new URL(urlString); @@ -221,6 +227,8 @@ class OAuthResult { String refreshToken; String openid; String scope; + Integer errcode; + String errmsg; public String getAccessToken() { return accessToken; @@ -241,5 +249,13 @@ public String getOpenid() { public String getScope() { return scope; } + + public Integer getErrcode() { + return errcode; + } + + public String getErrmsg() { + return errmsg; + } } } diff --git a/src/test/java/com/pingplusplus/WeixinOpenidTest.java b/src/test/java/com/pingplusplus/WeixinOpenidTest.java new file mode 100644 index 0000000..26fce47 --- /dev/null +++ b/src/test/java/com/pingplusplus/WeixinOpenidTest.java @@ -0,0 +1,38 @@ +package com.pingplusplus; + +import com.pingplusplus.exception.ChannelException; +import com.pingplusplus.util.WxLiteOAuth; +import com.pingplusplus.util.WxpubOAuth; +import org.junit.Test; + +import java.io.UnsupportedEncodingException; + +public class WeixinOpenidTest extends PingppTestBase { + /** + * 通过 appId, secret, code 获取微信公众号 openid 信息。 + */ + @Test + public void testWxPubOpenid() throws UnsupportedEncodingException { + try { + String openid = WxpubOAuth.getOpenId("wx262681902838", "piOgk852569gKXpRLjhh38J6O14H7ejb", "ZkJfiPkzQAFCxc4vxRE4"); + System.out.println(openid); + } catch (ChannelException e) { + System.out.println(e.getMessage()); + System.out.println(e.getParam()); + } + } + + /** + * 通过 appId, secret, code 获取微信小程序 openid 信息。 + */ + @Test + public void testWxLiteOpenid() throws UnsupportedEncodingException { + try { + String openid = WxLiteOAuth.getOpenId("wx283881926260", "piOgk852569gKXpRLjhh38J6O14H7ejb", "vNnPjvqD0BT3snbxVLjY"); + System.out.println(openid); + } catch (ChannelException e) { + System.out.println(e.getMessage()); + System.out.println(e.getParam()); + } + } +} From 26369479660875fc02c05f87f63e5cdeca7149cd Mon Sep 17 00:00:00 2001 From: afon Date: Tue, 22 May 2018 10:23:03 +0800 Subject: [PATCH 060/104] fix AuthResult --- .../java/com/pingxx/example/WxPubOAuthExample.java | 11 +++++++++-- src/main/java/com/pingplusplus/util/WxLiteOAuth.java | 2 +- src/test/java/com/pingplusplus/WeixinOpenidTest.java | 11 +++++++++++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/example/src/main/java/com/pingxx/example/WxPubOAuthExample.java b/example/src/main/java/com/pingxx/example/WxPubOAuthExample.java index dd2f40e..9b56190 100644 --- a/example/src/main/java/com/pingxx/example/WxPubOAuthExample.java +++ b/example/src/main/java/com/pingxx/example/WxPubOAuthExample.java @@ -1,6 +1,8 @@ package com.pingxx.example; import java.io.UnsupportedEncodingException; + +import com.pingplusplus.exception.ChannelException; import com.pingplusplus.model.Charge; import com.pingplusplus.util.WxpubOAuth; @@ -60,8 +62,13 @@ public static void getOpenidWithCode() throws UnsupportedEncodingException { System.out.println("3. 微信内置浏览器会带上参数 code 跳转到你传的地址: " + redirectUrl + "?code=os823ndskelcncfyfms"); // 获取 URL 中的 code 参数 String code = "os823ndskelcncfyfms"; - String openid = WxpubOAuth.getOpenId(wxAppId, wxAppSecret, code); - System.out.println("4. 得到 openid 用于创建 charge"); + try { + String openid = WxpubOAuth.getOpenId(wxAppId, wxAppSecret, code); + System.out.println("4. 得到 openid 用于创建 charge"); + } catch (ChannelException e) { + e.printStackTrace(); + } + // ChargeExample chargeExample = new ChargeExample(appId); // openid = "USER_OPENID"; // chargeExample.createCharge(); diff --git a/src/main/java/com/pingplusplus/util/WxLiteOAuth.java b/src/main/java/com/pingplusplus/util/WxLiteOAuth.java index abbe3c5..ff4fd04 100644 --- a/src/main/java/com/pingplusplus/util/WxLiteOAuth.java +++ b/src/main/java/com/pingplusplus/util/WxLiteOAuth.java @@ -60,7 +60,7 @@ public static AuthResult getSession(String appId, String appSecret, String code) return authResult; } - class AuthResult { + public class AuthResult { String sessionKey; String openid; String unionid; diff --git a/src/test/java/com/pingplusplus/WeixinOpenidTest.java b/src/test/java/com/pingplusplus/WeixinOpenidTest.java index 26fce47..9cb6c92 100644 --- a/src/test/java/com/pingplusplus/WeixinOpenidTest.java +++ b/src/test/java/com/pingplusplus/WeixinOpenidTest.java @@ -2,6 +2,7 @@ import com.pingplusplus.exception.ChannelException; import com.pingplusplus.util.WxLiteOAuth; +import com.pingplusplus.util.WxLiteOAuth.AuthResult; import com.pingplusplus.util.WxpubOAuth; import org.junit.Test; @@ -35,4 +36,14 @@ public void testWxLiteOpenid() throws UnsupportedEncodingException { System.out.println(e.getParam()); } } + + /** + * 通过 appId, secret, code 获取微信小程序 session_key。 + */ + @Test + public void testWxLiteSession() throws UnsupportedEncodingException { + AuthResult result = WxLiteOAuth.getSession("wx283881926260", "piOgk852569gKXpRLjhh38J6O14H7ejb", "vNnPjvqD0BT3snbxVLjY"); + System.out.println(result.getOpenid()); + System.out.println(result.getSessionKey()); + } } From 47806fcdec9baa9840df896a5d9ae88af4b12e68 Mon Sep 17 00:00:00 2001 From: afon Date: Tue, 22 May 2018 10:27:43 +0800 Subject: [PATCH 061/104] remove blank lines --- src/test/java/com/pingplusplus/agreement/AgreenmentTest.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/test/java/com/pingplusplus/agreement/AgreenmentTest.java b/src/test/java/com/pingplusplus/agreement/AgreenmentTest.java index 6c54507..309e8f3 100644 --- a/src/test/java/com/pingplusplus/agreement/AgreenmentTest.java +++ b/src/test/java/com/pingplusplus/agreement/AgreenmentTest.java @@ -80,7 +80,5 @@ public void testCancel() throws RateLimitException, } catch (InvalidRequestException e) { assertTrue("error message should be", e.getMessage().contains("该签约对象不能被更新状态。") && e.getMessage().contains("当前的状态为:canceled。")); } - - } } From 5754d01ed57247ee4ab1ad55ba184259d90ce31b Mon Sep 17 00:00:00 2001 From: afon Date: Tue, 22 May 2018 11:04:13 +0800 Subject: [PATCH 062/104] 2.3.8 build jar --- CHANGELOG.md | 2 +- README.md | 4 ++-- VERSION | 2 +- ...p-java-2.3.7.jar => pingpp-java-2.3.8.jar} | Bin 132874 -> 134426 bytes 4 files changed, 4 insertions(+), 4 deletions(-) rename libs/{pingpp-java-2.3.7.jar => pingpp-java-2.3.8.jar} (61%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6981348..e874065 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # ChangeLog -## 2.3.8 +## 2.3.8 (2018-05-22) #### 新增 - WxLiteOAuth 接口 - Agreement 接口 diff --git a/README.md b/README.md index eafd1bf..82d7e20 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.3.7 + 2.3.8 jar ``` @@ -52,7 +52,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.3.7' +compile 'Pingplusplus:pingpp-java:2.3.8' ``` ### 初始化 diff --git a/VERSION b/VERSION index 00355e2..bc4abe8 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.3.7 +2.3.8 diff --git a/libs/pingpp-java-2.3.7.jar b/libs/pingpp-java-2.3.8.jar similarity index 61% rename from libs/pingpp-java-2.3.7.jar rename to libs/pingpp-java-2.3.8.jar index b2c8b34e845c047d165cd266c43c6dc896293eee..43423288df8af6011cdf4efe3cd2963ab2618786 100644 GIT binary patch delta 43231 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 delta 41572 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�d679q@~T&Qt!}PqeOepd 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 Q!Qg)?css-n$>8Yz57vo0j{pDw From f022cf2fd8283a509be13f29be8b2e1ce438aaee Mon Sep 17 00:00:00 2001 From: afon Date: Tue, 21 Aug 2018 15:27:24 +0800 Subject: [PATCH 063/104] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=20balance=5Fsettleme?= =?UTF-8?q?nt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 10 ++++++++++ README.md | 4 ++-- VERSION | 2 +- pom.xml | 2 +- src/main/java/com/pingplusplus/Pingpp.java | 2 +- src/main/java/com/pingplusplus/PingppAccount.java | 8 -------- .../com/pingplusplus/model/BalanceSettlement.java | 4 ++-- .../java/com/pingplusplus/net/APIResource.java | 2 ++ .../com/pingplusplus/net/AppBasedResource.java | 14 +++++++------- .../com/pingplusplus/net/SubAppBasedResource.java | 8 ++++---- .../com/pingplusplus/net/UserBasedResource.java | 8 ++++---- src/test/java/com/pingplusplus/PingppTest.java | 2 +- 12 files changed, 35 insertions(+), 31 deletions(-) delete mode 100644 src/main/java/com/pingplusplus/PingppAccount.java diff --git a/CHANGELOG.md b/CHANGELOG.md index e874065..3cf9f7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # ChangeLog +## 2.3.9 (2018-08-21) + +#### 修正 + +- 修正 `BalanceSettlement` 错误 + +#### 修改 + +- 移除 `PingppAccount` + ## 2.3.8 (2018-05-22) #### 新增 - WxLiteOAuth 接口 diff --git a/README.md b/README.md index 82d7e20..ca7d4eb 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.3.8 + 2.3.9 jar ``` @@ -52,7 +52,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.3.8' +compile 'Pingplusplus:pingpp-java:2.3.9' ``` ### 初始化 diff --git a/VERSION b/VERSION index bc4abe8..5aa7c52 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.3.8 +2.3.9 diff --git a/pom.xml b/pom.xml index 0f50c70..0616881 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 Pingplusplus pingpp-java - 2.3.8 + 2.3.9 com.google.code.gson diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index 96a608a..70583a9 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,7 +11,7 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.3.8"; + public static final String VERSION = "2.3.9"; /** * api key */ diff --git a/src/main/java/com/pingplusplus/PingppAccount.java b/src/main/java/com/pingplusplus/PingppAccount.java deleted file mode 100644 index 121c687..0000000 --- a/src/main/java/com/pingplusplus/PingppAccount.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.pingplusplus; - -/** - * Created by Afon on 2016/12/22. - */ -public abstract class PingppAccount extends Pingpp { - public static final String VERSION = "1.2.4"; // 之后不再更新此版本号 -} diff --git a/src/main/java/com/pingplusplus/model/BalanceSettlement.java b/src/main/java/com/pingplusplus/model/BalanceSettlement.java index e2457fd..b9f6f85 100644 --- a/src/main/java/com/pingplusplus/model/BalanceSettlement.java +++ b/src/main/java/com/pingplusplus/model/BalanceSettlement.java @@ -176,7 +176,7 @@ public void setUserFee(String userFee) { public static BalanceSettlement retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(APIResource.RequestMethod.GET, instanceURL(BalanceTransaction.class, id), null, BalanceSettlement.class); + return request(APIResource.RequestMethod.GET, instanceURL(BalanceSettlement.class, id), null, BalanceSettlement.class); } /** @@ -194,6 +194,6 @@ public static BalanceSettlement retrieve(String id) public static BalanceSettlementCollection list(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(APIResource.RequestMethod.GET, classURL(BalanceTransaction.class), params, BalanceSettlementCollection.class); + return request(APIResource.RequestMethod.GET, classURL(BalanceSettlement.class), params, BalanceSettlementCollection.class); } } diff --git a/src/main/java/com/pingplusplus/net/APIResource.java b/src/main/java/com/pingplusplus/net/APIResource.java index fe3ccd0..b893c3c 100644 --- a/src/main/java/com/pingplusplus/net/APIResource.java +++ b/src/main/java/com/pingplusplus/net/APIResource.java @@ -121,6 +121,8 @@ protected static String className(Class clazz) { return "royalty_transaction"; case "royaltytemplate": return "royalty_template"; + case "balancesettlement": + return "balance_settlement"; default: return className; } diff --git a/src/main/java/com/pingplusplus/net/AppBasedResource.java b/src/main/java/com/pingplusplus/net/AppBasedResource.java index d8ba5ce..3e68be7 100755 --- a/src/main/java/com/pingplusplus/net/AppBasedResource.java +++ b/src/main/java/com/pingplusplus/net/AppBasedResource.java @@ -3,7 +3,7 @@ import com.google.gson.FieldNamingPolicy; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import com.pingplusplus.PingppAccount; +import com.pingplusplus.Pingpp; import com.pingplusplus.exception.InvalidRequestException; import com.pingplusplus.model.*; import com.pingplusplus.serializer.*; @@ -17,10 +17,10 @@ public abstract class AppBasedResource extends APIResource { * @throws InvalidRequestException */ protected static String singleClassURL(Class clazz) throws InvalidRequestException { - if (PingppAccount.appId == null) { - throw new InvalidRequestException("Please set app_id using PingppAccount.appId = ", "app_id", null); + if (Pingpp.appId == null) { + throw new InvalidRequestException("Please set app_id using Pingpp.appId = ", "app_id", null); } - return String.format("%s/v1/apps/%s/%s", PingppAccount.getApiBase(), PingppAccount.appId, className(clazz)); + return String.format("%s/v1/apps/%s/%s", Pingpp.getApiBase(), Pingpp.appId, className(clazz)); } /** @@ -52,9 +52,9 @@ protected static String instanceURL(Class clazz, String id) throws InvalidReq * @throws InvalidRequestException */ protected static String customURL(String objectName) throws InvalidRequestException { - if (PingppAccount.appId == null) { - throw new InvalidRequestException("Please set app_id using PingppAccount.appId = ", "app_id", null); + if (Pingpp.appId == null) { + throw new InvalidRequestException("Please set app_id using Pingpp.appId = ", "app_id", null); } - return String.format("%s/v1/apps/%s/%s", PingppAccount.getApiBase(), PingppAccount.appId, objectName); + return String.format("%s/v1/apps/%s/%s", Pingpp.getApiBase(), Pingpp.appId, objectName); } } diff --git a/src/main/java/com/pingplusplus/net/SubAppBasedResource.java b/src/main/java/com/pingplusplus/net/SubAppBasedResource.java index 59fe923..2acb9b8 100644 --- a/src/main/java/com/pingplusplus/net/SubAppBasedResource.java +++ b/src/main/java/com/pingplusplus/net/SubAppBasedResource.java @@ -1,6 +1,6 @@ package com.pingplusplus.net; -import com.pingplusplus.PingppAccount; +import com.pingplusplus.Pingpp; import com.pingplusplus.exception.InvalidRequestException; import java.io.UnsupportedEncodingException; @@ -14,10 +14,10 @@ public abstract class SubAppBasedResource extends AppBasedResource { * @throws InvalidRequestException */ protected static String singleClassURL(Class clazz, String subAppId) throws InvalidRequestException { - if (PingppAccount.appId == null) { - throw new InvalidRequestException("Please set app_id using PingppAccount.appId = ", "app_id", null); + if (Pingpp.appId == null) { + throw new InvalidRequestException("Please set app_id using Pingpp.appId = ", "app_id", null); } - return String.format("%s/v1/apps/%s/sub_apps/%s/%s", PingppAccount.getApiBase(), PingppAccount.appId, subAppId, className(clazz)); + return String.format("%s/v1/apps/%s/sub_apps/%s/%s", Pingpp.getApiBase(), Pingpp.appId, subAppId, className(clazz)); } /** diff --git a/src/main/java/com/pingplusplus/net/UserBasedResource.java b/src/main/java/com/pingplusplus/net/UserBasedResource.java index c4969a9..636e837 100644 --- a/src/main/java/com/pingplusplus/net/UserBasedResource.java +++ b/src/main/java/com/pingplusplus/net/UserBasedResource.java @@ -1,6 +1,6 @@ package com.pingplusplus.net; -import com.pingplusplus.PingppAccount; +import com.pingplusplus.Pingpp; import com.pingplusplus.exception.InvalidRequestException; import java.io.UnsupportedEncodingException; @@ -14,10 +14,10 @@ public abstract class UserBasedResource extends AppBasedResource { * @throws InvalidRequestException */ protected static String singleClassURL(Class clazz, String userId) throws InvalidRequestException { - if (PingppAccount.appId == null) { - throw new InvalidRequestException("Please set app_id using PingppAccount.appId = ", "app_id", null); + if (Pingpp.appId == null) { + throw new InvalidRequestException("Please set app_id using Pingpp.appId = ", "app_id", null); } - return String.format("%s/v1/apps/%s/users/%s/%s", PingppAccount.getApiBase(), PingppAccount.appId, userId, className(clazz)); + return String.format("%s/v1/apps/%s/users/%s/%s", Pingpp.getApiBase(), Pingpp.appId, userId, className(clazz)); } /** diff --git a/src/test/java/com/pingplusplus/PingppTest.java b/src/test/java/com/pingplusplus/PingppTest.java index a2ad416..709ab0d 100644 --- a/src/test/java/com/pingplusplus/PingppTest.java +++ b/src/test/java/com/pingplusplus/PingppTest.java @@ -30,7 +30,7 @@ public class PingppTest { } @Test public void testVerifyVersions() { - assertEquals("Pingpp.VERSION should match", "2.3.8", Pingpp.VERSION); + assertEquals("Pingpp.VERSION should match", "2.3.9", Pingpp.VERSION); } @Test public void testCreateCharge() { From a6408e3cc1de0d41e362451d0af971ff4d059512 Mon Sep 17 00:00:00 2001 From: afon Date: Tue, 21 Aug 2018 17:02:46 +0800 Subject: [PATCH 064/104] build jar for 2.3.9 --- ...p-java-2.3.8.jar => pingpp-java-2.3.9.jar} | Bin 134426 -> 134034 bytes 1 file changed, 0 insertions(+), 0 deletions(-) rename libs/{pingpp-java-2.3.8.jar => pingpp-java-2.3.9.jar} (75%) diff --git a/libs/pingpp-java-2.3.8.jar b/libs/pingpp-java-2.3.9.jar similarity index 75% rename from libs/pingpp-java-2.3.8.jar rename to libs/pingpp-java-2.3.9.jar index 43423288df8af6011cdf4efe3cd2963ab2618786..9df78983786af18fb8c7d6c714d43668f87ceeff 100644 GIT binary patch delta 22860 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 delta 23180 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 From 6c7511842438cbe449536feaba88023bc496ae2e Mon Sep 17 00:00:00 2001 From: afon Date: Thu, 30 May 2019 11:45:33 +0800 Subject: [PATCH 065/104] add sub_abnk_code for settle_account --- .gitignore | 4 ++ CHANGELOG.md | 6 ++ build.gradle | 2 +- example/.classpath | 8 +-- example/build.gradle | 2 +- .../com/pingxx/example/ChargeExample.java | 2 +- .../main/java/com/pingxx/example/Main.java | 5 ++ .../pingxx/example/WebhooksVerifyExample.java | 8 +-- ...-java-2.3.9.jar => pingpp-java-2.3.10.jar} | Bin 134034 -> 134083 bytes pom.xml | 4 +- src/main/java/com/pingplusplus/Pingpp.java | 2 +- .../model/SettleAccountRecipient.java | 9 +++ .../com/pingplusplus/net/APIResource.java | 2 + .../pingplusplus/util/PingppSignature.java | 2 +- .../settle_account/SettleAccountTest.java | 59 +++++++++++++----- 15 files changed, 82 insertions(+), 33 deletions(-) rename libs/{pingpp-java-2.3.9.jar => pingpp-java-2.3.10.jar} (79%) diff --git a/.gitignore b/.gitignore index 7eb4658..d4c2ca5 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,7 @@ bin/ .idea_modules/ gradle.properties +org.eclipse.buildship.core.prefs +org.eclipse.jdt.core.prefs +.project +example/out diff --git a/CHANGELOG.md b/CHANGELOG.md index 3cf9f7e..088d865 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # ChangeLog +## 2.3.10 (2019-05-30) + +#### 修改 + +- SettleAccount 添加 `sub_bank_code` 字段 + ## 2.3.9 (2018-08-21) #### 修正 diff --git a/build.gradle b/build.gradle index 351abe9..4838ac1 100644 --- a/build.gradle +++ b/build.gradle @@ -21,7 +21,7 @@ sourceCompatibility = 1.7 targetCompatibility = 1.7 dependencies { - compile 'com.google.code.gson:gson:2.6.2' + compile 'com.google.code.gson:gson:2.8.5' compile 'commons-codec:commons-codec:1.10' testCompile 'junit:junit:4.12' diff --git a/example/.classpath b/example/.classpath index c576d7e..45b0c68 100644 --- a/example/.classpath +++ b/example/.classpath @@ -1,9 +1,7 @@ - - - - - + + + diff --git a/example/build.gradle b/example/build.gradle index fd0b9e2..a9101ed 100644 --- a/example/build.gradle +++ b/example/build.gradle @@ -5,7 +5,7 @@ repositories { } dependencies { - compile 'com.google.code.gson:gson:2.6.2' + compile 'com.google.code.gson:gson:2.8.5' compile 'commons-codec:commons-codec:1.10' compile project(':') diff --git a/example/src/main/java/com/pingxx/example/ChargeExample.java b/example/src/main/java/com/pingxx/example/ChargeExample.java index 3ea534b..f69ebef 100644 --- a/example/src/main/java/com/pingxx/example/ChargeExample.java +++ b/example/src/main/java/com/pingxx/example/ChargeExample.java @@ -60,7 +60,7 @@ public static void runDemos(String appId) { */ public Charge createCharge() { Charge charge = null; - String channel = "alipay"; + String channel = "wx_pub"; Map chargeMap = new HashMap(); chargeMap.put("amount", 100);//订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100) diff --git a/example/src/main/java/com/pingxx/example/Main.java b/example/src/main/java/com/pingxx/example/Main.java index 1a760ed..21275d3 100644 --- a/example/src/main/java/com/pingxx/example/Main.java +++ b/example/src/main/java/com/pingxx/example/Main.java @@ -30,11 +30,16 @@ public class Main { // 你生成的私钥路径 private final static String privateKeyFilePath = "res/your_rsa_private_key_pkcs8.pem"; + protected static String projectDir; + public static void main(String[] args) throws Exception { + projectDir = System.getProperty("user.dir") + "/example/"; // 设置 API Key Pingpp.apiKey = apiKey; + Pingpp.appId = appId; + // 设置私钥路径,用于请求签名 // Pingpp.privateKeyPath = privateKeyFilePath; diff --git a/example/src/main/java/com/pingxx/example/WebhooksVerifyExample.java b/example/src/main/java/com/pingxx/example/WebhooksVerifyExample.java index e94e734..31af3fe 100644 --- a/example/src/main/java/com/pingxx/example/WebhooksVerifyExample.java +++ b/example/src/main/java/com/pingxx/example/WebhooksVerifyExample.java @@ -66,7 +66,7 @@ public static void runDemos() throws Exception { * @throws Exception */ public static String getStringFromFile(String filePath) throws Exception { - FileInputStream in = new FileInputStream(filePath); + FileInputStream in = new FileInputStream(Main.projectDir + filePath); InputStreamReader inReader = new InputStreamReader(in, "UTF-8"); BufferedReader bf = new BufferedReader(inReader); StringBuilder sb = new StringBuilder(); @@ -92,13 +92,13 @@ public static String getStringFromFile(String filePath) throws Exception { public static PublicKey getPubKey() throws Exception { String pubKeyString = getStringFromFile(pubKeyPath); pubKeyString = pubKeyString.replaceAll("(-+BEGIN PUBLIC KEY-+\\r?\\n|-+END PUBLIC KEY-+\\r?\\n?)", ""); - byte[] keyBytes = Base64.decodeBase64(pubKeyString); + byte[] keyBytes = Base64.decodeBase64(pubKeyString.getBytes("UTF-8")); // generate public key X509EncodedKeySpec spec = new X509EncodedKeySpec(keyBytes); KeyFactory keyFactory = KeyFactory.getInstance("RSA"); - PublicKey publicKey = keyFactory.generatePublic(spec); - return publicKey; + + return keyFactory.generatePublic(spec); } /** diff --git a/libs/pingpp-java-2.3.9.jar b/libs/pingpp-java-2.3.10.jar similarity index 79% rename from libs/pingpp-java-2.3.9.jar rename to libs/pingpp-java-2.3.10.jar index 9df78983786af18fb8c7d6c714d43668f87ceeff..604c19fbae19bd56ad667d016acbda16e3c2960d 100644 GIT binary patch delta 17934 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.0.0 Pingplusplus pingpp-java - 2.3.9 + 2.3.10 com.google.code.gson gson - 2.6.2 + 2.8.5 runtime diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index 70583a9..a0b632d 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,7 +11,7 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.3.9"; + public static final String VERSION = "2.3.10"; /** * api key */ diff --git a/src/main/java/com/pingplusplus/model/SettleAccountRecipient.java b/src/main/java/com/pingplusplus/model/SettleAccountRecipient.java index 5d6016c..b54c785 100644 --- a/src/main/java/com/pingplusplus/model/SettleAccountRecipient.java +++ b/src/main/java/com/pingplusplus/model/SettleAccountRecipient.java @@ -15,6 +15,7 @@ public class SettleAccountRecipient extends PingppObject { String prov; String city; String subBank; + String subBankCode; public String getAccount() { return account; @@ -103,4 +104,12 @@ public String getSubBank() { public void setSubBank(String subBank) { this.subBank = subBank; } + + public String getSubBankCode() { + return subBankCode; + } + + public void setSubBankCode(String subBankCode) { + this.subBankCode = subBankCode; + } } diff --git a/src/main/java/com/pingplusplus/net/APIResource.java b/src/main/java/com/pingplusplus/net/APIResource.java index b893c3c..cc5c763 100644 --- a/src/main/java/com/pingplusplus/net/APIResource.java +++ b/src/main/java/com/pingplusplus/net/APIResource.java @@ -707,12 +707,14 @@ private static void handleAPIError(String rBody, int rCode) error.message = rBody; error.code = String.valueOf(rCode); } + switch (rCode) { case 400: throw new InvalidRequestException(error.toString(), error.param, null); case 404: throw new InvalidRequestException(error.toString(), error.param, null); case 403: + case 429: throw new RateLimitException(error.toString(), null); case 402: throw new ChannelException(error.toString(), error.param, null); diff --git a/src/main/java/com/pingplusplus/util/PingppSignature.java b/src/main/java/com/pingplusplus/util/PingppSignature.java index 011eada..3b5f0a9 100644 --- a/src/main/java/com/pingplusplus/util/PingppSignature.java +++ b/src/main/java/com/pingplusplus/util/PingppSignature.java @@ -48,7 +48,7 @@ public static PrivateKey getPrivateKeyFromPEM(String PEMEncodedPrivateKey) { PEMEncodedPrivateKey = PEMEncodedPrivateKey .replaceAll("(-+BEGIN (RSA )?PRIVATE KEY-+\\r?\\n|-+END (RSA )?PRIVATE KEY-+\\r?\\n?)", ""); byte[] privateKeyBytes = Base64.decodeBase64(PEMEncodedPrivateKey); - + try { return generatePrivateKeyWithPKCS8(privateKeyBytes); } catch (InvalidKeySpecException e) { diff --git a/src/test/java/com/pingplusplus/settle_account/SettleAccountTest.java b/src/test/java/com/pingplusplus/settle_account/SettleAccountTest.java index 2e086c1..159cff7 100644 --- a/src/test/java/com/pingplusplus/settle_account/SettleAccountTest.java +++ b/src/test/java/com/pingplusplus/settle_account/SettleAccountTest.java @@ -21,23 +21,31 @@ public class SettleAccountTest extends PingppTestBase { public void testSettleAccountCreate() throws RateLimitException, APIException, ChannelException, InvalidRequestException, APIConnectionException, AuthenticationException { - String userId = "test_user_001"; + String userId = "U2019053010510001"; Map params = new HashMap(); - params.put("channel", "alipay"); // [wx_pub, wx, alipay, bank_account] 其中一种 + params.put("channel", "bank_account"); // [wx_pub, wx, alipay, bank_account] 其中一种 Map recipient = new HashMap(); // recipient 参数请参考各个渠道,以下是 alipay 参数 - recipient.put("account", "13000000001"); // 接收者支付宝账号 + recipient.put("account", "6222987656770001"); // 接收者银行账号/卡号 recipient.put("name", "USER NAME"); // 接收者姓名 recipient.put("type", "b2c"); // 转账类型 - recipient.put("account_type", "ALIPAY_LOGONID"); // 收款方账户类型 + recipient.put("open_bank_code", "0102"); // 户银行编号 + recipient.put("open_bank", "工商银行"); + recipient.put("card_type", 0); + recipient.put("sub_bank", "招商银行股份有限公司上海陆家嘴支行"); + recipient.put("sub_bank_code", "308290003773"); + recipient.put("prov", "上海市"); + recipient.put("city", "上海市"); params.put("recipient", recipient); SettleAccount obj = SettleAccount.create(userId, params); // 创建 SettleAccount 方法 + System.out.println(obj); assertEquals("object should be settle_account", "settle_account", obj.getObject()); assertEquals("channel", params.get("channel"), obj.getChannel()); assertEquals("type", recipient.get("type"), obj.getRecipient().getType()); assertEquals("open_bank_code", recipient.get("open_bank_code"), obj.getRecipient().getOpenBankCode()); + assertEquals("sub_bank_code", recipient.get("sub_bank_code"), obj.getRecipient().getSubBankCode()); } /** @@ -46,13 +54,21 @@ public void testSettleAccountCreate() throws RateLimitException, @Test public void testSettleAccountRetrieve() throws RateLimitException, APIException, ChannelException, InvalidRequestException, APIConnectionException, AuthenticationException { - String userId = "test_user_001"; - String settleAccountId = "320117082311291100001002"; // 结算账户对象 ID + String userId = "U2019053010510001"; + Map params = new HashMap<>(); + params.put("page", 1); + params.put("per_page", 3); + SettleAccountCollection list = SettleAccount.list(userId, params); + if (list.getData().size() > 0) { + String settleAccountId = list.getData().get(0).getId(); // 结算账户对象 ID - SettleAccount obj = SettleAccount.retrieve(userId, settleAccountId); // 查询结算账户方法 + SettleAccount obj = SettleAccount.retrieve(userId, settleAccountId); // 查询结算账户方法 - assertEquals("object should be settle_account", "settle_account", obj.getObject()); - assertEquals("id should be same", settleAccountId, obj.getId()); + assertEquals("object should be settle_account", "settle_account", obj.getObject()); + assertEquals("id should be same", settleAccountId, obj.getId()); + } else { + System.out.println("结算账户列表为空"); + } } /** @@ -61,13 +77,14 @@ public void testSettleAccountCreate() throws RateLimitException, @Test public void testSettleAccountList() throws RateLimitException, APIException, ChannelException, InvalidRequestException, APIConnectionException, AuthenticationException { - String userId = "test_user_001"; + String userId = "U2019053010510001"; Map params = new HashMap<>(); params.put("page", 1); params.put("per_page", 3); - SettleAccountCollection obj = SettleAccount.list(userId, params); // 查询结算账户列表方法 userId:必传 params:可选 + SettleAccountCollection list = SettleAccount.list(userId, params); // 查询结算账户列表方法 userId:必传 params:可选 - assertEquals("object should be list", "list", obj.getObject()); + System.out.println(list); + assertEquals("object should be list", "list", list.getObject()); } /** @@ -76,12 +93,20 @@ public void testSettleAccountCreate() throws RateLimitException, @Test public void testSettleAccountDelete() throws RateLimitException, APIException, ChannelException, InvalidRequestException, APIConnectionException, AuthenticationException { - String userId = "test_user_001"; - String settleAccountId = "320117082311291100001002"; // 结算账户对象 ID + String userId = "U2019053010510001"; + Map params = new HashMap<>(); + params.put("page", 1); + params.put("per_page", 3); + SettleAccountCollection list = SettleAccount.list(userId, params); + if (list.getData().size() > 0) { + String settleAccountId = list.getData().get(0).getId(); // 结算账户对象 ID - DeletedSettleAccount obj = SettleAccount.delete(userId, settleAccountId); // 删除结算账户方法 + DeletedSettleAccount deleted = SettleAccount.delete(userId, settleAccountId); // 删除结算账户方法 - assertTrue("deleted should be true", obj.getDeleted()); - assertEquals("id should be same", settleAccountId, obj.getId()); + assertTrue("deleted should be true", deleted.getDeleted()); + assertEquals("id should be same", settleAccountId, deleted.getId()); + } else { + System.out.println("结算账户列表为空"); + } } } From fd49924a0fad3bc3a08bfe0a94e1864c379c4133 Mon Sep 17 00:00:00 2001 From: afon Date: Thu, 30 May 2019 14:54:59 +0800 Subject: [PATCH 066/104] version 2.3.10 --- README.md | 11 +++++++++-- VERSION | 2 +- example/.classpath | 2 +- src/test/java/com/pingplusplus/PingppTest.java | 2 +- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index ca7d4eb..6fc3012 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Ping++ Java SDK ## 简介 + 1. [docs](/docs) 目录下为 Ping++ Java SDK 的使用文档。 2. example 目录下面为一个 Eclipse IDE 的示例工程。 3. libs 为 Ping++ Java SDK 的 jar 包和 Ping++ Java SDK 所依赖的Gson 包。 @@ -11,12 +12,15 @@ Java SDK 要求 JDK 版本 1.7 及以上 ## 安装 + #### 手动安装 + 将 libs/ 下面的 jar 包导入工程 #### maven 安装 maven 远程仓库 + ``` xml @@ -33,7 +37,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.3.9 + 2.3.10 jar ``` @@ -51,15 +55,18 @@ repositories { ``` 安装 Ping++ SDK + ``` -compile 'Pingplusplus:pingpp-java:2.3.9' +compile 'Pingplusplus:pingpp-java:2.3.10' ``` ### 初始化 + ``` Pingpp.apiKey = "YOUR_API_KEY"; ``` ### 使用示例 + - 参考 [example](/example) 示例项目工程。该工程提供了付款、退款、微信公共号付款相关的 demo。 - 以及 [test](/src/test/java/com/pingplusplus) 目录下的示例。 diff --git a/VERSION b/VERSION index 5aa7c52..9fa5f12 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.3.9 +2.3.10 diff --git a/example/.classpath b/example/.classpath index 45b0c68..0b72ca4 100644 --- a/example/.classpath +++ b/example/.classpath @@ -1,7 +1,7 @@ - + diff --git a/src/test/java/com/pingplusplus/PingppTest.java b/src/test/java/com/pingplusplus/PingppTest.java index 709ab0d..086bfd5 100644 --- a/src/test/java/com/pingplusplus/PingppTest.java +++ b/src/test/java/com/pingplusplus/PingppTest.java @@ -30,7 +30,7 @@ public class PingppTest { } @Test public void testVerifyVersions() { - assertEquals("Pingpp.VERSION should match", "2.3.9", Pingpp.VERSION); + assertEquals("Pingpp.VERSION should match", "2.3.10", Pingpp.VERSION); } @Test public void testCreateCharge() { From f756af46d29d677e7a5702698ad3761e816671f0 Mon Sep 17 00:00:00 2001 From: afon Date: Wed, 19 Jun 2019 16:15:30 +0800 Subject: [PATCH 067/104] 2.3.11 --- .gitignore | 2 + CHANGELOG.md | 6 + pom.xml | 2 +- src/main/java/com/pingplusplus/Pingpp.java | 2 +- .../com/pingplusplus/model/BatchTransfer.java | 1 - .../model/DeletedSplitReceiver.java | 4 + .../pingplusplus/model/ProfitTransaction.java | 210 ++++++++++++++ .../model/ProfitTransactionCollection.java | 4 + .../com/pingplusplus/model/SplitProfit.java | 256 +++++++++++++++++ .../model/SplitProfitCollection.java | 4 + .../model/SplitProfitRecipient.java | 70 +++++ .../com/pingplusplus/model/SplitReceiver.java | 257 ++++++++++++++++++ .../model/SplitReceiverCollection.java | 4 + .../java/com/pingplusplus/model/SubBank.java | 90 ++++++ .../pingplusplus/model/SubBankCollection.java | 4 + .../com/pingplusplus/net/APIResource.java | 12 +- .../com/pingplusplus/util/WxpubOAuth.java | 5 +- .../java/com/pingplusplus/SubBankTest.java | 38 +++ .../split/ProfitTransactionTest.java | 39 +++ .../pingplusplus/split/SplitProfitTest.java | 61 +++++ .../pingplusplus/split/SplitReceiverTest.java | 64 +++++ 21 files changed, 1127 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/pingplusplus/model/DeletedSplitReceiver.java create mode 100644 src/main/java/com/pingplusplus/model/ProfitTransaction.java create mode 100644 src/main/java/com/pingplusplus/model/ProfitTransactionCollection.java create mode 100644 src/main/java/com/pingplusplus/model/SplitProfit.java create mode 100644 src/main/java/com/pingplusplus/model/SplitProfitCollection.java create mode 100644 src/main/java/com/pingplusplus/model/SplitProfitRecipient.java create mode 100644 src/main/java/com/pingplusplus/model/SplitReceiver.java create mode 100644 src/main/java/com/pingplusplus/model/SplitReceiverCollection.java create mode 100644 src/main/java/com/pingplusplus/model/SubBank.java create mode 100644 src/main/java/com/pingplusplus/model/SubBankCollection.java create mode 100644 src/test/java/com/pingplusplus/SubBankTest.java create mode 100644 src/test/java/com/pingplusplus/split/ProfitTransactionTest.java create mode 100644 src/test/java/com/pingplusplus/split/SplitProfitTest.java create mode 100644 src/test/java/com/pingplusplus/split/SplitReceiverTest.java diff --git a/.gitignore b/.gitignore index d4c2ca5..6e48406 100644 --- a/.gitignore +++ b/.gitignore @@ -58,3 +58,5 @@ org.eclipse.buildship.core.prefs org.eclipse.jdt.core.prefs .project example/out +.vscode +.classpath diff --git a/CHANGELOG.md b/CHANGELOG.md index 088d865..58a2620 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # ChangeLog +## 2.3.11 + +- 新增:SplitProfit、SplitReceiver、ProfitTransaction、SubBank 相关接口 + +--- + ## 2.3.10 (2019-05-30) #### 修改 diff --git a/pom.xml b/pom.xml index e41493d..61cfe48 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 Pingplusplus pingpp-java - 2.3.10 + 2.3.11 com.google.code.gson diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index a0b632d..eb584c3 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,7 +11,7 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.3.10"; + public static final String VERSION = "2.3.11"; /** * api key */ diff --git a/src/main/java/com/pingplusplus/model/BatchTransfer.java b/src/main/java/com/pingplusplus/model/BatchTransfer.java index 7537790..61bcb3a 100644 --- a/src/main/java/com/pingplusplus/model/BatchTransfer.java +++ b/src/main/java/com/pingplusplus/model/BatchTransfer.java @@ -3,7 +3,6 @@ import com.pingplusplus.exception.*; import com.pingplusplus.net.APIResource; -import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/pingplusplus/model/DeletedSplitReceiver.java b/src/main/java/com/pingplusplus/model/DeletedSplitReceiver.java new file mode 100644 index 0000000..bea8d75 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/DeletedSplitReceiver.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class DeletedSplitReceiver extends DeletedObjectBase { +} diff --git a/src/main/java/com/pingplusplus/model/ProfitTransaction.java b/src/main/java/com/pingplusplus/model/ProfitTransaction.java new file mode 100644 index 0000000..01987e7 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/ProfitTransaction.java @@ -0,0 +1,210 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; + +import java.util.Map; + +/** + * 分账明细 + */ +public class ProfitTransaction extends APIResource { + String id; + String object; + Boolean livemode; + String app; + Long created; + Integer amount; + String currency; + String name; + String status; + String description; + String splitReceiver; + String splitProfit; + Long timeFinished; + String failureMsg; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public String getApp() { + return app; + } + + public void setApp(String app) { + this.app = app; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + public String getCurrency() { + return currency; + } + + public void setCurrency(String currency) { + this.currency = currency; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getSplitReceiver() { + return splitReceiver; + } + + public void setSplitReceiver(String splitReceiver) { + this.splitReceiver = splitReceiver; + } + + public String getSplitProfit() { + return splitProfit; + } + + public void setSplitProfit(String splitProfit) { + this.splitProfit = splitProfit; + } + + public Long getTimeFinished() { + return timeFinished; + } + + public void setTimeFinished(Long timeFinished) { + this.timeFinished = timeFinished; + } + + public String getFailureMsg() { + return failureMsg; + } + + public void setFailureMsg(String failureMsg) { + this.failureMsg = failureMsg; + } + + /** + * 查询分账明细 + * + * @param id id + * @return ProfitTransaction + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + */ + public static ProfitTransaction retrieve(String id) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return retrieve(id, null); + } + + /** + * 查询分账明细 + * + * @param id id + * @param apiKey Ping++ ApiKey + * @return ProfitTransaction + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static ProfitTransaction retrieve(String id, String apiKey) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, instanceURL(ProfitTransaction.class, id), apiKey, null, ProfitTransaction.class); + } + + /** + * 查询分账明细列表 + * + * @param params 分页参数等 + * @return ProfitTransactionCollection + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + */ + public static ProfitTransactionCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return list(params, null); + } + + /** + * 查询分账明细列表 + * + * @param apiKey Ping++ APiKey + * @param params 分页参数等 + * @return ProfitTransactionCollection + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static ProfitTransactionCollection list(Map params, String apiKey) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, classURL(ProfitTransaction.class), apiKey, params, ProfitTransactionCollection.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/ProfitTransactionCollection.java b/src/main/java/com/pingplusplus/model/ProfitTransactionCollection.java new file mode 100644 index 0000000..07a2f59 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/ProfitTransactionCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class ProfitTransactionCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/SplitProfit.java b/src/main/java/com/pingplusplus/model/SplitProfit.java new file mode 100644 index 0000000..6ed5c10 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/SplitProfit.java @@ -0,0 +1,256 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; + +import java.util.List; +import java.util.Map; + +/** + * 分账 + */ +public class SplitProfit extends APIResource { + String id; + String object; + Boolean livemode; + String app; + Long created; + String charge; + String channel; + String type; + String orderNo; + String transactionNo; + String failureCode; + String failureMsg; + List recipients; + Map extra; + Map metadata; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public String getApp() { + return app; + } + + public void setApp(String app) { + this.app = app; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public String getCharge() { + return charge; + } + + public void setCharge(String charge) { + this.charge = charge; + } + + public String getChannel() { + return channel; + } + + public void setChannel(String channel) { + this.channel = channel; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getOrderNo() { + return orderNo; + } + + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } + + public String getTransactionNo() { + return transactionNo; + } + + public void setTransactionNo(String transactionNo) { + this.transactionNo = transactionNo; + } + + public String getFailureCode() { + return failureCode; + } + + public void setFailureCode(String failureCode) { + this.failureCode = failureCode; + } + + public String getFailureMsg() { + return failureMsg; + } + + public void setFailureMsg(String failureMsg) { + this.failureMsg = failureMsg; + } + + public List getRecipients() { + return recipients; + } + + public void setRecipients(List recipients) { + this.recipients = recipients; + } + + public Map getExtra() { + return extra; + } + + public void setExtra(Map extra) { + this.extra = extra; + } + + public Map getMetadata() { + return metadata; + } + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + /** + * 创建分账 + * + * @param params 参数 + * @return SplitProfit + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + */ + public static SplitProfit create(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return create(params, null); + } + + /** + * 创建分账 + * + * @param params 参数 + * @param apiKey Ping++ APiKey + * @return SplitProfit + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static SplitProfit create(Map params, String apiKey) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, classURL(SplitProfit.class), apiKey, params, SplitProfit.class); + } + + /** + * 查询分账 + * + * @param id id + * @return SplitProfit + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + */ + public static SplitProfit retrieve(String id) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return retrieve(id, null); + } + + /** + * 查询分账 + * + * @param id id + * @param apiKey Ping++ ApiKey + * @return SplitProfit + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static SplitProfit retrieve(String id, String apiKey) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, instanceURL(SplitProfit.class, id), apiKey, null, SplitProfit.class); + } + + /** + * 查询分账列表 + * + * @param params 分页参数等 + * @return SplitProfitCollection + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + */ + public static SplitProfitCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return list(params, null); + } + + /** + * 查询分账列表 + * + * @param apiKey Ping++ APiKey + * @param params 分页参数等 + * @return SplitProfitCollection + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static SplitProfitCollection list(Map params, String apiKey) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, classURL(SplitProfit.class), apiKey, params, SplitProfitCollection.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/SplitProfitCollection.java b/src/main/java/com/pingplusplus/model/SplitProfitCollection.java new file mode 100644 index 0000000..d7749aa --- /dev/null +++ b/src/main/java/com/pingplusplus/model/SplitProfitCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class SplitProfitCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/SplitProfitRecipient.java b/src/main/java/com/pingplusplus/model/SplitProfitRecipient.java new file mode 100644 index 0000000..21fcffd --- /dev/null +++ b/src/main/java/com/pingplusplus/model/SplitProfitRecipient.java @@ -0,0 +1,70 @@ +package com.pingplusplus.model; + +/** + * 分账的接收方数据 + */ +public class SplitProfitRecipient extends PingppObject { + String splitReceiver; + Integer amount; + String name; + String description; + String status; + String currency; + Long timeFinished; + + public String getSplitReceiver() { + return splitReceiver; + } + + public void setSplitReceiver(String splitReceiver) { + this.splitReceiver = splitReceiver; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getCurrency() { + return currency; + } + + public void setCurrency(String currency) { + this.currency = currency; + } + + public Long getTimeFinished() { + return timeFinished; + } + + public void setTimeFinished(Long timeFinished) { + this.timeFinished = timeFinished; + } +} diff --git a/src/main/java/com/pingplusplus/model/SplitReceiver.java b/src/main/java/com/pingplusplus/model/SplitReceiver.java new file mode 100644 index 0000000..c07e04e --- /dev/null +++ b/src/main/java/com/pingplusplus/model/SplitReceiver.java @@ -0,0 +1,257 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; + +import java.util.HashMap; +import java.util.Map; + +/** + * 分账接收方 + */ +public class SplitReceiver extends APIResource { + String id; + String object; + Boolean livemode; + String app; + Long created; + String channel; + String type; + String account; + String name; + Map extra; + Map metadata; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public String getApp() { + return app; + } + + public void setApp(String app) { + this.app = app; + } + + public Long getCreated() { + return created; + } + + public void setCreated(Long created) { + this.created = created; + } + + public String getChannel() { + return channel; + } + + public void setChannel(String channel) { + this.channel = channel; + } + + public Map getExtra() { + return extra; + } + + public void setExtra(Map extra) { + this.extra = extra; + } + + public Map getMetadata() { + return metadata; + } + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * 创建分账接收方 + * + * @param params 参数 + * @return SplitReceiver + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + */ + public static SplitReceiver create(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return create(params, null); + } + + /** + * 创建分账接收方 + * + * @param params 参数 + * @param apiKey Ping++ APiKey + * @return SplitReceiver + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static SplitReceiver create(Map params, String apiKey) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, classURL(SplitReceiver.class), apiKey, params, SplitReceiver.class); + } + + /** + * 查询分账接收方 + * + * @param id id + * @return SplitReceiver + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + */ + public static SplitReceiver retrieve(String id) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return retrieve(id, null); + } + + /** + * 查询分账接收方 + * + * @param id id + * @param apiKey Ping++ ApiKey + * @return SplitReceiver + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static SplitReceiver retrieve(String id, String apiKey) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, instanceURL(SplitReceiver.class, id), apiKey, null, SplitReceiver.class); + } + + /** + * 查询分账接收方列表 + * + * @param params 分页参数等 + * @return SplitReceiverCollection + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + */ + public static SplitReceiverCollection list(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return list(params, null); + } + + /** + * 查询分账接收方列表 + * + * @param apiKey Ping++ APiKey + * @param params 分页参数等 + * @return SplitReceiverCollection + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static SplitReceiverCollection list(Map params, String apiKey) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, classURL(SplitReceiver.class), apiKey, params, SplitReceiverCollection.class); + } + + /** + * 删除分账接收方 + * + * @param id id + * @return DeletedSplitReceiver + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static DeletedSplitReceiver delete(String id) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return delete(id, null); + } + + /** + * 删除分账接收方 + * + * @param id id + * @param apiKey Ping++ ApiKey + * @return DeletedSplitReceiver + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static DeletedSplitReceiver delete(String id, String apiKey) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.DELETE, instanceURL(SplitReceiver.class, id), apiKey, null, DeletedSplitReceiver.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/SplitReceiverCollection.java b/src/main/java/com/pingplusplus/model/SplitReceiverCollection.java new file mode 100644 index 0000000..f07cdd8 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/SplitReceiverCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class SplitReceiverCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/model/SubBank.java b/src/main/java/com/pingplusplus/model/SubBank.java new file mode 100644 index 0000000..b2a36d2 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/SubBank.java @@ -0,0 +1,90 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.APIResource; + +import java.util.Map; + +public class SubBank extends APIResource { + String object; + String subBank; + String subBankCode; + String prov; + String city; + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public String getSubBank() { + return subBank; + } + + public void setSubBank(String subBank) { + this.subBank = subBank; + } + + public String getSubBankCode() { + return subBankCode; + } + + public void setSubBankCode(String subBankCode) { + this.subBankCode = subBankCode; + } + + public String getProv() { + return prov; + } + + public void setProv(String prov) { + this.prov = prov; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + /** + * 银行支行列表查询 + * + * @param params 银行编号和省市信息 + * @return SubBankCollection + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + */ + public static SubBankCollection query(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return query(params, null); + } + + /** + * 银行支行列表查询 + * + * @param params 银行编号和省市信息 + * @param apiKey Ping++ ApiKey + * @return SubBankCollection + * @throws AuthenticationException + * @throws InvalidRequestException + * @throws APIConnectionException + * @throws APIException + * @throws ChannelException + * @throws RateLimitException + */ + public static SubBankCollection query(Map params, String apiKey) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.GET, classURL(SubBank.class), apiKey, params, SubBankCollection.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/SubBankCollection.java b/src/main/java/com/pingplusplus/model/SubBankCollection.java new file mode 100644 index 0000000..dd410ce --- /dev/null +++ b/src/main/java/com/pingplusplus/model/SubBankCollection.java @@ -0,0 +1,4 @@ +package com.pingplusplus.model; + +public class SubBankCollection extends PingppCollection { +} diff --git a/src/main/java/com/pingplusplus/net/APIResource.java b/src/main/java/com/pingplusplus/net/APIResource.java index cc5c763..bea54d4 100644 --- a/src/main/java/com/pingplusplus/net/APIResource.java +++ b/src/main/java/com/pingplusplus/net/APIResource.java @@ -123,6 +123,14 @@ protected static String className(Class clazz) { return "royalty_template"; case "balancesettlement": return "balance_settlement"; + case "subbank": + return "sub_bank"; + case "splitreceiver": + return "split_receiver"; + case "splitprofit": + return "split_profit"; + case "profittransaction": + return "profit_transaction"; default: return className; } @@ -604,7 +612,7 @@ private static PingppResponse makeURLConnectionRequest( * @param params * @param clazz * @param - * @return + * @return PingppObject * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException @@ -623,7 +631,7 @@ protected static T request(APIResource.RequestMethod method, String url, Map * @param params * @param clazz * @param - * @return + * @return PingppObject * @throws AuthenticationException * @throws InvalidRequestException * @throws APIConnectionException diff --git a/src/main/java/com/pingplusplus/util/WxpubOAuth.java b/src/main/java/com/pingplusplus/util/WxpubOAuth.java index 924cc09..ae1faff 100644 --- a/src/main/java/com/pingplusplus/util/WxpubOAuth.java +++ b/src/main/java/com/pingplusplus/util/WxpubOAuth.java @@ -2,7 +2,6 @@ import com.google.gson.*; import com.pingplusplus.exception.ChannelException; -import com.pingplusplus.model.Channel; import java.io.BufferedReader; import java.io.IOException; @@ -19,8 +18,8 @@ /** * 用于微信公众号OAuth2.0鉴权,用户授权后获取授权用户唯一标识openid - * WxpubOAuth中的方法都是可选的,开发者也可根据实际情况自行开发相关功能, - * 详细内容可参考 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842 + * WxpubOAuth中的方法都是可选的,开发者也可根据实际情况自行开发相关功能 + * 详细内容可参考微信官网文档 */ public class WxpubOAuth { diff --git a/src/test/java/com/pingplusplus/SubBankTest.java b/src/test/java/com/pingplusplus/SubBankTest.java new file mode 100644 index 0000000..0470429 --- /dev/null +++ b/src/test/java/com/pingplusplus/SubBankTest.java @@ -0,0 +1,38 @@ +package com.pingplusplus; + +import com.pingplusplus.exception.*; +import com.pingplusplus.model.SubBank; +import com.pingplusplus.model.SubBankCollection; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +public class SubBankTest extends PingppTestBase { + /** + * 银行支行列表查询 + */ + @Test public void testSubBankQuery() throws RateLimitException, APIException, + ChannelException, InvalidRequestException, APIConnectionException, + AuthenticationException { + Map params = new HashMap<>(); + params.put("app", PingppTestData.getAppID()); + params.put("open_bank_code", "0308"); // 银行开户行编号 + params.put("prov", "浙江省"); // 省份 + params.put("city", "宁波市"); // 城市 + params.put("channel", "chanpay"); // 相关 transfer 渠道 + + SubBankCollection obj = SubBank.query(params); + + System.out.println(obj); + + SubBank subBank = obj.getData().get(0); + + assertEquals("list", obj.getObject()); + assertEquals("sub_bank", subBank.getObject()); + assertEquals("浙江省", subBank.getProv()); + assertEquals("宁波市", subBank.getCity()); + } +} diff --git a/src/test/java/com/pingplusplus/split/ProfitTransactionTest.java b/src/test/java/com/pingplusplus/split/ProfitTransactionTest.java new file mode 100644 index 0000000..a7e535f --- /dev/null +++ b/src/test/java/com/pingplusplus/split/ProfitTransactionTest.java @@ -0,0 +1,39 @@ +package com.pingplusplus.split; + +import com.pingplusplus.PingppTestBase; +import com.pingplusplus.PingppTestData; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.ProfitTransaction; +import com.pingplusplus.model.ProfitTransactionCollection; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +public class ProfitTransactionTest extends PingppTestBase { + + @Test public void testListAll() throws RateLimitException, APIException, ChannelException, + InvalidRequestException, APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("app", PingppTestData.getAppID()); + params.put("page", 1); + params.put("per_page", 3); + ProfitTransactionCollection obj = ProfitTransaction.list(params); + + System.out.println(obj); + + assertEquals("list", obj.getObject()); + assertEquals("profit_transaction", obj.getData().get(0).getObject()); + } + + @Test public void testRetrieve() throws RateLimitException, APIException, ChannelException, + InvalidRequestException, APIConnectionException, AuthenticationException { + ProfitTransaction obj = ProfitTransaction.retrieve("ptxn_1m3xtoBMRqu2qC"); + + System.out.println(obj); + + assertEquals("profit_transaction", obj.getObject()); + } +} diff --git a/src/test/java/com/pingplusplus/split/SplitProfitTest.java b/src/test/java/com/pingplusplus/split/SplitProfitTest.java new file mode 100644 index 0000000..4796fc8 --- /dev/null +++ b/src/test/java/com/pingplusplus/split/SplitProfitTest.java @@ -0,0 +1,61 @@ +package com.pingplusplus.split; + +import com.pingplusplus.PingppTestBase; +import com.pingplusplus.PingppTestData; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.*; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +public class SplitProfitTest extends PingppTestBase { + @Test public void testCreate() throws RateLimitException, APIException, ChannelException, + InvalidRequestException, APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("app", PingppTestData.getAppID()); + params.put("charge", "ch_KiT4ePn9SyXDfvfPyDevn1G0"); // 交易成功的 Ping++ Charge ID + params.put("order_no", "2019" + System.currentTimeMillis()); // 分账单号,由商家自行生成,规则参照微信分账参数规则 + params.put("type", "split_normal"); // 分账类型: split_normal 为普通分账, split_return 为完结分账 + List> recipients = new ArrayList<>(); + Map recipient = new HashMap<>(); + recipient.put("split_receiver", "recv_1fRc57XpIehmFI"); + recipient.put("amount", 6); + recipient.put("name", "示例商户全称"); // 可选参数 + recipient.put("description", "Your Description"); + recipients.add(recipient); + params.put("recipients", recipients); + SplitProfit obj = SplitProfit.create(params); + + System.out.println(obj); + + assertEquals("split_profit", obj.getObject()); + } + + @Test public void testListAll() throws RateLimitException, APIException, ChannelException, + InvalidRequestException, APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("app", PingppTestData.getAppID()); + params.put("page", 1); + params.put("per_page", 3); + SplitProfitCollection obj = SplitProfit.list(params); + + System.out.println(obj); + + assertEquals("list", obj.getObject()); + assertEquals("split_profit", obj.getData().get(0).getObject()); + } + + @Test public void testRetrieve() throws RateLimitException, APIException, ChannelException, + InvalidRequestException, APIConnectionException, AuthenticationException { + SplitProfit obj = SplitProfit.retrieve("sp_1iXmM0w3VaE77Y"); + + System.out.println(obj); + + assertEquals("split_profit", obj.getObject()); + } +} diff --git a/src/test/java/com/pingplusplus/split/SplitReceiverTest.java b/src/test/java/com/pingplusplus/split/SplitReceiverTest.java new file mode 100644 index 0000000..6104e15 --- /dev/null +++ b/src/test/java/com/pingplusplus/split/SplitReceiverTest.java @@ -0,0 +1,64 @@ +package com.pingplusplus.split; + +import com.pingplusplus.PingppTestBase; +import com.pingplusplus.PingppTestData; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.DeletedSplitReceiver; +import com.pingplusplus.model.SplitReceiver; +import com.pingplusplus.model.SplitReceiverCollection; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +public class SplitReceiverTest extends PingppTestBase { + @Test public void testCreate() throws RateLimitException, APIException, ChannelException, + InvalidRequestException, APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("app", PingppTestData.getAppID()); + params.put("type", "MERCHANT_ID"); // 分账接收方类型 + params.put("name", "示例商户全称"); // 分账接收方全称 + params.put("account", "190001001"); // 分账接收方帐号 + params.put("channel", "wx_pub"); // 创建分账接收方使用的渠道(参数) + SplitReceiver obj = SplitReceiver.create(params); + + System.out.println(obj); + + assertEquals("split_receiver", obj.getObject()); + } + + @Test public void testListAll() throws RateLimitException, APIException, ChannelException, + InvalidRequestException, APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("app", PingppTestData.getAppID()); + params.put("page", 1); + params.put("per_page", 3); + SplitReceiverCollection obj = SplitReceiver.list(params); + + System.out.println(obj); + + assertEquals("list", obj.getObject()); + assertEquals("split_receiver", obj.getData().get(0).getObject()); + } + + @Test public void testRetrieve() throws RateLimitException, APIException, ChannelException, + InvalidRequestException, APIConnectionException, AuthenticationException { + SplitReceiver obj = SplitReceiver.retrieve("recv_1fRc57XpIehmFI"); + + System.out.println(obj); + + assertEquals("split_receiver", obj.getObject()); + } + + @Test public void testDelete() throws RateLimitException, APIException, ChannelException, + InvalidRequestException, APIConnectionException, AuthenticationException { + DeletedSplitReceiver obj = SplitReceiver.delete("recv_1fRc57XpIehmFI"); + + System.out.println(obj); + + assertEquals(true, obj.getDeleted()); + assertEquals("recv_1fRc57XpIehmFI", obj.getId()); + } +} From fcd73d08103a682b1ede1390e36339c5a92eb965 Mon Sep 17 00:00:00 2001 From: afon Date: Wed, 19 Jun 2019 16:24:29 +0800 Subject: [PATCH 068/104] version 2.3.11 --- README.md | 5 +++-- VERSION | 2 +- ...java-2.3.10.jar => pingpp-java-2.3.11.jar} | Bin 134083 -> 143778 bytes .../java/com/pingplusplus/PingppTest.java | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) rename libs/{pingpp-java-2.3.10.jar => pingpp-java-2.3.11.jar} (69%) diff --git a/README.md b/README.md index 6fc3012..1c20395 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.3.10 + 2.3.11 jar ``` @@ -57,7 +57,8 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.3.10' +compile 'Pingplusplus:pingpp-java:2.3.11 +' ``` ### 初始化 diff --git a/VERSION b/VERSION index 9fa5f12..f470771 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.3.10 +2.3.11 diff --git a/libs/pingpp-java-2.3.10.jar b/libs/pingpp-java-2.3.11.jar similarity index 69% rename from libs/pingpp-java-2.3.10.jar rename to libs/pingpp-java-2.3.11.jar index 604c19fbae19bd56ad667d016acbda16e3c2960d..5f613a0ed002a7021c452b9aeb23eb9c4e833d0f 100644 GIT binary patch delta 34068 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 Date: Wed, 19 Jun 2019 16:26:20 +0800 Subject: [PATCH 069/104] fix typo --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 1c20395..f1ebb7d 100644 --- a/README.md +++ b/README.md @@ -57,8 +57,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.3.11 -' +compile 'Pingplusplus:pingpp-java:2.3.11' ``` ### 初始化 From 3720c798c5c2fe88656a899b2ab884c0493ac9ab Mon Sep 17 00:00:00 2001 From: afon Date: Fri, 12 Jul 2019 21:00:20 +0800 Subject: [PATCH 070/104] =?UTF-8?q?=E5=A3=B9=E8=B4=A6=E9=80=9A=E6=9D=91?= =?UTF-8?q?=E5=AE=98=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=EF=BC=9BUser,=20SubApp=20=E5=A2=9E=E5=8A=A0=E8=A1=A5=E5=85=85?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=EF=BC=9BSubApp=20user=20=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E6=89=A9=E5=85=85=EF=BC=8C=E6=94=AF=E6=8C=81?= =?UTF-8?q?=20String=20=E5=92=8C=20User?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 10 ++ README.md | 4 +- VERSION | 2 +- src/main/java/com/pingplusplus/Pingpp.java | 2 +- .../java/com/pingplusplus/model/Contact.java | 82 ++++++++++++ .../com/pingplusplus/model/SettleAccount.java | 42 +++++++ .../model/SettleAccountRecipient.java | 36 ++++++ .../java/com/pingplusplus/model/SubApp.java | 37 +++++- .../java/com/pingplusplus/model/User.java | 36 ++++++ .../java/com/pingplusplus/model/UserPic.java | 118 ++++++++++++++++++ .../com/pingplusplus/net/APIResource.java | 5 + .../serializer/SubAppDeserializer.java | 32 +++++ .../settle_account/SettleAccountTest.java | 32 +++++ .../com/pingplusplus/sub_app/ContactTest.java | 42 +++++++ .../com/pingplusplus/user/UserPicTest.java | 38 ++++++ 15 files changed, 509 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/pingplusplus/model/Contact.java create mode 100644 src/main/java/com/pingplusplus/model/UserPic.java create mode 100644 src/main/java/com/pingplusplus/serializer/SubAppDeserializer.java create mode 100644 src/test/java/com/pingplusplus/sub_app/ContactTest.java create mode 100644 src/test/java/com/pingplusplus/user/UserPicTest.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 58a2620..b3b0fc1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # ChangeLog +## 2.3.12 + +- 新增:证件上传、添加联系人、结算账号更新手机号、结算账号验证打款相关接口 +- 修改:结算账号增加字段 +- 修改:**\*SubApp user 字段类型修改 String -> Object,兼容返回 user 对象而不是 ID 的情况** +- 修改:SubApp 增加 extra 字段 +- 修改:User 增加 identityInfo、extra 等字段 + +--- + ## 2.3.11 - 新增:SplitProfit、SplitReceiver、ProfitTransaction、SubBank 相关接口 diff --git a/README.md b/README.md index f1ebb7d..34f3b4a 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.3.11 + 2.3.12 jar ``` @@ -57,7 +57,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.3.11' +compile 'Pingplusplus:pingpp-java:2.3.12' ``` ### 初始化 diff --git a/VERSION b/VERSION index f470771..b001d23 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.3.11 +2.3.12 diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index eb584c3..d55a04a 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,7 +11,7 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.3.11"; + public static final String VERSION = "2.3.12"; /** * api key */ diff --git a/src/main/java/com/pingplusplus/model/Contact.java b/src/main/java/com/pingplusplus/model/Contact.java new file mode 100644 index 0000000..bdde423 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/Contact.java @@ -0,0 +1,82 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.AppBasedResource; + +import java.util.Map; + +public class Contact extends AppBasedResource { + String user; + Boolean livemode; + String accNo; + String contactNo; + + public String getUser() { + return user; + } + + public void setUser(String user) { + this.user = user; + } + + public String getAccNo() { + return accNo; + } + + public void setAccNo(String accNo) { + this.accNo = accNo; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public String getContactNo() { + return contactNo; + } + + public void setContactNo(String contactNo) { + this.contactNo = contactNo; + } + + /** + * 新增联系人 + * + * @param params 请求参数 + * @return Contact + * @throws AuthenticationException 认证异常 + * @throws InvalidRequestException 错误请求 + * @throws APIConnectionException 连接异常 + * @throws APIException 系统异常 + * @throws ChannelException 渠道异常 + * @throws RateLimitException 请求超限 + */ + public static Contact create(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return create(params, null); + } + + /** + * 新增联系人 + * + * @param params 请求参数 + * @param apiKey API key + * @return Contact + * @throws AuthenticationException 认证异常 + * @throws InvalidRequestException 错误请求 + * @throws APIConnectionException 连接异常 + * @throws APIException 系统异常 + * @throws ChannelException 渠道异常 + * @throws RateLimitException 请求超限 + */ + public static Contact create(Map params, String apiKey) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, singleClassURL(Contact.class), apiKey, params, Contact.class); + } +} diff --git a/src/main/java/com/pingplusplus/model/SettleAccount.java b/src/main/java/com/pingplusplus/model/SettleAccount.java index b4a4923..75b8ac3 100644 --- a/src/main/java/com/pingplusplus/model/SettleAccount.java +++ b/src/main/java/com/pingplusplus/model/SettleAccount.java @@ -141,4 +141,46 @@ public static DeletedSettleAccount delete(String userId, String id) User.checkUserId(userId); return request(APIResource.RequestMethod.DELETE, instanceURL(SettleAccount.class, userId, id), null, DeletedSettleAccount.class); } + + /** + * 更新银行手机号 + * + * @param userId 用户 ID + * @param id 结算账号 ID + * @param params 更新参数 + * @return SettleAccount + * @throws AuthenticationException 认证异常 + * @throws InvalidRequestException 错误请求 + * @throws APIConnectionException 连接异常 + * @throws APIException 系统异常 + * @throws ChannelException 渠道异常 + * @throws RateLimitException 请求超限 + */ + public static SettleAccount updateMobile(String userId, String id, Map params) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.PUT, String.format("%s/mobile", instanceURL(SettleAccount.class, userId, id)), + params, SettleAccount.class); + } + + /** + * 打款验证 + * + * @param userId 用户 ID + * @param id 结算账号 ID + * @param params 参数 + * @return SettleAccount + * @throws AuthenticationException 认证异常 + * @throws InvalidRequestException 错误请求 + * @throws APIConnectionException 连接异常 + * @throws APIException 系统异常 + * @throws ChannelException 渠道异常 + * @throws RateLimitException 请求超限 + */ + public static SettleAccount verify(String userId, String id, Map params) throws AuthenticationException, + InvalidRequestException, APIConnectionException, + APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, String.format("%s/verify", instanceURL(SettleAccount.class, userId, id)), + params, SettleAccount.class); + } } diff --git a/src/main/java/com/pingplusplus/model/SettleAccountRecipient.java b/src/main/java/com/pingplusplus/model/SettleAccountRecipient.java index b54c785..6e05e3e 100644 --- a/src/main/java/com/pingplusplus/model/SettleAccountRecipient.java +++ b/src/main/java/com/pingplusplus/model/SettleAccountRecipient.java @@ -16,6 +16,10 @@ public class SettleAccountRecipient extends PingppObject { String city; String subBank; String subBankCode; + String mobile; + String useof; + String senderCardNumber; + String senderSubBankCode; public String getAccount() { return account; @@ -112,4 +116,36 @@ public String getSubBankCode() { public void setSubBankCode(String subBankCode) { this.subBankCode = subBankCode; } + + public String getMobile() { + return mobile; + } + + public void setMobile(String mobile) { + this.mobile = mobile; + } + + public String getUseof() { + return useof; + } + + public void setUseof(String useof) { + this.useof = useof; + } + + public String getSenderCardNumber() { + return senderCardNumber; + } + + public void setSenderCardNumber(String senderCardNumber) { + this.senderCardNumber = senderCardNumber; + } + + public String getSenderSubBankCode() { + return senderSubBankCode; + } + + public void setSenderSubBankCode(String senderSubBankCode) { + this.senderSubBankCode = senderSubBankCode; + } } diff --git a/src/main/java/com/pingplusplus/model/SubApp.java b/src/main/java/com/pingplusplus/model/SubApp.java index 8f5ee15..c285335 100644 --- a/src/main/java/com/pingplusplus/model/SubApp.java +++ b/src/main/java/com/pingplusplus/model/SubApp.java @@ -15,11 +15,11 @@ public class SubApp extends AppBasedResource { String description; String displayName; List availableMethods; - String user; + Object user; Integer level; String parentApp; Map metadata; - + Map extra; public String getId() { return id; @@ -77,11 +77,11 @@ public void setAvailableMethods(List availableMethods) { this.availableMethods = availableMethods; } - public String getUser() { + public Object getUser() { return user; } - public void setUser(String user) { + public void setUser(Object user) { this.user = user; } @@ -109,6 +109,14 @@ public void setParentApp(String parentApp) { this.parentApp = parentApp; } + public Map getExtra() { + return extra; + } + + public void setExtra(Map extra) { + this.extra = extra; + } + /** * 创建 sub_app * @@ -142,7 +150,26 @@ public static SubApp create(Mapparams) public static SubApp retrieve(String id) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { - return request(APIResource.RequestMethod.GET, instanceURL(SubApp.class, id), null, SubApp.class); + return retrieve(id, null); + } + + /** + * 查询 sub_app + * + * @param id SubApp ID + * @param params 参数 + * @return SubApp + * @throws AuthenticationException 认证异常 + * @throws InvalidRequestException 错误请求 + * @throws APIConnectionException 连接异常 + * @throws APIException 系统异常 + * @throws ChannelException 渠道异常 + * @throws RateLimitException 请求超限 + */ + public static SubApp retrieve(String id, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.GET, instanceURL(SubApp.class, id), params, SubApp.class); } /** diff --git a/src/main/java/com/pingplusplus/model/User.java b/src/main/java/com/pingplusplus/model/User.java index c8b68c9..43e3c97 100644 --- a/src/main/java/com/pingplusplus/model/User.java +++ b/src/main/java/com/pingplusplus/model/User.java @@ -28,6 +28,10 @@ public class User extends AppBasedResource { List settleAccounts; String type; Long withdrawableBalance; + Map identityInfo; + Map extra; + Long totalBalance; + String parentUserId; public String getId() { return id; @@ -189,6 +193,38 @@ public void setType(String type) { this.type = type; } + public Map getIdentityInfo() { + return identityInfo; + } + + public void setIdentityInfo(Map identityInfo) { + this.identityInfo = identityInfo; + } + + public Map getExtra() { + return extra; + } + + public void setExtra(Map extra) { + this.extra = extra; + } + + public Long getTotalBalance() { + return totalBalance; + } + + public void setTotalBalance(Long totalBalance) { + this.totalBalance = totalBalance; + } + + public String getParentUserId() { + return parentUserId; + } + + public void setParentUserId(String parentUserId) { + this.parentUserId = parentUserId; + } + /** * 创建 user * diff --git a/src/main/java/com/pingplusplus/model/UserPic.java b/src/main/java/com/pingplusplus/model/UserPic.java new file mode 100644 index 0000000..91efec6 --- /dev/null +++ b/src/main/java/com/pingplusplus/model/UserPic.java @@ -0,0 +1,118 @@ +package com.pingplusplus.model; + +import com.pingplusplus.exception.*; +import com.pingplusplus.net.AppBasedResource; + +import java.util.Map; + +public class UserPic extends AppBasedResource { + String user; + Boolean livemode; + String type; + String operateType; + String picFmt; + String picType; + String accNo; + String picExternalId; + + public String getUser() { + return user; + } + + public void setUser(String user) { + this.user = user; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getOperateType() { + return operateType; + } + + public void setOperateType(String operateType) { + this.operateType = operateType; + } + + public String getPicFmt() { + return picFmt; + } + + public void setPicFmt(String picFmt) { + this.picFmt = picFmt; + } + + public String getPicType() { + return picType; + } + + public void setPicType(String picType) { + this.picType = picType; + } + + public String getAccNo() { + return accNo; + } + + public void setAccNo(String accNo) { + this.accNo = accNo; + } + + public String getPicExternalId() { + return picExternalId; + } + + public void setPicExternalId(String picExternalId) { + this.picExternalId = picExternalId; + } + + /** + * 证件上传 + * + * @param params 请求参数 + * @return Contact + * @throws AuthenticationException 认证异常 + * @throws InvalidRequestException 错误请求 + * @throws APIConnectionException 连接异常 + * @throws APIException 系统异常 + * @throws ChannelException 渠道异常 + * @throws RateLimitException 请求超限 + */ + public static UserPic upload(Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return upload(params, null); + } + + /** + * 证件上传 + * + * @param params 请求参数 + * @param apiKey API key + * @return Contact + * @throws AuthenticationException 认证异常 + * @throws InvalidRequestException 错误请求 + * @throws APIConnectionException 连接异常 + * @throws APIException 系统异常 + * @throws ChannelException 渠道异常 + * @throws RateLimitException 请求超限 + */ + public static UserPic upload(Map params, String apiKey) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(RequestMethod.POST, singleClassURL(UserPic.class), apiKey, params, UserPic.class); + } +} diff --git a/src/main/java/com/pingplusplus/net/APIResource.java b/src/main/java/com/pingplusplus/net/APIResource.java index bea54d4..796e0c7 100644 --- a/src/main/java/com/pingplusplus/net/APIResource.java +++ b/src/main/java/com/pingplusplus/net/APIResource.java @@ -56,6 +56,7 @@ protected enum RequestMethod { .registerTypeAdapter(ChargeRefundCollection.class, new ChargeRefundCollectionDeserializer()) .registerTypeAdapter(EventData.class, new EventDataDeserializer()) .registerTypeAdapter(PingppRawJsonObject.class, new PingppRawJsonObjectDeserializer()) + .registerTypeAdapter(SubApp.class, new SubAppDeserializer()) .create(); public static Gson getGson() { @@ -131,6 +132,10 @@ protected static String className(Class clazz) { return "split_profit"; case "profittransaction": return "profit_transaction"; + case "userpic": + return "users/upload_pic"; + case "contact": + return "sub_apps/contact"; default: return className; } diff --git a/src/main/java/com/pingplusplus/serializer/SubAppDeserializer.java b/src/main/java/com/pingplusplus/serializer/SubAppDeserializer.java new file mode 100644 index 0000000..e3aa75a --- /dev/null +++ b/src/main/java/com/pingplusplus/serializer/SubAppDeserializer.java @@ -0,0 +1,32 @@ +package com.pingplusplus.serializer; + +import com.google.gson.*; +import com.pingplusplus.model.*; + +import java.lang.reflect.Type; + +/** + * Created by afon on 19/07/12. + */ +public class SubAppDeserializer implements JsonDeserializer { + + @Override + public SubApp deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException { + + JsonObject subAppJson = jsonElement.getAsJsonObject(); + + + Gson gson = new GsonBuilder() + .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) + .create(); + JsonElement userElement = subAppJson.get("user"); + SubApp subApp = gson.fromJson(jsonElement, SubApp.class); + + if (null != userElement && userElement.isJsonObject()) { + User user = gson.fromJson(userElement, User.class); + subApp.setUser(user); + } + + return subApp; + } +} diff --git a/src/test/java/com/pingplusplus/settle_account/SettleAccountTest.java b/src/test/java/com/pingplusplus/settle_account/SettleAccountTest.java index 159cff7..a73566a 100644 --- a/src/test/java/com/pingplusplus/settle_account/SettleAccountTest.java +++ b/src/test/java/com/pingplusplus/settle_account/SettleAccountTest.java @@ -109,4 +109,36 @@ public void testSettleAccountCreate() throws RateLimitException, System.out.println("结算账户列表为空"); } } + + /** + * 结算账户更新手机号(存管相关) + */ + @Test public void testSettleAccountUpdateMobile() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String userId = "U2019053010510001"; + String id = "320119071220443300000101"; + Map params = new HashMap<>(); + params.put("mobile", "13822334557"); + SettleAccount obj = SettleAccount.updateMobile(userId, id, params); + + assertEquals("object should be settle_account", "settle_account", obj.getObject()); + assertEquals("mobile should be updated", "138****4557", obj.getRecipient().getMobile()); + } + + /** + * 结算账号打款验证接口(存管相关) + */ + @Test public void testSettleAccountVerify() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String userId = "U2019053010510001"; + String id = "320119071220443300000101"; + Map params = new HashMap<>(); + params.put("receive_amount", 2); + SettleAccount obj = SettleAccount.verify(userId, id, params); + + assertEquals("object should be settle_account", "settle_account", obj.getObject()); + assertEquals("id", id, obj.getId()); + } } diff --git a/src/test/java/com/pingplusplus/sub_app/ContactTest.java b/src/test/java/com/pingplusplus/sub_app/ContactTest.java new file mode 100644 index 0000000..f3ec779 --- /dev/null +++ b/src/test/java/com/pingplusplus/sub_app/ContactTest.java @@ -0,0 +1,42 @@ +package com.pingplusplus.sub_app; + +import com.pingplusplus.PingppTestBase; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.Contact; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +/* + * @author Afon, @date 19-07-12 + */ +public class ContactTest extends PingppTestBase { + + /** + * 证件上传 + */ + @Test public void testAddContact() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap<>(); + params.put("user", "test_user_001"); // 用户 ID + params.put("acc_no", "2019057929311601000631"); // 壹账通用户编号。此编号可在证件上传接口的返回获得 + params.put("contact_type", 1); // 联系人类型,1:第一紧急联系人、2:第二紧急联系人、3:第三紧急联系人、4、法人、5、财务人员(4、5必传) + params.put("contact_name", "杨真探"); // 联系人名称 + params.put("contact_cert_type", "01"); // 证件类型:01:身份证、02:企业营业执照、03:护照、04:港澳通行证、05:台湾往来通行证、06:临时身份证 + params.put("contact_cert_no", "310181201402149201"); // 联系人证件号 + params.put("contact_cert_valid_from", "2019-01-01"); // 联系人证件起始日,格式:“2018-12-21” + params.put("contact_cert_valid_until", "2028-12-31"); // 联系人证件截止日,格式:“2019-12-21”,长期填写:“9999-12-31” + params.put("contact_cert_mobile", "13500127654"); // 联系人手机号 + params.put("contact_job_type", 1); // 联系人工作类型,1:企业主 2:个体工商户 3:全职上班 4:兼职 5: 学生 6:退休 7:无固定职业 8:其他 +// params.put("contact_relation_ship", 1); // 联系人与本人关系,1:父母 2:配偶 3:子女 4:兄弟 5:姐妹 6:其他亲属 7:朋友 8:同事 + + Contact obj = Contact.create(params); + + assertEquals("user should be same as param", params.get("user"), obj.getUser()); + assertEquals("acc_no should be same as param", params.get("acc_no"), obj.getAccNo()); + } +} diff --git a/src/test/java/com/pingplusplus/user/UserPicTest.java b/src/test/java/com/pingplusplus/user/UserPicTest.java new file mode 100644 index 0000000..a4f8cc3 --- /dev/null +++ b/src/test/java/com/pingplusplus/user/UserPicTest.java @@ -0,0 +1,38 @@ +package com.pingplusplus.user; + +import com.pingplusplus.PingppTestBase; +import com.pingplusplus.exception.*; +import com.pingplusplus.model.UserPic; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +/* + * @author Afon, @date 19-07-12 + */ +public class UserPicTest extends PingppTestBase { + + /** + * 证件上传 + */ + @Test public void testUploadPic() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap(); + params.put("user", "test_user_001"); // 用户 ID,首字母必须是英文数字或者 _-@, 必传 + params.put("type", "customer"); // 用户类型,customer: 对私,business: 对公 +// params.put("acc_no", "2019057929311601000631"); // 壹账通用户编号。覆盖的时候使用,新用户不需要该字段 + params.put("operate_type", "00"); // 操作类型,00: 新增,01: 修改,02: 增开户。不传默认为新增 + // 图片内容,base64 编码 + params.put("pic", "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"); + params.put("pic_fmt", "jpg"); // 图片格式。jpg, png + params.put("pic_type", "102"); // 图片类型,101: 个人身份证信息面,102: 个人身份证国徽面,201: 企业证件照片,202: 法人身份证信息面,203: 法人身份证国徽面 + + UserPic obj = UserPic.upload(params); + + assertEquals("user should be same as param", params.get("user"), obj.getUser()); + } +} From c656e884cbc851d0773ab70249943cbea5c8b487 Mon Sep 17 00:00:00 2001 From: afon Date: Thu, 18 Jul 2019 16:23:15 +0800 Subject: [PATCH 071/104] discount_amount added --- src/main/java/com/pingplusplus/model/Order.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/com/pingplusplus/model/Order.java b/src/main/java/com/pingplusplus/model/Order.java index 6311e14..ff258f1 100644 --- a/src/main/java/com/pingplusplus/model/Order.java +++ b/src/main/java/com/pingplusplus/model/Order.java @@ -39,6 +39,7 @@ public class Order extends APIResource { String receiptApp; String serviceApp; List availableMethods; + Integer discountAmount; public String getId() { return id; @@ -288,6 +289,14 @@ public void setCharge(String charge) { this.charge = charge; } + public Integer getDiscountAmount() { + return discountAmount; + } + + public void setDiscountAmount(Integer discountAmount) { + this.discountAmount = discountAmount; + } + /** * 创建 order * From c12e4b14ad4551c235c944d12fdfb1cd9dce5138 Mon Sep 17 00:00:00 2001 From: afon Date: Thu, 18 Jul 2019 16:40:31 +0800 Subject: [PATCH 072/104] version 2.3.12 --- libs/pingpp-java-2.3.11.jar | Bin 143778 -> 0 bytes libs/pingpp-java-2.3.12.jar | Bin 0 -> 148197 bytes pom.xml | 2 +- src/test/java/com/pingplusplus/PingppTest.java | 2 +- 4 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 libs/pingpp-java-2.3.11.jar create mode 100644 libs/pingpp-java-2.3.12.jar diff --git a/libs/pingpp-java-2.3.11.jar b/libs/pingpp-java-2.3.11.jar deleted file mode 100644 index 5f613a0ed002a7021c452b9aeb23eb9c4e833d0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143778 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.0.0 Pingplusplus pingpp-java - 2.3.11 + 2.3.12 com.google.code.gson diff --git a/src/test/java/com/pingplusplus/PingppTest.java b/src/test/java/com/pingplusplus/PingppTest.java index a50a1b9..2e8ca60 100644 --- a/src/test/java/com/pingplusplus/PingppTest.java +++ b/src/test/java/com/pingplusplus/PingppTest.java @@ -30,7 +30,7 @@ public class PingppTest { } @Test public void testVerifyVersions() { - assertEquals("Pingpp.VERSION should match", "2.3.11", Pingpp.VERSION); + assertEquals("Pingpp.VERSION should match", "2.3.12", Pingpp.VERSION); } @Test public void testCreateCharge() { From 759a5d296d8572817bcab94814ee9545f2050cb9 Mon Sep 17 00:00:00 2001 From: afon Date: Mon, 5 Aug 2019 16:16:03 +0800 Subject: [PATCH 073/104] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E8=B4=A6=E6=88=B7=E6=9B=B4=E6=96=B0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 6 ++++ README.md | 2 +- VERSION | 2 +- pom.xml | 2 +- src/main/java/com/pingplusplus/Pingpp.java | 2 +- .../com/pingplusplus/model/SettleAccount.java | 21 ++++++++++++++ .../java/com/pingplusplus/PingppTest.java | 2 +- .../settle_account/SettleAccountTest.java | 29 +++++++++++++++++++ 8 files changed, 61 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b3b0fc1..66cf12f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # ChangeLog +## 2.3.13 + +- 新增:结算账户更新接口 + +--- + ## 2.3.12 - 新增:证件上传、添加联系人、结算账号更新手机号、结算账号验证打款相关接口 diff --git a/README.md b/README.md index 34f3b4a..dcf7952 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.3.12' +compile 'Pingplusplus:pingpp-java:2.3.13' ``` ### 初始化 diff --git a/VERSION b/VERSION index b001d23..3a660ff 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.3.12 +2.3.13 diff --git a/pom.xml b/pom.xml index 2b320a1..32dd5a6 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 Pingplusplus pingpp-java - 2.3.12 + 2.3.13 com.google.code.gson diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index d55a04a..ac4084e 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,7 +11,7 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.3.12"; + public static final String VERSION = "2.3.13"; /** * api key */ diff --git a/src/main/java/com/pingplusplus/model/SettleAccount.java b/src/main/java/com/pingplusplus/model/SettleAccount.java index 75b8ac3..d60a571 100644 --- a/src/main/java/com/pingplusplus/model/SettleAccount.java +++ b/src/main/java/com/pingplusplus/model/SettleAccount.java @@ -142,6 +142,27 @@ public static DeletedSettleAccount delete(String userId, String id) return request(APIResource.RequestMethod.DELETE, instanceURL(SettleAccount.class, userId, id), null, DeletedSettleAccount.class); } + /** + * 更新 settle_account + * + * @param userId 用户 ID + * @param id 结算账户 ID + * @param params 更新数据 + * @return SettleAccount + * @throws AuthenticationException 认证异常 + * @throws InvalidRequestException 错误请求 + * @throws APIConnectionException 连接异常 + * @throws APIException 系统异常 + * @throws ChannelException 渠道异常 + * @throws RateLimitException 请求超限 + */ + public static SettleAccount update(String userId, String id, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + User.checkUserId(userId); + return request(APIResource.RequestMethod.PUT, instanceURL(SettleAccount.class, userId, id), params, SettleAccount.class); + } + /** * 更新银行手机号 * diff --git a/src/test/java/com/pingplusplus/PingppTest.java b/src/test/java/com/pingplusplus/PingppTest.java index 2e8ca60..a121691 100644 --- a/src/test/java/com/pingplusplus/PingppTest.java +++ b/src/test/java/com/pingplusplus/PingppTest.java @@ -30,7 +30,7 @@ public class PingppTest { } @Test public void testVerifyVersions() { - assertEquals("Pingpp.VERSION should match", "2.3.12", Pingpp.VERSION); + assertEquals("Pingpp.VERSION should match", "2.3.13", Pingpp.VERSION); } @Test public void testCreateCharge() { diff --git a/src/test/java/com/pingplusplus/settle_account/SettleAccountTest.java b/src/test/java/com/pingplusplus/settle_account/SettleAccountTest.java index a73566a..cfef596 100644 --- a/src/test/java/com/pingplusplus/settle_account/SettleAccountTest.java +++ b/src/test/java/com/pingplusplus/settle_account/SettleAccountTest.java @@ -110,6 +110,35 @@ public void testSettleAccountCreate() throws RateLimitException, } } + /** + * 结算账户更新(存管相关) + */ + @Test public void testSettleAccountUpdate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + String userId = "U2019053010510001"; + String id = "320119071220443300000101"; + Map params = new HashMap<>(); + Map recipient = new HashMap<>(); + recipient.put("account", "6214888888888865"); // 银行卡号。 + recipient.put("name", "张三"); // 接收者姓名。 + recipient.put("type", "b2c"); // 转账类型。b2c:企业向个人付款,b2b:企业向企业付款。 + recipient.put("open_bank_code", "0308"); // 开户银行编号 + recipient.put("open_bank", "工商银行"); + recipient.put("sub_bank", "招商银行股份有限公司上海陆家嘴支行"); + recipient.put("sub_bank_code", "308290003773"); + recipient.put("card_type", 0); // 银行卡号类型,0:银行卡;1:存折。 + recipient.put("mobile", "13822334557"); // 手机号 + recipient.put("city", "上海市"); + recipient.put("prov", "上海市"); + + params.put("recipient", recipient); + SettleAccount obj = SettleAccount.update(userId, id, params); + + assertEquals("object should be settle_account", "settle_account", obj.getObject()); + assertEquals("account should be updated", "621488***8865", obj.getRecipient().getAccount()); + } + /** * 结算账户更新手机号(存管相关) */ From 9737710c1628b9d909b8e9611575c160227e27d6 Mon Sep 17 00:00:00 2001 From: afon Date: Mon, 5 Aug 2019 16:30:56 +0800 Subject: [PATCH 074/104] 2.3.13 jar --- ...java-2.3.12.jar => pingpp-java-2.3.13.jar} | Bin 148197 -> 148228 bytes 1 file changed, 0 insertions(+), 0 deletions(-) rename libs/{pingpp-java-2.3.12.jar => pingpp-java-2.3.13.jar} (79%) diff --git a/libs/pingpp-java-2.3.12.jar b/libs/pingpp-java-2.3.13.jar similarity index 79% rename from libs/pingpp-java-2.3.12.jar rename to libs/pingpp-java-2.3.13.jar index 094da948f6061a05dd05487685de4f8ba94e3491..97f48bfa5a686d783944c078c0a9127fcaad0b45 100644 GIT binary patch delta 17700 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 LBuhM~A-MksVxyC? delta 17445 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 From 28aa8409424877f4522270a1e29eb0c35a2ab6d5 Mon Sep 17 00:00:00 2001 From: afon Date: Fri, 30 Aug 2019 14:02:28 +0800 Subject: [PATCH 075/104] =?UTF-8?q?settle=5Faccount.recipient=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=20extra=20=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 6 ++++++ README.md | 4 ++-- VERSION | 2 +- pom.xml | 2 +- src/main/java/com/pingplusplus/Pingpp.java | 2 +- .../pingplusplus/model/SettleAccountRecipient.java | 11 +++++++++++ src/test/java/com/pingplusplus/PingppTest.java | 2 +- 7 files changed, 23 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 66cf12f..a35b94e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # ChangeLog +## 2.3.14 + +- 新增:settle_account.recipient extra 字段 + +--- + ## 2.3.13 - 新增:结算账户更新接口 diff --git a/README.md b/README.md index dcf7952..6e2d358 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ maven 远程仓库 Pingplusplus pingpp-java - 2.3.12 + 2.3.14 jar ``` @@ -57,7 +57,7 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.3.13' +compile 'Pingplusplus:pingpp-java:2.3.14' ``` ### 初始化 diff --git a/VERSION b/VERSION index 3a660ff..0e80d41 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.3.13 +2.3.14 diff --git a/pom.xml b/pom.xml index 32dd5a6..69c82b3 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 Pingplusplus pingpp-java - 2.3.13 + 2.3.14 com.google.code.gson diff --git a/src/main/java/com/pingplusplus/Pingpp.java b/src/main/java/com/pingplusplus/Pingpp.java index ac4084e..b8fddad 100644 --- a/src/main/java/com/pingplusplus/Pingpp.java +++ b/src/main/java/com/pingplusplus/Pingpp.java @@ -11,7 +11,7 @@ public abstract class Pingpp { /** * version */ - public static final String VERSION = "2.3.13"; + public static final String VERSION = "2.3.14"; /** * api key */ diff --git a/src/main/java/com/pingplusplus/model/SettleAccountRecipient.java b/src/main/java/com/pingplusplus/model/SettleAccountRecipient.java index 6e05e3e..5cf0425 100644 --- a/src/main/java/com/pingplusplus/model/SettleAccountRecipient.java +++ b/src/main/java/com/pingplusplus/model/SettleAccountRecipient.java @@ -1,5 +1,7 @@ package com.pingplusplus.model; +import java.util.Map; + /** * Created by Afon on 17/03/27. */ @@ -20,6 +22,7 @@ public class SettleAccountRecipient extends PingppObject { String useof; String senderCardNumber; String senderSubBankCode; + Map extra; public String getAccount() { return account; @@ -148,4 +151,12 @@ public String getSenderSubBankCode() { public void setSenderSubBankCode(String senderSubBankCode) { this.senderSubBankCode = senderSubBankCode; } + + public Map getExtra() { + return extra; + } + + public void setExtra(Map extra) { + this.extra = extra; + } } diff --git a/src/test/java/com/pingplusplus/PingppTest.java b/src/test/java/com/pingplusplus/PingppTest.java index a121691..745d506 100644 --- a/src/test/java/com/pingplusplus/PingppTest.java +++ b/src/test/java/com/pingplusplus/PingppTest.java @@ -30,7 +30,7 @@ public class PingppTest { } @Test public void testVerifyVersions() { - assertEquals("Pingpp.VERSION should match", "2.3.13", Pingpp.VERSION); + assertEquals("Pingpp.VERSION should match", "2.3.14", Pingpp.VERSION); } @Test public void testCreateCharge() { From 2bcb7041c1a7a7ef93c501651ec6a070e130d2b9 Mon Sep 17 00:00:00 2001 From: afon Date: Wed, 4 Sep 2019 11:03:48 +0800 Subject: [PATCH 076/104] Royalty.createData() added --- CHANGELOG.md | 1 + ...java-2.3.13.jar => pingpp-java-2.3.14.jar} | Bin 148228 -> 149334 bytes .../java/com/pingplusplus/model/Royalty.java | 55 ++++++++++++++++-- .../pingplusplus/model/RoyaltyDataResult.java | 42 +++++++++++++ .../com/pingplusplus/order/RoyaltyTest.java | 31 +++++++++- 5 files changed, 121 insertions(+), 8 deletions(-) rename libs/{pingpp-java-2.3.13.jar => pingpp-java-2.3.14.jar} (85%) create mode 100644 src/main/java/com/pingplusplus/model/RoyaltyDataResult.java diff --git a/CHANGELOG.md b/CHANGELOG.md index a35b94e..f969a42 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## 2.3.14 - 新增:settle_account.recipient extra 字段 +- 新增:Royalty.createData() 方法 --- diff --git a/libs/pingpp-java-2.3.13.jar b/libs/pingpp-java-2.3.14.jar similarity index 85% rename from libs/pingpp-java-2.3.13.jar rename to libs/pingpp-java-2.3.14.jar index 97f48bfa5a686d783944c078c0a9127fcaad0b45..b15b13ef2663ee1a2d6f716a91f3119d04a32020 100644 GIT binary patch delta 9988 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 a6|rH^X9JL*;U?}T?mPUMafk!9iTgi8$~ag6 delta 9163 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 F{{X)(F(v>2 diff --git a/src/main/java/com/pingplusplus/model/Royalty.java b/src/main/java/com/pingplusplus/model/Royalty.java index 691a46a..1b85595 100644 --- a/src/main/java/com/pingplusplus/model/Royalty.java +++ b/src/main/java/com/pingplusplus/model/Royalty.java @@ -219,16 +219,59 @@ public static RoyaltyCollection list(Map params) * * @param params * @return RoyaltyCollection - * @throws AuthenticationException - * @throws InvalidRequestException - * @throws APIConnectionException - * @throws APIException - * @throws ChannelException - * @throws RateLimitException + * @throws AuthenticationException 认证异常 + * @throws InvalidRequestException 错误请求 + * @throws APIConnectionException 连接异常 + * @throws APIException 系统异常 + * @throws ChannelException 渠道异常 + * @throws RateLimitException 请求超限 */ public static RoyaltyCollection batchUpdate(Map params) throws AuthenticationException, InvalidRequestException, APIConnectionException, APIException, ChannelException, RateLimitException { return request(APIResource.RequestMethod.PUT, classURL(Royalty.class), params, RoyaltyCollection.class); } + + /** + * 创建分润 + * + * @param orderId 订单 ID + * @param params 分润信息参数 + * @return RoyaltyDataResult + * @throws AuthenticationException 认证异常 + * @throws InvalidRequestException 错误请求 + * @throws APIConnectionException 连接异常 + * @throws APIException 系统异常 + * @throws ChannelException 渠道异常 + * @throws RateLimitException 请求超限 + */ + public static RoyaltyDataResult createData(String orderId, Map params) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return createData(orderId, params, null); + } + + /** + * 创建分润 + * + * @param orderId 订单 ID + * @param params 分润信息参数 + * @param apiKey API Key + * @return RoyaltyDataResult + * @throws AuthenticationException 认证异常 + * @throws InvalidRequestException 错误请求 + * @throws APIConnectionException 连接异常 + * @throws APIException 系统异常 + * @throws ChannelException 渠道异常 + * @throws RateLimitException 请求超限 + */ + public static RoyaltyDataResult createData(String orderId, Map params, String apiKey) + throws AuthenticationException, InvalidRequestException, + APIConnectionException, APIException, ChannelException, RateLimitException { + return request(APIResource.RequestMethod.POST, + String.format("%s/royalty_datas", instanceURL(Order.class, orderId)), + apiKey, + params, + RoyaltyDataResult.class); + } } diff --git a/src/main/java/com/pingplusplus/model/RoyaltyDataResult.java b/src/main/java/com/pingplusplus/model/RoyaltyDataResult.java new file mode 100644 index 0000000..b6902ed --- /dev/null +++ b/src/main/java/com/pingplusplus/model/RoyaltyDataResult.java @@ -0,0 +1,42 @@ +package com.pingplusplus.model; + +import com.pingplusplus.net.APIResource; + +public class RoyaltyDataResult extends APIResource { + String app; + Boolean livemode; + String order; + Boolean succeeded; + + public String getApp() { + return app; + } + + public void setApp(String app) { + this.app = app; + } + + public Boolean getLivemode() { + return livemode; + } + + public void setLivemode(Boolean livemode) { + this.livemode = livemode; + } + + public String getOrder() { + return order; + } + + public void setOrder(String order) { + this.order = order; + } + + public Boolean getSucceeded() { + return succeeded; + } + + public void setSucceeded(Boolean succeeded) { + this.succeeded = succeeded; + } +} diff --git a/src/test/java/com/pingplusplus/order/RoyaltyTest.java b/src/test/java/com/pingplusplus/order/RoyaltyTest.java index 6ee058e..11df73e 100644 --- a/src/test/java/com/pingplusplus/order/RoyaltyTest.java +++ b/src/test/java/com/pingplusplus/order/RoyaltyTest.java @@ -1,9 +1,11 @@ package com.pingplusplus.order; import com.pingplusplus.PingppTestBase; +import com.pingplusplus.PingppTestData; import com.pingplusplus.exception.*; import com.pingplusplus.model.Royalty; import com.pingplusplus.model.RoyaltyCollection; +import com.pingplusplus.model.RoyaltyDataResult; import org.junit.Test; import java.util.ArrayList; @@ -12,6 +14,7 @@ import java.util.Map; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; public class RoyaltyTest extends PingppTestBase { /** @@ -56,12 +59,36 @@ public void testRoyaltyBatchUpdate() throws RateLimitException, Map params = new HashMap(); params.put("per_page", 3); // 可选 params.put("page", 1); // 可选 - params.put("royalty_settlement", null); // 可选 关联的分润结算 ID - params.put("royalty_transaction", null); // 可选 关联的分润结算明细 ID +// params.put("royalty_settlement", null); // 可选 关联的分润结算 ID +// params.put("royalty_transaction", null); // 可选 关联的分润结算明细 ID // 查询 royalty list 列表方法 // 参数: params RoyaltyCollection objs = Royalty.list(params); assertEquals("object should be list", "list", objs.getObject()); } + + /** + * 创建分润 + */ + @Test public void testRoyaltyDataCreate() throws RateLimitException, + APIException, ChannelException, InvalidRequestException, + APIConnectionException, AuthenticationException { + Map params = new HashMap(); + params.put("app", PingppTestData.getAppID()); // 必传 +// params.put("charge", ""); // 条件可选,对于已经成功的 order 必传该字段 + List> royaltyUsers = new ArrayList<>(); + Map user = new HashMap(); + user.put("user", "U201908030002"); + user.put("amount", 100); + royaltyUsers.add(user); + params.put("royalty_users", royaltyUsers); // 可选 分润的用户信息列表,默认为[],不分润。 + + String orderId = "2011909040000002881"; + RoyaltyDataResult result = Royalty.createData(orderId, params); + + assertTrue("succeeded", result.getSucceeded()); + assertEquals("app should be the same", PingppTestData.getAppID(), result.getApp()); + assertEquals("order ID should returned as the same", orderId, result.getOrder()); + } } From 786e2d41827d00d3a289e296fec19a30589d28fd Mon Sep 17 00:00:00 2001 From: afon Date: Fri, 27 Mar 2020 18:03:39 +0800 Subject: [PATCH 077/104] fix issue #28 --- src/main/java/com/pingplusplus/model/PingppObject.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/pingplusplus/model/PingppObject.java b/src/main/java/com/pingplusplus/model/PingppObject.java index 6f58a7b..72ec4d9 100644 --- a/src/main/java/com/pingplusplus/model/PingppObject.java +++ b/src/main/java/com/pingplusplus/model/PingppObject.java @@ -14,7 +14,7 @@ public abstract class PingppObject { .serializeNulls() .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) .disableHtmlEscaping() - .registerTypeAdapter(BatchTransferRecipientSerializer.class, new BatchTransferRecipientSerializer()) + .registerTypeAdapter(BatchTransferRecipient.class, new BatchTransferRecipientSerializer()) .registerTypeAdapter(BatchRefundCharges.class, new BatchRefundChargesSerializer()) .registerTypeAdapter(Double.class, new DoubleTypeSerializer()) .registerTypeAdapter(ChargeEssentials.class, new ChargeEssentialsSerializer()) From ad5fc6aea498cad7e60907fba3b9ff308a21dd61 Mon Sep 17 00:00:00 2001 From: Afon Date: Thu, 2 Apr 2020 20:25:44 +0800 Subject: [PATCH 078/104] Feature request options --- CHANGELOG.md | 14 + README.md | 31 +- VERSION | 2 +- build.gradle | 4 +- docs/update/2.3-to-2.4.md | 208 ++++++ .../pingxx/example/BatchTransferExample.java | 36 +- .../com/pingxx/example/ChargeExample.java | 35 +- .../com/pingxx/example/CustomsExample.java | 18 +- .../java/com/pingxx/example/EventExample.java | 12 +- .../pingxx/example/IdentificationExample.java | 31 +- .../pingxx/example/RedEnvelopeExample.java | 36 +- .../com/pingxx/example/RefundExample.java | 36 +- .../com/pingxx/example/TransferExample.java | 36 +- libs/pingpp-java-2.3.14.jar | Bin 149334 -> 0 bytes pom.xml | 2 +- src/main/java/com/pingplusplus/Pingpp.java | 102 ++- .../exception/APIConnectionException.java | 14 +- .../pingplusplus/exception/APIException.java | 9 +- .../exception/AuthenticationException.java | 12 +- .../exception/ChannelException.java | 23 +- .../exception/InvalidRequestException.java | 19 +- .../exception/PingppException.java | 51 +- .../exception/RateLimitException.java | 11 +- .../com/pingplusplus/model/Agreement.java | 108 +-- .../com/pingplusplus/model/BalanceBonus.java | 79 ++- .../pingplusplus/model/BalanceSettlement.java | 54 +- .../model/BalanceTransaction.java | 53 +- .../pingplusplus/model/BalanceTransfer.java | 78 +- .../com/pingplusplus/model/BatchRefund.java | 85 +-- .../com/pingplusplus/model/BatchTransfer.java | 112 +-- .../pingplusplus/model/BatchWithdrawal.java | 78 +- .../java/com/pingplusplus/model/CardInfo.java | 28 +- .../java/com/pingplusplus/model/Channel.java | 109 ++- .../java/com/pingplusplus/model/Charge.java | 175 ++--- .../model/ChargeRefundCollection.java | 38 +- .../java/com/pingplusplus/model/Contact.java | 30 +- .../java/com/pingplusplus/model/Coupon.java | 140 ++-- .../pingplusplus/model/CouponTemplate.java | 184 +++-- .../java/com/pingplusplus/model/Customs.java | 85 +-- .../java/com/pingplusplus/model/Event.java | 55 +- .../pingplusplus/model/Identification.java | 30 +- .../java/com/pingplusplus/model/Order.java | 291 +++++--- .../com/pingplusplus/model/OrderRefund.java | 130 ++-- .../com/pingplusplus/model/PingppError.java | 27 + .../com/pingplusplus/model/PingppObject.java | 15 +- .../model/PingppObjectInterface.java | 9 + .../pingplusplus/model/ProfitTransaction.java | 53 +- .../java/com/pingplusplus/model/Recharge.java | 78 +- .../pingplusplus/model/RechargeRefund.java | 115 +-- .../com/pingplusplus/model/RedEnvelope.java | 111 +-- .../java/com/pingplusplus/model/Refund.java | 112 +-- .../java/com/pingplusplus/model/Royalty.java | 107 +-- .../pingplusplus/model/RoyaltySettlement.java | 104 ++- .../pingplusplus/model/RoyaltyTemplate.java | 128 ++-- .../model/RoyaltyTransaction.java | 53 +- .../com/pingplusplus/model/SettleAccount.java | 197 ++++-- .../com/pingplusplus/model/SplitProfit.java | 78 +- .../com/pingplusplus/model/SplitReceiver.java | 104 +-- .../java/com/pingplusplus/model/SubApp.java | 155 ++-- .../java/com/pingplusplus/model/SubBank.java | 28 +- .../java/com/pingplusplus/model/Transfer.java | 115 +-- .../java/com/pingplusplus/model/User.java | 115 ++- .../java/com/pingplusplus/model/UserPic.java | 34 +- .../com/pingplusplus/model/Withdrawal.java | 158 +++-- .../com/pingplusplus/net/APIResource.java | 666 +++--------------- .../pingplusplus/net/AppBasedResource.java | 48 +- .../java/com/pingplusplus/net/HttpClient.java | 205 ++++++ .../com/pingplusplus/net/HttpContent.java | 44 ++ .../com/pingplusplus/net/HttpHeaders.java | 133 ++++ .../net/HttpURLConnectionClient.java | 100 +++ .../com/pingplusplus/net/PingppRequest.java | 260 +++++++ .../com/pingplusplus/net/PingppResponse.java | 33 +- .../com/pingplusplus/net/RequestOptions.java | 236 +++++++ .../pingplusplus/net/SubAppBasedResource.java | 37 +- .../pingplusplus/net/UserBasedResource.java | 37 +- .../pingplusplus/util/CaseInsensitiveMap.java | 108 +++ .../pingplusplus/util/PingppSignature.java | 51 +- .../com/pingplusplus/util/StreamUtils.java | 39 + .../com/pingplusplus/util/StringUtils.java | 38 + .../com/pingplusplus/util/WxLiteOAuth.java | 19 +- .../com/pingplusplus/util/WxpubOAuth.java | 19 +- .../java/com/pingplusplus/CardInfoTest.java | 4 +- .../java/com/pingplusplus/PingppTest.java | 87 +-- .../java/com/pingplusplus/PingppTestData.java | 32 +- .../com/pingplusplus/RequestOptionsTest.java | 87 +++ .../java/com/pingplusplus/SubBankTest.java | 6 +- .../agreement/AgreenmentTest.java | 19 +- .../balance/BalanceBonusTest.java | 14 +- .../balance/BalanceSettlementTest.java | 10 +- .../balance/BalanceTransactionTest.java | 10 +- .../balance/BalanceTransferTest.java | 14 +- .../coupon/CouponTemplateTest.java | 22 +- .../com/pingplusplus/coupon/CouponTest.java | 30 +- .../com/pingplusplus/order/OrderTest.java | 52 +- .../order/RoyaltySettlementTest.java | 18 +- .../order/RoyaltyTemplateTest.java | 22 +- .../com/pingplusplus/order/RoyaltyTest.java | 18 +- .../order/RoyaltyTransactionTest.java | 10 +- .../pingplusplus/recharge/RechargeTest.java | 26 +- .../settle_account/SettleAccountTest.java | 30 +- .../split/ProfitTransactionTest.java | 8 +- .../pingplusplus/split/SplitProfitTest.java | 11 +- .../pingplusplus/split/SplitReceiverTest.java | 12 +- .../com/pingplusplus/sub_app/ContactTest.java | 6 +- .../sub_app/SubAppChannelTest.java | 18 +- .../com/pingplusplus/sub_app/SubAppTest.java | 22 +- .../pingplusplus/transfer/TransferTest.java | 26 +- .../com/pingplusplus/user/UserPicTest.java | 6 +- .../java/com/pingplusplus/user/UserTest.java | 18 +- .../withdrawal/BatchWithdrawalTest.java | 14 +- .../withdrawal/WithdrawalTest.java | 18 +- 111 files changed, 4016 insertions(+), 3307 deletions(-) create mode 100644 docs/update/2.3-to-2.4.md delete mode 100644 libs/pingpp-java-2.3.14.jar create mode 100644 src/main/java/com/pingplusplus/model/PingppError.java create mode 100644 src/main/java/com/pingplusplus/model/PingppObjectInterface.java create mode 100644 src/main/java/com/pingplusplus/net/HttpClient.java create mode 100644 src/main/java/com/pingplusplus/net/HttpContent.java create mode 100644 src/main/java/com/pingplusplus/net/HttpHeaders.java create mode 100644 src/main/java/com/pingplusplus/net/HttpURLConnectionClient.java create mode 100644 src/main/java/com/pingplusplus/net/PingppRequest.java create mode 100644 src/main/java/com/pingplusplus/net/RequestOptions.java create mode 100644 src/main/java/com/pingplusplus/util/CaseInsensitiveMap.java create mode 100644 src/main/java/com/pingplusplus/util/StreamUtils.java create mode 100644 src/main/java/com/pingplusplus/util/StringUtils.java create mode 100644 src/test/java/com/pingplusplus/RequestOptionsTest.java diff --git a/CHANGELOG.md b/CHANGELOG.md index f969a42..1148b23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ # ChangeLog +## 2.4.0 + +> 本次更新有较多与旧版本不兼容的地方。 + +- 修改: 支持 JDK 8 及以上; +- 修改: 异常抛出修改,统一声明为 `PingppException`,实际使用可以再做具体判断; +- 废弃: 原接口,支持传 `apiKey` 参数的方法,全部删除,可以用 `RequestOptions` 代替; +- 新增: 每个接口最后一个参数支持 `RequestOptions`; +- 新增: `PingppException` 增加 `type`、`code`、`statusCode`; +- 新增: 对象增加 `getLastResponse()` 方法,可以用于获取当前这次请求的 `response` 对象,包含 `HTTP Status Code`、`Headers`、`Response Body` 等; +- 废弃: 取消对 `PKCS1` 格式私钥的支持,请转成 `PKCS8` 再使用; + +--- + ## 2.3.14 - 新增:settle_account.recipient extra 字段 diff --git a/README.md b/README.md index 6e2d358..22b63f5 100644 --- a/README.md +++ b/README.md @@ -9,15 +9,22 @@ ## 版本要求 -Java SDK 要求 JDK 版本 1.7 及以上 +Java 要求 JDK 8 及以上。 ## 安装 -#### 手动安装 +### 手动安装 -将 libs/ 下面的 jar 包导入工程 +JAR 下载地址: [pingpp-java](https://jcenter.bintray.com/Pingplusplus/pingpp-java/) -#### maven 安装 +请根据版本号下载相应的 JAR 文件并导入至工程。 + +#### 依赖库 + +- com.google.code.gson:gson +- commons-codec:commons-codec + +### maven 安装 maven 远程仓库 @@ -28,28 +35,29 @@ maven 远程仓库 central bintray - http://jcenter.bintray.com + https://jcenter.bintray.com ``` 安装 Ping++ SDK + ``` xml Pingplusplus pingpp-java - 2.3.14 + 2.4.0 jar ``` -#### gradle 安装 +### gradle 安装 gradle 远程仓库 ``` repositories { maven { - url "http://jcenter.bintray.com" + url "https://jcenter.bintray.com" } } ``` @@ -57,16 +65,17 @@ repositories { 安装 Ping++ SDK ``` -compile 'Pingplusplus:pingpp-java:2.3.14' +compile 'Pingplusplus:pingpp-java:2.4.0' ``` -### 初始化 +## 初始化 ``` Pingpp.apiKey = "YOUR_API_KEY"; ``` -### 使用示例 +## 使用示例 - 参考 [example](/example) 示例项目工程。该工程提供了付款、退款、微信公共号付款相关的 demo。 - 以及 [test](/src/test/java/com/pingplusplus) 目录下的示例。 +- 原有旧版本的用户请查看[升级文档](/docs/update/)进行相应调整。 diff --git a/VERSION b/VERSION index 0e80d41..197c4d5 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.3.14 +2.4.0 diff --git a/build.gradle b/build.gradle index 4838ac1..0025db6 100644 --- a/build.gradle +++ b/build.gradle @@ -17,8 +17,8 @@ allprojects { apply plugin: 'java' } -sourceCompatibility = 1.7 -targetCompatibility = 1.7 +sourceCompatibility = 1.8 +targetCompatibility = 1.8 dependencies { compile 'com.google.code.gson:gson:2.8.5' diff --git a/docs/update/2.3-to-2.4.md b/docs/update/2.3-to-2.4.md new file mode 100644 index 0000000..f8a39b8 --- /dev/null +++ b/docs/update/2.3-to-2.4.md @@ -0,0 +1,208 @@ +# Upgrading to 2.4.* from 2.3.* + +## Guidelines + +### 1. RequestOptions + +每个独立的请求可以使用特定的 API Key、App ID、私钥等配置。 + +#### 使用方法 + +初始化 `RequestOptions` + +```java +RequestOptions options = new RequestOptionsBuilder() + .setApiKey("sk_test_ibbTe5jLGCi5rzfH4OqPW9KC") + .setAppId("app_1Gqj58ynP0mHeX1q") + .setPrivateKey("-----BEGIN PRIVATE KEY-----\n......\n-----END PRIVATE KEY-----") + .setConnectTimeout(5000) + .setReadTimeout(20000) + .setAcceptLanguage("zh-CN") + .setMaxNetworkRetries(2) + .build(); +``` + +使用 `RequestOptions` + +```java +Map params = new HashMap(); +// 填充 params... +Order order = Order.create(params, options); +``` + +```java +User user = User.retrieve("USER_ID", options); +``` + +具体使用示例参考 [RequestOptionsTest.java](/src/test/java/com/pingplusplus/RequestOptionsTest.java) + +### 2. API Key in method + +原有方法中传 `API Key` 的方式都已经废弃,不能使用,请使用 `RequestOptions` 的方式。 + +涉及到以下方法: + +```java +Agreement.create(Map params, String apiKey) +Agreement.retrieve(String id, String apiKey) +Agreement.list(Map params, String apiKey) +Agreement.cancel(String id, String apiKey) + +BatchRefund.create(String apiKey, Mapparams) +BatchRefund.retrieve(String id, String apiKey) +BatchRefund.list(String apiKey, Map params) + +BatchTransfer.create(String apiKey, Mapparams) +BatchTransfer.retrieve(String id, String apiKey) +BatchTransfer.list(String apiKey, Map params) +BatchTransfer.update(String id, String apiKey, Map params) + +CardInfo.query(Map params, String apiKey) + +Charge.create(String apiKey, Map params) +Charge.retrieve(String id, String apiKey) +Charge.retrieve(String id, String apiKey, Map params) +Charge.list(String apiKey, Map params) +Charge.reverse(String id, String apiKey, Map params) +Charge.reverse(String id, String apiKey) + +charge.refunds.list(String apiKey, Map params) +charge.refunds.retrieve(String id, String apiKey) +charge.refunds.create(String apiKey, Map params) + +Contact.create(Map params, String apiKey) + +Customs.create(String apiKey, Map params) +Customs.retrieve(String id, String apiKey) +Customs.list(String apiKey, Map params) + +Event.retrieve(String id, String apiKey) +Event.retrieve(String id, String apiKey, Map params) + +Identification.identify(String apiKey, Map params) + +ProfitTransaction.retrieve(String id, String apiKey) +ProfitTransaction.list(Map params, String apiKey) + +RedEnvelope.create(String apiKey, Map params) +RedEnvelope.retrieve(String id, String apiKey) +RedEnvelope.retrieve(String id, String apiKey, Map params) +RedEnvelope.list(String apiKey, Map params) + +Refund.create(String charge, String apiKey, Map params) +Refund.retrieve(String charge, String id, String apiKey) +Refund.list(String charge, String apiKey, Mapparams) + +Royalty.createData(String orderId, Map params, String apiKey) + +SplitProfit.create(Map params, String apiKey) +SplitProfit.retrieve(String id, String apiKey) +SplitProfit.list(Map params, String apiKey) +SplitReceiver.create(Map params, String apiKey) +SplitReceiver.retrieve(String id, String apiKey) +SplitReceiver.list(Map params, String apiKey) +SplitReceiver.delete(String id, String apiKey) + +SubBank.query(Map params, String apiKey) + +Transfer.create(String apiKey, Map params) +Transfer.retrieve(String id, String apiKey) +Transfer.retrieve(String id, String apiKey, Map params) +Transfer.list(String apiKey, Map params) + +UserPic.upload(Map params, String apiKey) +``` + +#### 替换示例 + +##### 示例 1 + +```java +String apiKey = "YOUR_API_KEY"; +Agreement.create(params, apiKey); + +// 替换成 + +String apiKey = "YOUR_API_KEY"; +RequestOptions options = new RequestOptionsBuilder().setApiKey(apiKey).build(); +Agreement.create(params, options); +``` + +##### 示例 2 + +```java +String apiKey = "YOUR_API_KEY"; +Charge.create(apiKey, params) + +// 替换成 + +String apiKey = "YOUR_API_KEY"; +RequestOptions options = new RequestOptionsBuilder().setApiKey(apiKey).build(); +Charge.create(params, options); +``` + +### 3. Exceptions + +```java +try { + Charge.create(params); +} catch (AuthenticationException e) { +} catch (InvalidRequestException e) { +} catch (APIConnectionException e) { +} catch (APIException e) { +} catch (ChannelException e) { +} catch (RateLimitException e) { +} +``` + +改成 + +```java +try { + Charge.create(params); +} catch (PingppException e) { + // 如果要具体分是哪个 exception + if (e instanceof InvalidRequestException) { + InvalidRequestException ex = (InvalidRequestException) e; + // 获取 error.code 字段(部分报错有) + System.out.println(ex.getCode()); + // 获取请求的 HTTP Status Code + System.out.println(ex.getStatusCode()); + // 获取 error.type 字段 + System.out.println(ex.getType)); + } + // ... +} +``` + +### 4. Accept-Language + +`Pingpp.AcceptLanguage` 改为 `Pingpp.acceptLanguage`。 + +### 5. Private Key + +废弃 `PKCS#1` 编码的私钥支持。 + +请使用 `PKCS#8` 编码的私钥。openssl 转换命令如下: + +```shell +openssl pkcs8 -topk8 -inform PEM -in pkcs1.pem -outform PEM -nocrypt -out pkcs8.pem +``` + +### 6. getLastResponse + +可以获取当前请求的 `response` 对象。 + +```java +Charge charge = Charge.create(params); +PingppResponse response = charge.getLastResponse(); + +// 获取响应的 HTTP Status Code +int statusCode = response.getResponseCode(); + +// 获取响应的 Headers +HttpHeaders headers = response.getResponseHeaders(); + +// 获取响应体 +String responseBody = response.getResponseBody() +``` diff --git a/example/src/main/java/com/pingxx/example/BatchTransferExample.java b/example/src/main/java/com/pingxx/example/BatchTransferExample.java index bb73d4f..a556df1 100644 --- a/example/src/main/java/com/pingxx/example/BatchTransferExample.java +++ b/example/src/main/java/com/pingxx/example/BatchTransferExample.java @@ -80,17 +80,7 @@ public BatchTransfer create() { try { obj = BatchTransfer.create(params); System.out.println(obj); - } catch (AuthenticationException e) { - e.printStackTrace(); - } catch (InvalidRequestException e) { - e.printStackTrace(); - } catch (APIConnectionException e) { - e.printStackTrace(); - } catch (APIException e) { - e.printStackTrace(); - } catch (ChannelException e) { - e.printStackTrace(); - } catch (RateLimitException e) { + } catch (PingppException e) { e.printStackTrace(); } return obj; @@ -107,17 +97,7 @@ public void retrieve(String id) { try { BatchTransfer obj = BatchTransfer.retrieve(id); System.out.println(obj); - } catch (AuthenticationException e) { - e.printStackTrace(); - } catch (InvalidRequestException e) { - e.printStackTrace(); - } catch (APIConnectionException e) { - e.printStackTrace(); - } catch (APIException e) { - e.printStackTrace(); - } catch (ChannelException e) { - e.printStackTrace(); - } catch (RateLimitException e) { + } catch (PingppException e) { e.printStackTrace(); } } @@ -135,17 +115,7 @@ public void list() { try { BatchTransferCollection objs = BatchTransfer.list(param); System.out.println(objs); - } catch (AuthenticationException e) { - e.printStackTrace(); - } catch (InvalidRequestException e) { - e.printStackTrace(); - } catch (APIConnectionException e) { - e.printStackTrace(); - } catch (APIException e) { - e.printStackTrace(); - } catch (ChannelException e) { - e.printStackTrace(); - } catch (RateLimitException e) { + } catch (PingppException e) { e.printStackTrace(); } } diff --git a/example/src/main/java/com/pingxx/example/ChargeExample.java b/example/src/main/java/com/pingxx/example/ChargeExample.java index f69ebef..bd2508e 100644 --- a/example/src/main/java/com/pingxx/example/ChargeExample.java +++ b/example/src/main/java/com/pingxx/example/ChargeExample.java @@ -7,18 +7,12 @@ */ package com.pingxx.example; -import java.util.*; - -import com.pingplusplus.exception.APIConnectionException; -import com.pingplusplus.exception.APIException; -import com.pingplusplus.exception.AuthenticationException; -import com.pingplusplus.exception.ChannelException; -import com.pingplusplus.exception.InvalidRequestException; -import com.pingplusplus.exception.RateLimitException; import com.pingplusplus.exception.PingppException; import com.pingplusplus.model.Charge; import com.pingplusplus.model.ChargeCollection; +import java.util.*; + /** * Charge 对象相关示例 * @@ -84,19 +78,10 @@ public Charge createCharge() { // 传到客户端请先转成字符串 .toString(), 调该方法,会自动转成正确的 JSON 字符串 String chargeString = charge.toString(); System.out.println(chargeString); - } catch (APIConnectionException e) { - e.printStackTrace(); - } catch (ChannelException e) { - e.printStackTrace(); - } catch (RateLimitException e) { - e.printStackTrace(); - } catch (AuthenticationException e) { - e.printStackTrace(); - } catch (APIException e) { - e.printStackTrace(); - } catch (InvalidRequestException e) { + } catch (PingppException e) { e.printStackTrace(); } + return charge; } @@ -159,17 +144,7 @@ public ChargeCollection list() { try { chargeCollection = Charge.list(params); System.out.println(chargeCollection); - } catch (AuthenticationException e) { - e.printStackTrace(); - } catch (InvalidRequestException e) { - e.printStackTrace(); - } catch (APIConnectionException e) { - e.printStackTrace(); - } catch (APIException e) { - e.printStackTrace(); - } catch (ChannelException e) { - e.printStackTrace(); - } catch (RateLimitException e) { + } catch (PingppException e) { e.printStackTrace(); } diff --git a/example/src/main/java/com/pingxx/example/CustomsExample.java b/example/src/main/java/com/pingxx/example/CustomsExample.java index 54e82b2..82c67eb 100644 --- a/example/src/main/java/com/pingxx/example/CustomsExample.java +++ b/example/src/main/java/com/pingxx/example/CustomsExample.java @@ -7,10 +7,7 @@ */ package com.pingxx.example; -import com.pingplusplus.Pingpp; -import com.pingplusplus.exception.*; -import com.pingplusplus.model.Charge; -import com.pingplusplus.model.ChargeCollection; +import com.pingplusplus.exception.PingppException; import com.pingplusplus.model.Customs; import java.util.Date; @@ -75,19 +72,10 @@ public Customs createCustoms() { //发起交易请求 obj = Customs.create(params); System.out.println(obj); - } catch (APIConnectionException e) { - e.printStackTrace(); - } catch (ChannelException e) { - e.printStackTrace(); - } catch (RateLimitException e) { - e.printStackTrace(); - } catch (AuthenticationException e) { - e.printStackTrace(); - } catch (APIException e) { - e.printStackTrace(); - } catch (InvalidRequestException e) { + } catch (PingppException e) { e.printStackTrace(); } + return obj; } diff --git a/example/src/main/java/com/pingxx/example/EventExample.java b/example/src/main/java/com/pingxx/example/EventExample.java index d22baff..ef3e638 100644 --- a/example/src/main/java/com/pingxx/example/EventExample.java +++ b/example/src/main/java/com/pingxx/example/EventExample.java @@ -54,17 +54,7 @@ public void retrieve(String id) { // } else if (obj instanceof Summary) { // System.out.println("webhooks 发送了 Summary"); // } - } catch (AuthenticationException e) { - e.printStackTrace(); - } catch (InvalidRequestException e) { - e.printStackTrace(); - } catch (APIConnectionException e) { - e.printStackTrace(); - } catch (APIException e) { - e.printStackTrace(); - } catch (ChannelException e) { - e.printStackTrace(); - } catch (RateLimitException e) { + } catch (PingppException e) { e.printStackTrace(); } diff --git a/example/src/main/java/com/pingxx/example/IdentificationExample.java b/example/src/main/java/com/pingxx/example/IdentificationExample.java index df758f1..fef7986 100644 --- a/example/src/main/java/com/pingxx/example/IdentificationExample.java +++ b/example/src/main/java/com/pingxx/example/IdentificationExample.java @@ -1,11 +1,8 @@ package com.pingxx.example; -import com.pingplusplus.Pingpp; -import com.pingplusplus.exception.*; -import com.pingplusplus.model.Event; -import com.pingplusplus.model.EventCollection; +import com.pingplusplus.exception.PingppException; import com.pingplusplus.model.Identification; -import java.util.Date; + import java.util.HashMap; import java.util.Map; @@ -55,17 +52,7 @@ public void identifyIdCard() { System.out.println(result.getMessage()); } System.out.println(result); - } catch (AuthenticationException e) { - e.printStackTrace(); - } catch (InvalidRequestException e) { - e.printStackTrace(); - } catch (APIConnectionException e) { - e.printStackTrace(); - } catch (APIException e) { - e.printStackTrace(); - } catch (ChannelException e) { - e.printStackTrace(); - } catch (RateLimitException e) { + } catch (PingppException e) { e.printStackTrace(); } } @@ -93,17 +80,7 @@ public void identifyBankCard() { System.out.println(result.getMessage()); } System.out.println(result); - } catch (AuthenticationException e) { - e.printStackTrace(); - } catch (InvalidRequestException e) { - e.printStackTrace(); - } catch (APIConnectionException e) { - e.printStackTrace(); - } catch (APIException e) { - e.printStackTrace(); - } catch (ChannelException e) { - e.printStackTrace(); - } catch (RateLimitException e) { + } catch (PingppException e) { e.printStackTrace(); } } diff --git a/example/src/main/java/com/pingxx/example/RedEnvelopeExample.java b/example/src/main/java/com/pingxx/example/RedEnvelopeExample.java index f49ac6e..e741f1a 100644 --- a/example/src/main/java/com/pingxx/example/RedEnvelopeExample.java +++ b/example/src/main/java/com/pingxx/example/RedEnvelopeExample.java @@ -80,17 +80,7 @@ public RedEnvelope create() { try { red = RedEnvelope.create(redenvelope); System.out.println(red); - } catch (AuthenticationException e) { - e.printStackTrace(); - } catch (InvalidRequestException e) { - e.printStackTrace(); - } catch (APIConnectionException e) { - e.printStackTrace(); - } catch (APIException e) { - e.printStackTrace(); - } catch (ChannelException e) { - e.printStackTrace(); - } catch (RateLimitException e) { + } catch (PingppException e) { e.printStackTrace(); } return red; @@ -108,17 +98,7 @@ public void retrieve(String id) { try { RedEnvelope redEnvelope = RedEnvelope.retrieve(id); System.out.println(redEnvelope); - } catch (AuthenticationException e) { - e.printStackTrace(); - } catch (InvalidRequestException e) { - e.printStackTrace(); - } catch (APIConnectionException e) { - e.printStackTrace(); - } catch (APIException e) { - e.printStackTrace(); - } catch (ChannelException e) { - e.printStackTrace(); - } catch (RateLimitException e) { + } catch (PingppException e) { e.printStackTrace(); } } @@ -135,17 +115,7 @@ public void list() { try { redEnvelopeCollection = RedEnvelope.list(chargeParams); System.out.println(redEnvelopeCollection); - } catch (AuthenticationException e) { - e.printStackTrace(); - } catch (InvalidRequestException e) { - e.printStackTrace(); - } catch (APIConnectionException e) { - e.printStackTrace(); - } catch (APIException e) { - e.printStackTrace(); - } catch (ChannelException e) { - e.printStackTrace(); - } catch (RateLimitException e) { + } catch (PingppException e) { e.printStackTrace(); } diff --git a/example/src/main/java/com/pingxx/example/RefundExample.java b/example/src/main/java/com/pingxx/example/RefundExample.java index e6cb351..0c15f5b 100644 --- a/example/src/main/java/com/pingxx/example/RefundExample.java +++ b/example/src/main/java/com/pingxx/example/RefundExample.java @@ -70,17 +70,7 @@ public Refund refund(Integer amount) { try { refund = Refund.create(this.charge, params); System.out.println(refund); - } catch (AuthenticationException e) { - e.printStackTrace(); - } catch (InvalidRequestException e) { - e.printStackTrace(); - } catch (APIConnectionException e) { - e.printStackTrace(); - } catch (APIException e) { - e.printStackTrace(); - } catch (ChannelException e) { - e.printStackTrace(); - } catch (RateLimitException e) { + } catch (PingppException e) { e.printStackTrace(); } return refund; @@ -101,17 +91,7 @@ public void retrieve(String id) { try { Refund refund = Refund.retrieve(this.charge, id); System.out.println(refund); - } catch (AuthenticationException e) { - e.printStackTrace(); - } catch (InvalidRequestException e) { - e.printStackTrace(); - } catch (APIConnectionException e) { - e.printStackTrace(); - } catch (APIException e) { - e.printStackTrace(); - } catch (ChannelException e) { - e.printStackTrace(); - } catch (RateLimitException e) { + } catch (PingppException e) { e.printStackTrace(); } } @@ -132,17 +112,7 @@ public void all() { try { ChargeRefundCollection refunds = Refund.list(this.charge, refundParams); System.out.println(refunds); - } catch (AuthenticationException e) { - e.printStackTrace(); - } catch (InvalidRequestException e) { - e.printStackTrace(); - } catch (APIConnectionException e) { - e.printStackTrace(); - } catch (APIException e) { - e.printStackTrace(); - } catch (ChannelException e) { - e.printStackTrace(); - } catch (RateLimitException e) { + } catch (PingppException e) { e.printStackTrace(); } } diff --git a/example/src/main/java/com/pingxx/example/TransferExample.java b/example/src/main/java/com/pingxx/example/TransferExample.java index 2e51f3d..ba01da1 100644 --- a/example/src/main/java/com/pingxx/example/TransferExample.java +++ b/example/src/main/java/com/pingxx/example/TransferExample.java @@ -104,17 +104,7 @@ public Transfer create() { try { transfer = Transfer.create(transferMap); System.out.println(transfer); - } catch (AuthenticationException e) { - e.printStackTrace(); - } catch (InvalidRequestException e) { - e.printStackTrace(); - } catch (APIConnectionException e) { - e.printStackTrace(); - } catch (APIException e) { - e.printStackTrace(); - } catch (ChannelException e) { - e.printStackTrace(); - } catch (RateLimitException e) { + } catch (PingppException e) { e.printStackTrace(); } return transfer; @@ -132,17 +122,7 @@ public void retrieve(String id) { try { Transfer transfer = Transfer.retrieve(id, param); System.out.println(transfer); - } catch (AuthenticationException e) { - e.printStackTrace(); - } catch (InvalidRequestException e) { - e.printStackTrace(); - } catch (APIConnectionException e) { - e.printStackTrace(); - } catch (APIException e) { - e.printStackTrace(); - } catch (ChannelException e) { - e.printStackTrace(); - } catch (RateLimitException e) { + } catch (PingppException e) { e.printStackTrace(); } @@ -161,17 +141,7 @@ public void list() { try { TransferCollection transferCollection = Transfer.list(param); System.out.println(transferCollection); - } catch (AuthenticationException e) { - e.printStackTrace(); - } catch (InvalidRequestException e) { - e.printStackTrace(); - } catch (APIConnectionException e) { - e.printStackTrace(); - } catch (APIException e) { - e.printStackTrace(); - } catch (ChannelException e) { - e.printStackTrace(); - } catch (RateLimitException e) { + } catch (PingppException e) { e.printStackTrace(); } } diff --git a/libs/pingpp-java-2.3.14.jar b/libs/pingpp-java-2.3.14.jar deleted file mode 100644 index b15b13ef2663ee1a2d6f716a91f3119d04a32020..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149334 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Πt4;^rF?EWZGJ*FKocTV2hA@d2C{LuESg*Fvo=9**^evUk*`H>tgwV@Zh7U} z@hPll^6hP;{-n5aZlZ!U&1u{C-O+V-KB!T>G7loJGU$R-3?u67?* zL63{4lYk6{gDQ~`KM6_|)u$L^P$ma8!w(ehuwbMK607IJ`H`H5KO_SlmCLryS&q65}Bc zo(t6ZWglFFS)@sfmVbi9{UrZD(1#g-Y|%R(lO6ZK%{@m#R^%4k+3DRxwe|M_rp@mv zs|4~i?w`9VB{(j|5fbD!+fA$>%i$S*fOIi6JfgT7*tsXwjZ@}tCl^dn)JVg+n3lh? zJy-S3@gF0Nc&DF%dNbE^igaV2O>8a@Vo^EH_XKABq4~C{>JZR7PPlTF%Zk0W$%c9H zF7yFRb{`~p7UusjK=d@<_X($YnY2@(@KZkyXj20DPhKe+Kg6^T1l@zyxd&eEGaf&1 z9zVF>W^JH$Kni8RaU)s&d?U^Mgu@Hz*XcOY?E**;;w?NVyuHxli_tHUfjSpKD-kTD z+|6esg3jx&j%^9d4V}~%!kwmBqf*(@ljj3wzt3*X8-u@o)Qb7QlA&-OSMUq8R%1v} z6Tw${Q>*pKK62jNXM+^=*nxur+qAsBZLi+$z_n^j?=J`da9u=CcI@jV?0=&Rz_WV6Sq}Ex~sfrdmGZ{}@CC}NeuR~~HZw4-;@=eXlz%W#t z#U#q$4@gK>QzP4SPFyzm06u=r9GM?skzh$(&}6Y6G*a6$Z)8JoJSyzz#OQk6PQ`Se z%yEJvrUhwNJ?O_tDB}artB(JpA&@%?<%Wd*fYi27u0R~#8-;og(5buQKr7KRM|b#* zjD>#b)eP+)essdJo#yFzqv}^2ylXzb4=Dby*$JyZuJ_|Tk*u31p6Ik2lm}{REXjb@ zC>nwBf?Z6<<0OY8guz8vEYE^X{I*vq(P_iB`}GxI3UJ8o@RDCuPXk~`9!NP zd`EPP{D_7}zM*Heh{sKz2Pg`E=>)(1L zu>f}0Iv000G=xHSIq}E*tb0@3FBboH$!73OBVPx#iKna&B?wc}ky!`oIt=F>iXL=I zKYxQ}py0OrE&agOLH-Xkk$*(?e^-uGEY0l< zU0j|1Svvlu@#?24f&MAqkk#4V9?upWf7ssDZ`WW*oGJmDdL)K(OJpjthSs!Y!!Xu= zxpjE?O&X~=|G~5dycxzyY++b~y`*EX@ab#CRZ`_WZ=;Oc80c-$>+^XIE35fb_H*u4 zw)0ikr_U#YzrxNok6ZujY+y8EZ7ki?*vK8vl(Dol=D~g=55u0b!1t{%#?cH+Hr=^; zkTmx1N)pXBy~X>;tG-$zG`bJFV(kaymQSYeb*g)6-^E6(pDJS^bW;cFte-Mt;XMYz zXnAV)e&61}!*4ItgWHdeWTiY|^jr+E<1gRf<8Kc=vUQb^247jX6%=V*K7zt?g3}-j zt2jP72HYB0i1y7}#_518zTYIXr_04^P5t0b-I28I#b-q&Ek#Xx@6R8}i8cpw`!jNG zLWZv(SB$zE{U*_1$A^raNP24Voy4?5YlNo{9NP^n7VK3a>v&SKU-oMdPOV5c=ma)2 zJswK=lPdl^ZIH*I$;^>X2eDJ2gW7$(>;JyuiE>WYcCQNNix%c_rn zS;=Nw&fZJSovOFW@ucYYuIWsg#kGcH$P(!o&yug0BX`_n-g4cs=H^m$lHfQ&8l8W? z)LQx)liPh$@zGz~I0ljX#<|pb79E(L!;%Mk0)1wle8BqnSxr}1g|@I3o0rv~R85!t zEuM}XFeW#b$SbF5r}X*5n6kaOZ%V8X%WH;X*E1=j37s~8dED-Fw<_wR>WAf1LMUh# z>eudw>f}R*T8mH1Ve9fb)((9G<7?3oQ2g1c19u%Pzr#cp75|nUOw5!V?q($Mh%jtt zTZzoYjTH(&pd#tumz67^XGN!8x)ub=?PL zO~^-@i}`a8-%-n_c{ABI$0Q}b7jhnIqo$J90eE;*!%c-d6kcuQh}h zEzME)1ClQw=2&{cC;dC513*GR$yVgy{aCNvzvu4~LVQFZYGtNMDV?75f~nIB%LZIb z(Aa~p54m`_oHwBxBiL!uz;2f1DCB}zr{+fsp{qF9)9hzfV0qI|jCPfjOjBBaS54W1 zzhl*tGD>Cy60lRHO1zJ{Ab~X( zKdQ-R%A=Biz-oNqlYBp^OgH9!h2PVY-h9RA(qUYJYBp)5KnC`}_V z6klb}Vy2Z_5b86K>sVwm$j#Lq?}}JZ`rK{Bt)IoTz{}((kzCv%c}m9O`eGyO%8W)L zYMP4d6)nf&-I)w>=Ig32Bc$LDB55zNnno>|Sz4rXc>dy<K`z1qVTEQ7$^Coc}pPqUtjtKc_J zVw0hLXHIYA7U5Wq%}|fDuloISwPKL#8&`s<9QBUUxuMS3Tq|R*CYhqV+>XkxMk-vJ zXCOUh6&(Rsg{+Y)%dwxoAK5~j%SQos-cHxep6^>)s!M0hYTQ_?%CuoA^DF6TR;5a5 zX;x(g$0a<>poo=i_jPyPc&4ifBkCM1=U9Guuem7??;+hw0=dS*aLkVZf_ zC6rRZ`s8BKA^20^MfhVPhIZqrZu286g{x;XxU?#1}3 zu|UnSi!)96x_m_97l{UHNwcadC$PxcfE%IUKfCtRLM(hppwKhi;{j=cxR6`AX*hfi zJn;b~ci%4WXBE>8PtCX8NwvXiibHFx5m!wQ*d!VbPNe}Ky*{bhr22M$1!q_6N9-c- zBm%Ky)1-tIiM>H8&-OdyHD=F#g5izA;@PMXi)}J%iLo_k=@i}8px5;174Ws#eKy87 za;xluSiq;r8|ud686Ija?P>YmU<``9P3WT_l!c^~q>pS?VV_ZFnCz|~O+=#l*vsIN3^ zHb#}oMN{;mz;!>~+Ds_56onM;j{Pm*JSZ0Ni`bpKpUd_D!nH3lWj5{mdg0r7ynIC{ z2wZ%l92y;_6#RoC_8w}k-!AxuDsY4)ccn(cA4St$G^!Qha6NuZ8xZ!L+Mt@Ah_p3#|i`SiadxRmi4t6%@YDn zItV&Xw%^ZBRvnGB@$lLf)M*Zl(E*iBE{Xbc80sg#f&rQo z$rUo47qZYxWS@D1P5CPvv4+DZpVRpSwn=V0;)jA-L?%rf+hUd*Sk-%m-Af6IV?`8^ zPk={yImkBhDT&t_BLOADj9Xw+8r21vIH{SWC;Fn`e=Wj&X*JN7hX3P(`E?rG+cN$a zj;F1?iRu5#$jZcxOIZ8*y8IU_i{?N7Ow`oI)Wy_9#NPFb9r{l*QRtNa;@M@(;o(M$ zkbD3^7YGHwN|V4um(x)RolZZ%Fz~$62|h8>kVSq6B1Eqjm@5XHTS{;?Had4)T`WWN zu^$l+r$cZdFp)mVd^^2NWzy5FhSD>FrI=Lyc4Mq>w$W8S8Sa$0rkjys^{3ChaJl<5 z)gkw&CEEI1_fn~SSgcG0^9?`lWt*gp{`y%clE8Y;*fXGWu={jTySoaCfFii@a}XKB zZ#}nx{dhCS3cCzzEH8|N`!+P6kCtM7sCEaHC^ ztfORaYS|Y}ejMjNR5$+?EWq5!)YSHCv)PnHXzY62@Sc|SegES90$BuE6PE{#jOSwzP~Lz=%#-Dk-JnI3No5n?z(tr# zWs~3FMI1|Y3GLxU+>zR-@u?CzD+LBlo;gV?M{7E-b@gGExJ3YnH! zABD+ItZVF=y3U=5o zbsit%MBMw?m{C2zW?~-nZ9U|ZKm3e;JM)!(_I6K4;LdEY_+wg9CCFR8m<5fiiHWzT zfKWN$y3qVUvr{s_j_?Ynni1+2w@}W{@S-QvmJ&5=58Rep(UDTnNYIoUa6`fW;{p$j ziZFIv0-`?<3>H-zR@29MT?4ZH^AQFw#27|55E`6e01<`{jFQYE`=bM$3wq=lJmJ@q z`Xa$V^?uEardIN9B#6eY1h_BCzE%h71bO7*D9ETy$d6YWLxY?g?MWqO5{ z3hur3ex+qJ+!-r7$CXZTifZlg%?JZ#+j(e5$C$_B8852h9Jhut7wII!1WATma z##TMX1esN@n{Uji`O7?<>Rt&%i?)?5HT$snCi#9Ant_MUBfiqTszB_w^~OvTKj}Ys zjyf*UeACCMr^CR?Nc}i>Txd*pD-#iitbly0?M{D!CF5fFqVBJ{VlL$N5-C+6(J^NS z`EMmzQog?L#bpbU4&$yc!$sXZ%HV%wR`v_hkqUjL)?-9PtaJQePDN|AHQUEnYH7fj zfZf6G(?hOy@GJ1Vqs`c)S*kU=yQsd{IbS-6#{ChehH$9O85;ZvERD+;@Ta+|0l~B{ zN7bO4_8a&L5N>@+J}k!}wjZn*Cii}b@V;GJ4tAZy1<9P9%?mHye^OlHs~sd4mc4xpQI|(9ISh|khDiUN0XKo zP_R4(_!h;aBsJn316V`^tMYh|OX06I5F&UwQlB5+fKYY-98iE4Lm{xQTgU9t0|=2z zE7f&QfAlEdC z8t7ngl|O@ut&v29`D$p(r$0O8uDqx}`vU#AI(vE*(8LT&)KZ_l$=Ia~^Rj(3A#q3F_3;~QP2zDgnP(NKHq<_T*#h6Qpx z*sMah)Wb(AoZ3@jl#TFGjOK}w@PW70XY}u&Ky;Nuu)^M&IfUbGjBix$M#@^hBr7E6dSRNrxghx~ zTR%S)@vYI`lAVs}9-(uDBudfwTQF(30~%vq+QQ+-;Z~phFMIBZ`yLOm+_8P;BS%^t z)eEr6np)c~xVucU&&szCzsH(Njyth$6YAu#e~|d-)+%wIqu*~3ThH2Xe~W&o|H|2@ z%-Rs!90X52@UyKV00bxP)nrbWC}(nB)bM1iR_?cz8`=D>>kr&a+d1kvIty8h^7S7Y z`e6-{`eW02N-zoCgo0f}(JBC^ViCT3)H!8!$g5?C=tKR7?$cO_H!H1!IGASeeR`@J z3`0knPCtkeq`qzTC+5GN`oFs3+7v6ic)mbX-xtG<@jrv1e=HAGHZ^m#Gx>WJyz@U1 zQKGH=oFdxD^kD%U6}Vx(9na>>Sdj9*o>i*sBnoO_RC;%BGR!w=nKd23Gztcao@>yj zg6QMqPT<4DmEz;AT<@vRw@bnIyT@gFAg+Kk@Ra~{0;ieMnSz;;>+Jq0ygyC`EHl;A zh!h+_XFHL8houwU5!`42`*M2w)OpVdlvoSu^4s41xhuc~m?Lf$;8VI>Jz+xyJ0vjJ z$vvW5Sm2?)Xqr?t-Hv<`*({Q+YiV#SK7P@ww|zI~h_f~(ka^FeG05MeI@9nS+Rn>H83+SdU=wzXb zX6~mpw+TY$N->^U2g-0t-jtTkDksMm2MAxOe`DpPFZoFd`Jr3jrlAJq+A44qlpK6$yIFqVqBN+*98Z+3zjF7A#kCxOv(~0`Gcm2X7oRbbzH&XNMJtuaD zL^DP7ZGWm($zg43qvRK zf7UCS(@x#L0DIq+%NX0KiwveHwPG z%1M703z{QSCr#_zVa=tC+%ik6&3Q$dVtBJcn%4(zAHrz9gFPe(9kkwrB(tAP`KC#( zmnvbXh`$y@e4fH3n$UPtiq)2O=G=VdLP?~Ni4(WcWq!#xHh~SDD$m4il0`W~O)HT5 zrTFp$M%5HWj#r$Ir@V}6Ov!kBA*U%MKI^v5jn;@Sqj2!^GP+;4ti{QI>hTmO1Q}ARJzFFwwjfR}c)@ZX&mC=L9u((Pfb3aF)Bil9m_TJLHJ;0vcz zl}tkJdh^XsVaRK>;~2K2J;Zmi)DAuj4tncL>$mUH3)_bmC(=4A`KSchzi%^b0z6*6 zH@3B&T$aA3+~LPU)lwIPz6}ecj&nSwj?#mZ=LJj_eG7;U43F|q1yk-Qp}cMh_KF)$ z_m*yfxvFvy3qe$UQVjXp|5w=;paZ502GT<^1DsU?S#=)K1cgcNI52Fs^-!mfPl+AJ z+UhkkG5DEmtQS9H!D2h4nFna?CaG%3eY5%jeL1^>pjiqajW{Gz?~{hlG)RGP@3(@_ zv}_4|(6+!JPEkj(ZED51oHM|$UM7E1gjq@E?-|8Cud(BTy z2e}~oU0!f)%pBsLcvu&?Bheez*_w45r{Gn)56xO|FFKuo+1e)7U$P_Nr%l;alg}|P zzqI)641!55&3Fll;P1q6F0Z6A%^se#AgV2PYV7 z?0SPQO(43o33{hid5%9_XUNNUsHLXc_aV#r$`jecZ*OGjQct#ZgUL2*3yb07Ncj6| zl0@Rnct~QOUd@0Y43O1zSU23Cx`eoi=Ww|%is7W~d2KCDdFThxd1(@(SwfAAdy0MdJa~qXN$n$q_`aGiHO3#Tj{{;Z5R!B%^I; zCaQX*0OSLrHN0D3tpRHjSuYY|OU=wwqmfN(^b2CM=FATI@=Aff>M>sIs& zn-IyXU1dkgGDbCu$h?F|R*!U%WR$y!`wA50kljfWMwv8FH#tyt3}7W1FJs}n3R#>J zBx`Jsj_w~U7Eg;3Kgl@@cgYXzcxkc%i$;-eggB$t^u7W~b(fQp9wp3+OZ<9hx_7LK zqI?olcpieHLHQljYQUAVpeM#;;7ZZmhruZHRRYl+tFslf4>ib*W6xr@4u#&v;Rn6> zt`yh!KEXiS$S!s6rW--)0|XuPa`R^JI-0$~Rlxf$wC;qUk*Q(eH5-QkKwHK`Tjtx9 z%uv(EOPnQtRPXV|>fLpQw>Mhb7l&XzXX4+-`Td23t$xXgU41>C5nmvL=|4ZB|Lht! zbeDFvw^J~(`a&ZA1jCAdwc(;=FPBQiELtfLbcJKm?-B6PbffV}{wSP#rC@LzpuoK? z=$%N~`AN7Fhq7JT4W(?dYG{`J2(h*NI6~1EJ!UZwy%oaEOgRbFlUh|a4+j|YuCxdkwrRB96t|wCG+%Zh%@?lZVa1T9$aQ+OmMcr_p^W=F&B9SfKLEoV5lm7Yor z@x_}!`(F{9qLaOurHiVQp`EkgzahAqwBPQiVqZ|?A;EU;VxS2PT{J$Gf;zsCh^Sdv zI6xAngq~5qO)kvDuo2gdGld32-Vi6U^UyrxS}0ri5znCy8MaRZ^R9Kk;tjwWO*fUE)`7g&K+s*%sN2 zI^0k*m2Oz8S{ooJi_9*;BW$pfX5%mTp&bnlzSl1EQkcu(S{0vrk2gSrr$}Tpt#9P1 z5P&eRX+rKDKs|%0$Y-)nF;Bl>vp8W2zR)$`5?9c<<*z zJb49qfMtWkaggCGRLgNCSw|?$nCmKr)Rx2(V!-4r*vlz&NM2R?ZZc#3SWev9@YwY( z`Vx!nD9KiDRwz}K!9H!yR5!0d%kh*^?zd5C6_9hRUAtGVqO;luUPpn}2IAjm*>!eOWw;ACl9I_(l3+PQ{XRw$oBmr-l&xDQq5EB31@;z^}B8lBjvDi#wWx8wcqa} zgza)0M5WKPox4;Yq775j9cAPdRrSBpe9!O4N58DRE`TAVW}?6Oj7KK*TIHH5Pm~)N zLeDrLrpYxdE&Fqe(`9NiZ$j%k(NUD9`_%;L=iz&1?N*^%wa$NEX)KpiqrMX0$dlbD z{_~z-nU1NBGplNi;4aP{QW0cd8>-XW{G@1@b;ffz)yw+ ztF`j|a6O_@ez#^lVf|jVuMd8Aqs=2cxInURy>Ux#h2ElQ_ZcU&2M(!)N#=D(9#;R^ z!herTC1_X%?p7H6l$7&?EmTF*M|IwhVGTvNQFy~Rb6aH4rDWBG`{1zexL`+ou`pUU z(}2TsG;JrIMc)$^P>Jy<#IMZ=^Hz;ktOkai9C)4*)D%es-6R$2Z?i-6YS0T-EC;sA z0Pcx^FeP*-!t=u><_HbbcP;F=tSxyZ+-m9`tz`k{R!}pt0&WTOzEmM zcGQ!aObRN%3JC z>PWY1fVce?>W}MhfiyQKhvIEu1Wae+Os_SMJ=J}D)hC#k5+my#le8HjJ}Bc=2@z$x zt(2>vd>%#Hg8kCobD{HIaHBtC1~IoOAvr%F|7*BwiH&Em^7True9d$EU&37tQzHv| zd+UGZs!|el6i@+ZBcEYQn{J)x+Q>?ZLP~2ivW3ip3+Y&0qH`9c5P4;;x)`mzzb;d! z!5LGY48A{zU{BkmeR|_lHK*Ta6!egsnqL^c7QXgU^}9?UF1`ZliV77PP=6@fp4P&-nI2?0QyeAn z3sO`!b#zd^_@3Mc0c=7~m?@C*)XWur+dC#H{!zUxXsqji-qosUW<)H8GC7IJAu}2= zd*>5hmwZp4b%r?;3W4U$h?iG_lK0w9Rhqov|Hvck=7h=1j6t%(F@t^W5`FDJ&X29nj-Osb|)9K z@lXVvzL|(7ZyuY{}S5#}spS z6MxIeVr}rn$!E(WT`N3etMCn^=K*L@Q#hr5_Q_HxUovbX))+`CLT4y7Yp7SuYN^qF ztm13{6sL04bMJpujXtiz=9e$*i>}4?Ur^~j7oUBKE z*i`tJYW@{pyy--8)PG6x^2=-eFRJ-B<3QEa*1^Wm#Z=70!P3d_U%Aed1Q~_(e>Aj% z@w(|k#obzXf-?k2YobfgF!0G^sFLjUNU0kp=r=5f$AP1uqd*D(5yH4G)x)q)0n6|< z^74LWYdmO8&8A=sKKge&YOM9f=A7w;DJj`3}{p2Q-ZU-%G`EXKHeR@FLZF} zGdTO5J+6>0wm%ojD38|B33tL#C(uz`_kS_Ol(g80xxM!FMKJA9st{UpKt~ozvGOA7s-pp=@dX;We@;{>^CsY%D0M9Aqj7 zM<(1QrG(i^ZvIn^$c^WxHXItypInG;mmCb&;E(G5^>)smY)Gq&E>2^twVBO&+0R zjA)60ch5VY4o9UB-Ls4elaDI1OLoIG$Y!QM6R86?=t9p?1y!pDR;vcFjT2=RpUMK& z!^YdUAHC}TO9%e4sLko0l@DK*H1VYe|Kmi1zul9HgN>!j-?7sFV@v<;n`RPXA`lDA z3~UxlP*lKD0>6^o$zgcB()b_$*EJzX(h;HS2)s`DKFa%kdia1kL?{IU4PZesBY+oD zV>_`1?EJBzMw+_FLBTpQS#Z^- z+Yo8%qP~#1QCRHWs~^)ZZdkQ9CNZ z_rgB#q$DtgM*IST`3cSF&|s>IS2RL+5w1G-aSTnUHXg0!=F_e z6H~9|edFsVMVk&um?BUPC9DLv;kQl8Or$80dS?I^yZ(uIT{M_cY-Fp#9KX7m;XIW+ zcC>$Yf!{~$=2~2z8xjeRkcHF2W@EjAteBnJXVh&hxRPq^ZTp+zoLBEvQpj3LBQ$Y5 zB;hvVs&nq4JeS*zkFpxNcyc_)-|MWkSg7aHNX2u&uJ{Xx&e@L zV!ln9;%oT^R{}|z-;m)SQEc}H=%t>Q*R!IbW>xOTmExH7Z zw8D`THbOkLKGB4X-LCj+_#hhT8=(EhYEbL-zg061=|$!KdUlq-{^I{{NBKY736js> zMIm_pmxPwWXU#60AEcE#T z|7Sdmz-V|h3K#)vJ`WO$=;kquKn3sl{pr6=j>7+Rr7VN~YGok;0wVs;FZf?eD*k?| zo725L@YK-zrVr|~Y$)pFvd~m)Dn)NC5=#*iDGH8e*)}tqh~tEn`o=EVGThwEcv-Vr zs7Rowz7jIEg@NkeV(Zd`Xr8dr=;&zZ`sm*UKX3d5r!%@cdA%Q}O2uq@_??fZ_#fY< z_H%PCR{iok;eeI~1Vv_G5R*knzo!f?OY%wX{U+-H>`_G+lf@=IQAC7EW)nFk4pO6( zN%6_qxQc&bkQ0$#uADu;H@USS3Db($A(?Kh;QM#C6tXm4Kh^ zj0Q_DO0VXqdO#gz$zeI{Bt&t z5YWb5cFIM?oXn*+zE@c^IFk#uSdo(yTk0-H1-;SyT|0{tjnZ=u~?TaLEa;C^;MFBrDH8{5Es@sUKdU99_F>KT;fy??U%S+f7ztwy_E&GGxNcb}`c6 z00cC%fIEx%n7*cSrY{_K@XYa-qC45Xb0xb7N4ddddEu2ZUCiaGNkn6QK^*2Qw~#oM z`(33-OKNjd9J)h@U>8B6GMfM>p>m@&aF^7)W^iyap9(#J`nRBKFJ144odb%=MWvsN^ zF-{Qs@TCaz9$B7LKo#0g5SJO;HcD3wKGjX$GxS7Hr|nynR*7p{Sw|jS;tPZx+4&lr zpYZxoGG1@_i4n~atBH;8EEHg0EiV?FyI`DpwMX%Osg!P>lQ@xBtuXwVcTO63)2+;| zYWa-T=B%%-a^aQ)Ss>+!kUT+G?Z23~Z@ht78M>z0tfH9#}ET&R@7m)Z_4G<3o2my^G9B8VUl z&V}7I!f@1oFUV*xw5t00jfK*y?dvv6u~CWn!$Vw8!%lS7rA(CL0ov+cviC_g3>jK8 zM($W)@ zXdC)WIYgH*dN#m~h3VT#vJrMCPY?)wO8tdtuN0*(LfgU{5cp{bGb?@n*;y%4q@RrD zi*Wt)T~Fb-MP5fx{-?IKe9hO+2IvKHItbYpF*>j z%@rfhIcKUArPNk)6>4M?KIMt$uUXQ)uiCI7UG7TyM_#y_7LsV$15no-m5`QDX!2og z6;&e~g*dk((rBruDoo4XpU({RbjF$*d-^AnVPT(FglYtkz7-5oan+5q*i(nypns$WKK=f(hDO7{w!4k>Cxk?yYYt5vYvbXqzs0KFP57nHFZS7Sz%sp+1u}_3r zZdU#bKF=1VZ-|GEWFT|3TiDS@_y30Kbx%qt=>p`K3jCZoJa|4jj3aF6FFu&i-KvcY z61zRmz#Z!?sTu8V+UvcPrpCX!b`<8|K+ZVtjczxdQk0KC(K>Wm)Oz3Uh7wuJ3;tVc zx{Bs`ZJ}+id;=iL@H3n{;c4)(*Sl$nnt5)#q~+cntNUXg7;N}GH3Y_KR237YgxKtH zZIS&^UnQ~ewRU<3zp^c%E2+U_)39gij^N284ZDsN>n~(lYd+L@R!t)`7=l9?P)c*P zg;W>>c&D2nRXnDVg_e}&xi+czz*%KKSQ!{f)NF1j165bt$MYQ|^SQmEelIh$LMPCP zSa@gtL&2S6gc{Jp(VvKRs#@oxj}yYVrel`kUXKirw`=Z>%N`>e$@X#H42w?Ed zfCa{<2EQx~ozQ(H2O3q1>OFqfAH-ywy-&I(6= zDvGn5{Rp|<55xsx2ZwuOXd*P?J;eaU1fwJQ{Q`j8ojod0hB{OLK^X%CEWA}2SoB6R z4<<4YsTNfvhQx_ziWr7E3gshtl**|u8OR7O1*4)O1-?TRq0u-mM~?J}cDZ96-U3@b zfd;1PK-3Wsx@HDqAU*P2?ihkEOA6r~T-JCb_d*g)IrxvFcy?Qu{0|dXoEV6Z^vGNc z1a01his1=jJFfHj6{6fI z*Ku5@I9pVv526QIng>bWC`($1GJd^lgqd}E>?&~Cryt&h(awhlF;#mkOpp$yLpQIR zpY#a-0;~@bm`(VhZ&AwZu#+BzJ3Tm#bZqYRlpHZ1raphZD7c4|>)G^8<%z#-KR@b0 zmu^EgZ_Seq(7Hi>PpGH`t`#DW7}Da0_Pu{=UXi z`Nl8ci}ZT8ypA>AJ$WB)=oWKbQ=B(QTjf-f40P?7pFSkLSBh`EVF#bq?m0NN@3B9+ z)XS*E`UK zman9ioHyoXFJ`_Z%1da%{$EX=M_Q2bk_pDx?fPvxdn;QcWhnU|zMLiwj`MgDPzINp;2~)Jg6@2y z;#$F5JLikS`w-q<9Q%$(gokn=%es*A?d#5VrI*9U-?u;T5Zrq*P>8LMpePddE(>9h z4QQR}F?l)=7p>8GoV?fztnBk#Xlt@*G}SZXvW5BwT*4$=EY{~ zak%_Xp>36%&dXw^-Nmkoi(e!P&BG+OQWHeOy*0U=t0tgtwMOhRBzhz$1z#>IJXdZF zZDu2UEx))QYUy*aXi8UJ_GdrTd1MaQH#z*mAyVIv+AZ%}9O8^@blTLR-2Tz64pXhNltT-o&lKXxo;2*1S!u;k>L^wR zg|u+W=4f*hmgohjI{nXDgKdIwK}-lgiO{u}F6&43I&r?~>>6W2HlVi4_jB43xRmCL zCWSH%aT$KVUUjkhgmWJXxP6Y(B1PC^o8F%^AuW&y4FVnz;Thnq&J)adL{Y>#Z@hmhkOI=I1Q-XKYe zainDla(Yq=0&^`hAktqAf^SFyDJP;AVxZ1;DjQM@67w{CklB1P7llkDybm*s4-4GH z9eFN(698Hb31~#_h(kRUW{)h2<4q4W@j#9mza9r!oC!ke8_ZRd0J;i}hd@}|oj4ZV zqIRREwfPgC7;BiDg>p!nW+Us7}mNsPS&h@_Xyaai7ds(F@^}eR4Ef=J|Ie5KpbDfg~eRx7c zcn+Xb=%B}meu)^1HXwIR9zT>QAb+4vu8bB`JR+c+!}3WSe-v$pVI99SLqKQ6>`*we z>p(hpUY%6N0aoA})J@TnG)M}a}jU1F~XksG|#b;agI-p9P>=*v)?CFr0tL$ly3D%l0ws;jOkJKq|?qsA=LSGF|a!G0*S- zFe@fiaxRG(4#+yps??f6(r~-XMZIIdtCSUgX%s7mHs`kYw_9GPT%w8gCQXeTInfD; zKmGy5@om80D71p9X*u4u3ai=oD)Fn2#g?HD6~qCL(mdfhY)vpBbQGs}6CCx|q^DW( zgJOfoWRe+^(vd4BMg>)a@hAhmAJ)sEQr6Fn139aob@Hp+S%~IJzjqsPo@39I5DE$F z=1HQDZxA=7WRO(&U#a0tu)xw>JGR7iTobjnSEX7a*o_R zokOZhT-m#LJv7_Y8{y;XN|mje-hIn8idNa>LJWK4Tu9Xf#yr|0qi}1pDU= zVjWrENQYvD^~-sSIvtrNbHao)tJBWHWqORLYoskSFS>bA3ut?dqEt^qiO!fUL@)XV zf>yeDczr;$SUnV*?^#qWyMI}KrL$xxDp!yC9>!xO(^I>Y*n^Gh&A}9>G6eHd0P5td%k)$j8Kz0}96X~=hOW5?& zjcr`^Kj0(!jE_P~!9Dw#94d>zv8@`0j(UQujK@6X7`Q5W1K6l8C_5|l3sPw?kBTOc0K^`e2V_P!1 zFR2%x({CjdeG{<~CB2X}ogT%=A-570wpya&P=}>NGO; zPK)_ZE0tblGX&?wTqNj{J(<&6akO`lkzx#g%Z{o>GWSFx#TogQokSp>?WRe-m=FU?Agxw!(Z_O4!#4NgSewPQ>C_l9pU(jB}W^C$+UBMlB_&w zx*ba^?@=Bb(_n7WJMB@ns;i+^HX;lJ=ZR!t@?<%1hjNn+Bm@ym3vLLpy7mMRtbV*J z8?pwUpFB2P@{6_4gpfz9u4Am+PyCrW^edBcz3gwKiPJ&Tc)~IWMc+T9BKdb0cohsr znx;7q~#gB7!dBIG*Ex~`YANpUP-G8yh{Hs;y(f$vt9^5L}Y}nAt(uZEzZHO&}+PC6t zGy>H0)PR_mU|~ zpTmbs@SUTRZ>2n#mCH9}!~vF}#a$2bbVD9sb)z{Utg}91#EyGaV`}l&^ zUujjqgkt3e3x)w41RskxHTp0c+Spa<>{=R5eRY!zDo~3D75mrndvg;BG7c_*T+v^s z5yo9{n0~zC#6H@}cp)UK?B>&xVaK>7otB4VwNNzzgvvBjHq9B_jktd(VRoW_Cf~Ao zQrgk}Ch<$WN3kxxm!Vgb-qKVgfIAo*2e~EQ6vu}Yx7xd7&n$2HrX*M#x{PAsm>9P? zUU;IPkZ-x_gj5HTPU@;|Tf8+*sAlkeO(2ZN%8IocHDxYc>YDo2IOfsZVTPncQEt3QQR;Q&zHS%eQ1a!}k3=wPn-^ z9;#)*nv)M7EP;Tu0a6KcbFG;m#`CA)PiJmlZ3!0)Zc;x~7&ux8_&6 z+oH*bj{~rBVF*!>d1cEwKHpm}bsRaN&5c7hPAq{gb4*0(wtCmKhVvXx?<7v15F$pH z5k@_e1$u;B3x-{pH)4t^H_Ko+oJ3LIZp|}YsxVde%Q>O`!tRpa8U5;dL#!2$%H$c?U!XWh9agrpLW$JA2=Wk@2E(CvnKc_ zXhn3Nj!4#$!=+Wea;bQM>W9*brVjk2rVa$MrjCRKTQZGA#vnT&W62iqP0JMan?^BU zLqiAonnB`B96nh|C(@0EeSu(~XXNl^TP8wzPaU8nwt`+*bw^{MX|g`^y#@qPF{pjl zf@HmyhqT+T3FwWu)$qn(p=+?>zhP`Bli9NHEc5avA7vuNBfgcSWa0^wF|on%DK!pDSiUDBcgTib#XjR)HV59djc$ZZU7eq^EPoHv-&zL1tsnI}pyAkjygQZy#^% zKnDnWu9({OLjj(yep4#AV@Qhv?eU=>kk$G@P{)3bX3%P6)^H|NYCkZ86&nZ&k?cbR z;?jbGW9>p81gl)}+`A@)=nO>{YaK+yMvhim^13iQa9xmR64UHLv~YMfylZe|$`LH8 zaAcB*|0!rLzA->rBqLko;>e^Ulu064bP1(M2tcNi#VKdr8OGp1MCoc$@~H=V8#Rgn0_fIWgw;{fa7fFsdySf@s>CcPSGse%GoQEv_;N!~ z%9=Mu+VWu0XP>gT&$Dw$y3|6$e{@A~-rVq-tJNP>hfUsvQi$0;o zr5wLj_`$Au`f7w1tIoxfS^c_I^?EQGwB4v76yGQPa-sSX`Wyq5d4Kcv`ULy$oeTZA z-*;-TDOCgG|HqhWZ|Z1n`F{cB`5AuNME?NgV&f?mxn^obB{c6@(hJKy~Hw50kozc%%YcudJPkH_rH03YKYZKHmL$meT z%QL+Ypv_%%sT#*oi9=fwiu@}8MGL$6T(D;8xWERcnW-eZY=|2gd!`7t=Qdj>+~Z6P zx-LLV(a()yia#vTl;-d=_Gc)~t=x&M-Fo95VTa6WemtPLamPe+f5G!`)AvFle4L1G zvu;O<$BXsk(;raOp01WR&XAdA+8wVb)vq(6R)Mi$WMfUz?*tK~)6~w?GJ9DK)=1!s zKSl}Gvpu(yjlA-S%&^>oPKcF#ti>A+%Tl8{m9(Ww#3+`I=-hd2w7H3-w+;R*tD&mC zc8qKXOYu`NsPt3w>mn35E&^z=zN+%_-;ZvS6#5LJ+Hzgh*J&u9!_}k7$@J78yjK`A zRr@Uubujn2eyLlr^TIDc7wA9sYg8A|^clu8#>wuJ*M`-Ph((&ybk^vnAXOXYG_cR` z&a1Z0S_kyF=8*Gka_R~hG?xhYu9v4cxkta+GWl!?v%U!=RCDYz!&}+@;uDe|X*Eq_ z+OFY08=B6Wn9yw_sLwx75q;k_Jw}WzAJD{K+=FtrotG@h9hPh_6Ge}iny(Qho9RK+ z<~*z1frt@3)7S@wW!|Mjm44)^gw^j8p&AXe5q3x3;$#U9o#5c3>FQ2T9bkX1@3QyG z|3TKPPa&km+Hz&^W79mt8pnf>G<|PE%I6ZugBpL=J!!yd;{I4BWA~cppv(0VJTpGQ z4LNg<&FSXH|C<|nV^w+HXiWO6Nm_!rC!kl`M66)G#a}2>+<%I3db8;sAn+-^MNo{F zPu?fw{*x^4Qn?LH`mKwj$Ii?$%%LX-y_jU852_sR^65q0iZ# zDvhFq;Ues9f04qqnb{q4_9j!i`1?UQGL<>}VF!WrvR@1P`|`kn$Lap}ZwGXzd#pDH zGUKtDtF}M>g8iGKeLXNpLP&H`U?~7hbUR#msRWKHA$LcxUnq~7z?5sL2cyKB)%4@X zN5uz4WE8?2I#%6twa+G4t9C^+kBtU}WgO1C1U<2D{QOPYX{)yd{fmwj#~b|5#Sm(c z9BOe)UQ0Qy*-T&ywKyW`C?iTqIUbF3R6$Hl85&O-qjV=Rs}HfnG)fCOhRH%TfvDIOoPRC*=7)`E7p}7KSEF$0t}Hba5H5 zm5Vxx8(9%}=BlUtow!4oAdQY=Q4A*)Z;-Ll80rVSNL3*Cz1BLE}Z z>%iO@TJoQQs(U^*QU{ddRP-`R1_rE|Fx=hbCPxJh6|Q z-mC}7r2I8$75;_B*!P^|A3bXnsJ{yu%r|3;>LVvd%Q1M3G0;Iy#+&;7Xn zy6*g+bmD*Bcrssuh@=7iyBm!wDXZUU))6Cca#SiCw(gf zxJSj>rM_pzN=osLA8w<%U?F3DLlJda(u}~Q)IDOe~PnzX~1E8yUnPIJIrRf{Vy2dvU^A!KUJe$T5Et<+_)o43Z5OE2MR zG1Y7BFylbQf~?6d8C%H;v%)lXa`e!I7CQaBWR71fQk2W=@}cTkY|mF=ogPaVZ|PPp zRvn)_HC?HLS(nc)Q`Q$C-#IbL%Zo*(Ug#*h6{i9 zj=zTk7KiF3aYe6rykeMMkNokE>h2|jb?wnh@&27~mnDt`_3bq(I|UkNSmCN}GfR%` z9&KRjK^^IWw_*PUg$FcYOxZUeh3|qat#cZBNntJ7iBa3mlzxi7r`Ts9gw)z}$pADS zNg^S#ucjM~dqO0KG#%g0+qo5OmL&K{ZUC%9Ah%Ei?L!k(#a<7;(s@Yvi4~I zHpJ@gtrTT!>%6MzD7{I(jV8`x51q+TWh>_(fV7?wmv8%Cs5JCoc6M^dkFP7B0^E}3|ZgjcG*8a;o#&w>MY zeg9zHZy(Ul^2BP9%FA@+|J{8%xPK|xusE;(;nzU675D%B;{mOmY_~iYL(d9^O zf>kV0g@bAMBjCgrvh=%F@`?3gx!FP#`Wk0l+bnGn--Z}?6H$qiKv7Ry#1oXG{0f6k z?iK&LVpzaM`0Sj9n@^7pd#}N_%&*hse&%o#dCd-;EJL+uGjq%=HVu8>$Mt@f80EBLbUvRY-in8zj@X%825Z|ZF=I;b3CR|C&{J^jB&D zw~J{K+dFemb?Cd@k?wrK5zB5Y`}8L&XKcA4?O^(>QPnWcJp0dqg!~1d_pd$| zf2bA#89$4k1ZQg~B*#r%^Hx014cn_&q-U`YvLQ~Yq3)C9;&Pz2Dp7t*kZCi44HP>y z&?=3bg2194>nM$onmR1LcqW9F+z)1alcEL!-1eZ+i(2hBBbCX+Wdn0d!RMfi`W_#R zj1C-M9Za@%ShyvKzB$_wik%7Q7y%0#%@SsjMjqEt2DM-bB53CO0b>!4mj^fHECsp9 z95&4$>KNwr71(JB(qFJDMnv!cAo=4uY6nYLfGlaoN$!*YG7@lnaolY@kn5kIcB=%b zR0)ohXvPgMIIz-16`FNzpukK;ve!V@eKyJ>RoG|P=-qI|JpGV7XLd4}3yPvy2v9`p zX%56|f{<~X7)O+CZNdJJ>c%B}c3aWxCN7Ukwxhg!X`)KR1JebYmGsrf+AlAARr3W9uwmWCa3sq@a@PgcXNBNq#I8+`cBfP9Va5P;dZi6^tcmugJDI3 zP?GzQ;oDt0Bz{8i}GQkXSAi^P>(Sc>m^yet1j6{JK2!!!(qWl zJIUWhqgz(HW?kVAg0)hK>utdS%+ML00nBDxghF7r@?a$)$6KVWm6vOHzN^*84^ON6 z-GG@Mr`%{`B45%S@7ATH@7@GE)LkFS`ESarTiCmj?!O7X1&BDb#WauH;gqz2lRUe4 z?^)<=^aMf8I?OiTBg;nWvYO{8`cE|>1oWU#dLki6?qCBwMBa0>>*11y>h~gYJ^%ij z{p6|e>gQiD)({2;SgHRfoz}s@)Ya!-y-2{)rSg&r4#b_?SV8&K1e~}iX~`x=1v!H< z2{aDJJsb7HFuI}5=y)f~wbfuydCcfA`d`Sus-te5apqoafqQvRS9zPpx8-1)*E=kP z-JMtn+gfZe(k6~4-IbcR+&)1BR)i3eCDI!XnwT?w=qXBQPMufcEIu_O-iCGU+Opm+ zvleq6yByl)2`5@bImr7 zS4EVMwVQlzVAT2vvvN0O7S#)bRblF9E6de;m%_sc{1fxJOl-`~yU7ee9p*FFu9vH! zA)^kfF^RbAp3sXZ-E2#uhLU|zX7mB&kIONDM|kMQZ4s45e#j;-1spop4NAJ%AC|yn zHtBD4nl*Npqo!eK>c>es6pcvg&f*bt!y3`*GAc4^GOGAd%}4}D*f_NG78ElkCm$b3 zD7b=zJ1SM%n_seqlxQaj~4rh|1;Nu%+ z6?@=SzYC`3rDlzQkr;2pQ3HuXQ653ge)9#U5I0gsz(|gF;nr^BXCFM~% z&VveCOf;yC_i+}QeSqRpEt*nnN1h_-2tzX5zdt*P6eNr0!xRx83sP1a#|FbD;a_;w zAA>FUEQa#e-~Y?{%ztbWV9ovyA~^r|2?YXz(0`_T{adtBi?+i*bCf_@ z#C43!(C_88aazYT)FI`HH7n#$$y)ZoSrDYJLUx4PT~H(K93kfEUqP)p^!L}!JtzM;w-TaPkA63vxnnxi8p29hu*InMyj;>_7h0CCp~9 z7{~VBScm;6`r^OZD*6o<#;D&yRLWK5@((S!VH}oheJQKqN0tHNT zE;~X7`Uh!JYq(u>+nu@mzIWBPD+uoW$fQF?FY`Z_zAE21KTgK0(0hE*ez=5n)V#Ec zVJ!%|Fjy}+{0+o@{wwtyn}Zi`*`1gb&%-9ZZ8MoulE}W&i;ZYJL03d)P9%va!0vh9 z5-voryYCm-5ptn3ivFT1g@hDFjm1EDDzVEvp##(#Ri@m`AAr5Y9iG$6X;f>Q+G=P? zVaPD5xg=|LB(CZ7RM`_*?XY|cb$p&mGoI5z9XdXZ%RVPNd{lV4r|tkpWcqlKDlByY zwRtKvIYpi?N&eP-)lib&GODtvsg^V|N|^JsOEP^}r$5rW7z>cSMXRxrEI00bGpt)V zoUK`+34uvB?FF0T9Y(yCQxmY)_dGk~W*o~LnCnxethBV5g zj$Aox6+QC^eKE~0S{G1Kz`s4fy$>KGGr>|vE4TS{tw43nDnTo8=+4CZ^OKn0fI14` zSu6%SJgySN9VBhRk{yd$Nco#5GWS~vTB_Z!`Ic#hv#OxgQndMsDd)8_3Me40+lsz- z!gIrv=xm5vHjsXLL7`#Bn-YApHuBr4xR*drJ|SV)PC;-khYZ{TQDUYJU8`N8(g^XX zF>xP^vn@{FPO`}o&2voT-{t=(^1lhHf3#8DyF0i-u=&ab zypa5VIGM$r9Nob&AOAX;^E2$!H>GeQcSlAaBoXnTWru_ zD2cF`!KWqDNTy_;ko`R6%(qB6k5UpjmG7-J8bpSk^HcDM^UX5rB?4I3EEtybar&y?qb@S2 zRyJxK_WO=DTS2jP6W7c)`mUtRRzpIJChclG+Zp?q5!P+cJ_J}p+|}^>)V0^K&g#WU zniWfXEqn7O-HU$4CCBu`528@7dtY=)e*9M5IW!y)$j%IH{~*2kU+D&dAc9+(kDFfQ5UuIP!SDnP+v|Wjgq%*iB~lrat9q*VZIUk0f<_0jq$Tq+f6(qn$q*`L77M2~HM~ zH@=drxH8E3XomaUpbcdY8`NWl8@KpiAn-S=kNT!QoqOK8E%C4jNn1lVwnoG@cc@nO zB=&hPKZyOFniq*4zLP$dw|pyzt4nWAT}K9x(D+Uj!i3iR%w|{^W0uDw!5k+e!T5nL z{fPM^v;Ro8#53Ls?pOTpfoyaWC!5c~F1BvAY)Oa!C4xQTS@pR)K<|x9U{r_*_N;i- zEZ%1VKGx)4!OaEP0ZAc=?y9vJ6V?inS-cIgl;g?M%1FivuoKjxv*n=%a`51S1vGcW zMm~f&ZfPJ3IYBGRQWH7}xNXgi9rFI(ocj zBd4mSg!QEg3X6|z5#v@EF(XS(rOw8mD8-jeY-dXYm7wF zL)&IMt~rp3{ny<)tOMr1Uu|2Ibve(xp<>P?#q5qLB2+kKQ@3yUpe#!ld z{ul8tVxXY)$&J;?O}+ym!>hmR&81-P^K^%o)yM0uJQ;L9`8ySC?jF4C8UkyIcg!%l z?0fX^6m_7&!6)iKxdQ-JeaZ_#Okt{b!Z54Md&+RVOt;bjDpsFT@rxqXPWW#1odDr` z!LUB{PQ|&1%54($j_STLL!NfgK%O>vzVTw_F9XpwT-T)nb3J5nBXQ0;QMaD7uppN8NA1LYvvvv*8Jzz6&h+M$6Y($KPR3iehk?lsV=YO|EcD;{`KZ z^g_ypP?{{*8y)hk>-Mu~=9-yd)joMNsd%oncNGD36M~PL4w^vGZ)}rdhVDZUgm+O49(Po!@%RAwcd;9hin^#1PhG@pPbXQDZHK@2?-uO5B4U($g$EI@-0e>FRBmOQKMOEs zBakV!b>__?)uiVT))(vqltgJ3>dMW=7NRbs#z+Sj&Tcl^Jt&vO?Cofp6j_ng@LtBG z+?+{%+gMIkhkJCps=lj3!qf0pj(FC50Y;z$+WiuOYk<5=9nvd}*gY1c);b~b+CRNe z_w|V*(bm`vFB{*S0W66l4@R|>>zY1#;*Mm7VTX2EM-`#x2gfdZ)yV$KEI3&~pNcX& zKGYGVLlq3d%o2Hj3b)xNhAS#=T8^1WD|Y5@FfarhX@^np77bXfl?-TMZOUw+w0&`A zwBTA(>T%4u3^79WRB`$gV+dL*N|F#kg_pUaWs@;OkLhVp4%?LRho1dtZ%52FfZ&BaAx#t1+ZpNYRAUP!_LP&Vj%L#duios z!{l)`5xrmBOEm{-e&i4NmfnS|mT!2|uk=sO*&RmXU;B*8Ccdi@^&z8B%-8;M5XS7t<(O5c)IVXVi z{ITL<*yk=wbaYr()eY4ao|Jm)EAu)5Ed^k>N0iU^Se zrm$C{4ec(9^{G-Tq}IK;ZpD{Pj<65!jF7*r51vF$_bPAKo;wGxPn(XtiSS!aUU&CO zI|mfcn}*%jr;pIxBuCedJ2(5xq(OZnL=ZUbBz~w3WC3*U$3@-H)?dm@Hn$!z>27~B z4AEi#J>q}Cl4Dj04*MKh3l(M3Jo*ywg_jlIDU*;al4{EvzlBJqtMVE8iww(bSs-n2MI+0}eeg3wIOE8p=B+s4!sYUyl=~48!4eZ618jD9{WuVdayM<#^8*H)9kT z9yQVl~*AG*Z~+d*`b96~J#;%jCz1D@rS_CL#Uq<~WbR*YN@%Vkg5;23rOT3jJgjI6$ccHB`{hvvWt@f7TL}rQ z(FwA^vK^5-P>vHc`>?~6CBYYD3g>uY9@)?%q>B7g5N` z7AZozqq$i}f>E47lJw*Jm`9fM(e&`TpF+Dsx$8%RuTIG2)j&#^M_lyd;;#P`9?d>f za2B92oHBA7%p*m58CA3tT+tn|+%|LIlQRagJ)(>hjE^*uT4jq&@FZh{PqCQy^LC+c6pRn&A z1-oy;@9QE5NJe?Ndj|tV{~q7;EgKTS0PMe*0Q)cghYc+M5rP4ZEVi`q{C_(P?MqK^ zWbsaFYc?$jU2{2-Yt?)PNCuh?haOjsUIoFy0i00Gn@_q~m6{F8)~KfQ9(zN*{XK;T z%)rYKG5G7oOg3PBN3h)U>C^eqQCS7^MoZ_M<O@ILxb zN1;u%NomdspprlghCOapV4BquZxy(#+&8TZphTNJ;;qYgyBL&$ zWI?l}JN0ukd!WIBFMjj$Ot&eMtiFBJw^3Bb{rgUxV|6Gz(MMG!@nOR(p8de;;mJ<+ zQ{-;W4$<1DEQy%V@P%~;LkB)9%#x0`S&I4O{emI0){E1T?L+}HkP_>(wn z>nd(O{L2mC+17fUna?o>F%VJBkFR_!I&bCAcS}j?LWz-cH8<4>JS_&{T)O5i{XA7& zxY!*~7X8puMI| z0nhJ?iH`&OnGUWNoIbRn;zwqJ3NC#>n_kKE<@?7bw&nMsm#hUJ5*;}w;$I0B5=u*q zcF7Dzr8b`mIo8;gf+o_1t|?9l1tA2u+R?df8)AmRr?n{j%uQ4+p?&GPXS5B7d_i`K z1#6p{b}t2q?8_b7mPS!i#&4TDME`2=7q$Z~^>g_Ep0j!w>pmkY{xscu6DJmD7OZ?& zJ$;}VV!CQkso18Kk*kTlcV0)}1kRdz@nEc%tt^vt>ZjB;UFG7* zHwR`-n*F}Zm=A@a^~#}A%s-7dK;@)I=*}P2p9eq9N;Z$(U#GEiSYi0ln2S*e`1HP1 z-kA)y$PBxh`g^8g`^5|)$&KUh z1H_lXAi*18Q0_}~)DD@z3t>{Ph~wdq(e*F^ zSz-V&(Sb}jpU$}+MOxeAa~cIyDMs@tVTGB#u-=jk<`E(XKUs&f*t2JN~Tyw(uA`47iUL*yjfd|1E+FGg!0dR~;EvIY7X5B`wbk0Z-ONdq(!;A3M zL*t?p6N+m+tp+M;02L8bq|1IvNq$X|KPO3FA_AQEM000W1Fw#LCd!6z#sF!{fu!ls zHdrBo3EWFyyNC<KDFup#6rMB9;Q>xRQ}M%k9J>_S*l#+{#56XwgE|z6&lh@K}sr#+BQ=U`9~6+ z)aa##C+#n|&_OsdMd|Pr>*|3}$QXJbfY3w?+JU`4y^L9oaXK$fQ;W>q50>Da8aU71 zp`U(u66xvZ9C{To7sE6m{r+GBY3iS+mLyoyBn>w-QESvXmx{Hsm_8V6FtIMJJ;#Qeb?I*8M``o0*`uoFgLL-9w@U7vy&p8u= zGoY_YSg`w^?0-+V{+XRSkfmkXg0-h_;B$)kzn`7|D-8JmvQDV4JA(J=<>&HxUK7eR zafLvkGA}Dpz)fPuP>Nz6P(;Wf2JFqq)-I=;OB;b+7(qZ8!8=HQ9J9JiCLXj#nz?vu zKDV3cUxj^rfzbVk-5_A_C(66|3bE1ydcYivH%mVv|E|=ooI(a$4b-VNjx?0Fnz${Vf;xYJ~YHhPjC09e|$8wo7rU`(5^XYwk<>Ld_iTTv*!%HkRcjvXTNn=WL)mF}z>goAQPL*4lHFB65A*ypR$&DEm z5#Gi4d!mcV5S8z-Xf(_PLh`hQfyV@d9PHRFg6B$(OhCUJ+$5Z?RM7X&T(l)5upfKm zT0ZFS^{iGOGEgk1q!7RjlPyX4D0ne(@^0--mL8tG=5D`_;#(T81fjQ?9@NNqs+wEw zl(n&*3(JHvpqRITa+$9}=|I7XgGu3fO78-|3BN?WM+f$zMKHC1KTFq-lod)s1!7~> z5MZ!KQuC#l-*<^BC}V#R3i1^rLk3Dk4nt{Wd0K4iK6Ui$TNh9|;a`64_lwxnf>NA; zX@&MQZF4otDgIG&K%AgEmn`atYU?37^&th*RMnP_{}?Pczjz0jX?-|<(hujLg-!M?0Wc$)gcU;=Bqar`ot4Wt zJkE!_*Lpy75{lhC+X$~x2OFBQk?Fy=k7 zDWMk4Iz8<~Fz49e5{{nCk9Lk!Boi8o)87%C{nmL|CqDg$-r)Sw-xB1o(G`E{_y-3{H#WW~(b+XVzQ%`N zSB@5!@+Uj*uQya6^nLNLIH64Y3875m{A71IQ(9&{ly|{XTxLBK#mQ@wrbEWi8E~Dj z=PBdoi7XncT6?8nghz2;l>kfl7`7pvOsrs?SB4mvw7E})R)%Iu#f;f59#b>ZBOatOLgOxPtx=V}Y;@|9db!j5@vV$%aK1S7%FP7)#1=1}y%_p!c5&k?z*YvJV zuqRlf8kG)FBYBX!uPKHp>b&RA(#hf zmty!AAo&z?==le==MZRhAZYWKKeIb1Jykb2(y-+zkg#J1x zGP9Y1kHDVH9bSy8XUr5N>wy{Nn0!)Zura0{qK#8Q-~Bt~(k`D@O+SfmEs$O(85E`_ zuNX8goihC@??Gm0_9I(4=qVE3R$Yfu_wM03Ff&|n>)_0mIHeWYZE};QL5t()sjwjX zg4O=eHO_veU5sUAeKeHca>MKBr`uAC==REn7xv99Z3ZUWl;DFQym#iTXYA8QBm+M` zQNu~HpzKDsSyQhPlXy)|%r;bpwU!3$n(ne#AzjXGo#9|G&jC+aKo51N8MzQel`gjC zF2GMUTJ!kkF*s6KK?<3EI~K|h{>Yhv7a5j=sEqtqGuYfGWFm=z0J5%OaNH&@$`Fr~ z`1qTjV2-2SeEl0T+lr7EJjy2}#oaO82rY0e`fR-+w`@IbeV9#K{YJ=o64lFuyLct_ z!(>QoiMxh{2Q?`Cq=F3CH+HSj8g)_Wi11Q3wf>N=eZ}ww2|8df0+-DE9Q#?GwP0#iAZ^jCv<4z62N?(LfK` zP6w?bkr08CYzxXdB7#*45Fj0^!Z4FTS|AJdjb@404b8t9>;J^>_R zXqrKAj{y&*09aHrIk;P4q$CuPJmaZ5EC4zIIUVFFrig*G2+@Ryk3@of49kZ=d6$G7 z3~_W3k5T~fB#Mr>-(0+Iu-DR3fmz^OH=}nR)>hCj5z^LC2 zt%CvzkI8(K9^cT%Oq~V8!9Ewh^70311A1q^sRg~F=48s0g8jg#92Gqi3R_aE1I>rj zz#^h)9&5#Q5*)Uq^Lin8HDbYdt$hP{A&>lm{P#^3qMxQl8ECV_1==kC2FCE$9M~S0_gua7&^c59Mv;kx z4&DpiL;N4St_~@3ySik+T|x(QxvsXpJzREPS#bZDW$Fd%W6p`}^S(C1`LIWVhMdeT zx{vy&j`)B)4{$>sRW8l1u#by2o8%QYbcgB%YJe~(cijM2EADipfmS;|^_|^EER5^) z8w1*(uTENJ(-I6T8Gw%T`OaG^l3BmF6@aY~c5DOLiK zY1;hnp%?X^nPVj+!%Kra*M6HqFczkk)jF!_=2EoA+QV@-sx6&Z`0b~3JF+K>o+wJI zHzqtUvoo(*nOUO+&o1nu%~_PwN^#`S%g^wvIW6|6<%_MgW=%}aT#!zena(InTT%@y zoz|l8*UV<799f#C>kvFKT=6f~;yIliZ53b#OqdNMfb>9Xk_O4TSZ(-|q?Meb8$DZCwiK1J@BAZNZ&a4rZPotSXHPDTa^|9w zmpkm#qB~>!75dH=d&NFc>YXl(Rf={w6Uy}NR+2MZH#RX`f$H*`FH$2&6gnduc9SZ5 z0+`!cd*GOY>U(6Ef|^FgYZc3RV-0qz?{hf}`v#+6#lYk>bN#QG;UUM#kF%AZHp-%2 znE7kh-f5^PM8w+VC#pj-t6W^yQ=K1h+XQT-hzGbNv*86RtC0L#k0~|o@iSXo*T_2; z3N#lI@`(VRczOuwR&_`-D+S5o*irDiqKIF`TA{G}p%6Jm)kBC*mJ9MVp-(s@;X}wd z7dKI+5eLI)eT(|bnX3klftdtSnA%#-vv|IUJ66{WzUBQ7PU<11*WmsO>N-exuhN`C zDmj-ns)c>wtQ?=(S)8fbKZa++5 zbh3>StXMX+tCo!4wAt%CT|C=Ou&J9IES^^v;2O@&x1KIu))okatuPvwAPRky68?JE z-AmHmm*hF+Q==Jn0EZym7~dDx<#~6%J9`)$d*NMr{Uw&niPPaMZm`aJML|)1mYP}H zADQ;Klro!~xKR!ES>$1hezy6(N=EQ%$!@zE>{C*0-UQ5KOBHKH-fdp6Ve7{cW>CcN zZ*3i^X4~N-)oaSBx}S4%B;E_ROrz>ESs**oHYk3^X}%g_3#0!UYyrD3PZsKYM1T48 zFobm=P(SIVWXHaZ{t?mW+kOQUXW{v=2e_}m$PefzS2jc9{qKW$?+*7tTZrFE^J0So zK+iq~Kz++N_JN;B;KB{Bp>FO1(}PMsPzyp`)wFm;U-D(b@sy6O4ODU9k6z~}+1l_V zut^h@>RMB5I=$s@`qtbAji>U9`r3m=x(24f0Iop{NtG_xPCVNRM4AeEjRvw3UF5k0 z(0K@OCzVF9hXNPw;Fc!vkP|+WNHC@u!_lJwuf!Hyw~zuE^QoP|Y=c7kZI6kP6ZttHh#N^8d@hn*4JLeornU>4krMbBMdV9j zupYb`YXT0;Vc#Nih%KqKHbiDx;Gym;{mezg_qJpiA?1uf8$aQd!iyiE z!cQI^ek^d)cC?&r_)c!c_XZN;OW7qnoihHlq$V>+1=IGRk#DaCTl4~5P^jcIknIxw zUWlY){Oj}(fe6=wof;ozvS3^yFb)H|ayU?jB(vo~q+`{Sy|Nh8T1=f45yBoaF3 zj+8;h0MMDqU!{v-T;egvX=)QCQ4c|zyqQ7F*lH6~nk2Kt6UbCiC~FfbQ4gJ)yh%aK zB3H&P7Knp1NXHgc6TF||`)E-Qy_>vAK+INOP+?42@K+JW(vjTrzOHX4&%J^-H8t%U zxf{xTm(jk%Z$iuJwe<}>BYw%L4GVcyvtUT`uwE&^J;S4n!)Nirqo?0R*o4*DmLU*# zCeb?A@=p25FNLm{Xtg%=)WJx83%PccfiME zEASEdH=U0^59I&qeEb28K=C_u@Vw|)|8N3*U-Dy@h`;5&VNOgZTKQB!Uo6%v*}U_n zmmiks6+}ojM_hzjU4Be%JKLL0Oi*xV8+6ko<2N+|FajyYp8TQ3HGJ2m!5GH%4uJC< zwq#;nU1N3mq?yP{FF(E<&b4qu%wk9UEzejrrEJ2c(zChYqh~|(LLfpO$4adc)BOp6GNub>H)`RMA7>0j0R-8V|0 zqow_Ssoo!&%m1J1U4!#m|B2k72O_mXWv@>0S`zIVN;-d~Q}zEwZeUW?12AYQ4=Jvu zyD~`(H{z8*T5+ggm}6L?okvinOVTcKNZPXKaR)Z};lqtdn!QedpnN6YQfXZ5vO}Bk z8aH36@QV))IFu6BXP*;0Y}8wwseZq_Z#i01$6{5B>`Ld=!uv%vvs!a0UfxJ{ij%Vp zch0Y%7I`ogvC0}t+mapX?%rm&m|jzX)wBFvy$H64<3UKD`$`9v^`$Uo(ll?R``VrU z?UQ*ic^q$+K2+o9h%KG-rvO0{xiq&zw7r$ z5a>TT7h##OaA>$Vy6%<0#)Y_w=Zbb^qN$X_KmZE~%Qfg5^-!aTiE!ll?V9J$PS4w) z2SBPf#~(2R1f|>-(q$7B9wR8Z@#zRRn}V|8#+5N$7iXz%$iAgAxT%^>-G_?az?gxH z5B4~Wa>n0_RLX4JT5o>G3}8Q~er~Tm+_YhksQ#SEjDS_e+I2yIn-ZY0?Opj)nf+_U zgq7^OoiQKPVeIXmqQ7Ua&;BgGRE*%D*YOmBC12SPjn93%KXcYn1T%>y1kyc|LBGMt zoS19|1j_)C@vk2s;AVUNLPl{Rb^n$F`g`?hT>|G3!1^fy>-RU4wSR!o{|Y#ZRhm=; z6G8bLZmzYW0TUoB3ghL3OvFJ6x7QQ|9{zH^Fi+ALe?ItrYqtNJi5}S!J*qj*w1NxCVX)B450yL&GNv$4~Gu* zLEjgn%z{RNlGsdI?yOyHk8i}cdV;LrPyoN6&KL(7C<>`6(=jMH@miry4p$V$8NjI7 z4Ht$j)z2Js#hX~7wV`Tx0iTTTDr^SK4OUsJQ`XcwYThPfTjtjmVAX`Axmy3A;>g4N zCW_BD#UbAI(q46`zbz@e+p=WVyEoL;(EXn!hBiwo5h-Zg)Bfpy>QEqOEu$Or>oGX{7(pCA|bq&uS?)bRaKtP|KLwJ&?HiU- zY@e@vd;LS`2(@YXd0!@&#J3+D!*Fxlq{-+6Rn@{{)h6qMk;FbY8nBslT*f8{Fi7di zOZx5U-}Eq$x7xbAWPMEQ%7pS#7)Ixgd59a*xoQ}Xr3B}=N0y-fHB?tJtz-}$(t zg&SGGhc7ANNEs`3gY8oFY!gk+kT|z|yDIxjwt{+t0m0SwtFv)V?Lj>sa{UQYb^4Et zHi#MqrOQPx&Tg*ffacUJZ=ae*t03=yOIiWX{mlIuiskB?Jz_ZqObWZovEl;J#3Leg zOg#1Q5yJE_Wy54|8nFWy45gEo+4&tZG3@4$SDMA-tl%;!1GsFn=F%6iCvlk;dDIX^ zNz0ZWgy(V@4GJD)2uCU;)snCkMUqs5NSC!30TO4fpS9)a{R1Nw_mRxY%{;2#5G#9Y zQkgpxI8v1hvCI`POVW{df{eLP$qAv?WFXe$pkzixJSr_55hGb4y+cRu>5-D6Le8lI z#dX)pS3xh>(c1MOCZr4Q!IX1tkXJw?vIBUpNXfGAwpPaZJ6Jl|xx4=U&Ge^p`JbEK z?`VyGR~4lG5!{I4w^$N2vKq}5->o6xdR^hAe1k!&ed^ap=r(y2Vz&7HP3Gi}*hZ>) zDb$WZ!6Sj~uAryqZC|jq0Tl@32ogz>k(A3{UkueP zBzP3%YR*NM%MNtsJsrzP^h!FWk|!`~Q|+@asoIBD4}%!^3})zTH`#1CZNJpQ&Ue|_ zPREx`az9PFwX51<4vr=`^@wpBKli@S=+=99RvF7PCy2Slmzbp*0q9S8nE79TZA>;{ zYMlF`2!Z~`l|Vo7w?~ny=m3y^KV#Wjl0|+eB#i*e^*0eDN-k#RF8_B^$e-~@D1HtL zq2a=XWccXBqSJlAXax!=4A7#A&g=}6!_`FmyIx-4ISc-%66qQ}BuY{D&9c|i^Gfm8 zqwhy(rznwNkhk9%B)CQOOAVRK5apJxz<4Ct{<+ywEUqsfU|#yLqk$2_a9@r#Wq}za zb>2yI;l>6TwAG~sUngo_$7vf>)@m5Sy0POG)76SosPU}tf#FEWa?|*h;|D&vH@WF& z`5iYcLkc1Dp)tvs&Mhcf3re2%wl8~Z0edu}Zn%uU*tiDAiK&KJc<)F3ftQtN;AN$m z;3Tg%xaM?TL>{O4_k6%DIglucvuDF3y8Gw$`+wwA^eTjx|2|4;ftCCl%lz+fh5tTA z{*s8K+!F}C?+k#BtMRE+caEej5xjJ$iw53R6bAx;4*EXmYZXjeHCShm<+Rc5dP~o) z{EY`>5KkO(n7Mdow1X59JQ;>;7BMIHZW9=)BNgU**UI6~3@ZbSj~`Ik#uWOOqjgXB z32`}<8Z6qT;MFWrm$GG>n{{<$tkqjShvnjwiqA_IM<8^!Z(40Pr42mm#+k$u4dBA9?Jrkz<`$B=-Jpw|TGW;0IWk3w|gfD`d<946H z=^U_j-mHC~#?Nmc0_4Ab&6!4%^%DQ*D?`I4#rg?YyG3B_*#GyJ_K#83|2m8RJ*JBd z9-UY$1Q_uFo|-`lVFQf#DC2NBA9Ma!#K*9NNtL?Y(>dSE)<=KC9pZct2WEL-?z<_< zK`2R7-nP-b7N%D9wv8KjkEq@LPU#A3 zOSaD}=R3pczSjC(O5^)pCgz+g9rl^I!tmCR`4Y2G)cPscf{#Cteo96lnGF2S_<&iw z0KZRod=ZPMiF@^b{R__a_oaC)38S|Rcp?V@yQqJ&|NSAS`ZH4qxcyl>Sp!eze+>MR z?SaX7D5I8g8^sqQ@uH|07?Af~^l;R)XoyxO3xN92htc{piVJ<$R*D;4>mrt$FycOB z^Bf*5>(-A&pnGHp?_IIwP4u)QiLECJhnv0$+P)!UA4%VHz5EecDVqn zxs5zq=hDsy=D%v6e|xgZXYV|K;8*LuFA@BcHY4>I4FAjWTb=%QfKT~y>}gGNy?pi8 z0wsay0i|*1PjS0JLwSnHlalWkl$#Wb1UX)S#xo>JG;h#PJt}I|KQ%ftbxC^0Gu;qr z)W-%yBgTDe9(_2X>qEAU<3~OOu5&FxDrbLphdp?CzbwXhxSa6v*z^=h6?Af!_@=Fd z@A-osjEQr=;m{OMf4a%~=l7C^Lbznkl)e^Y2uXYD#R(EN$udz30!p0EucOVZ8A{`V zMasv6r;ra6o1=z>kwS4{OlTkiFo};1>wFXOG=?ffnMw4L#DPDtE^SV5pEqxThDhhc zAeyEp@{9=Urk@&Mo8f#XxKn-SfsgoRJys^8)IIPIDPG8pY$@Gcw}im&_a_-QFplMt zfkTb7D&cBX)zp3hMN#50yJw$dV#qO=pV`z##9KE!mh4DIN&!R}m!TJ5I>ZU;Z{-iB?4K z|1maL#SvHJ1$rA7f!@ZyF(`-`yO_y1SUCREf@JTyA&wIGU^g0#NrB|CpQeiUVSUKi zY6)93D72}5Be+rxpAV7Ys==2Vu7RAqUF;oHsGOPE?XmAVlX$p}YCOtUkdGvDKG(s~ zFmIzf^=`H|04N!3EhHPH_ss#t6*Lx0Ma*y5L&dkTTTONL$_e6SCx47#$g;DNsgnX! z@*oB2T_}J2QdwrxAxd%kG8r;12qs+AVX7=8zq6-a&kG2^0_zDZU z;pUGUUV-~(feuJb4T=`}q8g;c`nWgntW;lU9I&Txw0M;4iGKWTR% z?(WxJs$AY4W8FLmCGyquU02vVSs-SR35K5`Z~V#{$u)mAaMvV{k}AuTzbIpVu(2?Y zp=z_?<%=RQ-sk7WkXZL4xuBK3U@+GN4Wm57S`oz{{*SswgQOT3tAPy=hP2m+zH&yV zpm@HK>@p74;p956BhY@Hnl`NTpamdWAacf4TWeDwTka9Rp0wA zjZ)j2RVBb$O>FX{>M7J>ec%Hs9AXUeqWo_dr@bre7y1^HEn@qcA6M8=9N~n{lJI>< zuU&86!*f>&#L!d%;zT9hAku^07Qjnx`msQMauH9j!u03Fe}$iqAq0h(+0zA^DUPW_ z8n{7Bso+M>DVGfZd7@Bm$7!=1Kq0mg&^@d*a6%mvCY87*7j{A-f-Gb zWq4R$cuEsQq=8$5+Rs1|!4+yA26azETK2u8h5}@W4ueq+vvA1AL-a(mOIZMSsAH_3 zVT4ur$1q8xQ8gw0K)%~+js(_CH1<&#OO|;hB%zooTG_uSuBiyrLqGrE*`*Bm-2sKUjD%9iW|Eb|GE3bs!RfN z=P(44%PON-e(2~w3(M;=!>7w~32F|*$vz}=FVT3XaGrY7PzS>c^~IxI#q^k>|L{DR*D)@zM4?i!;+yM;o^^h)w!@hjeqf_U+#vOepOV&@p!-G z&5vdmI^dxq`v|x-z`g8qoWY&Vn^Nx)N|zQGY@dmCCTA>>J@p&rCb*^XR2dBZL`xrj z@gB@}KD`%3xE>_KXY6LhybSl_P;9wOSJ?2a_6NdG;aJd!s!|d7PwHE$=O!}9x61D% z{-MtA3g@r11|zaGmna*`=bA6DBU9`16;fFpd2^3usp#rj%ScV$H99YUdAj_r`>5e3 zX>On^t&-qxXT^WMTK+8haQa72{9(+#tMvx0B(1n&@*_;HGUqzG2x@0IMU#~T94e00 z`g(a)aLBI<+S`DO=&e+l1?bvaSzX{@nZdrW6!JMV0g72U&)!;T_B7%oV%JddYKw5Z zdj4}xs8eJyUt{CLO{XUj-rMnF>kfF}*7X(leIK&P9OQ4J6sCX0K>YsWJw_Dq=pNOz zn$Ht^l%@1*%+Rb1zuZ1HxxdW57I_}o4S$qj@*`ptw)AV-(3NzTbe>^!|K#-x^=lB( zuZn^EiZ`~X-nne8qH9`#9L+rr%o*xAvqKDNMWV&@A8sOCcc(G7_!j=!L7KLEIFlW4 z6=}JqKaJrd?u#@yovphE$quW5ePjXwv|5Q@h#I>HpUo0#Ug8K2Axud zx$12(@WC~;OD3ArPT2Dtnb{W~;-y6?edcqBA`%MR7lP}}ci#g?%1 z9}VcUdG3?zCp@rz=&m|12}6^GTelU%v6nx`QKQ@>Yjas=oIAC*^_}zh74}(ie*SF0 zU9@j61XZcr|dN-GBIix$K)4+#Yf4QG8PcCcf zA$1)_V~!H#Y!oUaqt0&ZnmXF!cuKz3!?}SY;VBiuijfvEv&0fL_v7B~HOnSn7!_^} zHLCVLpD4r7zUn!hw(#wP*leQc&6KFHB?!lc1WDvN+2n6%?YvZ%Z=pg_7oJU!U!Q@e z8f7_J(~6YtgdeCacQ^K^hV)(HqK(dY&o=Rh?2M=EW=(w6>0DPzp{4UzItva?nvFZN z(`vkOI*YIxuxVwqjuKP9T}M>-FrbXlJo08waTOOg=#NfT%que(H_{kllo>7)+WuxsZshv?FAgdaW*HZ;s+bToNu#Xo$Eb1j< zOe93Ho72!3+WYHnHFH%zQ5)QBj=dt@`^L8J*?t0!e$bcjdJZr6?XN~~BN|>(A-(;b zcqMzZh%JdHA^wO^Mx9VvgGh)Ts*c#*s|qFw;?d$vQMG*>c;}_tf@p)}l2+#iZH8eF z?2jmd15=t&9FKgjWCU}wA3_2KM)CL|kZrG-ToNi|bV8(dogu#n)`HQ^>6bgQa&-q- zn56N%J`#OaGfv$=*_KHA5uBK9{*aP+py?uvX%GEJWp@T zG3h(U?3#b9=wWPF)K5yZd5OdHqId7Xz;?3W%n>y3el2ye@eG227H|GEU^ zd1Z0~!|~?&`UAgE7gjt{-_s-GFaEKOt*+ra2#hwYj|$A8F37|?lN)|rghvg#y!lafx_OtF;rES99Tny-{-*f+F?dw7_kG98^e*@DP-G`n_2e zo|>*^**W-Olip2_r(s%6Pf1yEv+XRrLsevAM&@ZM7P~ZJ7ZBP&Pc;)jT#A2J-}_#Nt4LV7;d&= z!$^|IZ!Nm^fW(E3qzpb!4xZ{~U`0`Yz?I1UE-Gxrr?N}7;KCUNfGz<@eY;yH4<-=L z79#Kl+v@b2fh$@no8rUqBZfJgZiCiKY7l0d-H-L7!5&PQLe1KI+8h+oIhe2ld_BJP zydl0#u07pr`^^CV)t9cihr2q8rUF}Ipm2rXTOxFa;zi4dO`jOLg{o6?SB_XXeeBLK zzI>y#=GJWxe49Wyek=>jY>P-o4ZHz5@tow5k?F;$82~;3XNPKe6+i-cSpu!teJ61W33DBviL+i9+ z`;~$H^X3`%DsARblj)*{RB7dy`JnvzPN4R|@3C(~70#iI$m{)i`W^b;d#09&ZAh%Z zm*zIG%}4sbFMNOWO#i%hG-ts7&QT4Vowg;;?DE(Um0NF;SuBISSP-=*Y2t*nmg%%! zC_x4n&Adb!Uz)!3u;fz3NKFSC;V0Bo`njUPZm9tLORNm|AQwyW2-#Bt2ap z_9PB)^x_=*#d$tOU?QKnJZ4;d69vUX;6kAkEj*8$O;dCBh#pkKI@kA!ZKSf@EN4pN z?9{FDj%0(vdYJNliW{$HDp7T?B(Xow%!3-8i&a;RTR30-Thf|pE%^9n76&tB!%w9y zr|Jz-NDKGcoaI!vtv}*!rGv;%+z|Le>-8v2$xUCJ&omXG3T>2Vd-C%rfZ?arjB#bT$d>Seuc@IxA4QV7*CEn?*_I3luS>N*AEBN!(P$ z;%m~ImYrhd%H!z>e6e(o31XYq`zkLE^@AM=F(&Ik27%FAU;p`j^%j!>`Oc?l{zUkv zE|%it5<1%=Rzwo-Iy?GvUg&&v@hMIc1e@fP@Gqhdn+4`(Wm6f(I~dT&cxzGWo3v&r zv4k89AD)M0vDq-eYU8stW3U){D>z28WY{{1)XGfP6!q!^`DpNqEEZO?vNui5T9Pd% zTGi#1&X?FIwODc24x>lsfKj`uVLm_k1o=3Gd8`*=FYBJockm&;udavHi;c`Qsf0S z59Nf@+il*?3=E|NUb*)2dk;d|`%OQ?{c5L~P}#4FdF*l%yaF>>XbZv9P7yXqM;+=H z=JrQ&cKN>3u-e16v}mI=5%`#}&9x)mOz0>yauu0z^;u1M^Hk1A{l6AX!n?ug^SP&} zviwYXl<2Rcu=2I3jYjF@doo`SQk+A6$y?BS#4@%?lt7oXr41y{I+8j zpM8CfTFrW?hDAziOra28R598>U&sb8izj!jXw#!`@fBzvMEIKM##*4Da;p00onoN2 z$m7D?@jgdz+0+F&d_1X27bhkt@0UE=5a0L0nKNRGVjwRfhmx@?Ef*sXm$4&b5tWpZ zu`AyotWyiocl$w!v$#9$lmtb!xVW|C2?tB~(`rsh%Ngf7N+L^}ejSosDV;7$n>5X) zNQ{0_yxeL69kMqXEx3U%N0Wl3O$cLf+;Ygg-KK z(?Q}K!e0HZpGwolB$XTOAl4La$65}VRpNSyrb=R6#r0QHR$KZ+9#yPeiKUm(P~G|R zsHisQ(Adh6v=Sqq2(*oS`G)9po`E%hr<7{yF|wY?Qd=i|Vd9h@5&6C}NyajdG52;Z z<)ls0LxBx#FsKFn%lu?Hu0ZfIn~h?Y!%s{$NSFGYT37i4S(=A+5Hz!AG~S+~xmvVA zvEmI#0+k;3^5zZucZ@(zj~H>trq0O_`;P24{(Ex*e6X?%?21#u8EuVn32I+Q4TrPQ z)2~@FbaH&7BZg{mvzS~KqN#&?b073!VRGTx?QVvbFY=#;4gmNXT5ah{3g(pVE16eN zJkCCyE*SK|oZ9dp@HfQOv~z~7cJ(dm3~5@OTY#63hkmto^-Jsay}msvE!k$DnpYgS zCOtmc6*my3Txjz6OScR*Y*B8Yj4Wvs0HrD#3bud9r~lzG z>0CaB^~uxN7r}h!Yqfx2v=gQUY~yT3S6I&xIagT6)Dx;-ypjjph^Y%wS45&! z{zQhL(ziB6a291P*U&%^h7GLm&ELJGG*5qJ?=Bmx5sqvxbUCu@R6;J7$Ar zMvSal8B7q%JL(naCYOMqjUb&0*ANFeE*b}3sVd^5T)qMx%9=%>)US)1V1rqb56Of0 z(-p8xI|g!Q_Yx4<9ujt|0`HCnP>n z2@+Q<7oA_&$4q>?Klo82Az3@Y^A_NbDK3>OKm_PUJJffg1V>XALBKks=gtO)tpJqO z42CG{P>dee@t~=TQ0gSOJ`uoH0bZ1;4nP}Jj>bB55}Yu~rok91PZ*y2_%&JcO@sjfEc5Y`0}J77?W#Yo;G7 z<(HO*Y$tMexCX&Z0;Jaij4=->u?}5`$Ug^fM)S6M2O`KN&}k>=(2fz(k4bs|{;*Zy z8V^0j346=(bJ(f{?v?@TQ1;g!p9GfLSHR80dvN@6ATx`DH%EhggQ0;RULo8sA3$(Z z0r_U>M<|$wBv^;E{?2j_dzR{pO>X1*E@VC~RUlGO%X~&8y?lPcZ z{I(JfW*bm5tAqJxf_>xS$Mi4{f9KVLo2AE$9oMg`rvy!@iR4)b=Qw`0t-JbkO<`@e zipU-xNUJYATX5M(Bs}A}-3-aJe%|3@^?8qtrig)=h{NH7Mk5$0g!(67jg!CibVN-TJ;6m*Sco_rHCpw+p$R7x zK#w_OO0?Di;MEg&u?|6y8-yXPMH3RB$7s+FHTfwg7TYBtGcPh{T1|IWt`m$F+9hNx zS+IkSyg_(`#M%~hBD6_zuZF5?8(DNKie@ZLJ+O%z!)&IoNKC4sO?qS2w$3M)Nij=u zA=@JY+CP*8(~Bi2A}6%HxnKr5_HnWFnAy^)ulb8|3ENg&fY4u(ulZv)>1%0&M^tS{ zU=FakBlKaqpA{0v_QbybsJJ0~WX#KX7Zw>lF$m9{*uL^%m|JNKx1_174@z zM%X#H_bVEC(r|;D3-pmCFVTGQ18MoPvF?>}dGm{g;&=c17Z85xx46O`ILi-{Io9sp z!>;+Zu>)bmsDqrreEGmXGNATIe4o`GGh@yT?nODX9V2Gybqna$F?so$UNyB$pdUm+0?CkQ*^5%SS)a1kyig5T(<*@?aqyqCvD{h%mYa zO{MnVh^gU9FR}x`h!{(rARg^>Yf_HrsxJdIOjFwgxkMou=TAVn7hE$p^Py|PYL-5< z$k(tjqT2^Xz-O9B7p18dWjbBD?KNREl$9cse*-j720FULryS735^BUXu8-){>~Fqj z?Y)9I`$t`cDDIypaodO9h1+lecW7*qs5v}*>(~#Bc}^tF{k0UT_^%_30|dg5uU}hk zDy$l-D^ODFG@Bf(e*K3`jdtW~{Lb%}2C&WiH$&ZjidxLw-0aLnOidl#|IbhtsKgx< z28vqBWMb#B90h)AVovuLld6}N7eu6Ob8U#U+BHzDJsRdgAo~XrQz#Zmp>7%z-w^?4 z_`be9-QaC~+>*r5s7PcnFng&qvAvY{mZP?!PTx7@am>pOU&_YXKU8i;yQJ{coPW?L z`zBFs z5wbH^&rW;NUsSihN8mMDNpioH7@fdsG5+uO8Bp*jYV2V9-(rlv%0`27qZWb?VrqDm zqrzZFAl*HKH4x$mOId)LzNH}KU7)6~3=Ld#DQ(u@a;Gy{NRaCagpoxS#R%tsdW7Y- zWZAWt^l{HiK8G729Cj z+K{zg@wx6B=E^L5aY_ZR^?i!5@>uFouDwjaUHbKm%5=QL&-g(%#oXk9)fTjs1qr^V zZ+>auupay?vNnU?d#<}+R!;>49t+Vcj|X)0@mML(cH{1W0%U3QgQ?2F>#(PVX!9;oGuS)M{6U z2Yhg2xO3&LD&^&-^Gd@7LRIOrU8}8ke&F(K^KCMG@fMP<_K)c2_zbkGMe_y(CVc5k zU-?evoc?{EuwH`U!x*!u?9%^+2LnFp?B7O^w~G9UcB` zmDFef!JwKb0$`>=w4(jO$?P)8oDkrU5haHz)QBYUyezw5g$l&hOh+TsWRq1CmRSLF z`N_&yD7C@2-Yz#tBTuik6B zrBjpXU3Pd)c8Es!@owkWgIZm_H3#+KG4BJZc#^WSL#`@yVQLI^Pl%J1j5a5jU+}f; z&jph)^VKEAd=xeeYpxPq8BJ8&e05S0S?6sR?!;5?akaERIyY|o=wJvFv&aons@>y@uOEcc++?DMQJ<8kTM*+`AG zueYtf|Bh*V6&XG}TgZHHrJEN%u3Bn9*9LLAt`IL2hS$Fuwx8$b`@K>FwMXMv{l4nH zRf9+BPR$x}xjU_2yGLyn0k`OL6$e%bcLla71lGY51~?Q8j9HC_@8BnXgd__#7uOpA zv?tfe@P$d?2MdNC&m~Bt)&f#3F9909+hON4&`W7S&`IObg9ix;#H(}3Uo~K?7HO(F zd*Shh2A$s;4JzWd^eZd^{pqYCv2)q6%HuZ0b+p*Ur}->qBiP&AMz-?l7R=d|M!9%< zmTz+7uH5_6jL|=})gDNpW6q5!64123MwL@mt*$ur3=Ssx z8<*;p+^FBP>zy(u)*w-TW`FYwM+)4?o!_cF;m2-iZlwvZk)4g_p7#8t&iLgkVMH_m zGW*&Vl?l({u#3APN(*6q-i1jwjjv9Fjb_TrW;UER%ao_W^NV{&b^lPK4mnh;hOSp$ z$<0&>S4#_r-lbjnm$oG>D*lF+Qc<5KouV(1KU>h4$^!h@!N?JN599HFQeX8CrFc+a z&Y&{}1_XlWJkJ3F-z%<`6_X2o&MPaj6?xzxS#e906Xj6mj<||{*Ga;#TCuvy{)N6? zJ8_s3Y-ubcSg?$M;FK2}GDEyyjC8y+f5*DVpL6Dmie7lfs`F6y<9>?xga^i+`V{9W zhA#A`k5+tl5jHg>TrNYNWFec}g*H{1NX=T@Cs}+ZX|`P~(kY1N+Ra9SRfZH>HEOCv zi#(Z}RYWiyiG&qT^U!pv4CPb~EmM|)wLFJ6@}44UDrt6;M7#}>=h}QKnNfy3o18UY zl>B6oj=VEkNi@MFML7-jha?O`!d0^v3}kojT--p?;)QjaWcl~DL{&BcnI9H5(+>NK zOj&lM%{?H>LSI_tVYd)+}G`8&u4iPqj`0))cvn8iL9CDxjq7wc+I~H#qltKZ*9NvJ)Vw(SbMfelwqGV!Y z{!eaktfsvhx)z4NrkKMjBN(WNgg0hT!O(izx~w$`MC1^V(`Rd6I(dYK#kF>EIRfWb zU)wvZlqp&r8GsW2XUCx z7U2)9Ht8iJ3(^QDA1p_p!L5;IGc)T7bE6Y&qg!mC4A~I~X1#IE2F<{yD~9#3ft-S1fpn#csTfUOLxUcSKv_0X3vQA$=}W zUV<(2<@>lgeWH$`Y%L}E{SXHm@l2-0%4rUZN zwceI@3L*Sq*u!*5iPS@TSr06OyFAMoi|m)&^Hg}PdRwmS+GHurixT#eY$|jMuH5g0 z-#MVRe)La=TFCS;TvV+W^HqI|(pV4W6&LN}SY#~CC)1F96K)@%Sni9lQ2#_)K3!CE zBcbng_BqT|mYOz0G~=4;wajKOpVrCKW~SjtBf?T`^CpHF10$mj!xu5TUuCyQT7(@e zA5b|-Yuxe4qTVTRoFs8%jMj^O;JXl!9;BADLjT7M&1=Lw=@VOwd0!Q-hE2`75PirU zlk`14$p4S9w+xCaO4qh=_W;2Hjk~+kxVvj`cMt9kjk~+My99T4ceemZNb+@Nrp`Gt zZ=LfMMb)ZZ{GqFR@74FZpX=H?f`?UlC=SkVpf^61CgICLvN-SFMw_dyYfEih32vUa z!CrHdJA>u!WiHsad?zz5l416_r0tWz6K_-JAFE__%samW4FxeHeu6Jx$dIT{t|PIm zC8PLJw>qhv{FxrDI9?1ti6xBBFX!RQgYL%z3#REJb6hq7NBpX(VkL$hO?p38pPFha zn^vZJPUpONtfVRp;k# z3r~UzpEF>sSeP_VH(EcaUs~!rCTnrbPgI1`x4u**dmYlmJT{ETzm(yA!ip<;?LM`4 z#LY1?4RCSii-7ClK8DMhe!UE$s%8JVB8!c>P%ZZD(NGeG7GFLqyzXWm6j{F;Q?^R( zdU5`vSKGq-mxBpumaLSf+5!g{)IUW|HSXN57WS**;`;;lybx_=UCnLeME~_^Tt#tZ z8oXrsjBD4?qE;%}qrPUV{=!}30~{x4W@ z=wpjvId!94OM9rH=oiHi+8%}KJ=4h!V6`e{0snk=OM5h;fyVFj5~T$pe1UIBd4;B7#K)Ehkp|vDZGt&eVa?~jfh}ebun~PJb>gfuj||D};o*pE z($EGGA!s0ZKiyN@tHcO{N0H)3(uUgAoVN(G@>icKZgXOr?HAZ zHxx)scE~?h6x64%N$SlQ|k3mIpl-3(c9Ups)wj$lGGlF-AiH*}0|;}0QY z%>EAvk6w2cNe)!ag@=u2$FtYhe`TG$Ti>tl_Wa=kKi&JGXoe7m@pyq9*|^gB0O!OJ zN-XB&4*7rZp}}Zq94svvFc&(GMn8mG!;3x~-7&dCk)GS?*Mx*6yQ*60NZQc}Z!R9Q3>!@9hIZ>Gp%1s*l^Ev&{0j%e*=fS4h%3e2d45yy5!=TGLrk zWq9&Ch5&x`%-Vs;j{Md^qOO{yS)XrCLn6+0mSaE%!s6>lK0uzUO$i0&26-?%%{cpfa%DA-93K2luIfX%0 z(JC8rjQjFATAu5E3{@1x3ZCVXE#i&3Hyn zS6ruX#2mito!VnrdM_Q}TN5^(afH8b7Yej0gMUJVQ9U~W)`=AA8br!nT9#SpqiK;_ zrUN_LjwK75^`Ac}A=J^%*q;cx&}v;L8$?AQ$qJE&p=UyM(~~jvUXk(cEHrDYG=_X+ zpH@n%9`d2+I zu4izwc<(1)k1ngy`;%Wbm6FL)d0b87c-@dE((}{@K33i7 z6N^6cclDXAw>#U+`#k_);rG`|_&j=^TlVR5djb!A8ivV}`zQMxpJxJDfBVDGc@EiIjjNO3G zwM`E%_YwL}{PX(UgipTuQ&QLV0V6LjV{yKpvbRb2zq@`U>HeOvZ;DRh^F1;bUE7SO zI>`UIY~B*~giBxMuwq|(?ZjnZB zRF4cAvI)_PJy5M*Uw%Px#uS?VzT|7sx%082w{k}3D1KMjr!EDwl8sZ*ju#M>Xu@1b zW{V?8^TXpO1usW|SwtW~7clveB8p2-OoWeTyaBt!5N3lEc7q-sOiqBCx6ncu*F|eW ze~}Xbdq@kg&0tj7K#>SdAMIbl0+rEK_Mx4Wp^Bmbw6x=-JPgoas?V^MD+NqwRt6MF zBC$dU!ea}znYup*m}tPWDIXeWcP#aUJz4=16%9~R1#u9i28m06K3KW3!GsE#VtdJF zC1xNz_F$Xo=Ybb4NcM^mfo_kn^3p&82~aHdF+MLCZ@?D8^+XCVATm=$DvAP}l>pRS zz=fE`1*(rwi!;EoQoxirh8B{GJX#YNWE9BtQA`Aj=(q#BLsOT;d9_<1U!TWiTa9&|Z*hU`b#{aui_R z1*!@aVn=jqi&P{`?`x$hw(dp5q2LjRA+cKq5L_2Qx%AC_6V%2`*o#OrOrrl2__m`u z0`-axdCSwbjoTj)LjQ|r_OKq25ie(OGz%Vj_OauPr4CW2uUk;SVM@>{Zp`OSEE@}j zNPb-@Xn^rOnhN;?EV5pOiC(R*UbXLC^@#ni?`;+JsAxd9Sw;+?B*hr1i4XBFj;U> za8V%mH<;|l?)CPmgTu=vc1u5antpoL=PCbnwl6EYw&?KpzeD9wF*3 z(JN)-RpvbqtTzylJaonqCVMc&QUbjpMp4VWr;MmkVLC@EMaRL*Js61mkF5M$Z zlaAKC*4hy#!jPupaQ5kpDUq0svV$z1dMaB(jtR@K!&M7c4qh|1ikUB4dGezQY6S`AjIVEQs=xUO?9M@_r4V*FC=q|pvU##<$44AJn*#%395 zr?@1jO$!!V<3deG^yxDJSTkGk!v&lKa`A28n@XkEX5pXO<9ILIu}EX|Y(HN^DK=v6 zPPQfuZ#%y}F*+^+O#%DtPup?E3s)ZDm=4QsaiqhXcPvi_VzQs!JHqxf69RhZcos``_63EUaVG4T`uwPPe! zu~d$iY~Zx(`YTr18By$zcmiu@)0S{U;fi^BeYN|c82p-qT~dJM4!-WOK$FD zPRI8+_|}U2pP5ZlO9D%@#a_y_vx0g4txT>XKXaaF4U;cq@8;i1%UpQcNrwE(wfscm z|454nW?m|Z_($Zk{IMNS%Ge{X{VktL&DbwCR+_8j$H%n$L5JX87}CtTM~imXybm!o ze);3wues3VE#@boT$K0;r?a$-38jMK!2k|3OLGJ;Zhr--7EwbrJEgLljLv1UHYBCiFwLa{j<-NG>VYV}925gShQMSuZQxGWz0fDzL~Z$^+z~*p zwt@*x6y&0|;vx3sKiadOcG1f(=Vf-#w2OxMF6*cpQ%2JgBa_al8k5qlNf+b}aXaKp zDfw3GF+wh2J?ooYa94F;m)zG;ecUxCMER;sR`|A&U$1Jy6&7_uS4@0ed=u)1jBu`M z3V}W7Ik#i09@G2!Hmk^$gSnlHX4;Sr6eHFfa?|_x>hUcT zZ7zK1EoSK!!Ozz{{zBp*%}QfFN)LfQ-PDR zSVMB?QuzK8E`hs!a6f4@ipdLOFEd#AcWs@Q4mDrFkStGKVq~VT*wZ6-$qzodHf>Bf zDt+j<2l}ALq7K}(5qcajfUBKu1op!l(PLr|CciiCinBi><5otC6srC`Ojxda82$(Y z4-vs6siGcON|xtv<%I8MJ82cyG}@r$u{YS~dDUd30K7fi19B z-4flZHEZOXh6{OQyQYw5H-Qb!va$8JjH@1>8{qPzKQm6cs|NHglN^7Mb3zg3q){3( zq;EsnS}e;QXnU%Jn`9HxMk7?d{Oc~pXhV@-&nWkW$F@&SAxxbdW+6-Ycz8{gwX^I? zjUC7Q>9n|6*^;YW`ECXa_dM!Q5?RkF9I6Ctd6h(LLOi4cncyFLEoTx!hz6B~Ns$&p z&?W*;>48Zg)u5Dd0J8E~2?WNZzV4g6xs|LrNJ17v?^Bj4z8T`B8ypx3Rp>mR5tuRo zpr!{dHt4{rQiX`Cl=DM`&ayE2reTRE1HYsK^p*ixC~SdzV3rgvBB(hP?4&(bryS?C z0fA7Oh~2@+DqLg`IvsG*9JG`QIIH@*AYEpK7TJUy_ntIEodS@{g3v3IIT=DmR4h3l z%#=bNkcj+lF=Y^7)69?V8C)(Mp+Q@3ZM(ch3PWqBSe#Ips%=& z4!t=DIR)^slHRry#RcSX{Y+jwh*s{w>`HpF*|AB-esNhmJh zGKlIM$81t6dDCMYlKGv`6FyNliV%J5v&9{iXgBTb=8QsxkL!R#5C8JnyM~n+qnU$3 z{#f}`Dq4N2ilfTy6H@E2t$Bo_SndsEWbV*`){q7gh!6i5jdFaYK?7_93b_`|-GKyr zdcPgtCurTHp7P&|X}d*iXl0tayQ1h10A`XUpWNKiXOOMYfgz)kqeujuioJVZy!+7$ zZ-*g&8sxX{eOvVJub6J8WxFh%y!V&MwNyL47YgS~fCn()czg6>nN^`YhGHF0*?=n9 z#?>mG+#tr;AYH&c5e)oee9CdHWkAF@V6JG^6%wEV=~9e!tc-u`4Zgkth?oR07tP8+ z0(PK|Z6`?xA|?RL^uWHl--XT@D33^&Jp>RChzn;>}254e7-{qlG>3hTA+sJ&@`?h7;Dp~vxjY`w*@tsUIKP`N?Nz_eb6jo{`~ zd%E?T2QUk;+d{WCsJ){WrjeUzmFdP0AOWsLLwB6oE23PTa2A)c@U~#@5(Va(0-kLS zm6+(3%v=&!Ho~c5IwmYqCr)(u7vB31t$dYi9N6-lb=n7MYwNp zrWTotOzf^a1~3!hren#oEn&kZf0i!n&%EMaj=)_+Sw%NlUGgZXKxX-XP7OPhQj6J7 zzA^h|^L8cFyZ38fsU#L>XORRBo{p<@7d9d|lCyt5T9DwWx2Bh$d42(^m1HV)!j*AK zSww9}-Af7iyl7UODLyauhW%_X-y*g$_yCr`$J~VSz8<(x`igz);AxlwnraQ`dr;PV z)*7_7v(*G~f44MNGX!x*0Rpnq;|@*BC6TUw@ONCX3h#37=V00Ck&UHoLyy(cz69^~ zBgY%@UI8oCp5sAG*TQ+KyryN3PuRSsbdwv=xTdvGS;|kO3ifb+p z8Q&Wa(a&y5$Bd(IN+YaivxtSjza%r7LP}ZW#sv)vyP9|AC zmLh7Uk$Hi(ydqN}{h082Af9wCimd;08knWB+SCl3LJ5OYsQ)9}|5pkn>geG9FCa~8 z+Jz@rC^B%@VqGR9Ca0#mtf?ahj-YTGKNq&3>T$NTGR8y?ad@{tCug#-(*o#dz&{;_ zeedv*Uyk1fk3ROlNqP5pJ|@WzumV>3ntn{o`l*9^_|!Uy`thfhZ9o zeJoh47>e2C4v|B$sB{^9vIp?qTc$_ykS&Uy!jSqw5~dD3s?&q>_3IWz-NLMUR&Vi8 zH{G^!f#Mt;hEo0lZfi+l=FzCX}+w3XDlx?1}}8a%79Np3v4D4VE375a%WHr)kNM)5D{Sraqeu z9SbGx^N|%-yUC}IbUf3Nzj;w-*zHzV<)x-Ny3Fb3Q_K}dSD(IWn8tVNYPxd5>PAB% z*Evw2+j^tmW-gp5%rLHx_ZR=TxZPZS^PuX*MnzTY^0+FyMKkTf>Xk}lI597#tj)G7 z0%e=N)Nom{Otz*j#1?1OE@e4}Z^Q1W6!7OZx=aYbO%TFH_{+#vB@)r+IZm@7qm9~R zSl;pw2WS*&y_^!{93H)h->8|y6nv)$=)^2%LqGaW(|gr0Os%plle+8ELq`zsq%u~% zkcNRnqyK?VCjF|ocT%oYG>fQTQ%bZ*d{*5})AzMXElVX(wh&Z289mE4Nngw7R=P?9 zPnlaaK#7C2t?QxgynDHPt1?L?S1P+f%Z%XKrr#B+qqEQ$@6{?lMmM|Z>?p6geiQH8 zkN@rUyKUbFCRgOXQzyEv+{L~7P(erg^^fu=b>FcM!M3u-QtlT<)9I4|mWM&$NiL@c zUDf@GtjH<5GAG04Rw550w?APhPi!X@f5jx#_d!V98XcuW5lA^+BID*J`zw)(>tw{{ z={1h&7gT2FXlW1Q(B|ak_;62Eh=RGlN#^u$X!uNVu2J|4)M#6NtiX*2pd>X=!l4h7 zvz}8dNF1toF~He=wnte_)K)Tqwu=RFM=6vniqRoveM>qgUqH{+c;kV~AGC+%VhG{* zn?$j`Vf951t~v3;?G3ae3HTdXj>Pmz?wL7Y)vvS87;jjgdf_X7){7&iUomrO*=J%| zT45((oNDcAS?K7jz~__X(fS;J#lG34UQ+pxVxA@8m9H?j$R#xMo03BfncxSP?`G>p zjg^wAYx%bvLt`!QAqm_uVlDymi3_2*pWFWT@fx`M*&G+je! zn^*d?oL@F6iB#FrTiP$bt4`vi-vOF8Md+}&A6^MrDiEjQ`Y538RNtj}J4h0?O0whS zV6P6)R}ZIdNhg9nBhLp5Uz-*5|22wW>TMD>R`)u8B3XOF+}a}S{@xL_ z_06dp#_092F(G07DNrK3nGa9I5y^mtru|S6OA2-@yw3>ueL-y_obB3P^1he|ps5~6 z{TV*~EddVBHZ~xq>$wpfS^?}0>s5Jpt}@6idkZW1Rhqv!U85)HB&;A#Dt&>8zM@FAT${u zu|XBHf#5LBFzh|R$W27GeO751ks-2i5Vje~b$U>!1gO`F9ScHKP&^1-8mNv*K?%!C z^Or6iV&zH$VfG20mjc!r8<>|E96R+lM3QOAM1s(n1Llq5wE{3P%_NbM!iWDxS}rK| z@$iB3oRUG*B>)x7V_4ep5+Vw^;2iO6HSiOi$V_&#Pk~HY66vv~$1htPb$BKDegKZ|c3to(fX8S@&qdV^DSW9X~0^+fcBL&Fm#X(P2uA~qYgX}Kq|45vY zf{Bttz&^9|g;QAwX=Zp{CRl4sV4W;5FFB+o60kOZ`UOIo1m2sNu&55stQ5gT3`+GK ziYLg2c}Q-1B89|?5_08dphMA3Ekwbg*4GIa>`nZ@MbA;%cdz-+XuT>ahzQ<%58d+w z340-JLP^!X1K)C8M#x^#h5iOn7WEOo_@Q|$9@b)UQ4~#083WNQy|$b2)&hxycZiAG zZ4|)}++Bfgo)q;1`UroV5R6^?59rMOVvLuN;D$E;?!+&T2kQts) zMo@%eO@|7b$3_V1atEva}AuU9g< z%yi&HhQh)m5y|QI=vhl{v+ZN<@K{)XPX5mmH04gn9`Ho?b)gwTBj~l_9!xVOC_<79?A(d1*lbby@S=0OM*_BMiAVRS;*eT?U zmdvtrcMH{NePA=Li@7QtAx^}fvyR|Ide$}0bsdFfx-z{QKBt_euF7t5tj(rhT9hMF zf(59sJ7(#0$V=0C>gA}Tu8kZk9aWor{ph$yw>`Jub6J_xk~e-Sv!4>B)}HTU zdd+c4y!uJo%F5;=BFQ&6CHL`iLscqTr&qhoG_%T<5cS;6VI>8$hwf+)y@9pAQlqO0JDpnvwspID z(&^Bezaz`1Xy_R@d6BF{kQMz9(xub#xzO&txUkUPjs9~QA@zn#)Lq-yRINvK(-R#l zfqysI!DuQo`sp$`NyxIw;VTv5Rbyvc#iok{pPi)2I$6}mtmw5?@9M;(@LOf-)V$Rz z!d8@!q+&MJ`_ez{%I=$pU#7h*xs+;4gL7Ypra4}$yhm-{uNcDu7HggE5Q~IwPSxJk z$7-!}9UDf-n!jyOZn9EVo7i3lw`bKo5gdL&dfC^374(t>GLv}R8&iAGj(=_swqIvD z5`?`w3XDa^*&g;o^wA4ay=N6txu+FUyXU>7e}giT#naVGpm~c%MyosMrGLxnrg(KG z? zc^KB-rf`4M5Tg#$!#V9BEg!C?RXCPn{PAp!S@^5^XD9>VRF?_9ucp{4yjCNV>K)EA ztl)HC?S$MBY^h^9*IY}s+OCxNXnWD@{tETJ&CV;_3BKiRj|54cd!i4e(!fhaAs<@t zoQm(Ei?!-d;pnFp8-0I}t-z>yBj7;X%hsnbY%FR2HO}s*3MB)QKSWLZ{d#dFWL5ve zeSwkp$FT~C+^&m`s!CSoLSK5s)(n%wcWq-km)KCMGO8<&Oh-}N=Cs}dRa8Z!`0=Z_ zY0=E-qpFCV{r=}5m|sgWaKG0G^)Dcv>iC0w_%?g!a~(Jwf=19q2woQr;_I*sw&00@ zKcc8uub+kdq9E{PFYJ=J zC(Mv*1QE2ONQe?aBsKsHZ}gcs;6?>R`Z&P}c~CnVmT=GkL4gU&O9sOmbS43aq8WF7 zZA^)c@y06JDKn^V&n=YdFR9KJ>O=^Dm?S9wz;J6v1*w zPyM&7{Qm=3{wJOF|LrOd%0jdL7hw6n5W!)p_sY1KnqTJX3MHE+ns)w2u^XQD-vP_| zra6ECmQk8f#DBGw_f48C5Yqp>t(?d<3vMfCwf_YygWJk!|7t69$2IABHf2rzZ7Ua9 zr%BSPxG$d54i|t3XZW|0{95Nc&q|E?Hug}ds0OR&5y6K!6#sjV z>t9vxf1c!&rrl{RY2uCbr;CcoMbAU2MWB6}h7z5Ra-bJ06uV)V)D`#hrhOIB&vKKQ zT=?@jV79F}*ZIZ7vi?=-=DL#`xX6LMke7Vc`Finm^dvB0|Klzo;1}w?T+cLFgen|< zjr2n;cD3qu`XMlFL>KOg#`aCofr~>Rc#!Ypc~8%J)lK|8dlqt)G%RU{hEB zNP+jwj=RI3aTe^l$=STm=Z>ATq?O?p{iQ_oU|&u(O6B1-nhtb6vc?jw($U@L~r{gitjVpfwuQJn!+XuttA9^&+GopSYRZW+U7%9%6y0ERO~r?x|qp>jDxoP>=nV!KoJZ@pa=^{J}W zorYC*Wo*6=cZ~QpvVT z+&*N<8p%946mL;+$jD))PF&lwxxXxAZp_mm(IC+P0CW<|Mc_$$dqytUk)n#g3Yv=j zpO$~%guy2Im)qOx9sVuV#$U(N+x%w_y=Qqo7B44%1bz`g*aZei0?@{W=3x_(-uR*% zL0+*V+%mo~BkeK*iie0;d!!ErSV~E6#8G$2Z;(+(6pA1onZpPQ#YC^@kp$@+v|+X! z#GxfjA_1{OoviPyJAxlW^XK>NF!B-xY?_b(T%{$_<8d|($CuL1>ncz4 zhi9&ro+vX5m@=4gP&=~1a%l?fX!g>~O{a8s)P|gsyNIyMKQ~Mn4typ4d`@RZAjgoa z&^UP#Z`Mq;#AfwDmR(BD8cnovgQ%GUD!17RoWFmq+0mKK$eq#SD<*`;v{!eJJQH+nlSZ%k<%#DqzjGbHYV6>kz24T#6zpBey)Y{~|D8?)YD*36hA|M28P+te#$4v9zg#3^?P?=*dNF`0H}+qjrY zIXja|A&AvQT_c25k83Nai#+M@y5ZyrbD4y3)qdm!?OdiYz8L4dC&}Pjkt72X9mW@A zKK!RupBP5@P-W8|C%DZRpg{RPf%9#Tt*}`-k#?2Igln*7AmGrbMwE~~SG z1_#AqRSs!g=H#rX{*ZdXd_K;3JzeaR4QWu0g|)T3hS__=?6zoI$h`@MA=1zk@J$25 z5OJs;r{gyi{Y4Kz6j$t{UDN_;;&auL%i?DOE-JHos7ID8PK8qs%;)4E{k1J*@_>A~ zPC{-{od;O^Qg1~m$Ez|}w^xJ(YEdrNfrdqGv9Ko|W92(*M%(&w0Nr(9E?rHS1I`!e z8ggfx8ZA0dCAw0Ft~&qdtAwgpxQ z1yun*Lchkr>wOkf^;{{fM&rN<8=*EK%w%@NzdK#wZycb zX6LMrBF68kp}qY(I-;-$)&Sl#nL@=7z)bn|+C zA~rutam$kvIt696&F^^K4IESb`(SH>(P7gL9Xa=T^<))bb`kH9J;r#L+9$^M+gVrZ zVgeL6`)bVPaMgtcBX+asMVz?OJtvLmcHdUmRmZ1hQwiVASHgsULuek7ypR+G2)=j4 z8#Q8fuECJJKH8G>o2a?e|MHEkMP$ME(t^)cb~t^~>maeyzI7LwCp`YL_1!(vDB`<& z=otRV8mo}->@UTRqqy@ATeOoh={kddAmVn)fxHLdUzjHY`SF8Z3)PX4K%oX+8lSo4 zHSqI;yN-e%2r3^q^rzzBRl4I_x_$D3yIjsA`3a@6Tk9fbgK=L)JX_GQy%PQ=V>;BZ znTdasv0kgCGw8+PzjPi{GU%b#lAW2L! z1p9D5k#id5{i{+iBnSYe@w`s4V_^V2ie^gCrGqVx;b^6mVPs^1LI8NgXuy({Yb`oB za{69?O+gVn4ZchP4_4u<70&pRfP~Oo$gQxz8ef+XY%^jve6ZW56Vsl91j8l*n}>2n zS{w$fnaU6#2PbEk_9!GE|GY%#hQK*-@KnG^N+5RD6WJ`j6No?a1&R|>xfh-$qAkKV z5Q#Y)J-ujtx@?htV5Ga{Ik1|nihM>#(tkjM)iPq?G!p#~*MFe717riTz&y49SIHX8 z05fFcwN|d#=m@H=uWSNS~~aOo%xyHvP%H=WaA;KpkWsf7v?c(3-2W~+XygT8n`I|k}3g^B!;xa z0LJD|RY<@_h%$v)R_%&?V@B7& z7K+&+6xhkOIOks5d0PX&*9Lm;dF|?6hoO6l1Bj1=5RCTk;vk8+J+PRfJlvUw`EeXS zJM#U$K_og7rZYDlx|euU{no^EFx9pE&A+mNq4Xp`e^m_cl}2Ft=yt5bJsgT=|J6kq)9jg+FuxITwek;oeMBpkVV4qg$r1GOS#5VIYm4G288C^Kp-%wCo?m1(C~__5RLlvzL`l46ij4o?au3FI(*34d+G6#$F%#C$i2^t}g4ea2fs)(}s z{emVaGP>fe>MsAC@SWuS?IEYzle^jTuEx6N^l73qfj8j}OoHNXPXF`mR1cy7{x@!j z{kM`g#%kpy?In1rP;y=8AswZma%yaOA*(hhYbN&l}1WS=EkqSnyPp+XRgz3(#DD3 zEmof~IZxT9nAWEsdS$72bT(gn)juVcg)eIQvucP;iq@Sk1Vodas1~O*;;*^&@SZBB z=epcSo*gYN1Y|ohH_0zF;Z3Q&WWB4whQ^|7#NVJF6=4aEIeEku*UN38@$2j7nBT_o zW}CKDdrwV&VmHVhHEEhKYFKc8t?Ixi^UnMJ0k4~Wp_neoqW;-StmuVyP-5XdvZA=6 zeKBGG9f6r%$xYf-JVm>QE`x@RjhWt!>i7(sA)HBaDi!Z37}}RjvrhhtDt^mivTSMF zmqE;Sx^$*?I`qwliJ;H4?LLd*$Tma_sjojCZJ=O<0CTlnHF`bKM_!_jax&}My;s_- zCTFiytJsOYZ3iZ!(B+jg)x=8<@k@|f%B{}yQn4PH^mg(zd1?ro5pE|$nm=`Tqgud+ z^%}F2vgVe_sqAu+^yIozZu=Nx)gGcmM~zt%t>A+nH5PSC(RlF&_~Q+FbPXYEd}rr* z71~#RC;ze^#25EAWp0ay?J>8hK8%{P&ppLU)~FsZ?1GX@A(vMW3X1uoN%bmYgyMOG zvZ_f~oORZQ7lNu^66P-wkpo)SbV@#VosyMNdfbJ2T zm%TY#+S~~Xx;DYN&F=sm1dT*Ct!j#@p1dD_R>d{0r5iyfXW!nc+B|E&{n;nzF}exC zm^zNB`#Ng>`#|GcOTs$=3knIxKHs{-02g@~MYPJ-RB~vzjA% z&t4$m0Tncyl>@WyKp^l7i}>VEWBxupRk?1pclLJ&BbXNyFL;0Z0ca=9h&{Y}pN^Wr zmlcNbz$K@A$bdj$0w*+L&V41PjX>dHBNQ)`y!nE=N!h``r~4AffYLWT8~IPC<&tGo zWtn4Y6~KTvB>KIT%EY4nz&n90Hf!z9;VVJ~9yyEIS;c0bnCT~I$?hwOtSr2#Bkm$f z*si`l1(D|V__DX(C{}k>#e#9=H1^D!z!#p~AH`*3W%^u}`DQx5^KLZ_hoZHtZ_s47 z8Vt;kg>!Hp--70;;^GjGJ-`3VI=E`FzLd6*3?a0clQZal-dbQ(u)23Tl&xKJs$TvT zk9kHMptIwGp|xbg|E4zGh&Oj5a>G4Om%PK{?grO(cz0_LfiV`)0~h$)BeG4e#f#*= zO)56I=mzIT@xeD8?+6t#!|j@Lz#-+A3Gp5B?qTZS7NiV1GicI_WD;o1P4Rwrb|kbs zsE2$q!$XEn&^9x{Ez&)%Af+t%W`-@PLO=1uW2k0 zyNOzod+qm$KvQ(=?V78lGu~%idl8GcLdv^r;Dank62C+b(IuOpL#Ytrg)ozV925rNm(oG#sLWW^S&;SD}^H3oPDk_U0 zE2D|V>6Q7-mR$=gU~{@ZUWo^7k{0{p+moOJ8T}ezR9+9SN@FjL=d^I&zuigM`nu9(roR(sMNS*ET)GbQX;JkGZU1W0; z74eU8TD&=7%!KC<{;<*_eO3izj8@CZlienZLYof{m!_r|=!B)+PNbmy72H`^bNAFaLAz821kq zBzDf)&h4gqtL{4_v+h4-hS)I1Dus(aU8tN%3TbX@e;z5G_u=1E4ySZ6U`i1)j}_RS z!hL-mb|LjmL4QqY+@7z}MVs34y4hY!>8y%+jpC^-z_Ij6RA&iDF4 z_dXVeWU$&yK={O7yn?kXEw4Wr%Xq9_hnfHVwKK@nP$>i}Sq2FH&)4oB8^-@P!1VT9 zR>vN2>{2L4H7ILYH2|6G+QEZV>6B?xOZ_3(*9k=qMzFp~htS#Tg5^7qrnAx;;q1v-&n{`~%_<>X(|yoG&m0w8O**J17K(Uz zB3EgkZ`z~nwe7XMiL>&^sGFin?G|ipEJR2aCG6htA)N3Zlf9R)O|phAf-FWF?7Hlc z93oK1u=|QuQ3QsAq&_K4M-ss~u%$Z1S@3L`;)Wl4TsAmo>&9bv<4F8nx|Un$Kvp#9n56$LfN+BWE7RZEL)1 zroLMnZaJHlWZJcfe-L+wjZ59#L09D-GIldDSswaP>eX4t%DLUmAmRsURX3lOAxD8l zhjK_%lU)-M;WkJ@PnEO4Ee_ADM!WjPTt#+e^E|wkFDX_f$WMBev+-ly2MNClrVmWT zc1*gsNNpP$oV60!s`%|)sa;=m^C1d+4NHer?{F0+sWci2WLj~DLRs{7WDV2?>%5!{ zBo%c_au~;* z9SuK5q%6&7nL9FP40`F*7hB<={RyL?_K@}5WdHWXTj9*OYM!g&IflE1(`VTJSYN+B zU{BggY-*?`#tu1A1u1#YVD;AO@g%Ej|E6eAXe%{8oisgjFt?R0Y#TgO|YxmIe2D* zOu~dSinBp8LI|lLPh2<(@{1F(-Lf$>L(JeuK3~)^4(-NMu!AGQzQeL#a?rtTw7BoLyKia$-m#5xL!9-%&TXbfw zwvFDK_zMty5{ySM&3fbZJ5*(?bsgta0(6EijMDBne8HuQ<{x)xyFPYTKXUd1m%Xt0 zw>6em2miwzaiGWhfi?V(cJX+*lgP1Ml857;N3!1eDW>T}-6xT810+7j>-1wOL|Rjr zKcV)KG3u*6f0`7^bnGSidC~zK{RHw~=X$Ro;G|6n@wY?$1HJ4KfVzn(eEgl}%GaEz ztza1%8ZWq($7C-YnJ%Y4uxbwbjI!p53omgt#L7Tob*H*7v`Y07&ZwKnPxB3v4~iZ? zsLraF_Q3