zhubaomin
2025-04-07 eb50888b14af04d5f4677520b67754764f03a014
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
Êþº¾@java/util/Random
 <init>()Vjava/lang/StringBuilder
 
 (I)V "com/dy/pipIrrWechat/util/PayHelper>ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
 java/lang/Stringlength()I
 nextInt(I)I
 charAt(I)C
  !append(C)Ljava/lang/StringBuilder;
# $%toString()Ljava/lang/String;'utf-8
) *([BLjava/lang/String;)V,-----BEGIN PRIVATE KEY-----.
0 12replaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;4-----END PRIVATE KEY-----6\s+
8 9:
replaceAll8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;<RSA
>?@ ABjava/security/KeyFactory getInstance.(Ljava/lang/String;)Ljava/security/KeyFactory;D&java/security/spec/PKCS8EncodedKeySpec
FGH IJjava/util/Base64
getDecoder()Ljava/util/Base64$Decoder;
LMN OPjava/util/Base64$Decoderdecode(Ljava/lang/String;)[B
CR S([B)V
>U VWgeneratePrivate8(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;Y&java/security/NoSuchAlgorithmException[java/lang/RuntimeException]当前Java环境不支持RSA
Z_ `*(Ljava/lang/String;Ljava/lang/Throwable;)Vb*java/security/spec/InvalidKeySpecExceptiond无效的密钥格式
Zf g(Ljava/lang/String;)V
ijk lmjava/lang/IntegervalueOf(I)Ljava/lang/Integer;
opq r:#com/dy/pipIrrWechat/util/HmacSha256 getSignaturet hmac_sha256
v wxgetAccessTokenH(Ljava/lang/String;Ljava/lang/String;)Lcom/alibaba/fastjson2/JSONObject;z access_token
|}~ € com/alibaba/fastjson2/JSONObject    getString&(Ljava/lang/String;)Ljava/lang/String;‚
expires_in
|„ …†
getInteger'(Ljava/lang/String;)Ljava/lang/Integer;ˆjava/util/HashMap
‡ ‹Œ Ž java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;‘openid“    signature•
sig_method     — ˜™restTemplateUtil+Lcom/dy/pipIrrWechat/util/RestTemplateUtil;     › œcheckSessionUrlLjava/lang/String;
Ÿ ¡ ¢£)com/dy/pipIrrWechat/util/RestTemplateUtilgetT(Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;)Lcom/alibaba/fastjson2/JSONObject;     ¥ ¦resetUserSessionKeyUrl¨
grant_typeªclient_credential¬appid®secret     ° ±tokenUrl³ ´µmakeConcatWithConstants](Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;Ljava/lang/String;)Ljava/lang/String;· ´¸\(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;º SHA256withRSA
¼½¾ A¿java/security/Signature-(Ljava/lang/String;)Ljava/security/Signature;
Á ÂÃ getPrivateKey([B)Ljava/security/PrivateKey;
¼Å ÆÇinitSign(Ljava/security/PrivateKey;)V
¼É ÊSupdate
FÌ ÍÎ
getEncoder()Ljava/util/Base64$Encoder;
¼Ð ÑÒsign()[B
ÔÕÖ ×Øjava/util/Base64$EncoderencodeToString([B)Ljava/lang/String;
ÚÛÜ ÝÞjava/lang/Long    longValue()J
à áµbuildMessage_order
ã äPgetBytes
æ Ñç([B[B)Ljava/lang/String;    éêë ì%com/dy/pipIrrWechat/wechatpay/PayInfomchid    éî    serial_noñ ´òl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;ô ´õJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;÷GETù/v3/certificates
û ü%generateRandomString
þÿ Þjava/lang/SystemcurrentTimeMillisè
Ú l(J)Ljava/lang/Long;    é     schema
   getTokenn(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;[B)Ljava/lang/String; ´: AuthorizationAcceptapplication/json    é  certificates
Ÿ £
getHeadersheaders
|  ! getJSONObject6(Ljava/lang/String;)Lcom/alibaba/fastjson2/JSONObject;#Wechatpay-Nonce
|% &' getJSONArray5(Ljava/lang/String;)Lcom/alibaba/fastjson2/JSONArray;
)*+ ,com/alibaba/fastjson2/JSONArray(I)Ljava/lang/String;.Wechatpay-Serial0Wechatpay-Signature2Wechatpay-Signature-Type4Wechatpay-Timestamp6body8data
): ;size
)=  >%(I)Lcom/alibaba/fastjson2/JSONObject;ïAeffective_timeC expire_timeEencrypt_certificateG    algorithmInonceKassociated_dataM
ciphertext    éO Pkey
RST UV com/dy/pipIrrWechat/util/AesUtildecryptToString,([B[B[BLjava/lang/String;)Ljava/lang/String;XX509
Z[\ A]%java/security/cert/CertificateFactory;(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;_java/io/ByteArrayInputStream    abc de!java/nio/charset/StandardCharsetsUTF_8Ljava/nio/charset/Charset;
g äh(Ljava/nio/charset/Charset;)[B
^R
Zk lmgenerateCertificate7(Ljava/io/InputStream;)Ljava/security/cert/Certificate;o'java/security/cert/CertificateException
nq rprintStackTrace
Út uv    parseLong(Ljava/lang/String;)J<
z {|equals(Ljava/lang/Object;)Z     € ‚CERTIFICATE_MAPLjava/util/Map; ‹„ …†isEmpty()Z ‹ˆ ‰| containsKey ‹‹ Œclear
Ž SrefreshCertificate ‹‘ ¢’&(Ljava/lang/Object;)Ljava/lang/Object;”java/security/cert/Certificate
–—˜ l™java/lang/Boolean(Z)Ljava/lang/Boolean;
“› œ getPublicKey()Ljava/security/PublicKey;
¼Ÿ  ¡
initVerify#(Ljava/security/cert/Certificate;)V
¼£ ¤¥verify([B)Z§*com/dy/pipIrrWechat/wechatpay/dto/ToRefund
¦ªjava/util/ArrayList
©
­®¯ l°java/lang/Double(D)Ljava/lang/Double;     ² ³´ virtualCardSv/Lcom/dy/pipIrrWechat/virtualCard/VirtualCardSv;
¶·¸ ¹º-com/dy/pipIrrWechat/virtualCard/VirtualCardSvselectVirtuCardById<(Ljava/lang/Long;)Lcom/dy/pipIrrGlobal/pojoSe/SeVirtualCard;
¼½¾ ¿À(com/dy/pipIrrGlobal/pojoSe/SeVirtualCardgetMoney()Ljava/lang/Double;
i ÃintValue
­Å ÆÇ doubleValue()D
¶É ÊË selectOrders"(Ljava/lang/Long;)Ljava/util/List; Í:Îjava/util/List ÐÑÒ Ó’com/alibaba/fastjson2/JSONtoJSONÕ orderNumber×rechargeAmountÙ rechargeTime
|Û ÜÝgetDate$(Ljava/lang/String;)Ljava/util/Date;
ßàá âÞjava/util/DategetTime
¶ä åæselectRefundAmount$(Ljava/lang/String;)Ljava/util/List; 
¦ê ëgsetOrderNumber
¦í îïsetRefundAmount(Ljava/lang/Integer;)V Íñ ò|add
ôõö ÷%(com/dy/pipIrrWechat/wechatpay/dto/Refund
getTradeNo
ôù ú% getRefundNo
ôü ýþ    getRefund()Ljava/lang/Integer;
¶ getRechargeAmountByOrderNumber&(Ljava/lang/String;)Ljava/lang/Double;6com/dy/pipIrrWechat/wechatpay/dto/RefundRequest$Amount
 
 ï    setRefund
 
  setTotal(Ljava/lang/Double;)VCNY
 g setCurrency/com/dy/pipIrrWechat/wechatpay/dto/RefundRequest
 
 gsetOut_trade_no
 gsetOut_refund_no          notifyUrl
  g setNotify_url
" #$    setAmount;(Lcom/dy/pipIrrWechat/wechatpay/dto/RefundRequest$Amount;)V&POST(/v3/refund/domestic/refunds*(com/alibaba/fastjson2/JSONWriter$Feature
|, -. toJSONStringQ(Ljava/lang/Object;[Lcom/alibaba/fastjson2/JSONWriter$Feature;)Ljava/lang/String;     1 Content-Type    é3 4    refundUrl
Ÿ6 78postW(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Lcom/alibaba/fastjson2/JSONObject;
|: -;?([Lcom/alibaba/fastjson2/JSONWriter$Feature;)Ljava/lang/String;=0com/dy/pipIrrWechat/wechatpay/dto/RefundResponse Ð? @A parseObject7(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
<C D%    getStatusFSUCCESS
HIJ KL'com/dy/common/webUtil/BaseResponseUtils buildSuccess8(Ljava/lang/Object;)Lcom/dy/common/webUtil/BaseResponse;N
PROCESSING    PQR NS+com/dy/pipIrrWechat/result/WechatResultCode-Lcom/dy/pipIrrWechat/result/WechatResultCode;
PU V%
getMessage
HX YZ    buildFail8(Ljava/lang/String;)Lcom/dy/common/webUtil/BaseResponse;    P\ ]SABNORMAL
H_ `Z
buildError
bcjava/lang/Object    é›    é°    é¥    é     3
CHARACTERS ConstantValue    SignatureCLjava/util/Map<Ljava/lang/String;Ljava/security/cert/Certificate;>;CodeLineNumberTableLocalVariableTableindexIithis$Lcom/dy/pipIrrWechat/util/PayHelper;randomLjava/util/Random;sbLjava/lang/StringBuilder; StackMapTable
privateKeykfLjava/security/KeyFactory;e(Ljava/security/NoSuchAlgorithmException;,Ljava/security/spec/InvalidKeySpecException;
certFileBs[Bcontent
Exceptions†java/io/IOExceptionMethodParameterscheckSessionKeyl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/alibaba/fastjson2/JSONObject;
sessionKey accessToken    expiresInLjava/lang/Integer;    sigMethod    job_token"Lcom/alibaba/fastjson2/JSONObject; queryParams headerParamsresultLocalVariableTypeTable5Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;˜!java/security/InvalidKeyExceptionresetUserSessionKey
job_resultmethodurl    timestampJnonceStrbuildMessage_signAgainpkgmessagecertBsLjava/security/Signature;¦ java/security/SignatureException¨java/lang/ExceptionLjava/lang/Long; responseSignwechatpayTimestampwechatpayNonceboey signatureStr)Ljava/security/cert/CertificateException;job_datacertificateSerialjob_certificate    publicKeycf'Ljava/security/cert/CertificateFactory; inputStreamLjava/io/ByteArrayInputStream; certificate Ljava/security/cert/Certificate;timeDiffarray!Lcom/alibaba/fastjson2/JSONArray;httpUrlheader job_headerswechatpaySerial signature_hsignatureType_hjob_bodyÅ&java/security/GeneralSecurityExceptionresponseSignVerifyM(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[B)Ljava/lang/Boolean;wechatpaySignatureLjava/security/PublicKey;validZ getToRefunds5(Ljava/lang/Long;Ljava/lang/Integer;)Ljava/util/List;    job_orderLjava/util/Date;timestamp_Rechargetimestamp_CurrenttimeDiff_Minute refundCountlist_RefundAmountLjava/util/List; array_Orders    virtualId refundAmounttoRefund,Lcom/dy/pipIrrWechat/wechatpay/dto/ToRefund;listmoneyLjava/lang/Double; seVirtualCard*Lcom/dy/pipIrrGlobal/pojoSe/SeVirtualCard; list_Orders%Ljava/util/List<Ljava/lang/Integer;>;>Ljava/util/List<Lcom/dy/pipIrrWechat/wechatpay/dto/ToRefund;>;5Ljava/util/List<Lcom/dy/pipIrrGlobal/voSe/VoOrders;>;c(Ljava/lang/Long;Ljava/lang/Integer;)Ljava/util/List<Lcom/dy/pipIrrWechat/wechatpay/dto/ToRefund;>;refundsR(Lcom/dy/pipIrrWechat/wechatpay/dto/Refund;[B)Lcom/dy/common/webUtil/BaseResponse;po*Lcom/dy/pipIrrWechat/wechatpay/dto/Refund;tradeNorefundNorefundtotalamount8Lcom/dy/pipIrrWechat/wechatpay/dto/RefundRequest$Amount; refundRequest1Lcom/dy/pipIrrWechat/wechatpay/dto/RefundRequest;job_refundResponserefundResponse2Lcom/dy/pipIrrWechat/wechatpay/dto/RefundResponse;statusg(Lcom/dy/pipIrrWechat/wechatpay/dto/Refund;[B)Lcom/dy/common/webUtil/BaseResponse<Ljava/lang/Boolean;>;](Lcom/dy/pipIrrWechat/virtualCard/VirtualCardSv;Lcom/dy/pipIrrWechat/util/RestTemplateUtil;)V
SourceFilePayHelper.javaRuntimeVisibleAnnotations*Lorg/springframework/stereotype/Component;BootstrapMethodsý
þÿ ´$java/lang/invoke/StringConcatFactory˜(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
 
 
 
 
 
 
 
 
 
Amchid="",nonce_str="",timestamp="",serial_no="",signature=""    
 
 
   InnerClassesDecoderEncoderAmount com/alibaba/fastjson2/JSONWriterFeature%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup! b
³´˜™ijœ±¦    4‚klü%m»<»Y·L»Y ·    M> ¢ +¶¶6,¶¶W„§ÿà,¶"°n>?@A%B1@7Do4% pq#rq<st4uv*wxyþú"ÂÃm T»Y+&·(M,+-¶/3-¶/5-¶7N;¸=:»CY¸E-¶K·Q¶T°N»ZY\-·^¿N»ZYc·e¿ <=X <Ian*
[ ]^_"`)a=b>cIdJeoH"z){|> }~J
}TstT€ I‚yÿ= ƒXKa„…‡€ˆ‰m² ‹-:¸h:-¸n:s:*+,¶u:        Æ    y¶{:    ¶ƒ:»‡Y·‰:
 
y¹ŠW
-¹ŠW
’¹ŠW
”¹ŠW»‡Y·‰: *´–*´š
 ¶ž:  °nBst
uvxy$z-{6~?K€Vb‚nƒw„ˆ…o„ ‹st‹¬‹®‹‘‹Š‡‹
Œx“tŽl    ?L‘‚
w’‚ ˆ“ ”?L‘•
w’– y'ÿ6
 i|„…X—‡¬®‘Š™‰m² ‹-:¸h:-¸n:s:*+,¶u:        Æ    y¶{:    ¶ƒ:»‡Y·‰:
 
y¹ŠW
-¹ŠW
’¹ŠW
”¹ŠW»‡Y·‰: *´–*´¤
 ¶ž:  °nB”•
–—™š$›-œ6Ÿ? K¡V¢b£n¤w¥ˆ¦o„ ‹st‹¬‹®‹‘‹Š‡‹
Œx“tŽl    ?L‘‚
w’‚ ˆ“ ”?L‘•
w’– y'ÿ6
 i|„X—…‡¬®‘ŠwxmÓC»‡Y·‰N-§©¹ŠW-«+¹ŠW-­,¹ŠW»‡Y·‰:*´–*´¯-¶ž:°n±²³´'µ0¶@·o>CstC¬C®;‘‚0’‚@š”;‘•0’–„…‡    ¬®áµmi +,!º²°nÄo> st › œ ž Ÿ 6‡›œŸ6 ¸m] +,-º¶°nÔo4 st ¬  Ÿ ¡‡¬Ÿ¡Ñçms¹¸»N-*,¶À¶Ä-+¶È¸Ë-¶Ï¶Ó°nêëìío*st¢£Ñ¤„ X—¥…§‡    ¢£  m³    1*+,¶Ù-¶ß:*&¶â¶å:²è²íºð°no\    1st1›1œ161Ÿ1©1€!¢“„Xa…¥—§‡›œ6Ÿ€ªõmc +,-ºó:°n
 
o4 st « ¬ ­
®‡ «¬­SmÚ ËöMøN*¶ú:¸ým¸:²*,--+¶
º:»‡Y·‰:¹ŠW¹ŠW*´–²¶:¶:        "¶$¶(:
    -¶$¶(:     /¶$¶(:     1¶$¶(:     3¶$¶(:5¶:Æ 7¶$:Æý¶9žõ6¶9¢è¶<:?¶{:@¶{:B¶{:D¶:F¶{:H¶{:J¶{:L¶{:²N&¶â&¶â&¶â¸Q:W¸Y:»^Y²`¶f·i::¶j:§
:¶p¸ým¸sewm¸: ¶y™¶Ù}”*´¹ŠW„§ÿ±w€ƒnnª* ! "$/&8'E(S+b,l.z/ˆ0–1¤2²4¼5Á6Ë7Ø8å9î:ø;< => ?*@4A>D[GcHtIwK€NƒL…MŠQ R¶TÄ8ÊYoL!…}¯îÖ°øÌ±ÂA ¸C®² ¤G*šI4K>†M[i³ca´µtP¶·wM¸¹ $º©ÛïrqËÿ»¼ËstË€È›Å½ ¿Ÿ³©/œ¾8“‚bišl_¿    zQ¬
ˆCÀ –5Á ¤' ²«¼Ã” 8“–yáÿÛ ƒÚ‹|||)ÿ§ ƒÚ‹|||)||Z^“nÿ9 ƒÚ‹|||)ù„Ä…§‡€ÆÇm,    v*´¹ƒš*´+¹‡š*´¹Š*¶*´+¹À“:Ǹ•°¶š:¹¸»:¶ž,²`¶f¶È¸E-¶K¶¢6¸•°n2 fg"h(j7k<lApHsOuVxb{p|o\    vstvÀv®vȝv€7?¸¹H.³ÉO'“¤pÊËy
ü“„§‡À®È€ÌÍm𦻦Y·¨N»©Y·«:¸¬:*´±+¶µ:Æ
¶»:,¶Á‡¶ėž°*´±+¶È:ÆY¹ÌžO¸ÏÀ):6        ¶9¢8    ¶<:
 
Ô¶{: 
Ö¶ƒ: 
ضÚ:  ¶Þm¸:¸ým¸:¶Ù¶Ùewm¸:¸h:*´± ¶ã:ƹ̞¹Ì¸h:¶Ùçm
”›¶Á`2¤°,¶Á ¶Á£?»¦Y·¨N- ¶é-,¶ì-¹ðW¶Ä,¶Á‡g¸¬:,¶Á,¶Ád¸hM°»¦Y·¨N- ¶é- ¶ì-¹ðW¶Ä ¶Á‡g¸¬:,¶Á ¶Ád¸hM,¶Áž§°„    §þİn²,‹Œ!‘&’-–;—>›HWžaŸn w¡¢‹£•¦£§¯¨Ã«É¬Ô­ã®ï²    ³ ½¾ ¿&À+Á4ÃDÄQÅTÇ\ÈbÉhÊq̂͐ΗϚѝŸ£ÖoÀw&ΐ
՝ ‹× •ÙÏ £úЩ¯îÑ©ÃÚÒ©ÉÔӍÔÉÔÕd?rq    aBÖ¼¦st¦×©¦ØžÙÚ•ÛՏÜÝ!…ÞßH^àÕ” ÔÉÔá•ÛâH^àãy”    ÿ- Úi¦Í­¼þ%Í)ÿŠ Úi¦Í­¼Í)|ißÚÚÚiÍûGûEÿ
 Úi¦Í­¼Í)ù‡    ×Økäåæmë:+¶óN+¶ø:+¶û:*´±-¶ÿ:»Y·:¶¶     ¶»Y·:-¶¶*´¶¶!*¶ú:    ¸ým¸:
%: ': ½)¸+: *´/*       
,¶
º:»‡Y·‰:¹ŠW¹ŠW0¹ŠW*´–²2 ¶5:½)¶9<¸>À<:¶B:ÆE¶y™ ¸•¸G°ÆM¶y™ ²O¶T¸W°²[¶T¸^°n~åæ çêë$ì+í2î:ðCñIòPóYô`÷førúwû|ý‡þ¡ª·ÅÓã÷þ      &0oÀ:st:çè:€5é /ê)ëìÝ$íîC÷ïðfÔŸ    rȝ©
w۝ |¾½ ‡³6 ¡™¾ª‚ãWñ÷Còóþ<ô” ª–yCÿ ôƒi­Ú‹|<„¥—§‡    ç€kõöm¢D*·a*²dµš*²eµ¯*²fµ¤*²gµ*²µ/*²2µh*»‡Y·‰µ*+µ±*,µ–±n&    (/ 012 3'4.79(o DstD³´D˜™‡    ³˜÷øùúû üüüüü
 *LF     ÔF        )@