From 14604dd5f83c523fce8f7fdee01340f277bf78b3 Mon Sep 17 00:00:00 2001 From: lzq <2495532633@qq.com> Date: Tue, 10 Feb 2026 10:23:45 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cst/order/controller/OrderController.java | 4 +- .../dispose/cst/order/mapper/OrderMapper.java | 2 + .../pojo/param/AssignmentDriverParam.java | 8 +++- .../cst/order/service/OrderService.java | 43 +++++++++++++++++-- .../mapper/cst/order/OrderMapper.xml | 28 ++++++++++++ 5 files changed, 79 insertions(+), 6 deletions(-) diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/controller/OrderController.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/controller/OrderController.java index 38f2c29..b3cac03 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/controller/OrderController.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/controller/OrderController.java @@ -57,8 +57,8 @@ public class OrderController { * 详情 */ @GetMapping("/detail") - public R detail(@RequestParam("id") Long id) { - return R.success(orderService.detail(id)); + public R detail(@RequestParam("id") Long id, @RequestParam(value = "orderType", required = false) String orderType) { + return R.success(orderService.detail(id, orderType)); } /** diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/mapper/OrderMapper.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/mapper/OrderMapper.java index 1a63912..fae9ab1 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/mapper/OrderMapper.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/mapper/OrderMapper.java @@ -15,6 +15,8 @@ import org.apache.ibatis.annotations.Param; @Mapper public interface OrderMapper extends BaseMapper { IPage paging(IPage page, @Param("ew") QueryWrapper ew); + + SearchOrderResult detail(@Param("id") Long id); } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/AssignmentDriverParam.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/AssignmentDriverParam.java index fb5bd0b..febde06 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/AssignmentDriverParam.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/AssignmentDriverParam.java @@ -5,6 +5,8 @@ import lombok.Setter; import lombok.ToString; import lombok.experimental.Accessors; +import java.util.List; + /** * @author ljw */ @@ -13,11 +15,15 @@ import lombok.experimental.Accessors; @ToString @Accessors(chain = true) public class AssignmentDriverParam { + /** + * 订单Id + */ + private Long orderId; /** * 订单运输ID */ - private Long orderTransId; + private List orderTransId; /** * 司机Id diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/service/OrderService.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/service/OrderService.java index 183b813..f5b7d2c 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/service/OrderService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/service/OrderService.java @@ -137,8 +137,45 @@ public class OrderService extends ServiceImpl { this.removeBatchByIds(ids); } - public OrderEntity detail(Long id) { - return this.getById(id); + public SearchOrderResult detail(Long id, String orderType) { + SearchOrderResult detail = baseMapper.detail(id); + if (detail == null) return null; + Long orderId = detail.getId(); + Long projectId = detail.getProjectId(); + List transRecodeList = orderTransMapper.selectList(Wrappers.lambdaQuery(OrderTransEntity.class) + .eq(OrderTransEntity::getOrderId, orderId) + .eq("YuYue".equals(orderType), OrderTransEntity::getTransStatus, TransStatus.DaiPaiDan) + .in("ShiShi".equals(orderType), OrderTransEntity::getTransStatus, TransStatus.YiJieDan, TransStatus.YunShuZhong, TransStatus.YiJinChang, TransStatus.YiChuChang) + .eq("LiShi".equals(orderType), OrderTransEntity::getTransStatus, TransStatus.YiWanCheng) + .eq("QuXiao".equals(orderType), OrderTransEntity::getTransStatus, TransStatus.YiQuXiao) + ) + .stream() + .map(it -> BeanUtil.copyProperties(it, SearchOrderResult.TransRecode.class)) + .toList(); + + OrderCargoPlaceEntity cargoPlaceEntity = orderCargoPlaceService.getOne(Wrappers.lambdaQuery(OrderCargoPlaceEntity.class).eq(OrderCargoPlaceEntity::getOrderId, orderId)); + SearchOrderResult.CargoPlace cargoPlace = BeanUtil.copyProperties(cargoPlaceEntity, SearchOrderResult.CargoPlace.class); + + SearchOrderResult.ProjectInfo projectInfo = null; + if (projectId != null) { + ProjectEntity projectEntity = projectService.getById(projectId); + projectInfo = BeanUtil.copyProperties(projectEntity, SearchOrderResult.ProjectInfo.class); + } + + List paymentRecordResultList = orderPaymentRecordService.listPaymentRecord(Wrappers.query().eq("a.order_id", orderId)) + .stream() + .map(it -> BeanUtil.copyProperties(it, SearchOrderResult.PaymentRecord.class)) + .toList(); + Map> transId_paymentRecord_map = GroupUtil.k_a(paymentRecordResultList, SearchOrderResult.PaymentRecord::getTransId); + + for (SearchOrderResult.TransRecode transRecode : transRecodeList) { + Long transRecodeId = transRecode.getId(); + transRecode.setPaymentRecord(transId_paymentRecord_map.get(transRecodeId)); + } + detail.setTransRecodes(transRecodeList); + detail.setCargoPlace(cargoPlace); + detail.setProjectInfo(projectInfo); + return detail; } public PageResult paging(PageParam pageParam, SearchOrderParam searchOrderParam) { @@ -186,7 +223,7 @@ public class OrderService extends ServiceImpl { List results = resultPage.getRecords(); if (results.isEmpty()) return PageResult.of(resultPage); List orderIdList = results.stream().map(SearchOrderResult::getId).toList(); - List projectIdList = results.stream().map(SearchOrderResult::getProjectId).toList(); + List projectIdList = results.stream().map(SearchOrderResult::getProjectId).filter(Objects::nonNull).toList(); List transRecodes = orderTransMapper.selectList(Wrappers.lambdaQuery(OrderTransEntity.class) .in(OrderTransEntity::getOrderId, orderIdList) .eq("YuYue".equals(orderType), OrderTransEntity::getTransStatus, TransStatus.DaiPaiDan) diff --git a/njzscloud-svr/src/main/resources/mapper/cst/order/OrderMapper.xml b/njzscloud-svr/src/main/resources/mapper/cst/order/OrderMapper.xml index afde887..19d019e 100644 --- a/njzscloud-svr/src/main/resources/mapper/cst/order/OrderMapper.xml +++ b/njzscloud-svr/src/main/resources/mapper/cst/order/OrderMapper.xml @@ -35,6 +35,34 @@ ) temp INNER JOIN cst_order a ON a.id = temp.id +