From 750e56a66d49c02f223d8b6dffa73c4e2e160a60 Mon Sep 17 00:00:00 2001 From: donqi Date: Mon, 5 Dec 2022 22:15:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=94=AE=E5=90=8E=EF=BC=8C=E8=B6=85=E6=97=B6?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8=E5=90=8C=E4=B8=AA=E5=B8=88?= =?UTF-8?q?=E5=82=85=E7=9A=84=E5=8D=95=E5=8F=AA=E5=B1=95=E7=A4=BA=E5=AD=90?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/order/OrderController.java | 36 ++++++++++++------- .../ghy/web/pojo/vo/OrderListResponse.java | 2 ++ .../com/ghy/order/domain/OrderMaster.java | 2 ++ .../mapper/order/OrderMasterMapper.xml | 6 ++++ 4 files changed, 34 insertions(+), 12 deletions(-) diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java index 20e773d9..fc3467ba 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java @@ -545,15 +545,21 @@ public class OrderController extends BaseController { // 校验参数 Assert.notNull(orderListRequest.getWorkerId(), "师傅id不能为空"); - // 查询主单 - OrderMaster orderMasterReq = new OrderMaster(); - BeanUtils.copyProperties(orderListRequest, orderMasterReq); - orderListResponses.addAll(this.getMasterList(orderMasterReq)); - // 查询子单 OrderDetail orderDetailReq = new OrderDetail(); BeanUtils.copyProperties(orderListRequest, orderDetailReq); - orderListResponses.addAll(this.getDetailList(orderDetailReq)); + List detailList = this.getDetailList(orderDetailReq); + orderListResponses.addAll(detailList); + + // 查询主单 + OrderMaster orderMasterReq = new OrderMaster(); + BeanUtils.copyProperties(orderListRequest, orderMasterReq); + // 超时查询需要排除同个师傅的主单子单同时出现 + if (orderListRequest.getIsOverTime()) { + List exceptWorkerIds = detailList.stream().map(OrderListResponse::getWorkerId).collect(Collectors.toList()); + orderMasterReq.setExceptWorkerIds(exceptWorkerIds); + } + orderListResponses.addAll(this.getMasterList(orderMasterReq)); // 根据预约时间倒序排列 CollectionUtils.sortIfNotEmpty(orderListResponses, new Comparator() { @@ -574,15 +580,19 @@ public class OrderController extends BaseController { // 校验参数 Assert.notNull(orderListRequest.getWorkerId(), "师傅id不能为空"); - // 查询主单 - OrderMaster orderMasterReq = new OrderMaster(); - BeanUtils.copyProperties(orderListRequest, orderMasterReq); - orderListResponses.addAll(this.getMasterAfterList(orderMasterReq)); - // 查询子单 OrderDetail orderDetailReq = new OrderDetail(); BeanUtils.copyProperties(orderListRequest, orderDetailReq); - orderListResponses.addAll(this.getDetailAfterList(orderDetailReq)); + List detailList = this.getDetailAfterList(orderDetailReq); + orderListResponses.addAll(detailList); + + // 查询主单 + OrderMaster orderMasterReq = new OrderMaster(); + BeanUtils.copyProperties(orderListRequest, orderMasterReq); + // 需要排除同个师傅的主单子单同时出现 + List exceptWorkerIds = detailList.stream().map(OrderListResponse::getWorkerId).collect(Collectors.toList()); + orderMasterReq.setExceptWorkerIds(exceptWorkerIds); + orderListResponses.addAll(this.getMasterAfterList(orderMasterReq)); // 根据预约时间倒序排列 CollectionUtils.sortIfNotEmpty(orderListResponses, new Comparator() { @@ -839,6 +849,7 @@ public class OrderController extends BaseController { orderListResponse.setGoodsLogoUrl(goods.getGoodsImgUrl()); orderListResponse.setDiscountMoney(financialDetail.getDiscountMoney()); orderListResponse.setTotalMoney(financialDetail.getTotalMoney()); + orderListResponse.setWorkerId(detail.getWorkerId()); orderListResponse.setWorkerName(workerName); orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone()); orderListResponse.setCustomerName(customerAddress.getName()); @@ -1037,6 +1048,7 @@ public class OrderController extends BaseController { orderListResponse.setPayMoney(financialDetail.getPayMoney()); orderListResponse.setWorkerName(worker.getName()); orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone()); + orderListResponse.setWorkerId(detail.getWorkerId()); orderListResponse.setCustomerName(customerAddress.getName()); orderListResponse.setCustomerPhone(customerAddress.getPhone()); orderListResponse.setOrderStatus(detail.getOrderStatus()); diff --git a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListResponse.java b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListResponse.java index e3afdd97..d517502a 100644 --- a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListResponse.java +++ b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListResponse.java @@ -22,6 +22,8 @@ public class OrderListResponse { private String orderDetailCode; + private Long workerId; + private String workerName; private String workerPhone; diff --git a/ghy-order/src/main/java/com/ghy/order/domain/OrderMaster.java b/ghy-order/src/main/java/com/ghy/order/domain/OrderMaster.java index 7dcca024..4423fb17 100644 --- a/ghy-order/src/main/java/com/ghy/order/domain/OrderMaster.java +++ b/ghy-order/src/main/java/com/ghy/order/domain/OrderMaster.java @@ -97,4 +97,6 @@ public class OrderMaster extends BaseEntity { private List customerIds; private Boolean shelveStatus; + + private List exceptWorkerIds; } diff --git a/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml b/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml index c7bad953..3d015a9c 100644 --- a/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml +++ b/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml @@ -146,6 +146,12 @@ AND om.has_dispatched_all = #{hasDispatchedAll} + + AND om.worker_id not in + + #{workerId} + + order by om.create_time