From 7271007af4f001b24ae9deb916caeac5ce5c939f Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 18 九月 2025 18:01:52 +0800
Subject: [PATCH] 拉卡拉支付

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysOrderController.java |   56 ++++++++++++++++++++++++++++++--------------------------
 1 files changed, 30 insertions(+), 26 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysOrderController.java
index eef2033..66e7184 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysOrderController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysOrderController.java
@@ -125,6 +125,8 @@
             String outTradeNo = time + nonce;
             String amount = String.valueOf(erpProcurement.getPayMoney().multiply(new BigDecimal("100")).intValue());
 
+            TCrmSupplier supplier = crmSupplierService.getById(erpProcurement.getSupplierId());
+
 
             String apiPath = "sit/api/v3/labs/trans/preorder";
             String body = "{\n" +
@@ -132,8 +134,8 @@
                     "\t\"version\": \"3.0\",\n" +
                     "\t\"req_data\": {\n" +
                     "\t\t\"out_trade_no\": \"" + outTradeNo + "\",\n" +
-                    "\t\t\"merchant_no\": \"822290059430BF9\",\n" +
-                    "\t\t\"term_no\": \"A9358698\",\n" +
+                    "\t\t\"merchant_no\": \""+supplier.getRecvMerchantNo()+"\",\n" +
+                    "\t\t\"term_no\": \""+supplier.getTermNo()+"\",\n" +
                     "\t\t\"notify_url\": \"http://221.182.45.100:8089/t-sys-order/messageHandle\",\n" +
                     "\t\t\"location_info\": {\n" +
                     "\t\t\t\"request_ip\": \"" + ipAddr + "\"\n" +
@@ -160,7 +162,7 @@
             String code = jsonObject1.getString("log_no");
             erpProcurement.setPayTransactionId(code);
             erpProcurement.setStatus(2);
-            erpProcurement.setTermNo("A9358698");
+            erpProcurement.setTermNo(supplier.getTermNo());
             erpProcurement.setAccountType(type);
             erpProcurement.setTransType("41");
             erpProcurementService.updateById(erpProcurement);
@@ -219,7 +221,7 @@
 
 
             HashMap<String, Object> map = new HashMap<>();
-            map.put("merchant_no", "822290059430BF9");
+            map.put("merchant_no", erpProcurement.getMerchantNo());
             map.put("log_no", erpProcurement.getPayTransactionId());
             map.put("log_date", DateUtils.dateTime());
             map.put("notify_url", "http://221.182.45.100:8089/t-sys-order/messageSeparateHandle");
@@ -233,8 +235,11 @@
             String outTradeNo = time + str;
             map.put("out_separate_no", outTradeNo);
             map.put("total_amt", erpProcurement.getPayMoney().multiply(BigDecimal.valueOf(100)).intValue() + "");
-            // 平台应得分账
+
+
+
             BigDecimal allMoney = erpProcurement.getPayMoney();
+            // 平台应得分账
             BigDecimal payMoney = erpProcurement.getPayMoney();
             ArrayList<HashMap<String, Object>> objects = new ArrayList<>();
             // 根据供应商id分组
@@ -248,10 +253,11 @@
                 payMoney = payMoney.subtract(reduce);
                 map1.put("recv_no", supplier.getRecvMerchantNo());
                 map1.put("separate_value", reduce.multiply(BigDecimal.valueOf(100)).intValue() + "");
-                objects.add(map1);
+//                objects.add(map1);
             }
             HashMap<String, Object> map1 = new HashMap<>();
-            map1.put("recv_merchant_no", "822641048160MMJ");
+            //TODO hzt
+            map1.put("recv_no", "822641048160MMJ");
             // 手续费
             BigDecimal bigDecimal = allMoney.multiply(new BigDecimal("0.038")).setScale(2, RoundingMode.HALF_UP);
             payMoney = payMoney.subtract(bigDecimal);
