From 7a14e1592dd0c2cfd6cd4e8b11f95c9f46f2ffe7 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 05 七月 2023 20:07:04 +0800
Subject: [PATCH] 修改支付相关逻辑代码

---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java |   71 ++++++++++++++++++++++++-----------
 1 files changed, 49 insertions(+), 22 deletions(-)

diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index 5abfdda..ebfbd21 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -598,7 +598,7 @@
      * @throws Exception
      */
     @Override
-    public ResultUtil cancleOrderPrivateCar(Integer id, Integer payType, String accountNumber, Integer cancleId, Integer type, Integer language) throws Exception {
+    public ResultUtil cancleOrderPrivateCar(Integer id, Integer payType, Integer bankCardId, Integer cancleId, Integer type, Integer language) throws Exception {
         OrderPrivateCar orderPrivateCar = this.selectById(id);
         Integer uid = orderPrivateCar.getUserId();
         UserInfo userInfo = userInfoService.selectById(uid);
@@ -619,15 +619,15 @@
 
         CancleOrder query = cancleOrderService.query(orderPrivateCar.getOrderType(), 1, orderPrivateCar.getCompanyId());
         if(null != query){
-            if(payType == 1){//线上支付
+            if(payType == 1){//手机支付
                 orderCancel.setPayType(1);
                 orderCancelService.updateById(orderCancel);
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
-                String merchantTransactionId = sdf.format(new Date()) + "1" + id;
+                String merchantTransactionId = sdf.format(new Date()) + "1" + language + id;
                 CheckoutRequest checkoutRequest = new CheckoutRequest();
                 checkoutRequest.setMsisdn(Long.valueOf(userInfo.getPhone()));
                 checkoutRequest.setCustomerEmail(userInfo.getEmail());
-                checkoutRequest.setAccountNumber(accountNumber);
+                checkoutRequest.setAccountNumber(userInfo.getPhone());
                 checkoutRequest.setCustomerFirstName(userInfo.getFirstName());
                 checkoutRequest.setCustomerLastName(userInfo.getLastName());
                 checkoutRequest.setRequestAmount(query.getMoney());
@@ -640,6 +640,31 @@
                 resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
                 if(resultUtil.getCode()==200){
                     paymentRecordService.saveData(1, null, null, id, 1, 1, query.getMoney(), null, 1);//添加预支付数据
+                }
+
+            }
+            if(payType == 2){//银行卡支付
+                orderCancel.setPayType(2);
+                orderCancelService.updateById(orderCancel);
+                BankCard bankCard = bankCardService.selectById(bankCardId);
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+                String merchantTransactionId = sdf.format(new Date()) + "1" + id;
+                CheckoutRequest checkoutRequest = new CheckoutRequest();
+                checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode()));
+                checkoutRequest.setCustomerEmail(userInfo.getEmail());
+                checkoutRequest.setAccountNumber(bankCard.getCode());
+                checkoutRequest.setCustomerFirstName(bankCard.getFirstName());
+                checkoutRequest.setCustomerLastName(bankCard.getLastName());
+                checkoutRequest.setRequestAmount(query.getMoney());
+                checkoutRequest.setMerchantTransactionId(merchantTransactionId);
+                checkoutRequest.setRequestDescription("Cancel a trip");
+                checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelOrderTaxi");
+                checkoutRequest.setPendingRedirectUrl("");
+                checkoutRequest.setSuccessRedirectUrl("https://10pz685243.zicp.fun");
+                checkoutRequest.setFailRedirectUrl("https://www.baidu.com");
+                resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
+                if(resultUtil.getCode()==200){
+                    paymentRecordService.saveData(1, null, null, id, 1, 2, query.getMoney(), null, 1);//添加预支付数据
                 }
 
             }
@@ -684,8 +709,8 @@
 
                 //添加消息
                 systemNoticeService.addSystemNotice(1, language == 1 ? "您已使用余额成功支付取消订单费用,谢谢使用!" : language == 2
-                        ? "You have successfully paid the cancellation fee with the balance, thank you for using!"
-                        : "Vous avez utilisé le solde pour payer avec succès les frais d’annulation de commande. Merci d’utiliser!", orderPrivateCar.getUserId(), 1);
+                        ? "You have successfully paid the cancellation fee, thank you for using!"
+                        : "Vous avez payé avec succès les frais d’annulation de commande, merci d’utiliser!", orderPrivateCar.getUserId(), 1);
             }
         }
         return resultUtil;
@@ -911,7 +936,7 @@
             resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
 
             if(resultUtil.getCode()==200){
-                paymentRecordService.saveData(1, null, null, orderId, 1, 1, orderMoney, null, 1);//添加预支付数据
+                paymentRecordService.saveData(1, null, null, orderId, 1, 2, orderMoney, null, 1);//添加预支付数据
             }else{
                 resultUtil = ResultUtil.error("支付失败");
             }
@@ -1087,9 +1112,9 @@
                 }
             }).start();
 
