From 4c99ee7028c3fe58a2cd4b8273b22c75c45574fc Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 16 五月 2025 10:27:41 +0800
Subject: [PATCH] 修改文档bug

---
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java |   76 +++++++++++++++++++++++++++++--------
 1 files changed, 59 insertions(+), 17 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 58bce26..51a06f5 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,23 +5,26 @@
 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.ITCarService;
 import com.stylefeng.guns.modular.system.service.ITDriverService;
+import com.stylefeng.guns.modular.system.service.ITOrderLogisticsService;
+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.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.beans.factory.annotation.Autowired;
-import com.stylefeng.guns.core.log.LogObjectHolder;
+import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
-import com.stylefeng.guns.modular.system.model.TOrderLogistics;
-import com.stylefeng.guns.modular.system.service.ITOrderLogisticsService;
+import org.springframework.web.bind.annotation.ResponseBody;
 
+import javax.annotation.Resource;
+import java.util.Arrays;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -42,6 +45,17 @@
     
     @Autowired
     private FleetEngineUtil fleetEngineUtil;
+    
+    @Resource
+    private ITUserService userService;
+    
+    @Resource
+    private OrderCancelMapper orderCancelMapper;
+    
+    @Resource
+    private ITCarService carService;
+    @Autowired
+    private ITDriverService itDriverService;
 
     /**
      * 跳转到小件物流订单首页
@@ -97,9 +111,6 @@
         return super.packForBT(page);
     }
 
-    @Autowired
-    private ITDriverService itDriverService;
-
     /**
      * 取消小件物流订单
      */
@@ -107,7 +118,9 @@
     @ResponseBody
     public Object cancel(@RequestParam Integer tOrderLogisticsId) {
         TOrderLogistics tOrderLogistics = tOrderLogisticsService.selectById(tOrderLogisticsId);
-
+        if(Arrays.asList(6, 7, 8, 9, 10).contains(tOrderLogistics.getState())){
+            return ERROR;
+        }
         //修改之前司机状态 -- 空闲
         if(null != tOrderLogistics.getDriverId()){
             TDriver driver = itDriverService.selectById(tOrderLogistics.getDriverId());
@@ -117,12 +130,40 @@
 
         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 {
-            fleetEngineUtil.updateTrip("CANCELED", null, null, tOrderLogistics.getTripId(), null, null, null, null);
-        } catch (Exception e) {
-            throw new RuntimeException(e);
+        TCar car = carService.selectById(tOrderLogistics.getCarId());
+        //修改行程信息
+        boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tOrderLogistics.getTripId(), null, null, null, null, tOrderLogistics.getId(), 4);
+        if(!updateTrip){
+            for (int i = 0; i < 5; i++) {
+                updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tOrderLogistics.getTripId(), null, null, null, null, tOrderLogistics.getId(), 4);
+                if(updateTrip){
+                    tOrderLogistics.setIsover(1);
+                    tOrderLogisticsService.updateById(tOrderLogistics);
+                    break;
+                }
+                try {
+                    Thread.sleep(3000L);
+                } catch (InterruptedException e) {
+                    throw new RuntimeException(e);
+                }
+            }
+        }else{
+            tOrderLogistics.setIsover(1);
+            tOrderLogisticsService.updateById(tOrderLogistics);
         }
     
     
@@ -130,6 +171,7 @@
         Map<String,String> map = new HashMap<>();
         map.put("id", tOrderLogistics.getId().toString());
         map.put("orderType", tOrderLogistics.getType().toString());
+        map.put("from", "admin");
         String result = HttpRequestUtil.postRequest(PushURL.cancel_order_url, map);
         System.out.println("小件物流取消:【orderId="+tOrderLogistics.getId().toString()+"】,调用接口:"+result);
 

--
Gitblit v1.7.1