From b37275dba6b782bf3bb3817c4504f6cdef1bef7c Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 18 三月 2021 18:38:51 +0800
Subject: [PATCH] APP首页顶部标签兼容

---
 src/main/java/com/yeshi/buwan/controller/WXController.java |   29 ++++++++++-------------------
 1 files changed, 10 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/controller/WXController.java b/src/main/java/com/yeshi/buwan/controller/WXController.java
index b2ab888..ab9abf5 100644
--- a/src/main/java/com/yeshi/buwan/controller/WXController.java
+++ b/src/main/java/com/yeshi/buwan/controller/WXController.java
@@ -1,9 +1,8 @@
 package com.yeshi.buwan.controller;
 
-import com.yeshi.buwan.domain.vip.VIPOrderRecord;
-import com.yeshi.buwan.exception.vip.VIPException;
 import com.yeshi.buwan.service.inter.vip.VIPService;
 import com.yeshi.buwan.util.StringUtil;
+import com.yeshi.buwan.util.log.LoggerUtil;
 import com.yeshi.buwan.util.user.VipUtil;
 import com.yeshi.buwan.util.vip.VIPOrderUtil;
 import net.sf.json.JSONObject;
@@ -13,7 +12,6 @@
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.yeshi.utils.entity.wx.WXAPPInfo;
-import org.yeshi.utils.wx.WXPayV3Util;
 
 import javax.annotation.Resource;
 import javax.crypto.Cipher;
@@ -30,7 +28,6 @@
 import java.security.InvalidKeyException;
 import java.security.NoSuchAlgorithmException;
 import java.util.Base64;
-import java.util.Date;
 
 @Controller
 @RequestMapping("wx")
@@ -68,9 +65,10 @@
         WXAPPInfo wxappInfo = VipUtil.getWXAPP();
         //楠岃瘉璇佷功搴忓垪鍙�
         String mchSerialNo = request.getHeader("Wechatpay-Serial");
-        if (!mchSerialNo.equalsIgnoreCase(wxappInfo.getMchSerialNo())) {
-            throw new Exception("璇佷功搴忓垪鍙蜂笉涓�鑷�");
-        }
+        LoggerUtil.getTestLogger().info("寰俊鏀粯mchSerialNo锛歿}",mchSerialNo);
+//        if (!mchSerialNo.equalsIgnoreCase(wxappInfo.getMchSerialNo())) {
+//            throw new Exception("璇佷功搴忓垪鍙蜂笉涓�鑷�");
+//        }
 
         String timeStamp = request.getHeader("Wechatpay-Timestamp");
         String nonce = request.getHeader("Wechatpay-Nonce");
@@ -81,7 +79,7 @@
             if (request.getInputStream() != null) {
                 String entity = IOUtils.toString(request.getInputStream(), "UTF-8");
                 data = entity;
-                logger.error("寰俊鏀粯鍥炶皟entity锛�" + entity);
+                LoggerUtil.getTestLogger().info("寰俊鏀粯鍥炶皟entity锛歿}",entity);
             }
         } catch (IOException e) {
             e.printStackTrace();
@@ -101,6 +99,7 @@
                 String ciphertext = resource.optString("ciphertext");
                 String r = decryptToString(wxappInfo.getApiV3Key(), resource.optString("associated_data"), resource.optString("nonce"), ciphertext);
                 //瑙e瘑鏍煎紡濡備笅 {"mchid":"1520950211","appid":"wxa99686bb65a9f466","out_trade_no":"buwan-vip-8","transaction_id":"4200000796202101259681241680","trade_type":"MWEB","trade_state":"SUCCESS","trade_state_desc":"鏀粯鎴愬姛","bank_type":"OTHERS","attach":"","success_time":"2021-01-25T16:18:33+08:00","payer":{"openid":"oq7R20lxhKF8qSnkszxFJHViyKEY"},"amount":{"total":10,"payer_total":10,"currency":"CNY","payer_currency":"CNY"}}
+                LoggerUtil.getTestLogger().info("鏁版嵁瑙g爜锛歿}",r);
                 JSONObject decript = JSONObject.fromObject(r);
                 String outTradeNo = decript.optString("out_trade_no");
                 String appId = decript.optString("appid");
@@ -108,18 +107,9 @@
                 String tradeState = decript.optString("trade_state");
                 //鏀粯鎴愬姛
                 if (tradeState.equalsIgnoreCase("SUCCESS")) {
-                    boolean isPaySuccess = WXPayV3Util.isPaySuccess(outTradeNo, wxappInfo);
-                    if (isPaySuccess) {
-                        BigDecimal money = new BigDecimal(decript.optJSONObject("amount").optInt("total")).divide(new BigDecimal(100), 2, RoundingMode.FLOOR);
-                        String id = VIPOrderUtil.getIdFromOutOrderNo(outTradeNo);
-                        try {
-                            vipService.paySuccess(id, VIPOrderRecord.PAY_WAY_WX, money, new Date());
-                        } catch (VIPException e) {
-                            logger.error("璁㈠崟鏀粯鎴愬姛澶勭悊鍑洪敊锛歿}", id, e);
-                        }
-                    }
+                    String id = VIPOrderUtil.getIdFromOutOrderNo(outTradeNo);
+                    vipService.checkOrderPayState(id);
                 }
-
                 break;
         }
     }
@@ -140,6 +130,7 @@
             data.put("message", "澶勭悊鎴愬姛");
             response.sendError(200, data.toString());
         } catch (Exception e) {
+            logger.error("寰俊鏀粯鍥炶皟澶勭悊鍑洪敊锛�",e);
             e.printStackTrace();
             JSONObject data = new JSONObject();
             data.put("code", "FAIL");

--
Gitblit v1.8.0