From 328ac3b6130819a31a7ba2d6af84ceec5c9584bf Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 24 十一月 2023 15:22:38 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/HuiFuTianXiaUtil.java |   77 +++++++++++++++++++++++++++++++++++---
 1 files changed, 71 insertions(+), 6 deletions(-)

diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/HuiFuTianXiaUtil.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/HuiFuTianXiaUtil.java
index 0cba250..886d78a 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/HuiFuTianXiaUtil.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/HuiFuTianXiaUtil.java
@@ -13,8 +13,11 @@
 import com.ruoyi.order.domain.vo.PaymentDelaytransHFTXVo;
 import com.ruoyi.order.domain.vo.WeixinPaymentNotifyVo;
 import com.ruoyi.order.domain.vo.WeixinPaymentRefundVo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.util.StringUtils;
 
+import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.security.KeyFactory;
 import java.security.PrivateKey;
@@ -31,6 +34,7 @@
  * @Date 2023/10/12 0:02
  */
 public class HuiFuTianXiaUtil {
+    private static Logger logger = LoggerFactory.getLogger(HuiFuTianXiaUtil.class);
     //私钥(Base64编码)
     private static String privateKeyBase64 = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCs658vv/6VdoSGyxr7gVNxlsFGKC2RE4I3S3C78f7t29t6oSm7tdRUr+B/I1VtV1Ps2SQMqG+gUpLiVbHEj+U8PjrvSht6cBNpqhnUjBASEhO0zeCJXNj3zqEDj7CnzDbUzuZWZDyLEaSLRaVb/DSW34D0GDsGWpIMLui/lnubXCYMNsUJBgRmV/tSv7vApVok3aKDoYkZMDhfnKrbxTtWkDfwNLDCInB300YbGeN7hhECRestktymHw0I78x3g+pdzOKOSofqdHyBCemVgOBt2h+oulVU65jc5ok0vwhx7sk2+i3Dw/S/hx3fpnOAToLhpFSTCqArG5wOhiOTX5RRAgMBAAECggEAT+uu7VDdh5L5eZtR40BIos08kwJq3QyZOJlDh3o3ixP8gtcOBNXrRyDqr5hTGXAtN+C8SqVmwkCn5rgYq3KeTpOshYBI5vP55PJbceMyYke8l+o3hwVEunPj81NsIIHALedaij9VxCjpVf1gif0tCTZP0YGJdkxSCBN+O15/zrOred2xkbAGXCNM2j+uIOZ5LTQ064jUAm9KWO4JvVnlNCQPiJCfe652i4RE9adgTlT7d9XffQ/oZDZcDkD1OVUO4ErsSgvjsjPW9Qk8zAVm/C+ycs27GUbVf6yh3zMoL4JDshzoMYAVDqP3VkpYGiW71PzcOZqktcjbtCom4/gpqQKBgQDgHrsQVzMwr18gRAWl8PsgHyMvhyivzk7uPvm6nK9mvEGg7wnrCMKHkpEOCi4mHWnW6H9ptrkeAQbHN7H8Qd6JZm/H0VN8N8fg4IFarlrLWXET6s7or9btCf4aq8DGrU9C+7fcngSfuqlrSxy9e+9InmzUFGKVLBtYIJbG1r00qwKBgQDFhHhhc4WC1MrWLSGhpaNp+swPstfzUBeX2MtZOIv6yXTYPvJ77AAZoLnW482eUZucltCAUucEtTsop25dKdhbdhbVJ/YRRnaklBL2rai4HX+fjoV29tepJhrOrq3Ey+vqvDEsqrBz2C6YyJ6d9aaPPwCFsnDRO+g7tK9S4ZfC8wKBgGlhKbXqOnCW1RSXx0waPgoBegrb816OlABj7go3qCWXOQiRvMkdilIysS+3y7EyPVTGZzpupyYbd3Nulaq10gwq9T4wB6Atnjb3ePsJZjmdKZUi3/z6yQUVoLwrq+3/CXjGYNJEHop4Ozbuz2ms/3rWuvcRSrU3UvgiAqMlzzsXAoGAJY7xDSbYZm5sO5nNYV2L22UzVHDfm4bJVbiFwmt8Qq34J/6gQWw5AKaNcA1VVhuSiY4sC5q4Dy8fFrXvyItidtHXuaSlp9dMTDNT/9A52vjRAdgqDNsXWzTBuDeDF37nV3V9rE6wyvZ6tdbAQq0phOeoA8RQq5jGqkPLauk24H0CgYEAn92Ru9UuloMmTrJbpeeLmMkwCzKff4SpYSY3WzidjdlfHpyNqBUMYb5Ym3OplrSONT9o2H5mEQipjatiu0teILBT7j+f9ZJYQ3vUurAXbmKtthHuEV4lueylNUgmkv+dm295n2x79w1mk/0emJ/Qr9tz43dpSV/kRCxc+lX+OFk=";
     //公钥(Base64编码)
@@ -94,7 +98,7 @@
         headers.put("Content-type","application/json; charset=utf-8");
         headers.put("Accept", "application/json");
         post.addHeaders(headers);
-        System.err.println(JSON.toJSONString(body));
+        logger.info(JSON.toJSONString(body));
         post.body(body.toJSONString());
         HttpResponse execute = post.execute();
         String result1 = execute.body();
@@ -147,6 +151,60 @@
     }
 
 
