| | |
| | | import com.ruoyi.common.core.constant.Constants; |
| | | import com.ruoyi.common.core.domain.Result; |
| | | import com.ruoyi.common.core.utils.GaoDeMapUtil; |
| | | import com.ruoyi.common.core.utils.bean.BeanUtils; |
| | | import com.ruoyi.worker.entity.MasterWorker; |
| | | import com.ruoyi.worker.entity.Order; |
| | | import com.ruoyi.worker.entity.RecoveryServe; |
| | |
| | | |
| | | @Override |
| | | public List<OrderListVO> orderNotHandle(Integer userid, String longitude, String latitude) { |
| | | List<Order> orderList = orderService.lambdaQuery().eq(Order::getServerId, userid).eq(Order::getState, Constants.TWO) |
| | | .eq(Order::getIsDelete, 0).eq(Order::getType, Constants.ZERO).list(); |
| | | List<Order> orderList = orderService.lambdaQuery().eq(Order::getServerId, userid) |
| | | .eq(Order::getState, Constants.ONE) |
| | | .eq(Order::getIsDelete, 0) |
| | | .eq(Order::getType, Constants.ZERO) |
| | | .orderByAsc(Order::getTopSort).list(); |
| | | // 根据经纬度距离封装 |
| | | List<OrderNotHandleVO> list = new ArrayList<>(); |
| | | for (Order order : orderList) { |
| | | // 用户下单经纬度 |
| | | Double orderLongitude = order.getLongitude(); |
| | | Double orderLatitude = order.getLatitude(); |
| | | Integer topSort = order.getTopSort(); |
| | | String orderPosition = orderLongitude + "," + orderLatitude; |
| | | // 根据经纬度计算与师傅的距离 |
| | | Result<Long> result = GaoDeMapUtil.getDistance(orderPosition, longitude + "," + latitude); |
| | | Long distance = result.getDatas(); |
| | | // 回收服务信息 |
| | | RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, order.getServeId()) |
| | | .eq(RecoveryServe::getIsDelete, 0).one(); |
| | | // vo类信息封装 |
| | | OrderListVO orderListVO = new OrderListVO(order.getServeId()); |
| | | BeanUtils.copyProperties(orderListVO, orderListVO); |
| | | orderListVO.setOrderId(order.getId()); |
| | | orderListVO.setOrderNumber(order.getOrderNumber()); |
| | | orderListVO.setSiteId(order.getSiteId()); |
| | | orderListVO.setSiteName(order.getSiteName()); |
| | | orderListVO.setServeId(order.getServeId()); |
| | | orderListVO.setServeName(order.getServeName()); |
| | | orderListVO.setServePicture(recoveryServe.getCover()); |
| | | orderListVO.setServePrice(recoveryServe.getDefaultPrice()); |
| | | orderListVO.setUserId(userid); |
| | | orderListVO.setReservationName(order.getReservationName()); |
| | | orderListVO.setReservationPhone(order.getReservationPhone()); |
| | | orderListVO.setReservationAddress(order.getReservationAddress()); |
| | | orderListVO.setTime(order.getTime()); |
| | | orderListVO.setServerId(order.getServerId()); |
| | | orderListVO.setServerName(order.getServerName()); |
| | | orderListVO.setServerPhone(order.getServerPhone()); |
| | | orderListVO.setReservationRemark(order.getReservationRemark()); |
| | | orderListVO.setOrderMoney(order.getOrderMoney()); |
| | | orderListVO.setState(order.getState()); |
| | | orderListVO.setAcceptTime(order.getAcceptTime()); |
| | | orderListVO.setArriveTime(order.getArriveTime()); |
| | | orderListVO.setType(order.getType()); |
| | | orderListVO.setLongitude(order.getLongitude()); |
| | | orderListVO.setLatitude(order.getLatitude()); |
| | | orderListVO.setTopSort(topSort); |
| | | OrderNotHandleVO vo = new OrderNotHandleVO(distance, orderListVO); |
| | | list.add(vo); |
| | | } |
| | |
| | | return resultList; |
| | | } |
| | | |
| | | @Override |
| | | public Boolean orderTop(Integer orderId, Integer userid) { |
| | | // 订单代办列表 |
| | | List<Order> orderList = orderService.lambdaQuery().eq(Order::getServerId, userid) |
| | | .eq(Order::getState, Constants.ONE) |
| | | .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++; |
| | | } |
| | | return orderService.lambdaUpdate().set(Order::getTopSort, Constants.ONE) |
| | | .eq(Order::getServerId, userid) |
| | | .eq(Order::getIsDelete, 0).update(); |
| | | } |
| | | |
| | | } |