Pu Zhibing
2024-12-13 73b750200f25df08aa64124da49e7461f9de6653
DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
@@ -16,8 +16,10 @@
import com.stylefeng.guns.modular.system.model.Driver;
import com.stylefeng.guns.modular.system.model.OrderPosition;
import com.stylefeng.guns.modular.system.model.Region;
import com.stylefeng.guns.modular.system.model.TOrderTransfer;
import com.stylefeng.guns.modular.system.service.IDriverService;
import com.stylefeng.guns.modular.system.service.IOrderService;
import com.stylefeng.guns.modular.system.service.ITOrderTransferService;
import com.stylefeng.guns.modular.system.util.*;
import com.stylefeng.guns.modular.system.warpper.OrderListWarpper;
import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
@@ -73,6 +75,9 @@
    @Autowired
    private IOrderLogisticsService orderLogisticsService;
    @Autowired
    private ITOrderTransferService  orderTransferService;
    @Autowired
    private ALiSendSms aLiSendSms;
@@ -114,6 +119,9 @@
        //小件物流
        List<Map<String, Object>> list3 = orderLogisticsService.queryOrderList(uid);
        datas.addAll(list3);
        //接送机
        List<Map<String, Object>> list4 = orderTransferService.queryOrderList(state,uid);
        datas.addAll(list4);
        //分页
        if(datas.size() >= page * size){
@@ -198,6 +206,10 @@
        List<Map<String, Object>> list3 = orderLogisticsService.queryMyAllOrder(state, uid);
        datas.addAll(list3);
        //接送机
        List<Map<String, Object>> list4 = orderTransferService.queryMyAllOrder(state,uid);
        datas.addAll(list4);
        List<OrderListWarpper> orderListWarpper = OrderListWarpper.getOrderListWarpper(datas);
        //分页
@@ -273,10 +285,15 @@
                String distance = gdMapElectricFenceUtil.getDistance(lon + "," + lat, order, 1).get("distance");
                map.put("startDistance", ToolUtil.isNotEmpty(distance) ? Double.valueOf(distance) / 1000 : 0);
                //总距离
                String end = String.valueOf(map.get("endLon")) + "," + String.valueOf(map.get("endLat"));
                distance = gdMapElectricFenceUtil.getDistance(end, order, 1).get("distance");
                map.put("totalDistance", ToolUtil.isNotEmpty(distance) ? Double.valueOf(distance) / 1000 : 0);
                try {
                    //总距离
                    String end = String.valueOf(map.get("endLon")) + "," + String.valueOf(map.get("endLat"));
                    distance = gdMapElectricFenceUtil.getDistance(end, order, 1).get("distance");
                    map.put("totalDistance", ToolUtil.isNotEmpty(distance) ? Double.valueOf(distance) / 1000 : 0);
                }catch (Exception e){
                    e.printStackTrace();
                }
                Integer orderSource = Integer.valueOf(String.valueOf(map.get("orderSource")));
                if(orderSource == 1 || orderSource == 2 || orderSource == 3){
@@ -450,6 +467,53 @@
                break;
            case 6:
                break;
            case 7://专车
                map = orderTransferService.queryPushOrder(orderId);
                String order7 = String.valueOf(map.get("startLon")) + "," + String.valueOf(map.get("startLat"));
                String distance7 = gdMapElectricFenceUtil.getDistance(lon + "," + lat, order7, 1).get("distance");
                map.put("startDistance", ToolUtil.isNotEmpty(distance7) ? Double.valueOf(distance7) / 1000 : 0);
                try {
                    //总距离
                    String end = String.valueOf(map.get("endLon")) + "," + String.valueOf(map.get("endLat"));
                    distance = gdMapElectricFenceUtil.getDistance(end, order7, 1).get("distance");
                    map.put("totalDistance", ToolUtil.isNotEmpty(distance) ? Double.valueOf(distance) / 1000 : 0);
                }catch (Exception e){
                    e.printStackTrace();
                }
                Integer orderSource7 = Integer.valueOf(String.valueOf(map.get("orderSource")));
                if(orderSource7 == 1 || orderSource7 == 2 || orderSource7 == 3){
                    if(Integer.valueOf(String.valueOf(map.get("orderType"))) == 1 && Integer.valueOf(String.valueOf(map.get("isReassign"))) == 1){
                        map.put("type", "乘客下单");
                    }
                    if(Integer.valueOf(String.valueOf(map.get("orderType"))) == 1 && Integer.valueOf(String.valueOf(map.get("isReassign"))) == 2){
                        map.put("type", "改派");
                    }
                    if(Integer.valueOf(String.valueOf(map.get("orderType"))) == 2 && Integer.valueOf(String.valueOf(map.get("isReassign"))) == 1){
                        map.put("type", "预约");
                    }
                    if(Integer.valueOf(String.valueOf(map.get("orderType"))) == 2 && Integer.valueOf(String.valueOf(map.get("isReassign"))) == 2){
                        map.put("type", "改派");
                    }
                }
                if(orderSource7 == 5){
                    if(Integer.valueOf(String.valueOf(map.get("orderType"))) == 1 && Integer.valueOf(String.valueOf(map.get("isReassign"))) == 1){
                        map.put("type", "调度下单");
                    }
                    if(Integer.valueOf(String.valueOf(map.get("orderType"))) == 1 && Integer.valueOf(String.valueOf(map.get("isReassign"))) == 2){
                        map.put("type", "改派");
                    }
                    if(Integer.valueOf(String.valueOf(map.get("orderType"))) == 2 && Integer.valueOf(String.valueOf(map.get("isReassign"))) == 1){
                        map.put("type", "预约");
                    }
                    if(Integer.valueOf(String.valueOf(map.get("orderType"))) == 2 && Integer.valueOf(String.valueOf(map.get("isReassign"))) == 2){
                        map.put("type", "改派");
                    }
                }
                break;
        }
        return map;
    }
