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 b1ddad35..19a550a3 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 @@ -36,6 +36,7 @@ import com.ghy.worker.domain.WorkerCertification; import com.ghy.worker.service.IWorkerCertificationService; import com.ghy.worker.service.WorkerService; import com.huifu.adapay.core.exception.BaseAdaPayException; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.exception.ExceptionUtils; import org.apache.commons.lang3.time.DateUtils; @@ -43,7 +44,6 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; -import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -104,6 +104,8 @@ public class OrderController extends BaseController { private OrderBehaviorService orderBehaviorService; @Resource private IWxMsgService wxMsgService; + @Resource + private IOrderCallRecordService orderCallRecordService; /** * 可派单商品数量 @@ -800,16 +802,40 @@ public class OrderController extends BaseController { BeanUtils.copyProperties(orderListRequest, orderDetailReq); List detailList = this.getDetailList(orderDetailReq); orderListResponses.addAll(detailList); + 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()); + 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(","); + } + } + if(ids.length() > 0){ + OrderMaster timeOutMaster = new OrderMaster(); + timeOutMaster.setOrderMasterIds(ids.substring(0, ids.length() - 1)); + allList.addAll(this.getMasterList(timeOutMaster)); + } + } // 查询主单 OrderMaster orderMasterReq = new OrderMaster(); BeanUtils.copyProperties(orderListRequest, orderMasterReq); + orderMasterReq.setExceptOrderMasterIds(masterIdSet); List masterList = this.getMasterList(orderMasterReq); + allList.addAll(masterList); // 超时查询需要排除同个师傅的主单子单同时出现 if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) { // 需要排除同个师傅的主单子单同时出现 List filteredMasterList = new ArrayList(); - for (OrderListResponse master : masterList) { + for (OrderListResponse master : allList) { boolean isKeep = false; // 查询该主单下所有售后中的子单 OrderDetail detailAfterListOfMasterQry = new OrderDetail(); @@ -1300,6 +1326,16 @@ public class OrderController extends BaseController { standardList.add(orderStandard); } + // 查询是否有拨号记录 + OrderCallRecord param = new OrderCallRecord(); + param.setOrderId(detail.getId()); + List callList = orderCallRecordService.selectOrderCallRecordList(param); + if(CollectionUtils.isNotEmpty(callList)){ + orderListResponse.setIsCall("02"); + }else { + orderListResponse.setIsCall("1"); + } + // 售后记录 // AfterServiceRecord afterServiceRecord = new AfterServiceRecord(); // afterServiceRecord.setOrderDetailId(detail.getId());