Pu Zhibing
6 天以前 4c99ee7028c3fe58a2cd4b8273b22c75c45574fc
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java
@@ -7,22 +7,23 @@
import com.stylefeng.guns.core.util.SinataUtil;
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.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;
@@ -50,6 +51,11 @@
    
    @Resource
    private OrderCancelMapper orderCancelMapper;
    @Resource
    private ITCarService carService;
    @Autowired
    private ITDriverService itDriverService;
    /**
     * 跳转到小件物流订单首页
@@ -105,9 +111,6 @@
        return super.packForBT(page);
    }
    @Autowired
    private ITDriverService itDriverService;
    /**
     * 取消小件物流订单
     */
@@ -115,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());
@@ -139,10 +144,26 @@
        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);
        }
    
    
@@ -150,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);