From 428519bd1056dd90cd4589dbf85b380e403ff254 Mon Sep 17 00:00:00 2001 From: hjl <1657978663@qq.com> Date: 星期五, 05 七月 2024 18:13:08 +0800 Subject: [PATCH] feat: 代码初始化、腾讯云短信SDK --- ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/impl/MasterWorkerServiceImpl.java | 70 ++++++++++++++++++++++------------ 1 files changed, 45 insertions(+), 25 deletions(-) diff --git a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/impl/MasterWorkerServiceImpl.java b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/impl/MasterWorkerServiceImpl.java index fe86570..233c475 100644 --- a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/impl/MasterWorkerServiceImpl.java +++ b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/impl/MasterWorkerServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.worker.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.domain.Result; @@ -45,13 +46,22 @@ @Override public List<OrderListVO> orderNotHandle(Integer userid, String longitude, String latitude) { - List<Order> orderList = orderService.lambdaQuery() - .eq(Order::getServerId, userid) - .eq(Order::getState, Constants.ONE) - .eq(Order::getIsDelete, 0) - .orderByAsc(Order::getTopSort).list(); + QueryWrapper<Order> wrapper = new QueryWrapper<>(); + wrapper.eq("server_id", userid) + .in("state", 1, 2) + .eq("is_delete", Constants.ZERO) + .orderByAsc("CASE WHEN topSort IS NULL THEN 1 ELSE 0 END") + .orderByAsc("topSort"); + List<Order> orderList = orderService.list(wrapper); // 根据经纬度距离封装 List<OrderNotHandleVO> list = new ArrayList<>(); + boolean item = false; + for (Order order : orderList) { + if (null != order.getTopSort()) { + item = true; + break; + } + } for (Order order : orderList) { // 用户下单经纬度 Double orderLongitude = order.getLongitude(); @@ -62,7 +72,8 @@ Result<Long> result = GaoDeMapUtil.getDistance(orderPosition, longitude + "," + latitude); Long distance = result.getDatas(); // 回收服务信息 - RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, order.getServeId()) + RecoveryServe recoveryServe = recoveryServeService.lambdaQuery() + .eq(RecoveryServe::getId, order.getServeId()) .eq(RecoveryServe::getIsDelete, 0).one(); // vo类信息封装 OrderListVO orderListVO = new OrderListVO(order.getServeId()); @@ -72,8 +83,10 @@ orderListVO.setSiteName(order.getSiteName()); orderListVO.setServeId(order.getServeId()); orderListVO.setServeName(order.getServeName()); - orderListVO.setServePicture(recoveryServe.getCover()); - orderListVO.setServePrice(recoveryServe.getDefaultPrice()); + if (null != recoveryServe) { + orderListVO.setServePicture(recoveryServe.getCover()); + orderListVO.setServePrice(recoveryServe.getDefaultPrice()); + } orderListVO.setUserId(userid); orderListVO.setReservationName(order.getReservationName()); orderListVO.setReservationPhone(order.getReservationPhone()); @@ -94,37 +107,44 @@ OrderNotHandleVO vo = new OrderNotHandleVO(distance, orderListVO); list.add(vo); } - // 根据距离排序 - list.sort(Comparator.comparing(OrderNotHandleVO::getDistance)); - List<OrderListVO> resultList = list.stream().map(OrderNotHandleVO::getOrderList).collect(Collectors.toList()); - for (OrderListVO orderListVO : resultList) { - Integer serveId = orderListVO.getServeId(); - // 回收服务信息 - RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId) - .eq(RecoveryServe::getIsDelete, 0).one(); - if (null != recoveryServe) { - orderListVO.setServePicture(recoveryServe.getCover()); + if (item) { + return list.stream().map(OrderNotHandleVO::getOrderList).collect(Collectors.toList()); + } else { + // 根据距离排序 + list.sort(Comparator.comparing(OrderNotHandleVO::getDistance)); + List<OrderListVO> resultList = list.stream().map(OrderNotHandleVO::getOrderList).collect(Collectors.toList()); + for (OrderListVO orderListVO : resultList) { + Integer serveId = orderListVO.getServeId(); + // 回收服务信息 + RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId) + .eq(RecoveryServe::getIsDelete, 0).one(); + if (null != recoveryServe) { + orderListVO.setServePicture(recoveryServe.getCover()); + } } + return resultList; } - return resultList; + } @Override public Boolean orderTop(Integer orderId, Integer userid) { // 订单代办列表 List<Order> orderList = orderService.lambdaQuery().eq(Order::getServerId, userid) - .eq(Order::getState, Constants.ONE) + .in(Order::getState, Constants.ONE, Constants.TWO) .eq(Order::getIsDelete, 0) - .eq(Order::getType, Constants.ZERO) .orderByAsc(Order::getTopSort).list(); - List<Order> orders = orderList.stream().filter(data -> null != data.getTopSort()).collect(Collectors.toList()); int itemSort = 2; - for (Order order : orders) { - order.setTopSort(itemSort); - itemSort++; + for (Order order : orderList) { + if (null != order.getTopSort()) { + order.setTopSort(itemSort); + itemSort++; + } } + orderService.updateBatchById(orderList); return orderService.lambdaUpdate().set(Order::getTopSort, Constants.ONE) .eq(Order::getServerId, userid) + .eq(Order::getId, orderId) .eq(Order::getIsDelete, 0).update(); } -- Gitblit v1.7.1