From e0060c0432200f64cb91b2b8d7a220e51e1b399c Mon Sep 17 00:00:00 2001 From: cb <275647614@qq.com> Date: Fri, 17 Oct 2025 11:49:29 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B6=85=E5=B8=82=E6=8E=92=E5=BA=8F=E5=A4=84?= =?UTF-8?q?=E7=90=86=EF=BC=8C=E5=94=AE=E5=90=8E=E6=9B=B4=E6=96=B0=E5=A4=84?= =?UTF-8?q?=E7=90=86=EF=BC=8C=E5=94=AE=E5=90=8E=E8=AE=B0=E5=BD=95=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/order/OrderController.java | 107 +++++++++++++++--- .../ghy/web/pojo/vo/OrderListResponse.java | 6 + .../impl/AfterServiceRecordServiceImpl.java | 3 + 3 files changed, 102 insertions(+), 14 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 2cbd81de..c3cf7a3a 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 @@ -23,9 +23,11 @@ import com.ghy.order.service.*; import com.ghy.payment.domain.FinancialChangeRecord; import com.ghy.payment.domain.FinancialDetail; import com.ghy.payment.domain.FinancialMaster; +import com.ghy.payment.domain.OrderTimeoutRecord; import com.ghy.payment.service.FinancialChangeRecordService; import com.ghy.payment.service.FinancialDetailService; import com.ghy.payment.service.FinancialMasterService; +import com.ghy.payment.service.OrderFineRecordService; import com.ghy.shop.domain.Shop; import com.ghy.shop.service.ShopService; import com.ghy.system.domain.SysArea; @@ -120,6 +122,9 @@ public class OrderController extends BaseController { @Resource private ShopService shopService; + @Resource + private OrderFineRecordService orderFineRecordService; + @GetMapping("/imgs") public String orderImgs(Long orderId, ModelMap mmap) { mmap.put("orderId", orderId); @@ -489,7 +494,10 @@ public class OrderController extends BaseController { od.setExpectTimeEnd(om.getExpectTimeEnd()); od.setWorkBeginTime(new Date()); // 将主单的师傅备注复制到子单 - od.setWorkerRemark(om.getWorkerRemark()); + if(request.getWorkerId().equals(om.getWorkerId())) { + od.setWorkerRemark(om.getWorkerRemark()); + + } orderDetailService.insertOrderDetail(od); logger.info("子订单是否创建完成{}商品详情{}分配参数详情{}", od, request.getGoodsList(), request); // 批量生成订单商品 @@ -1426,9 +1434,19 @@ public class OrderController extends BaseController { Collections.sort(orderListResponses, new Comparator() { @Override public int compare(OrderListResponse o1, OrderListResponse o2) { - if (Objects.equals(orderListRequest.getOrderStatus(), 0) - || Objects.equals(orderListRequest.getTimeout(), 1)) { + if (Objects.equals(orderListRequest.getOrderStatus(), 0)) { return o2.getCreateTime().compareTo(o1.getCreateTime()); + } else if (Objects.equals(orderListRequest.getTimeout(), 1)) { + // 超时订单按超时时间倒序排列,如果超时时间为空则按创建时间倒序 + if (o1.getTimeoutTime() != null && o2.getTimeoutTime() != null) { + return o2.getTimeoutTime().compareTo(o1.getTimeoutTime()); + } else if (o1.getTimeoutTime() != null) { + return -1; // o1有超时时间,o2没有,o1排前面 + } else if (o2.getTimeoutTime() != null) { + return 1; // o2有超时时间,o1没有,o2排前面 + } else { + return o2.getCreateTime().compareTo(o1.getCreateTime()); // 都没有超时时间,按创建时间倒序 + } } else { return o2.getUpdateTime().compareTo(o1.getUpdateTime()); } @@ -1616,11 +1634,14 @@ public class OrderController extends BaseController { List afterServiceRecords = new ArrayList<>(); List detailOrderList = orderDetailService.selectByOrderMasterId(master.getId()); detailOrderList.stream().forEach(detail -> { - AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord(); - afterServiceRecordQry.setOrderDetailId(detail.getId()); - List records = afterServiceRecordService - .selectAfterServiceRecordList(afterServiceRecordQry); - afterServiceRecords.addAll(records); + // 只显示子单师傅ID和主单师傅ID一致的售后订单 + if (detail.getWorkerId() != null && detail.getWorkerId().equals(master.getWorkerId())) { + AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord(); + afterServiceRecordQry.setOrderDetailId(detail.getId()); + List records = afterServiceRecordService + .selectAfterServiceRecordList(afterServiceRecordQry); + afterServiceRecords.addAll(records); + } }); for (OrderGoods orderGoods : orderStandardList) { @@ -1954,11 +1975,14 @@ public class OrderController extends BaseController { List afterServiceRecords = new ArrayList<>(); List detailOrderList = orderDetailService.selectByOrderMasterId(master.getId()); detailOrderList.stream().forEach(detail -> { - AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord(); - afterServiceRecordQry.setOrderDetailId(detail.getId()); - List records = afterServiceRecordService - .selectAfterServiceRecordList(afterServiceRecordQry); - afterServiceRecords.addAll(records); + // 只显示子单师傅ID和主单师傅ID一致的售后订单 + if (detail.getWorkerId() != null && detail.getWorkerId().equals(master.getWorkerId())) { + AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord(); + afterServiceRecordQry.setOrderDetailId(detail.getId()); + List records = afterServiceRecordService + .selectAfterServiceRecordList(afterServiceRecordQry); + afterServiceRecords.addAll(records); + } }); for (OrderGoods orderGoods : orderStandardList) { @@ -2084,7 +2108,51 @@ public class OrderController extends BaseController { // 师傅信息 Worker worker = workerService.selectById(detail.getWorkerId()); + WorkerCertification workerRealInfo = null; + String workerName = ""; + if (worker != null) { + // 师傅实名信息 + workerRealInfo = workerCertificationService.selectByWorkerId(orderMaster.getWorkerId()); + workerName = workerRealInfo == null ? worker.getName() + : workerRealInfo.getSurname() + workerRealInfo.getName(); + } + String masterWorkerName = ""; + String masterCompanyName = ""; + String masterCompanyPhone=""; + Worker masterWorker = workerService.selectById(orderMaster.getWorkerId()); + Worker goodsWorker =new Worker(); + OrderMaster goodsOrderMaster =null; + WorkerCertification goodsWorkerRealInfo = null; + + // 消费者信息 + // Customer customer = + // customerService.selectByCustomerId(orderMaster.getCustomerId()); + // 商品规格及信息 + if (orderMaster.getGoodsOrderMasterId() != null) { + // 子单商品规格及信息 + goodsOrderMaster = orderMasterService.selectById(orderMaster.getGoodsOrderMasterId()); + goodsWorker = workerService.selectById(goodsOrderMaster.getWorkerId()); + goodsWorkerRealInfo = workerCertificationService.selectByWorkerId(goodsOrderMaster.getWorkerId()); + orderListResponse.setOriginalOrderMasterCode(goodsOrderMaster.getCode()); + } + if (masterWorker != null) { + // 大师傅实名信息 + workerRealInfo = workerCertificationService.selectByWorkerId(orderMaster.getWorkerId()); + masterWorkerName = workerRealInfo == null ? masterWorker.getName() + : workerRealInfo.getSurname() + workerRealInfo.getName(); + if (orderMaster.getGoodsOrderMasterId() != null) { + workerRealInfo=goodsWorkerRealInfo; + } + masterCompanyName = workerRealInfo == null ? null : workerRealInfo.getCompanyName(); + masterCompanyPhone=goodsWorker.getPhone(); + + } + orderListResponse.setMasterCompanyName(masterCompanyName); + orderListResponse.setMasterCompanyPhone(masterCompanyPhone); + orderListResponse.setMasterWorkerId(orderMaster.getWorkerId()); + orderListResponse.setMasterWorkerName(masterWorkerName); + orderListResponse.setMasterWorkerPhone(masterWorker.getPhone()); // 消费者信息 // Customer customer = // customerService.selectByCustomerId(detail.getCustomerId()); @@ -2173,7 +2241,9 @@ public class OrderController extends BaseController { afterServiceRecord.setOrderDetailId(detail.getId()); List afterServiceRecordList =afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord); - + if (detail.getWorkerId()!=orderMaster.getWorkerId()) { + afterServiceRecordList=null; + } // 编辑返回属性 orderListResponse.setWorkerRemark(detail.getWorkerRemark()); orderListResponse.setGoods(goods); @@ -2216,6 +2286,15 @@ public class OrderController extends BaseController { orderListResponse.setChangeMoney(changeMoney); orderListResponse.setCreateTime(detail.getCreateTime()); orderListResponse.setUpdateTime(detail.getUpdateTime()); + + // 查询最新超时时间 + OrderTimeoutRecord timeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(detail.getId(), null); + List timeoutRecords = timeoutRecord == null ? Collections.emptyList() : Collections.singletonList(timeoutRecord); + if (CollectionUtils.isNotEmpty(timeoutRecords)) { + // 按创建时间倒序排列,取最新的超时记录 + timeoutRecords.sort((a, b) -> b.getCreateTime().compareTo(a.getCreateTime())); + orderListResponse.setTimeoutTime(timeoutRecords.get(0).getCreateTime()); + } orderListResponse.setConsultMode(orderMaster.getConsultMode()); orderListResponse.setInsuranceId(orderMaster.getInsuranceId()); 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 9c0b2fd7..5dbb2794 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 @@ -172,6 +172,12 @@ public class OrderListResponse { */ private Integer timeoutFineTimes; + /** + * 超时时间(用于排序) + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date timeoutTime; + private Integer afterTimeout; private String orderMode; 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 fb71e68d..6ea75555 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 @@ -244,6 +244,9 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService if (param.getWorkerFeedbackImages() != null) { afterServiceRecord.setWorkerFeedbackImages(param.getWorkerFeedbackImages()); } + if (param.getAgreedRefund() != null) { + afterServiceRecord.setAgreedRefund(param.getAgreedRefund()); + } if (param.getUpdateBy() != null) { afterServiceRecord.setUpdateBy(param.getUpdateBy()); }