From 7b1ed37c50528d7dd7413d76943213084163f4e1 Mon Sep 17 00:00:00 2001 From: "kuang.yife" Date: Tue, 24 Oct 2023 00:39:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/order/OrderController.java | 55 +++--- .../order/OrderMasterController.java | 12 +- .../com/ghy/web/pojo/vo/OrderListRequest.java | 2 + .../ghy/customer/domain/CustomerAddress.java | 2 + .../impl/CustomerAddressServiceImpl.java | 3 + .../ghy/order/domain/AfterServiceRecord.java | 160 +----------------- .../com/ghy/order/domain/OrderDetail.java | 2 + .../com/ghy/order/domain/OrderMaster.java | 2 + .../service/IAfterServiceImgsService.java | 1 + .../impl/AfterServiceRecordServiceImpl.java | 3 + .../mapper/order/OrderMasterMapper.xml | 6 + 11 files changed, 65 insertions(+), 183 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 6092eb19..26c19f6e 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 @@ -807,6 +807,7 @@ public class OrderController extends BaseController { orderListRequest.setWorkerId(request.getWorkerId()); orderListRequest.setIsMonitoredOrder(true); orderListRequest.setAllSelfAssigned(0); + orderListRequest.setNeedImgs(false); AjaxResult afterListRes = this.appMixAfterList(orderListRequest); List afterList = (List) afterListRes.get("data"); response.setAfterListNum(afterList.size()); @@ -816,6 +817,7 @@ public class OrderController extends BaseController { orderListRequest.setTimeout(1); orderListRequest.setWorkerId(request.getWorkerId()); orderListRequest.setIsMonitoredOrder(true); + orderListRequest.setNeedImgs(false); response.setOverTimeOrderNum(this.appMixOrderCount(orderListRequest)); // 统计今日单量 LocalDateTime today = LocalDateTime.of(LocalDate.now(), LocalTime.MIN); @@ -858,18 +860,18 @@ public class OrderController extends BaseController { OrderMaster param = new OrderMaster(); param.setWorkerId(orderListRequest.getWorkerId()); List allOrderMaster = orderMasterService.selectOrderMasterList(param); - StringBuilder ids = new StringBuilder(); - for (OrderMaster model : allOrderMaster) { - List orderDetails = orderDetailService.selectByOrderMasterId(model.getId()); + if(CollectionUtils.isNotEmpty(allOrderMaster)){ + OrderDetail countParam = new OrderDetail(); + countParam.setMasterIds(allOrderMaster.stream().map(OrderMaster::getId).collect(Collectors.toList())); + List orderDetails = orderDetailService.selectOrderDetailList(countParam); List result = orderDetails.stream().filter(s -> s.getTimeout().equals(1)).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(result)) { - masterIdSet.add(model.getId()); - ids.append(model.getId()).append(","); + masterIdSet = result.stream().map(OrderDetail::getOrderMasterId).collect(Collectors.toList()); } } - if (ids.length() > 0) { + if (CollectionUtils.isNotEmpty(masterIdSet)) { OrderMaster timeOutMaster = new OrderMaster(); - timeOutMaster.setOrderMasterIds(ids.substring(0, ids.length() - 1)); + timeOutMaster.setOrderMasterIdList(masterIdSet); allList.addAll(orderMasterService.selectOrderMasterList(timeOutMaster)); } } @@ -933,22 +935,23 @@ public class OrderController extends BaseController { List allList = new ArrayList<>(); List masterIdSet = new ArrayList(); if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) { + // 增加主单下子单有超时的 // 增加主单下子单有超时的 OrderMaster param = new OrderMaster(); param.setWorkerId(orderListRequest.getWorkerId()); List allOrderMaster = orderMasterService.selectOrderMasterList(param); - StringBuilder ids = new StringBuilder(); - for (OrderMaster model : allOrderMaster) { - List orderDetails = orderDetailService.selectByOrderMasterId(model.getId()); + if(CollectionUtils.isNotEmpty(allOrderMaster)){ + OrderDetail countParam = new OrderDetail(); + countParam.setMasterIds(allOrderMaster.stream().map(OrderMaster::getId).collect(Collectors.toList())); + List orderDetails = orderDetailService.selectOrderDetailList(countParam); List result = orderDetails.stream().filter(s -> s.getTimeout().equals(1)).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(result)) { - masterIdSet.add(model.getId()); - ids.append(model.getId()).append(","); + masterIdSet = result.stream().map(OrderDetail::getOrderMasterId).collect(Collectors.toList()); } } - if (ids.length() > 0) { + if (CollectionUtils.isNotEmpty(masterIdSet)) { OrderMaster timeOutMaster = new OrderMaster(); - timeOutMaster.setOrderMasterIds(ids.substring(0, ids.length() - 1)); + timeOutMaster.setOrderMasterIdList(masterIdSet); allList.addAll(this.getMasterList(timeOutMaster)); } } @@ -957,6 +960,7 @@ public class OrderController extends BaseController { OrderMaster orderMasterReq = new OrderMaster(); BeanUtils.copyProperties(orderListRequest, orderMasterReq); orderMasterReq.setExceptOrderMasterIds(masterIdSet); + orderMasterReq.setGoodsName(null); List masterList = this.getMasterList(orderMasterReq); allList.addAll(masterList); // 超时查询需要排除同个师傅的主单子单同时出现 @@ -1010,6 +1014,7 @@ public class OrderController extends BaseController { // 查询子单 OrderDetail orderDetailReq = new OrderDetail(); BeanUtils.copyProperties(orderListRequest, orderDetailReq); + orderDetailReq.setNeedImgs(orderListRequest.getNeedImgs()); List detailList = this.getDetailAfterList(orderDetailReq); orderListResponses.addAll(detailList); @@ -1183,6 +1188,7 @@ public class OrderController extends BaseController { public List getDetailAfterList(OrderDetail orderDetail) { AfterServiceRecord afterServiceRecord = new AfterServiceRecord(); afterServiceRecord.setExcludeAfterServiceFinished(Boolean.TRUE); + afterServiceRecord.setNeedImgs(orderDetail.getNeedImgs()); List afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord); Map> detailRecordMap = afterServiceRecordList.stream().collect(Collectors.groupingBy(record -> record.getOrderDetailId())); // 踢重后的子单ids @@ -1316,19 +1322,26 @@ public class OrderController extends BaseController { orderMaster.setHasDispatchedAll(0); } List list = orderMasterService.selectOrderMasterList(orderMaster); + List orderMasterIds = list.stream().map(OrderMaster::getId).collect(Collectors.toList()); + // 缓存 orderDetailMap + OrderDetail masterIdsParam = new OrderDetail(); + masterIdsParam.setMasterIds(orderMasterIds); + List orderDetailsList = orderDetailService.selectOrderDetailList(masterIdsParam); + Map> orderMasterIdsMap = orderDetailsList.stream().collect(Collectors.groupingBy(OrderDetail::getOrderMasterId)); + + // -- 都是同一个师傅的,师傅信息 + Worker worker = orderMaster.getWorkerId() != null ? workerService.selectById(orderMaster.getWorkerId()) : null; + for (OrderMaster master : list) {// 初始化属性 OrderListResponse orderListResponse = new OrderListResponse(); List standardList = new ArrayList<>(); // 查询所有子单 - List orderDetails = orderDetailService.selectByOrderMasterId(master.getId()); + List orderDetails = orderMasterIdsMap.get(master.getId()); + if(CollectionUtils.isEmpty(orderDetails)){ + orderDetails = new ArrayList<>(); + } List orderDetailIds = orderDetails.stream().map(OrderDetail::getId).collect(Collectors.toList()); - // 师傅信息 - Worker worker = master.getWorkerId() != null ? workerService.selectById(master.getWorkerId()) : null; - - // 消费者信息 -// Customer customer = customerService.selectByCustomerId(master.getCustomerId()); - // 商品规格及信息 List orderStandardList = orderGoodsService.selectByOrderMasterId(master.getId()); diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java index 1b7e8562..7b7932a1 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java @@ -223,11 +223,13 @@ public class OrderMasterController extends BaseController { if (CollectionUtils.isNotEmpty(orderMaster.getDistrictIds()) || CollectionUtils.isNotEmpty(orderMaster.getCityIds()) || CollectionUtils.isNotEmpty(orderMaster.getStreetIds())) { - List addressList = addressService.getCustomerAddressList(new CustomerAddress(){{ - setDistrictIds(orderMaster.getDistrictIds()); - setCityIds(orderMaster.getCityIds()); - setStreetIds(orderMaster.getStreetIds()); - }}); + + CustomerAddress customerAddress = new CustomerAddress(); + customerAddress.setDistrictIds(orderMaster.getDistrictIds()); + customerAddress.setCityIds(orderMaster.getCityIds()); + customerAddress.setStreetIds(orderMaster.getStreetIds()); + customerAddress.setNeedNameFlag(true); + List addressList = addressService.getCustomerAddressList(customerAddress); orderMaster.setAddressIds(addressList.stream().map(CustomerAddress::getCustomerAddressId).collect(Collectors.toList())); if (CollectionUtils.isEmpty(orderMaster.getAddressIds())) { return voDataTable(orderListResponses, new ArrayList<>()); diff --git a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListRequest.java b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListRequest.java index 990508d2..ef999d6b 100644 --- a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListRequest.java +++ b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListRequest.java @@ -34,4 +34,6 @@ public class OrderListRequest { * 是否超时 1=是 0=否 */ private Integer timeout; + + private Boolean needImgs = true; } diff --git a/ghy-custom/src/main/java/com/ghy/customer/domain/CustomerAddress.java b/ghy-custom/src/main/java/com/ghy/customer/domain/CustomerAddress.java index e038ff92..8a50660a 100644 --- a/ghy-custom/src/main/java/com/ghy/customer/domain/CustomerAddress.java +++ b/ghy-custom/src/main/java/com/ghy/customer/domain/CustomerAddress.java @@ -54,4 +54,6 @@ public class CustomerAddress extends BaseEntity { private List cityIds; private List streetIds; + + private Boolean needNameFlag = false; } diff --git a/ghy-custom/src/main/java/com/ghy/customer/service/impl/CustomerAddressServiceImpl.java b/ghy-custom/src/main/java/com/ghy/customer/service/impl/CustomerAddressServiceImpl.java index 73153f91..1056e713 100644 --- a/ghy-custom/src/main/java/com/ghy/customer/service/impl/CustomerAddressServiceImpl.java +++ b/ghy-custom/src/main/java/com/ghy/customer/service/impl/CustomerAddressServiceImpl.java @@ -23,6 +23,9 @@ public class CustomerAddressServiceImpl implements CustomerAddressService { @Override public List getCustomerAddressList(CustomerAddress customerAddress) { List addressList = customerAddressMapper.getCustomerAddressList(customerAddress); + if(customerAddress.getNeedNameFlag()){ + return addressList; + } for (CustomerAddress address : addressList) { address.setCountryName(iSysAreaService.selectById(address.getCountryId()).getAreaName()); address.setCityName(iSysAreaService.selectById(address.getCityId()).getAreaName()); diff --git a/ghy-order/src/main/java/com/ghy/order/domain/AfterServiceRecord.java b/ghy-order/src/main/java/com/ghy/order/domain/AfterServiceRecord.java index 96a47dc9..2a61038e 100644 --- a/ghy-order/src/main/java/com/ghy/order/domain/AfterServiceRecord.java +++ b/ghy-order/src/main/java/com/ghy/order/domain/AfterServiceRecord.java @@ -4,6 +4,7 @@ import java.math.BigDecimal; import java.util.Date; import java.util.List; +import lombok.Data; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ghy.common.annotation.Excel; @@ -15,6 +16,7 @@ import com.ghy.common.core.domain.BaseEntity; * @author clunt * @date 2022-09-25 */ +@Data public class AfterServiceRecord extends BaseEntity { private static final long serialVersionUID = 1L; @@ -71,161 +73,5 @@ public class AfterServiceRecord extends BaseEntity private List imgsList; - - public List getImgsList() { - return imgsList; - } - - public void setImgsList(List imgsList) { - this.imgsList = imgsList; - } - - public void setId(String id) - { - this.id = id; - } - - public String getId() - { - return id; - } - public void setCustomerReasonType(Long customerReasonType) - { - this.customerReasonType = customerReasonType; - } - - public Long getCustomerReasonType() - { - return customerReasonType; - } - public void setCustomerReason(String customerReason) - { - this.customerReason = customerReason; - } - - public String getCustomerReason() - { - return customerReason; - } - public void setOrderDetailId(Long orderDetailId) - { - this.orderDetailId = orderDetailId; - } - - public Long getOrderDetailId() - { - return orderDetailId; - } - public void setOperType(Long operType) - { - this.operType = operType; - } - - public Long getOperType() - { - return operType; - } - public void setWorkerFeedbackResult(Long workerFeedbackResult) - { - this.workerFeedbackResult = workerFeedbackResult; - } - - public Long getWorkerFeedbackResult() - { - return workerFeedbackResult; - } - public void setWorkerFeedbackReasonType(Long workerFeedbackReasonType) - { - this.workerFeedbackReasonType = workerFeedbackReasonType; - } - - public Long getWorkerFeedbackReasonType() - { - return workerFeedbackReasonType; - } - public void setWorkerFeedbackReason(String workerFeedbackReason) - { - this.workerFeedbackReason = workerFeedbackReason; - } - - public String getWorkerFeedbackReason() - { - return workerFeedbackReason; - } - public void setRefund(BigDecimal refund) - { - this.refund = refund; - } - - public BigDecimal getRefund() - { - return refund; - } - public void setAgreedRefund(BigDecimal agreedRefund) - { - this.agreedRefund = agreedRefund; - } - - public BigDecimal getAgreedRefund() - { - return agreedRefund; - } - public void setCustomerFinalCheck(Long customerFinalCheck) - { - this.customerFinalCheck = customerFinalCheck; - } - - public Long getCustomerFinalCheck() - { - return customerFinalCheck; - } - - public BigDecimal getOriginalRefund() { - return originalRefund; - } - - public void setOriginalRefund(BigDecimal originalRefund) { - this.originalRefund = originalRefund; - } - - public boolean isExcludeAfterServiceFinished() { - return excludeAfterServiceFinished; - } - - public void setExcludeAfterServiceFinished(boolean excludeAfterServiceFinished) { - this.excludeAfterServiceFinished = excludeAfterServiceFinished; - } - - public Date getRefundApplyTime() { - return refundApplyTime; - } - - public void setRefundApplyTime(Date refundApplyTime) { - this.refundApplyTime = refundApplyTime; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("customerReasonType", getCustomerReasonType()) - .append("customerReason", getCustomerReason()) - .append("orderDetailId", getOrderDetailId()) - .append("operType", getOperType()) - .append("workerFeedbackResult", getWorkerFeedbackResult()) - .append("workerFeedbackReasonType", getWorkerFeedbackReasonType()) - .append("workerFeedbackReason", getWorkerFeedbackReason()) - .append("refund", getRefund()) - .append("agreedRefund", getAgreedRefund()) - .append("originalRefund", getOriginalRefund()) - .append("refundApplyTime", getRefundApplyTime()) - .append("customerFinalCheck", getCustomerFinalCheck()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .append("remark", getRemark()) - .append("excludeAfterServiceFinished", isExcludeAfterServiceFinished()) - .toString(); - } + private Boolean needImgs = true; } diff --git a/ghy-order/src/main/java/com/ghy/order/domain/OrderDetail.java b/ghy-order/src/main/java/com/ghy/order/domain/OrderDetail.java index 03a42d57..06768a37 100644 --- a/ghy-order/src/main/java/com/ghy/order/domain/OrderDetail.java +++ b/ghy-order/src/main/java/com/ghy/order/domain/OrderDetail.java @@ -196,4 +196,6 @@ public class OrderDetail extends BaseEntity { @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTimeEnd; + + private Boolean needImgs; } 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 cba1d689..04a40297 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 @@ -185,4 +185,6 @@ public class OrderMaster extends BaseEntity { private List streetIds; private List addressIds; + + private List orderMasterIdList; } diff --git a/ghy-order/src/main/java/com/ghy/order/service/IAfterServiceImgsService.java b/ghy-order/src/main/java/com/ghy/order/service/IAfterServiceImgsService.java index 97b97a0d..a53a2e59 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/IAfterServiceImgsService.java +++ b/ghy-order/src/main/java/com/ghy/order/service/IAfterServiceImgsService.java @@ -2,6 +2,7 @@ package com.ghy.order.service; import java.util.List; import com.ghy.order.domain.AfterServiceImgs; +import org.springframework.cache.annotation.Cacheable; /** * 售后记录图片Service接口 diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/AfterServiceRecordServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/AfterServiceRecordServiceImpl.java index d6edd010..39d59395 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/impl/AfterServiceRecordServiceImpl.java +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/AfterServiceRecordServiceImpl.java @@ -79,6 +79,9 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService @Override public List selectAfterServiceRecordList(AfterServiceRecord afterServiceRecord) { List list = afterServiceRecordMapper.selectAfterServiceRecordList(afterServiceRecord); + if(!afterServiceRecord.getNeedImgs()){ + return list; + } list.forEach(record -> { AfterServiceImgs param = new AfterServiceImgs(); param.setAfterServiceRecordId(Long.valueOf(record.getId())); diff --git a/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml b/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml index f5b71bd5..45247981 100644 --- a/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml +++ b/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml @@ -176,6 +176,12 @@ AND om.id in (${orderMasterIds}) + + AND om.id in + + #{id} + + AND om.order_status in (${orderStatuses})