@@ -345,7 +351,7 @@
                         "\t\"req_time\": \"" + time + "\",\n" +
                         "\t\"version\": \"3.0\",\n" +
                         "\t\"req_data\": {\n" +
-                        "\t\t\"merchant_no\": \"822290059430BF9\",\n" +
+                        "\t\t\"merchant_no\": \""+erpProcurement.getMerchantNo()+"\",\n" +
                         "\t\t\"term_no\": \""+erpProcurement.getTermNo()+"\",\n" +
                         "\t\t\"refund_amount\": " + refund_amount + ",\n" +
                         "\t\t\"out_trade_no\": \"" + outTradeNo + "\",\n" +
@@ -444,30 +450,28 @@
 
 
             HashMap<String, Object> map = new HashMap<>();
-            map.put("merchant_no", "822290059430BF9");
+            map.put("merchant_no", erpProcurement.getMerchantNo());
             map.put("origin_separate_no", erpProcurement.getSeparateNo());
             map.put("out_separate_no",outTradeNo);
             erpProcurement.setRefundOutSeparateNo(outTradeNo);
             erpProcurementService.updateById(erpProcurement);
-
-
-            List<TErpProcurementGoods> list = erpProcurementGoodsService.list(new LambdaQueryWrapper<TErpProcurementGoods>().eq(TErpProcurementGoods::getProcurementId, erpProcurement.getId()));
-
+//            List<TErpProcurementGoods> list = erpProcurementGoodsService.list(new LambdaQueryWrapper<TErpProcurementGoods>().eq(TErpProcurementGoods::getProcurementId, erpProcurement.getId()));
             // 根据供应商id分组
-            Map<String, List<TErpProcurementGoods>> collect = list.stream().collect(Collectors.groupingBy(TErpProcurementGoods::getSupplierId));
+//            Map<String, List<TErpProcurementGoods>> collect = list.stream().collect(Collectors.groupingBy(TErpProcurementGoods::getSupplierId));
             ArrayList<HashMap<String, Object>> objects = new ArrayList<>();
-            BigDecimal allMoney = list.stream().map(TErpProcurementGoods::getSupplierMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
-            for (Map.Entry<String, List<TErpProcurementGoods>> entry : collect.entrySet()) {
-                HashMap<String, Object> map1 = new HashMap<>();
-                List<TErpProcurementGoods> value = entry.getValue();
-                BigDecimal reduce = value.stream().map(TErpProcurementGoods::getSupplierMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
-                String recv_no = value.stream().map(TErpProcurementGoods::getRecvNo).collect(Collectors.toList()).get(0);
-                map1.put("recv_no", recv_no);
-                map1.put("amt", reduce.multiply(BigDecimal.valueOf(100)).intValue() + "");
-                objects.add(map1);
-            }
-            BigDecimal add = allMoney.add(erpProcurement.getMoney()).multiply(BigDecimal.valueOf(100));
-            map.put("total_amt",add);
+//            BigDecimal allMoney = list.stream().map(TErpProcurementGoods::getSupplierMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
+//            for (Map.Entry<String, List<TErpProcurementGoods>> entry : collect.entrySet()) {
+//
+//                List<TErpProcurementGoods> value = entry.getValue();
+//                BigDecimal reduce = value.stream().map(TErpProcurementGoods::getSupplierMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
+//                String recv_no = value.stream().map(TErpProcurementGoods::getRecvNo).collect(Collectors.toList()).get(0);
+//            }
+            HashMap<String, Object> map1 = new HashMap<>();
+            // TODO hzt
+            map1.put("recv_no", "dsadasda");
+            map1.put("amt", erpProcurement.getMoney().multiply(BigDecimal.valueOf(100)).intValue() + "");
+            objects.add(map1);
+            map.put("total_amt",erpProcurement.getMoney().multiply(BigDecimal.valueOf(100)).intValue() + "");
             map.put("origin_recv_datas",objects);
             reqMap.put("req_data", map);
 

--
Gitblit v1.7.1