mitao
2024-09-04 ecca9ab70a9a87bcb60977c92fbf81053b8fc1bb
ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/impl/MasterWorkerServiceImpl.java
@@ -59,8 +59,7 @@
            Long distance = result.getDatas();
            // 回收服务信息
            RecoveryServe recoveryServe = recoveryServeService.lambdaQuery()
                    .eq(RecoveryServe::getId, order.getServeId())
                    .eq(RecoveryServe::getIsDelete, 0).one();
                    .eq(RecoveryServe::getId, order.getServeId()).one();
            // vo类信息封装
            OrderListVO orderListVO = new OrderListVO();
            orderListVO.setOrderId(order.getId());
@@ -76,7 +75,12 @@
            orderListVO.setUserId(userid);
            orderListVO.setReservationName(order.getReservationName());
            orderListVO.setReservationPhone(order.getReservationPhone());
            orderListVO.setReservationAddress(order.getReservationAddress());
            if (order.getAddress()!=null) {
                orderListVO.setReservationAddress(order.getReservationAddress() + order.getAddress());
            }else {
                orderListVO.setReservationAddress(order.getReservationAddress());
            }
            orderListVO.setTime(order.getTime());
            orderListVO.setServerId(order.getServerId());
            orderListVO.setServerName(order.getServerName());
@@ -90,11 +94,22 @@
            orderListVO.setLongitude(order.getLongitude());
            orderListVO.setLatitude(order.getLatitude());
            orderListVO.setTopSort(topSort);
            orderListVO.setFake(order.getFake()==null?0:order.getFake());
            OrderNotHandleVO vo = new OrderNotHandleVO(distance, orderListVO);
            list.add(vo);
        }
        List<OrderNotHandleVO> newList = new ArrayList<>();
        if (item) {
            return list.stream().map(OrderNotHandleVO::getOrderList).collect(Collectors.toList());
            // 已置顶订单
            List<OrderNotHandleVO> topSortNotNull = list.stream()
                    .filter(data -> data.getOrderList().getTopSort() != null).collect(Collectors.toList());
            newList.addAll(topSortNotNull);
            // 未置顶订单,根据距离由近到远排序
            List<OrderNotHandleVO> topSortNull = list.stream()
                    .filter(data -> data.getOrderList().getTopSort() == null).collect(Collectors.toList());
            topSortNull.sort(Comparator.comparing(OrderNotHandleVO::getDistance));
            newList.addAll(topSortNull);
            return newList.stream().map(OrderNotHandleVO::getOrderList).collect(Collectors.toList());
        } else {
            // 根据距离排序
            list.sort(Comparator.comparing(OrderNotHandleVO::getDistance));
@@ -102,8 +117,7 @@
            for (OrderListVO orderListVO : resultList) {
                Integer serveId = orderListVO.getServeId();
                // 回收服务信息
                RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId)
                        .eq(RecoveryServe::getIsDelete, 0).one();
                RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId).one();
                if (null != recoveryServe) {
                    orderListVO.setServePicture(recoveryServe.getCover());
                }
@@ -128,8 +142,7 @@
            Long distance = result.getDatas();
            // 回收服务信息
            RecoveryServe recoveryServe = recoveryServeService.lambdaQuery()
                    .eq(RecoveryServe::getId, order.getServeId())
                    .eq(RecoveryServe::getIsDelete, 0).one();
                    .eq(RecoveryServe::getId, order.getServeId()).one();
            // vo类信息封装
            OrderListVO orderListVO = new OrderListVO();
            orderListVO.setOrderId(order.getId());
@@ -145,7 +158,12 @@
            orderListVO.setUserId(userid);
            orderListVO.setReservationName(order.getReservationName());
            orderListVO.setReservationPhone(order.getReservationPhone());
            orderListVO.setReservationAddress(order.getReservationAddress());
            if (order.getAddress()!=null) {
                orderListVO.setReservationAddress(order.getReservationAddress() + order.getAddress());
            }else {
                orderListVO.setReservationAddress(order.getReservationAddress());
            }
            orderListVO.setTime(order.getTime());
            orderListVO.setServerId(order.getServerId());
            orderListVO.setServerName(order.getServerName());
@@ -168,8 +186,7 @@
        for (OrderListVO orderListVO : resultList) {
            Integer serveId = orderListVO.getServeId();
            // 回收服务信息
            RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId)
                    .eq(RecoveryServe::getIsDelete, 0).one();
            RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId).one();
            if (null != recoveryServe) {
                orderListVO.setServePicture(recoveryServe.getCover());
            }