From 2c13a6f34253ee595eedac139ab2c4b05a26bbc2 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 11 一月 2022 12:18:02 +0800
Subject: [PATCH] 优化代码
---
service-api/src/main/java/com/java110/api/smo/payment/adapt/plutuspay/PlutusPayNotifyAdapt.java | 13 ++++++++++---
1 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/service-api/src/main/java/com/java110/api/smo/payment/adapt/plutuspay/PlutusPayNotifyAdapt.java b/service-api/src/main/java/com/java110/api/smo/payment/adapt/plutuspay/PlutusPayNotifyAdapt.java
index 88cb76f..e87bb8b 100644
--- a/service-api/src/main/java/com/java110/api/smo/payment/adapt/plutuspay/PlutusPayNotifyAdapt.java
+++ b/service-api/src/main/java/com/java110/api/smo/payment/adapt/plutuspay/PlutusPayNotifyAdapt.java
@@ -21,6 +21,7 @@
import com.java110.api.properties.WechatAuthProperties;
import com.java110.api.smo.DefaultAbstractComponentSMO;
import com.java110.api.smo.payment.adapt.IPayNotifyAdapt;
+import com.java110.core.factory.CommunitySettingFactory;
import com.java110.core.factory.PlutusFactory;
import com.java110.core.factory.WechatFactory;
import com.java110.dto.smallWeChat.SmallWeChatDto;
@@ -28,7 +29,6 @@
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.PayUtil;
-import org.apache.commons.codec.digest.DigestUtils;
import org.bouncycastle.util.encoders.Base64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -85,8 +85,15 @@
String signature = json.getString("signature");
String content = json.getString("content");
+
+ String appId = WechatFactory.getAppId(wId);
+ SmallWeChatDto smallWeChatDto = getSmallWechat(appId);
+ if (smallWeChatDto == null) {
+ throw new IllegalArgumentException("鏈厤缃叕浼楀彿鎴栬�呭皬绋嬪簭淇℃伅");
+ }
+ String publicKey = CommunitySettingFactory.getRemark(smallWeChatDto.getObjId(),"PLUTUS_PUBLIC_KEY");
//楠岀
- Boolean verify = PlutusFactory.verify256(param, org.bouncycastle.util.encoders.Base64.decode(signature));
+ Boolean verify = PlutusFactory.verify256(param, org.bouncycastle.util.encoders.Base64.decode(signature),publicKey);
//楠岀鎴愬姛
if (!verify) {
throw new IllegalArgumentException("鏀粯澶辫触绛惧悕澶辫触");
@@ -94,7 +101,7 @@
//瑙e瘑
byte[] bb = PlutusFactory.decrypt(Base64.decode(content), PlutusFactory.SECRET_KEY);
//鏈嶅姟鍣ㄨ繑鍥炲唴瀹�
- String paramOut = new String(bb);
+ String paramOut = new String(bb);
try {
JSONObject map = JSONObject.parseObject(paramOut);
logger.info("銆愰摱鑱旀敮浠樺洖璋冦�� 鍥炶皟鏁版嵁锛� \n" + map);
--
Gitblit v1.8.0