+    /**
+     * 查询支付数据
+     * @param org_req_seq_id    请求流水号
+     * @param org_req_date      请求日期
+     * @return
+     */
+    public static R<WeixinPaymentNotifyVo> queryPayment(String org_req_seq_id, String org_req_date){
+        String url = "https://api.huifu.com/v2/trade/payment/scanpay/query";
+        JSONObject data = new JSONObject();
+        data.put("huifu_id", huifu_id);
+        data.put("org_req_seq_id", org_req_seq_id);
+        data.put("org_req_date", org_req_date);
+
+        JSONObject body = new JSONObject();
+        body.put("sys_id", huifu_id);
+        body.put("product_id", product_id);
+        body.put("sign", sign(data.toJSONString()));
+        body.put("data", data);
+        HttpRequest post = HttpUtil.createPost(url);
+        Map<String, String> headers = new HashMap<>();
+        headers.put("Content-type","application/json; charset=utf-8");
+        headers.put("Accept", "application/json");
+        post.addHeaders(headers);
+        logger.info(JSON.toJSONString(body));
+        post.body(body.toJSONString());
+        HttpResponse execute = post.execute();
+        String result1 = execute.body();
+        execute.close();
+        if(StringUtils.hasLength(result1)){
+            JSONObject result = JSONObject.parseObject(result1);
+            JSONObject resultData = result.getJSONObject("data");
+            String resp_code = resultData.getString("resp_code");
+            String resp_desc = resultData.getString("resp_desc");
+            //交易受理成功;注:交易状态以trans_stat为准;
+            String success1 = "00000000";
+            if(success1.equals(resp_code)){
+                WeixinPaymentNotifyVo vo = new WeixinPaymentNotifyVo();
+                vo.setReqSeqId(resultData.getString("org_req_seq_id"));
+                vo.setReqDate(resultData.getString("org_req_date"));
+                vo.setTransAmt(resultData.getString("trans_amt"));
+                vo.setPayAmt(resultData.getString("pay_amt"));
+                vo.setEndTime(resultData.getString("end_time"));
+                vo.setTransStat(resultData.getString("trans_stat"));
+                String fee_type = resultData.getString("fee_type");
+                vo.setFeeFlag("INNER".equals(fee_type) ? 2 : 1);
+                vo.setFeeAmount(resultData.getString("fee_amt"));
+                return R.ok(vo);
+            }
+            return R.fail(resp_desc);
+        }
+        return R.fail("请求异常");
+    }
+
+
 
 
     /**
@@ -181,7 +239,7 @@
         headers.put("Accept", "application/json");
         post.addHeaders(headers);
         post.body(body.toJSONString());
-        System.err.println(JSON.toJSONString(body));
+        logger.info(JSON.toJSONString(body));
         HttpResponse execute = post.execute();
         String result1 = execute.body();
         execute.close();
@@ -349,7 +407,7 @@
         headers.put("Accept", "application/json");
         post.addHeaders(headers);
         post.body(body.toJSONString());
-        System.err.println(JSON.toJSONString(body));
+        logger.info(JSON.toJSONString(body));
         HttpResponse execute = post.execute();
         String result = execute.body();
         execute.close();
@@ -378,12 +436,19 @@
 
 
     public static void main(String[] args) {
+        //174.91
         //分账对象
         JSONArray acctInfos = new JSONArray();
         com.alibaba.fastjson2.JSONObject jsonObject = new com.alibaba.fastjson2.JSONObject();
-        jsonObject.put("div_amt", String.format("%.2f", 0.07D));
-        jsonObject.put("huifu_id", "6666000141251275");
+        jsonObject.put("div_amt", String.format("%.2f", 173.35));
+        jsonObject.put("huifu_id", "6666000141286934");
         acctInfos.add(jsonObject);
-        HuiFuTianXiaUtil.paymentDelaytrans(IdUtils.simpleUUID(), "20231020", "0479854e057547698be8b083f2fa550a", acctInfos);
+        //平台商户
+        com.alibaba.fastjson2.JSONObject jsonObject1 = new com.alibaba.fastjson2.JSONObject();
+        jsonObject1.put("div_amt", String.format("%.2f", 1.56));
+        jsonObject1.put("huifu_id", "6666000141216769");
+        acctInfos.add(jsonObject1);
+        R<PaymentDelaytransHFTXVo> paymentDelaytransHFTXVoR = HuiFuTianXiaUtil.paymentDelaytrans(IdUtils.simpleUUID(), "20231111", "57dbe646b14542ce8bce166490d3e46e", acctInfos);
+        System.err.println(JSON.toJSONString(paymentDelaytransHFTXVoR));
     }
 }

--
Gitblit v1.7.1