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 |   95 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 89 insertions(+), 6 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 571e97a..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;
+
+
     /**
      * 跳转到快车订单首页
      */
@@ -679,7 +687,7 @@
     public Object save(Integer responsibilityTypeVal,String remark,String money,Integer type,String orderNum) {
         Integer userId =null;
         if(type==1){
-            TOrderPrivateCar tOrderPrivateCar = tOrderPrivateCarService.selectOne(new EntityWrapper<TOrderPrivateCar>().eq("orderNum",orderNum));
+            TOrderPrivateCar tOrderPrivateCar = tOrderPrivateCarService.selectOne(new EntityWrapper<TOrderPrivateCar>().eq("id",orderNum));
             userId = tOrderPrivateCar.getUserId();
             tOrderPrivateCar.setResponsibilityType(responsibilityTypeVal);
             tOrderPrivateCar.setAbnormalStatus(2);
@@ -691,6 +699,7 @@
                 // 追偿订单记录表
                 TAbnormalPayOrder tAbnormalPayOrder = new TAbnormalPayOrder();
                 tAbnormalPayOrder.setOrderNum(orderNum);
+                tAbnormalPayOrder.setOrderNo(tOrderPrivateCar.getOrderNum());
                 tAbnormalPayOrder.setType(1);
                 tAbnormalPayOrder.setUserId(tOrderPrivateCar.getUserId());
                 tAbnormalPayOrder.setPayStatus(1);
@@ -709,10 +718,80 @@
             }
             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("orderNum", orderNum));
+            TOrderCrossCity tOrderCrossCity = tOrderCrossCityService.selectOne(new EntityWrapper<TOrderCrossCity>().eq("id", orderNum));
             userId = tOrderCrossCity.getUserId();
             tOrderCrossCity.setResponsibilityType(responsibilityTypeVal);
             tOrderCrossCity.setAbnormalStatus(2);
@@ -724,6 +803,8 @@
                 // 追偿订单记录表
                 TAbnormalPayOrder tAbnormalPayOrder = new TAbnormalPayOrder();
                 tAbnormalPayOrder.setOrderNum(orderNum);
+
+                tAbnormalPayOrder.setOrderNo(tOrderCrossCity.getOrderNum());
                 tAbnormalPayOrder.setType(2);
                 tAbnormalPayOrder.setUserId(tOrderCrossCity.getUserId());
                 tAbnormalPayOrder.setPayStatus(1);
@@ -744,7 +825,7 @@
 
         }
         if(type==3){
-            TOrderTaxi tOrderTaxi = tOrderTaxiService.selectOne(new EntityWrapper<TOrderTaxi>().eq("orderNum", orderNum));
+            TOrderTaxi tOrderTaxi = tOrderTaxiService.selectOne(new EntityWrapper<TOrderTaxi>().eq("id", orderNum));
             userId = tOrderTaxi.getUserId();
             tOrderTaxi.setResponsibilityType(responsibilityTypeVal);
             tOrderTaxi.setAbnormalStatus(2);
@@ -756,6 +837,7 @@
                 // 追偿订单记录表
                 TAbnormalPayOrder tAbnormalPayOrder = new TAbnormalPayOrder();
                 tAbnormalPayOrder.setOrderNum(orderNum);
+                tAbnormalPayOrder.setOrderNo(tOrderTaxi.getOrderNum());
                 tAbnormalPayOrder.setType(3);
                 tAbnormalPayOrder.setUserId(tOrderTaxi.getUserId());
                 tAbnormalPayOrder.setPayStatus(1);
@@ -787,6 +869,7 @@
         tSystemNotice.setInsertTime(new Date());
         systemNoticeService.insert(tSystemNotice);
         return SUCCESS_TIP;
+
     }
 
 

--
Gitblit v1.7.1