فهرست منبع

fix 注册账号退款、支付回调

zoujiajian 3 سال پیش
والد
کامیت
bb745aa175

+ 5 - 2
netflix-service/src/main/java/com/cyksj/service/register/impl/RegisterOrderDonServiceImpl.java

@@ -19,6 +19,7 @@ import com.cyksj.mapper.AppleAutoRegisterDataMapper;
 import com.cyksj.mapper.RegisterOrderDonMapper;
 import com.cyksj.mapper.SpotifyUnLimitRecordMapper;
 import com.cyksj.mapper.UserMapper;
+import com.cyksj.mapper.channel.ShopConfigMapper;
 import com.cyksj.mapper.manage.coupon.CouponMapper;
 import com.cyksj.model.dto.H5JsPayParams;
 import com.cyksj.model.entity.*;
@@ -85,6 +86,8 @@ public class RegisterOrderDonServiceImpl extends ServiceImpl<RegisterOrderDonMap
 
     private final BeanSearcher beanSearcher;
 
+    private final ShopConfigMapper shopConfigMapper;
+
     private static final Long EXPIRY_TIME = 1000 * 60 * 5L;
 
     /**
@@ -292,7 +295,7 @@ public class RegisterOrderDonServiceImpl extends ServiceImpl<RegisterOrderDonMap
         }
 
         // 校验签名
-        boolean f = weChatService.checkSignWithMd5(map, weChatConfig.getShopKey());
+        boolean f = weChatService.checkSignWithMd5(map, shopConfigMapper.getByAppId(weChatConfig.getAppid()).getSecret());
         if (!f) {
             log.error("回调数据:{}", map);
             throw BusinessRuntimeException.getInstance("支付成功回调, 校验签名失败.");
@@ -364,7 +367,7 @@ public class RegisterOrderDonServiceImpl extends ServiceImpl<RegisterOrderDonMap
     @Override
     public void wxRefundNotify(Map<String, String> map) throws Exception {
         // 对退款数据 解密
-        String md5Key = Codec.DoDigest.custom().setAlgorithm(Codec.DoDigest.Algorithm.MD5).setStringData(weChatConfig.getShopKey()).toHexString();
+        String md5Key = Codec.DoDigest.custom().setAlgorithm(Codec.DoDigest.Algorithm.MD5).setStringData(shopConfigMapper.getByAppId(weChatConfig.getAppid()).getSecret()).toHexString();
         String reqInfoXml = Codec.DoCipher.custom().setAlgorithm(Codec.DoCipher.Trans.AES_ECB_PKCS7Padding).setBase64Data(map.get("req_info")).setStringKey(md5Key).ofDecrypt().toText();
         log.info("=== 退款数据解密: \n {}", reqInfoXml);
         Map<String, String> reqInfoMap = Xmls.toMap(reqInfoXml);