From ed451798e81addd52107f92b309ec87bc148bc156e24c03554403cf334aabb6b Mon Sep 17 00:00:00 2001 From: PC <2413103649@qq.com> Date: Tue, 27 Jan 2026 14:48:09 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E6=88=90=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/dto/EbikeScanInfoDto.java | 42 ++----------- .../model/dto/EbikeScanOrderDto.java | 61 +++++++++++++++++++ .../impl/EbikeBikeInfoServiceImpl.java | 42 +++++-------- .../impl/EbikeBikeOrderServiceImpl.java | 20 +++--- 4 files changed, 91 insertions(+), 74 deletions(-) create mode 100644 ebike-operations/src/main/java/com/cdzy/operations/model/dto/EbikeScanOrderDto.java diff --git a/ebike-operations/src/main/java/com/cdzy/operations/model/dto/EbikeScanInfoDto.java b/ebike-operations/src/main/java/com/cdzy/operations/model/dto/EbikeScanInfoDto.java index dcdd0b9..208a3de 100644 --- a/ebike-operations/src/main/java/com/cdzy/operations/model/dto/EbikeScanInfoDto.java +++ b/ebike-operations/src/main/java/com/cdzy/operations/model/dto/EbikeScanInfoDto.java @@ -15,6 +15,7 @@ import org.locationtech.jts.geom.Point; import java.io.Serial; import java.io.Serializable; import java.time.LocalDateTime; +import java.util.List; /** * 车辆扫一扫详情。 @@ -117,46 +118,11 @@ public class EbikeScanInfoDto implements Serializable { /** * 是否包含头盔 */ - private Boolean hasHelme; + private Boolean hasHelmet; /** - * 是否包含巡检 + * 工单信息 */ - private Boolean hasInspection = false; - - /** - * 是否自己已接单巡检工单 - */ - private Boolean inspectionAcceptSelf = false; - - /** - * 是否包含换电 - */ - private Boolean hasBatterySwap = false; - - /** - * 是否自己已接单换电工单 - */ - private Boolean batterySwapAcceptSelf = false; - - /** - * 是否包含调度 - */ - private Boolean hasDispatch = false; - - /** - * 是否自己已接单调度工单 - */ - private Boolean dispatchAcceptSelf = false; - - /** - * 是否包含维修 - */ - private Boolean hasRepair = false; - - /** - * 是否自己已接单维修工单 - */ - private Boolean repairAcceptSelf = false; + private List orders; } diff --git a/ebike-operations/src/main/java/com/cdzy/operations/model/dto/EbikeScanOrderDto.java b/ebike-operations/src/main/java/com/cdzy/operations/model/dto/EbikeScanOrderDto.java new file mode 100644 index 0000000..b5dae7b --- /dev/null +++ b/ebike-operations/src/main/java/com/cdzy/operations/model/dto/EbikeScanOrderDto.java @@ -0,0 +1,61 @@ +package com.cdzy.operations.model.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 车辆扫一扫详情。 + * + * @author attiya + * @since 2025-10-21 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class EbikeScanOrderDto implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 工单ID + */ + private Long orderId; + + /** + * 工单类型 + */ + private Long orderType; + + /** + * 工单类型 + */ + private Long receiverId; + + /** + * 车辆编号 + */ + private String bikeCode; + + /** + * 工单编号 + */ + private Long orderCode; + + /** + * 是否自己已接单 + */ + private Boolean acceptSelf = false; + + /** + * 是否已接单 + */ + private Boolean accepted = false; + +} diff --git a/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeBikeInfoServiceImpl.java b/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeBikeInfoServiceImpl.java index 9137197..d58179f 100644 --- a/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeBikeInfoServiceImpl.java +++ b/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeBikeInfoServiceImpl.java @@ -582,39 +582,27 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl list = orderMapper.selectListByQuery(queryWrapper); + queryWrapper.select( + EBIKE_BIKE_ORDER.ORDER_ID, + EBIKE_BIKE_ORDER.ORDER_TYPE, + EBIKE_BIKE_ORDER.RECEIVER_ID, + EBIKE_BIKE_ORDER.BIKE_CODE, + EBIKE_BIKE_ORDER.ORDER_CODE + ) + .where(EBIKE_BIKE_ORDER.BIKE_CODE.eq(bikeCode)); + List list = orderMapper.selectListByQueryAs(queryWrapper, EbikeScanOrderDto.class); long staffId = StpUtil.getLoginIdAsLong(); if (!list.isEmpty()) { - for (EbikeBikeOrder order : list) { - switch (order.getOrderType()) { - case BikeOrderType.INSPECTION -> { - ebikeScanInfoDto.setHasInspection(Boolean.TRUE); - if (order.getReceiverId() != null && staffId == order.getReceiverId()) { - ebikeScanInfoDto.setInspectionAcceptSelf(Boolean.TRUE); - } - } - case BikeOrderType.BATTERY_SWAP -> { - ebikeScanInfoDto.setHasBatterySwap(Boolean.TRUE); - if (order.getReceiverId() != null && staffId == order.getReceiverId()) { - ebikeScanInfoDto.setBatterySwapAcceptSelf(Boolean.TRUE); - } - } - case BikeOrderType.DISPATCH -> { - ebikeScanInfoDto.setHasDispatch(Boolean.TRUE); - if (order.getReceiverId() != null && staffId == order.getReceiverId()) { - ebikeScanInfoDto.setDispatchAcceptSelf(Boolean.TRUE); - } - } - case BikeOrderType.REPAIR -> { - ebikeScanInfoDto.setHasRepair(Boolean.TRUE); - if (order.getReceiverId() != null && staffId == order.getReceiverId()) { - ebikeScanInfoDto.setRepairAcceptSelf(Boolean.TRUE); - } + for (EbikeScanOrderDto order : list) { + if (order.getReceiverId() != null) { + order.setAccepted(Boolean.TRUE); + if (order.getReceiverId() == staffId){ + order.setAcceptSelf(Boolean.TRUE); } } } } + ebikeScanInfoDto.setOrders(list); return ebikeScanInfoDto; } diff --git a/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeBikeOrderServiceImpl.java b/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeBikeOrderServiceImpl.java index 97d99da..0b05a31 100644 --- a/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeBikeOrderServiceImpl.java +++ b/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeBikeOrderServiceImpl.java @@ -118,7 +118,8 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl list = new ArrayList<>(); - list.add(OrderHandleState.UNPROCESSED); - list.add(OrderHandleState.ACCEPTED); + QueryWrapper queryWrapper = QueryWrapper.create() - .where(EBIKE_BIKE_ORDER.HANDLE_STATE.in(list)) .where(EBIKE_BIKE_ORDER.BIKE_CODE.eq(bikeInfo.getBikeCode())) - .where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(BikeOrderType.DISPATCH)); + .where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(BikeOrderType.DISPATCH)) + .where(EBIKE_BIKE_ORDER.HANDLE_STATE.eq(OrderHandleState.UNPROCESSED).or(EBIKE_BIKE_ORDER.HANDLE_STATE.eq(OrderHandleState.ACCEPTED))); EbikeBikeOrder bikeOrder = this.mapper.selectOneByQuery(queryWrapper); if (bikeOrder != null) { log.error("车辆已存在调度工单,bikeCode={} ", bikeInfo.getBikeCode()); @@ -255,7 +256,8 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl