wangzhuo пре 2 година
родитељ
комит
a6e22f1096

+ 17 - 8
blade-service/blade-pay/src/main/java/org/springblade/pay/tonglianPayment/controller/TongLianPaymentController.java

@@ -104,16 +104,29 @@ public class TongLianPaymentController extends BladeController {
 			TreeMap<String, String> params = NotifyServlet.getParams(request);
 			System.out.println("回调函数数据======》" + params.toString());
 			String appKey;
+
+			WechatMark wechatMark = new WechatMark();
+
+			Parameters parameters = new Parameters();
+			parameters.setAppId(AnalysisMapUtils.getString("appid", params));
+			parameters.setCusId(AnalysisMapUtils.getString("cusid", params));
+			Parameters parametersDetails = tongLianPaymentClient.getParametersDetails(parameters);
+			if (ObjectUtils.isNull(parametersDetails)) {
+				wechatMark.setRemark("未找到租户,异常支付");
+			}
+
 			if ("RSA".equals(params.get("signtype"))) {
-				appKey = SybConstants.SYB_RSATLPUBKEY;
+				appKey = parametersDetails.getSybRsacusprikey();
 			}else if ("SM2".equals(params.get("signtype"))) {
-				appKey = SybConstants.SYB_SM2TLPUBKEY;
+				//appKey = SybConstants.SYB_SM2TLPUBKEY;
+				appKey = parametersDetails.getSybSmtlpubkey();
 			}else{
-				appKey = SybConstants.SYB_MD5_APPKEY;
+				//appKey = SybConstants.SYB_MD5_APPKEY;
+				appKey = parametersDetails.getSybMdAppkey();
 			}
 			boolean isSign = SybUtil.validSign(params, appKey, params.get("signtype"));// 接受到推送通知,首先验签
 			System.out.println("验签结果:" + isSign);
-			WechatMark wechatMark = new WechatMark();
+
 			wechatMark.setCreateTime(new Date());
 			wechatMark.setType("支付");
 			if (isSign) {
@@ -128,10 +141,6 @@ public class TongLianPaymentController extends BladeController {
 					Order order = new Order();
 					order.setSysNo(AnalysisMapUtils.getString("cusorderid", params));
 
-					Parameters parameters = new Parameters();
-					parameters.setAppId(AnalysisMapUtils.getString("appid", params));
-					parameters.setCusId(AnalysisMapUtils.getString("cusid", params));
-					Parameters parametersDetails = tongLianPaymentClient.getParametersDetails(parameters);
 					if (ObjectUtils.isNotNull(parametersDetails)) {
 						wechatMark.setTenantId(parametersDetails.getTenantId());
 						order.setTenantId(parametersDetails.getTenantId());

+ 5 - 1
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -5013,7 +5013,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 			paymentDTO.setFqnum("");
 			paymentDTO.setCusId(parameters.getCusId());
 			paymentDTO.setAppId(parameters.getAppId());
-			paymentDTO.setOrgid(parameters.getOrgid());
+			if (ObjectUtils.isEmpty(parameters.getOrgid())){
+				paymentDTO.setOrgid("");
+			}else {
+				paymentDTO.setOrgid(parameters.getOrgid());
+			}
 			paymentDTO.setTransactionType(parameters.getTransactionType());//交易类型
 			paymentDTO.setSybMdAppkey(parameters.getSybMdAppkey());//MD5交易密钥
 			paymentDTO.setSybRsacusprikey(parameters.getSybRsacusprikey());//RSA公钥