@@ -478,6 +542,8 @@
                return orderLogisticsService.grabOrder(orderId, uid);
            case 6:
                break;
            case 7://接送机
                return orderTransferService.grabOrder(orderId, uid);
        }
        return null;
    }
@@ -540,6 +606,10 @@
                break;
            case 6:
                break;
            case 7://专车
                map = orderTransferService.queryOrderInfo(orderId);
                break;
        }
        if(null != map.get("telX")){
            map.put("phone", map.get("telX"));
@@ -575,6 +645,9 @@
                break;
            case 6:
                break;
            case 7://接送机
                companyId = orderTransferService.selectById(orderId).getCompanyId();
                break;
        }
        return sysReformistMapper.queryMoney(companyId);
    }
@@ -606,8 +679,14 @@
                return orderLogisticsService.process(orderId, state, lon, lat, address);
            case 6:
                break;
            case 7://专车
                return orderTransferService.process(orderId, state, lon, lat, address);
        }
        return null;
    }
  @Override
    public ResultUtil specail(Integer orderId, Integer uid, Double lon, Double lat,String endAddress) throws Exception {
                return orderPrivateCarService.specail(orderId, lon, lat, endAddress);
    }
@@ -637,6 +716,8 @@
                break;
            case 6:
                break;
            case 7://接送机
                return orderTransferService.confirmFees(orderId, type, parkingFee, crossingFee);
        }
        return null;
    }
@@ -771,7 +852,12 @@
        //出租车
        Integer[] state = new Integer[]{6, 7, 8, 9};
        int i = orderTaxiService.selectCount(new EntityWrapper<OrderTaxi>().eq("driverId", driverId).between("insertTime", start, end).in("state", state));
        return i;
        int i1 = orderTransferService.selectCount(new EntityWrapper<TOrderTransfer>().eq("driverId", driverId).between("insertTime", start, end).in("state", state));
        int i2 = orderPrivateCarService.selectCount(new EntityWrapper<OrderPrivateCar>().eq("driverId", driverId).between("insertTime", start, end).in("state", state));
        int i3 = orderCrossCityService.selectCount(new EntityWrapper<OrderCrossCity>().eq("driverId", driverId).between("insertTime", start, end).in("state", state));
        return i+i1+i2+i3;
    }
@@ -1098,6 +1184,8 @@
                return orderPrivateCarService.queryMoneyInfo(orderId);
            case 2:
                break;
            case 7:
                return orderTransferService.queryMoneyInfo(orderId);
        }
        return null;
    }