From be9208db35144a6939fa338709168cf7549e86c6 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 26 Aug 2022 18:31:50 +0800
Subject: [PATCH] 20220822

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |   36 +++++++++++++++++++++++++++---------
 1 files changed, 27 insertions(+), 9 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index db019c1..0739eab 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -209,12 +209,12 @@
         this.baseMapper.updateById(orderInfo);
     }
 
-    public static void main(String[] args) {
-        String unipayStr = "{\"r1_MerchantNo\":\"888118000001971\",\"rd_Pic\":\"\",\"r6_FrpCode\":\"ALIPAY_H5\",\"r7_TrxNo\":\"100222082332490699\",\"r0_Version\":\"1.0\",\"r3_Amount\":\"0.01\",\"r4_Cur\":\"1\",\"r2_OrderNo\":\"2022082212510288174\",\"rb_CodeMsg\":\"\",\"hmac\":\"1659BB77DEDDF9956EA4D6DF227C3B14\",\"ra_Code\":100,\"rc_Result\":\"<html><head><meta http-equiv='Content-Type' content='text/html; charset=UTF-8'><title></title></head><body><script type='text/javascript'>location.href='https://qr.alipay.com/bax019737vbdwoisxcdp00a2';</script></body></html>\"}";
-        JSONObject jsonObject = JSONUtil.parseObj(unipayStr);
-        String r7_trxNo = (String) jsonObject.get("r7_TrxNo");
-        System.out.println(r7_trxNo);
-    }
+//    public static void main(String[] args) {
+//        String unipayStr = "{\"r1_MerchantNo\":\"888118000001971\",\"rd_Pic\":\"\",\"r6_FrpCode\":\"ALIPAY_H5\",\"r7_TrxNo\":\"100222082332490699\",\"r0_Version\":\"1.0\",\"r3_Amount\":\"0.01\",\"r4_Cur\":\"1\",\"r2_OrderNo\":\"2022082212510288174\",\"rb_CodeMsg\":\"\",\"hmac\":\"1659BB77DEDDF9956EA4D6DF227C3B14\",\"ra_Code\":100,\"rc_Result\":\"<html><head><meta http-equiv='Content-Type' content='text/html; charset=UTF-8'><title></title></head><body><script type='text/javascript'>location.href='https://qr.alipay.com/bax019737vbdwoisxcdp00a2';</script></body></html>\"}";
+//        JSONObject jsonObject = JSONUtil.parseObj(unipayStr);
+//        String r7_trxNo = (String) jsonObject.get("r7_TrxNo");
+//        System.out.println(r7_trxNo);
+//    }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -338,17 +338,20 @@
                 agreementSignDto.setOrderNo(orderInfo.getOrderNo());
                 agreementSignDto.setSmsCode(payOrderDto.getSmsCode());
                 String agreementSignStr = unipayService.agreementSign(agreementSignDto);
-                if("fail" == agreementSignStr){
+                if("fail".equals(agreementSignStr)){
                     throw new FebsException("支付失败");
                 }else{
                     JSONObject jsonObject = JSONUtil.parseObj(agreementSignStr);
                     payResultStr = (String) jsonObject.get("biz_code");
+                    String signData = (String) jsonObject.get("data");
                     String signBizMsg = (String) jsonObject.get("biz_msg");
-                    String err_msg = (String) jsonObject.get("err_msg");
+
+                    JSONObject signDatajsonObject = JSONUtil.parseObj(signData);
+                    String err_msg = (String) signDatajsonObject.get("err_msg");
                     if(!"JS000000".equals(payResultStr)){
                         throw new FebsException(signBizMsg);
                     }
-                    if(ObjectUtil.isNotNull(jsonObject.get("err_code"))){
+                    if(ObjectUtil.isNotNull(signDatajsonObject.get("err_code"))){
                         throw new FebsException(err_msg);
                     }
                 }
@@ -396,6 +399,21 @@
         return map;
     }
 
+    public static void main(String[] args) {
+        String str = "{\"biz_code\":\"JS000000\",\"biz_msg\":\"成功\",\"data\":\"{\\\"order_status\\\":\\\"P2000\\\",\\\"jp_order_no\\\":\\\"100120220826446740396081496064\\\",\\\"err_msg\\\":\\\"短信验证码不符\\\",\\\"err_code\\\":\\\"CP110026\\\",\\\"sign_no\\\":\\\"\\\",\\\"mch_order_no\\\":\\\"NO_2022082618263952399\\\"}\",\"mch_no\":\"888118000001971\",\"rand_str\":\"an2w7ulf5ru6upkk5bdg441kdi3gnpvu\",\"resp_code\":\"SUCCESS\",\"sec_key\":\"\",\"sign\":\"NiJXRTSIZ9xZMUOwEHiEHdZXmgL2cHUU5WUa1NbMRRzui0DIiuZSW4e31LjnBxwVwmy3uuPMP+tqhY8VLyC8uCFOdGdZI7e72VuRvyvaiW7/sqCrsfgPOBEjiGE/CmSMRoEXv9HmqCyNBF6iHSEhQJql5Yge30dQdyB6xFfqjk0=\",\"sign_type\":\"2\"}";
+
+        JSONObject jsonObject = JSONUtil.parseObj(str);
+        String payResultStr = (String) jsonObject.get("biz_code");
+        String signBizMsg = (String) jsonObject.get("biz_msg");
+        String signData = (String) jsonObject.get("data");
+
+        JSONObject signDatajsonObject = JSONUtil.parseObj(signData);
+        String err_msg = (String) signDatajsonObject.get("err_msg");
+        if(ObjectUtil.isNotNull(signDatajsonObject.get("err_code"))){
+            System.out.println(err_msg);
+        }
+    }
+
     private String balancePay(MallOrderInfo orderInfo, String tradePwd, String field) {
         if (StrUtil.isBlank(tradePwd)) {
             throw new FebsException("支付密码错误");

--
Gitblit v1.9.1