From 8522e469e00e1cf6c0410165b0f76c806c13ca83 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期六, 16 八月 2025 09:17:04 +0800
Subject: [PATCH] 合并代码

---
 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TAbnormalOrderCarController.java |   84 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 81 insertions(+), 3 deletions(-)

diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TAbnormalOrderCarController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TAbnormalOrderCarController.java
index 761d668..2708e5c 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TAbnormalOrderCarController.java
+++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TAbnormalOrderCarController.java
@@ -1,5 +1,6 @@
 package com.stylefeng.guns.modular.system.controller.specialTrain;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
@@ -10,9 +11,13 @@
 import com.stylefeng.guns.core.util.SinataUtil;
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.system.dao.OrderCancelMapper;
+import com.stylefeng.guns.modular.system.dao.TCompanyMapper;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.*;
+import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.model.*;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.domain.Sort;
@@ -35,6 +40,7 @@
  * @author fengshuonan
  * @Date 2020-09-02 17:28:59
  */
+@Slf4j
 @Controller
 @RequestMapping("/abnormal")
 public class TAbnormalOrderCarController extends BaseController {
@@ -84,8 +90,10 @@
 
     @Autowired
     private ITSystemNoticeService systemNoticeService;
-    
-    
+    @Autowired
+    private TCompanyMapper tCompanyMapper;
+
+
     /**
      * 跳转到快车订单首页
      */
@@ -710,8 +718,78 @@
             }
             tOrderPrivateCar.setAbnormalRemark(remark);
             tOrderPrivateCarService.updateById(tOrderPrivateCar);
-        }
+            //平台全责和司机全责需要调起备付金支付
+            if(9 == tOrderPrivateCar.getState()){
+                TDriver driver = tDriverService.selectById(tOrderPrivateCar.getDriverId());
+                TCompany company = tCompanyMapper.selectById(driver.getCompanyId());
+                TUser userInfo = userService.selectById(tOrderPrivateCar.getUserId());
+                if(null == tOrderPrivateCar.getIsCreated()){
+                    //先调中台创建订单
+                    CreateOrderRequest createOrderRequest = new CreateOrderRequest();
+                    createOrderRequest.setTreatShopId(driver.getEmpId().toString());
+                    createOrderRequest.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"" + (tOrderPrivateCar.getPromotion() == 2 ? 1 : 0) + "\"}");
+                    createOrderRequest.setCharge(tOrderPrivateCar.getOrderMoney());
+                    createOrderRequest.setOrderNo("PR" + tOrderPrivateCar.getId());
+                    createOrderRequest.setOrderId(tOrderPrivateCar.getTravelId());
+                    createOrderRequest.setCustomerId(userInfo.getOnconUUID());
+                    OrderInfo orderInfo = com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil.tradeOrderCreate(createOrderRequest);
+                    tOrderPrivateCar.setIsCreated(1);
+                    tOrderPrivateCar.setTravelId(orderInfo.getOrderId());
+                    tOrderPrivateCarService.updateById(tOrderPrivateCar);
+                }
+                //使用备付金进行支付订单
+                TradePayOffData tradePayOffData = new TradePayOffData();
+                tradePayOffData.setPartnerPayId(tOrderPrivateCar.getTravelId());
+                tradePayOffData.setTotalFee(tOrderPrivateCar.getOrderMoney().multiply(new BigDecimal(100)).toString());
+                tradePayOffData.setOrderDesc("完成订单");
+                PayInfo payInfo = com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil.tradePayOff(tradePayOffData);
+                String retCode = payInfo.getRetCode();
+                if (!"000000".equals(retCode)) {
+                    log.error("备付金支付失败:{}", payInfo.getRetMsg());
+                    return "备付金支付失败:" + payInfo.getRetMsg();
+                }
+                PayInfoData data = payInfo.getData();
+                String status = data.getStatus();
+                if ("3".equals(status)) {
+                    log.error("备付金支付失败:{}", payInfo.getRetMsg());
+                    return "备付金支付失败:" + payInfo.getRetMsg();
+                }
+                if("0".equals(status)){
+                    //查询支付信息
+                    GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest();
+                    getPaymentInfoDataRequest.setPartnerPayId(tOrderPrivateCar.getTravelId());
+                    GetPaymentInfo getPaymentInfo = com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil.paymentInfo(getPaymentInfoDataRequest);
+                    status = getPaymentInfo.getStatus();
+                }
+                PayInfoData payInfoData = payInfo.getData();
+                PaymentInfo paymentInfo = payInfoData.getPaymentInfos().get(0);
+                if(!"0".equals(status)) {
+                    //支付成功,通知三方
+                    PaymentOrderRequest paymentOrderRequest = new PaymentOrderRequest();
+                    paymentOrderRequest.setPayItemId(paymentInfo.getPayItemId());
+                    paymentOrderRequest.setPaymentInfo(JSON.toJSONString(payInfoData.getPaymentInfos()));
+                    paymentOrderRequest.setOrderId(tOrderPrivateCar.getTravelId());
+                    paymentOrderRequest.setCharge(tOrderPrivateCar.getOrderMoney());
+                    paymentOrderRequest.setPayTime(data.getPayTime());
+                    paymentOrderRequest.setPaymentSerialNumber(payInfoData.getPayId());
+                    OrderInfo orderInfo1 = OrderUtil.paymentOrder(paymentOrderRequest);
 
+                    //中台修改订单状态
+                    ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest();
+                    request1.setOrderId(tOrderPrivateCar.getTravelId());
+                    request1.setStatus(9);
+                    if (null != tOrderPrivateCar.getDriverId()) {
+                        request1.setDriverId(driver.getEmpId().toString());
+                        request1.setSupplierShopId(company.getEnterCode());
+                    }
+                    if (2 == tOrderPrivateCar.getPromotion()) {
+                        TDriver driver2 = tDriverService.selectById(tOrderPrivateCar.getPromotionDriverId());
+                        request1.setPromoterId(driver2.getEmpId().toString());
+                    }
+                    OrderUtil.modifyTravelItinerary(request1);
+                }
+            }
+        }
         if(type==2){
             TOrderCrossCity tOrderCrossCity = tOrderCrossCityService.selectOne(new EntityWrapper<TOrderCrossCity>().eq("id", orderNum));
             userId = tOrderCrossCity.getUserId();

--
Gitblit v1.7.1