-            systemNoticeService.addSystemNotice(1, language == 1 ? "您已使用余额成功完成出行订单支付,谢谢使用!" : language == 2
-                    ? "You have successfully completed the payment of travel order with the balance, thank you for using!"
-                    : "Vous avez utilisé le solde pour compléter le paiement de la commande de voyage avec succès. Merci d’utiliser!", uid, 1);
+            systemNoticeService.addSystemNotice(1, language == 1 ? "您已成功完成出行订单支付,谢谢使用!" : language == 2
+                    ? "You have successfully completed the travel order payment, thank you for using!"
+                    : "Vous avez complété avec succès le paiement de votre commande de voyage. Merci d’utiliser!", orderPrivateCar.getUserId(), 1);
         }
 
 
@@ -1260,9 +1285,9 @@
                 }
             }).start();
 
-            systemNoticeService.addSystemNotice(1, language == 1 ? "您已使用现金成功完成出行订单支付,谢谢使用!" : language == 2
-                    ? "You have successfully completed the payment of travel order with cash, thank you for using!"
-                    : "Vous avez utilisé de l’argent pour compléter avec succès le paiement de votre commande de voyage. Merci d’utiliser!", uid, 1);
+            systemNoticeService.addSystemNotice(1, language == 1 ? "您已成功完成出行订单支付,谢谢使用!" : language == 2
+                    ? "You have successfully completed the travel order payment, thank you for using!"
+                    : "Vous avez complété avec succès le paiement de votre commande de voyage. Merci d’utiliser!", orderPrivateCar.getUserId(), 1);
         }
 
         this.updateAllColumnById(orderPrivateCar);
@@ -1386,13 +1411,12 @@
      * 取消订单支付后的处理
      * @param id            订单=id
      * @param order_id      工行支付单号
-     * @param type          1=微信,2=支付宝
      * @throws Exception
      */
     @Override
-    public void payCancelOrderPrivateCar(Integer id, String order_id, Integer type) throws Exception {
+    public void payCancelOrderPrivateCar(Integer id, String order_id, Integer language) throws Exception {
         OrderPrivateCar orderPrivateCar = this.selectById(id);
-        PaymentRecord query = paymentRecordService.query(1, null, null, Integer.valueOf(id), 1, type, 1);
+        PaymentRecord query = paymentRecordService.query(1, null, null, Integer.valueOf(id), 1, null, 1);
         if(null != query){
             //添加交易明细
             transactionDetailsService.saveData(orderPrivateCar.getUserId(), "取消订单", query.getAmount(), 2, 1, 1, 1, query.getOrderId());
@@ -1438,21 +1462,23 @@
 //            }).start();
 
             //添加消息
-            systemNoticeService.addSystemNotice(1, "您已使用" + (type == 1 ? "微信" : "支付宝") + "成功支付取消订单费用,谢谢使用!", orderPrivateCar.getUserId(), 1);
+            systemNoticeService.addSystemNotice(1, language == 1 ? "您已使用余额成功支付取消订单费用,谢谢使用!" : language == 2
+                    ? "You have successfully paid the cancellation fee, thank you for using!"
+                    : "Vous avez payé avec succès les frais d’annulation de commande, merci d’utiliser!", orderPrivateCar.getUserId(), 1);
         }else{
             System.err.println("预支付数据异常(orderId = "  + id + ")");
         }
     }
 
     @Override
-    public void payOrderPrivateCarCallback(Integer id, String order_id, Integer type, Integer language) throws Exception {
+    public void payOrderPrivateCarCallback(Integer id, String order_id, Integer language) throws Exception {
         OrderPrivateCar orderPrivateCar = this.selectById(id);
-        PaymentRecord query = paymentRecordService.query(1, null, null, Integer.valueOf(id), 1, type, 1);
+        PaymentRecord query = paymentRecordService.query(1, null, null, id, 1, null, 1);
         if(null != query){
             //添加交易明细
             transactionDetailsService.saveData(orderPrivateCar.getUserId(), "完成订单", query.getAmount(), 2, 1, 1, 1, query.getOrderId());
             orderPrivateCar.setState(8);
-            orderPrivateCar.setPayType(type);
+            orderPrivateCar.setPayType(query.getPayType());
             orderPrivateCar.setOrderMoney(orderPrivateCar.getOrderMoney()+orderPrivateCar.getFreeMoney().doubleValue());
             orderPrivateCar.setPayMoney(query.getAmount());
             this.updateById(orderPrivateCar);
@@ -1621,8 +1647,9 @@
                 }
             }).start();
 
-
-            systemNoticeService.addSystemNotice(1, "您已使用" + (type == 1 ? "微信" : "支付宝") + "成功完成出行订单支付,谢谢使用!", orderPrivateCar.getUserId(), 1);
+            systemNoticeService.addSystemNotice(1, language == 1 ? "您已成功完成出行订单支付,谢谢使用!" : language == 2
+                    ? "You have successfully completed the travel order payment, thank you for using!"
+                    : "Vous avez complété avec succès le paiement de votre commande de voyage. Merci d’utiliser!", orderPrivateCar.getUserId(), 1);
         }else{
             System.err.println("预支付数据异常(orderId = "  + id + ")");
         }

--
Gitblit v1.7.1