Ver código fonte

Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

1098226878@qq.com 4 anos atrás
pai
commit
7b0e7c62da

+ 2 - 0
service-acct/src/main/java/com/java110/acct/smo/impl/OnlinePayV1InnerServiceSMOImpl.java

@@ -17,6 +17,7 @@ package com.java110.acct.smo.impl;
 
 
 import com.java110.acct.dao.IOnlinePayV1ServiceDao;
+import com.java110.core.annotation.Java110Transactional;
 import com.java110.intf.acct.IOnlinePayV1InnerServiceSMO;
 import com.java110.dto.onlinePay.OnlinePayDto;
 import com.java110.po.onlinePay.OnlinePayPo;
@@ -53,6 +54,7 @@ public class OnlinePayV1InnerServiceSMOImpl extends BaseServiceSMO implements IO
     }
 
      @Override
+     @Java110Transactional
     public int updateOnlinePay(@RequestBody  OnlinePayPo onlinePayPo) {
         int saveFlag = onlinePayV1ServiceDaoImpl.updateOnlinePayInfo(BeanConvertUtil.beanCovertMap(onlinePayPo));
         return saveFlag;

+ 2 - 2
service-acct/src/main/java/com/java110/acct/smo/impl/QrCodePlutusPaymentAdapt.java

@@ -106,7 +106,7 @@ public class QrCodePlutusPaymentAdapt implements IQrCodePaymentSMO {
             throw new IllegalArgumentException("支付失败签名失败");
         }
         //解密
-        byte[] bb = PlutusFactory.decrypt(Base64.decode(content), PlutusFactory.SECRET_KEY);
+        byte[] bb = PlutusFactory.decrypt(Base64.decode(content), smallWeChatDtos.get(0).getPayPassword());
         //服务器返回内容
         String paramOut = new String(bb);
 
@@ -162,7 +162,7 @@ public class QrCodePlutusPaymentAdapt implements IQrCodePaymentSMO {
             throw new IllegalArgumentException("支付失败签名失败");
         }
         //解密
-        byte[] bb = PlutusFactory.decrypt(Base64.decode(content), PlutusFactory.SECRET_KEY);
+        byte[] bb = PlutusFactory.decrypt(Base64.decode(content), smallWeChatDtos.get(0).getPayPassword());
         //服务器返回内容
         String paramOut = new String(bb);
 

+ 9 - 13
service-api/src/main/java/com/java110/api/smo/payment/adapt/plutuspay/PlutusOweFeeToNotifyAdapt.java

@@ -24,6 +24,7 @@ import com.java110.api.smo.payment.adapt.IOweFeeToNotifyAdapt;
 import com.java110.core.factory.CommunitySettingFactory;
 import com.java110.core.factory.PlutusFactory;
 import com.java110.core.factory.WechatFactory;
+import com.java110.core.log.LoggerFactory;
 import com.java110.dto.fee.FeeDto;
 import com.java110.dto.smallWeChat.SmallWeChatDto;
 import com.java110.utils.cache.CommonCache;
@@ -34,7 +35,6 @@ import com.java110.utils.util.PayUtil;
 import com.java110.utils.util.StringUtil;
 import org.bouncycastle.util.encoders.Base64;
 import org.slf4j.Logger;
-import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.HttpStatus;
@@ -43,7 +43,10 @@ import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
 
 import java.io.UnsupportedEncodingException;
-import java.util.*;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
 
 /**
  * 富友 支付 通知实现
@@ -92,15 +95,15 @@ public class PlutusOweFeeToNotifyAdapt extends DefaultAbstractComponentSMO imple
         if (smallWeChatDto == null) {
             throw new IllegalArgumentException("未配置公众号或者小程序信息");
         }
-        String publicKey = CommunitySettingFactory.getRemark(smallWeChatDto.getObjId(),"PLUTUS_PUBLIC_KEY");
+        String publicKey = CommunitySettingFactory.getRemark(smallWeChatDto.getObjId(), "PLUTUS_PUBLIC_KEY");
         //验签
-        Boolean verify = PlutusFactory.verify256(param, org.bouncycastle.util.encoders.Base64.decode(signature),publicKey);
+        Boolean verify = PlutusFactory.verify256(content, org.bouncycastle.util.encoders.Base64.decode(signature), publicKey);
         //验签成功
         if (!verify) {
             throw new IllegalArgumentException("支付失败签名失败");
         }
         //解密
-        byte[] bb = PlutusFactory.decrypt(Base64.decode(content), PlutusFactory.SECRET_KEY);
+        byte[] bb = PlutusFactory.decrypt(Base64.decode(content), smallWeChatDto.getPayPassword());
         //服务器返回内容
         String paramOut = new String(bb);
         try {
@@ -135,16 +138,9 @@ public class PlutusOweFeeToNotifyAdapt extends DefaultAbstractComponentSMO imple
             smallWeChatDto.setMchId(wechatAuthProperties.getMchId());
             smallWeChatDto.setPayPassword(wechatAuthProperties.getKey());
         }
-        TreeMap<String, String> paramMap = new TreeMap<String, String>();
-        for (String key : map.keySet()) {
-//            if ("wId".equals(key)) {
-//                continue;
-//            }
-            paramMap.put(key, map.get(key).toString());
-        }
         //String sign = PayUtil.createChinaUmsSign(paramMap, smallWeChatDto.getPayPassword());
         //JSONObject billPayment = JSONObject.parseObject(map.getString("billPayment"));
-        String outTradeNo = map.get("outTransId").toString();
+        String outTradeNo = map.getString("outTransId");
 
         String orderId = outTradeNo;
         String order = CommonCache.getAndRemoveValue(FeeDto.REDIS_PAY_OWE_FEE + orderId);

+ 3 - 3
service-api/src/main/java/com/java110/api/smo/payment/adapt/plutuspay/PlutusPayAdapt.java

@@ -22,6 +22,7 @@ import com.java110.api.smo.payment.adapt.IPayAdapt;
 import com.java110.core.factory.CommunitySettingFactory;
 import com.java110.core.factory.PlutusFactory;
 import com.java110.core.factory.WechatFactory;
+import com.java110.core.log.LoggerFactory;
 import com.java110.dto.owner.OwnerAppUserDto;
 import com.java110.dto.smallWeChat.SmallWeChatDto;
 import com.java110.utils.cache.MappingCache;
@@ -30,7 +31,6 @@ import com.java110.utils.util.PayUtil;
 import com.java110.utils.util.StringUtil;
 import org.bouncycastle.util.encoders.Base64;
 import org.slf4j.Logger;
-import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
@@ -186,14 +186,14 @@ public class PlutusPayAdapt implements IPayAdapt {
             throw new IllegalArgumentException("支付失败签名失败");
         }
         //解密
-        byte[] bb = PlutusFactory.decrypt(Base64.decode(content), PlutusFactory.SECRET_KEY);
+        byte[] bb = PlutusFactory.decrypt(Base64.decode(content), smallWeChatDto.getPayPassword());
         //服务器返回内容
         String paramOut = new String(bb);
 
         JSONObject paramObj = JSONObject.parseObject(paramOut);
         logger.debug("统一下单返回" + paramOut);
 
-        if (paramObj.getString("paramObj") != "00") {
+        if (!"00".equals(paramObj.getString("status"))) {
             throw new IllegalArgumentException("支付失败" + paramObj.getString("error"));
         }
 

+ 4 - 10
service-api/src/main/java/com/java110/api/smo/payment/adapt/plutuspay/PlutusPayNotifyAdapt.java

@@ -93,13 +93,13 @@ public class PlutusPayNotifyAdapt extends DefaultAbstractComponentSMO implements
         }
         String publicKey = CommunitySettingFactory.getRemark(smallWeChatDto.getObjId(),"PLUTUS_PUBLIC_KEY");
         //验签
-        Boolean verify = PlutusFactory.verify256(param, org.bouncycastle.util.encoders.Base64.decode(signature),publicKey);
+        Boolean verify = PlutusFactory.verify256(content, org.bouncycastle.util.encoders.Base64.decode(signature),publicKey);
         //验签成功
         if (!verify) {
             throw new IllegalArgumentException("支付失败签名失败");
         }
         //解密
-        byte[] bb = PlutusFactory.decrypt(Base64.decode(content), PlutusFactory.SECRET_KEY);
+        byte[] bb = PlutusFactory.decrypt(Base64.decode(content), smallWeChatDto.getPayPassword());
         //服务器返回内容
         String paramOut = new String(bb);
         try {
@@ -134,16 +134,10 @@ public class PlutusPayNotifyAdapt extends DefaultAbstractComponentSMO implements
             smallWeChatDto.setMchId(wechatAuthProperties.getMchId());
             smallWeChatDto.setPayPassword(wechatAuthProperties.getKey());
         }
-        TreeMap<String, String> paramMap = new TreeMap<String, String>();
-        for (String key : map.keySet()) {
-//            if ("wId".equals(key)) {
-//                continue;
-//            }
-            paramMap.put(key, map.get(key).toString());
-        }
+
         //String sign = PayUtil.createChinaUmsSign(paramMap, smallWeChatDto.getPayPassword());
         //JSONObject billPayment = JSONObject.parseObject(map.getString("billPayment"));
-        String outTradeNo = map.get("outTransId").toString();
+        String outTradeNo = map.getString("outTransId");
 
         //查询用户ID
         JSONObject paramIn = new JSONObject();

+ 2 - 2
service-job/src/main/java/com/java110/job/adapt/fee/ReturnPayFeeToPlutusAdapt.java

@@ -64,7 +64,7 @@ public class ReturnPayFeeToPlutusAdapt extends DatabusAdaptImpl {
     @Autowired
     private RestTemplate outRestTemplate;
 
-    public static final String wechatReturnUrl = "https://api.mch.weixin.qq.com/secapi/pay/refund";
+    public static final String wechatReturnUrl = "https://api.plutuspay.com/open/v2/refund";
 
     private static Logger logger = LoggerFactory.getLogger(ReturnPayFeeMoneyAdapt.class);
 
@@ -149,7 +149,7 @@ public class ReturnPayFeeToPlutusAdapt extends DatabusAdaptImpl {
             throw new IllegalArgumentException("支付失败签名失败");
         }
         //解密
-        byte[] bb = PlutusFactory.decrypt(Base64.decode(content), PlutusFactory.SECRET_KEY);
+        byte[] bb = PlutusFactory.decrypt(Base64.decode(content), smallWeChatDtos.get(0).getPayPassword());
         //服务器返回内容
         String paramOut = new String(bb);