From 25a638e0d5f282d26ff9da47e5b7aa5c9c1603d4 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 23 十月 2024 18:34:20 +0800
Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/IgoTravel into 2.0

---
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 50 insertions(+), 7 deletions(-)

diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java
index 78a056d..d75b404 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java
@@ -5,9 +5,11 @@
 import com.stylefeng.guns.core.common.constant.factory.PageFactory;
 import com.stylefeng.guns.core.shiro.ShiroKit;
 import com.stylefeng.guns.core.util.SinataUtil;
-import com.stylefeng.guns.modular.system.model.TDriver;
-import com.stylefeng.guns.modular.system.model.TOrderPrivateCar;
+import com.stylefeng.guns.modular.system.dao.OrderCancelMapper;
+import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.ITDriverService;
+import com.stylefeng.guns.modular.system.service.ITUserService;
+import com.stylefeng.guns.modular.system.util.GoogleMap.FleetEngineUtil;
 import com.stylefeng.guns.modular.system.util.HttpRequestUtil;
 import com.stylefeng.guns.modular.system.util.PushURL;
 import org.springframework.stereotype.Controller;
@@ -18,9 +20,10 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import com.stylefeng.guns.core.log.LogObjectHolder;
 import org.springframework.web.bind.annotation.RequestParam;
-import com.stylefeng.guns.modular.system.model.TOrderLogistics;
 import com.stylefeng.guns.modular.system.service.ITOrderLogisticsService;
 
+import javax.annotation.Resource;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -38,6 +41,15 @@
 
     @Autowired
     private ITOrderLogisticsService tOrderLogisticsService;
+    
+    @Autowired
+    private FleetEngineUtil fleetEngineUtil;
+    
+    @Resource
+    private ITUserService userService;
+    
+    @Resource
+    private OrderCancelMapper orderCancelMapper;
 
     /**
      * 跳转到小件物流订单首页
@@ -105,13 +117,44 @@
         TOrderLogistics tOrderLogistics = tOrderLogisticsService.selectById(tOrderLogisticsId);
 
         //修改之前司机状态 -- 空闲
-        TDriver driver = itDriverService.selectById(tOrderLogistics.getDriverId());
-        driver.setState(2);
-        itDriverService.updateById(driver);
+        if(null != tOrderLogistics.getDriverId()){
+            TDriver driver = itDriverService.selectById(tOrderLogistics.getDriverId());
+            driver.setState(2);
+            itDriverService.updateById(driver);
+        }
 
         tOrderLogistics.setState(10);
         tOrderLogisticsService.updateById(tOrderLogistics);
-
+    
+        TUser tUser = userService.selectById(tOrderLogistics.getUserId());
+        Integer language = tUser.getLanguage();
+        OrderCancel orderCancel = new OrderCancel();
+        orderCancel.setOrderId(tOrderLogisticsId);
+        orderCancel.setOrderType(4);
+        orderCancel.setReason(language == 1 ? "平台取消订单" : language == 2 ? "The platform cancelled the order" : "La plateforme a annulé la commande");
+        orderCancel.setRemark(language == 1 ? "平台取消订单" : language == 2 ? "The platform cancelled the order" : "La plateforme a annulé la commande");
+        orderCancel.setUserType(2);
+        orderCancel.setState(2);
+        orderCancel.setInsertTime(new Date());
+        orderCancelMapper.insert(orderCancel);
+        
+        //修改行程信息
+        try {
+            boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", null, null, tOrderLogistics.getTripId(), null, null, null, null);
+            if(!updateTrip){
+                for (int i = 0; i < 5; i++) {
+                    updateTrip = fleetEngineUtil.updateTrip("CANCELED", null, null, tOrderLogistics.getTripId(), null, null, null, null);
+                    if(updateTrip){
+                        break;
+                    }
+                    Thread.sleep(5000L);
+                }
+            }
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    
+    
         //增加推送
         Map<String,String> map = new HashMap<>();
         map.put("id", tOrderLogistics.getId().toString());

--
Gitblit v1.7.1