From c9089418dd99fc34ba562b949e7aebfe1d4ccddcca1225ce2e265feaaf2129c5 Mon Sep 17 00:00:00 2001 From: attiya <2413103649@qq.com> Date: Thu, 27 Nov 2025 10:01:53 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E5=BA=A6=E5=B7=A5=E5=8D=95=EF=BC=9A?= =?UTF-8?q?=E8=B0=83=E5=BA=A6=E9=80=BB=E8=BE=91-=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E9=AA=91=E8=BD=A6=E5=90=8E=E8=B0=83=E5=BA=A6=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=B6=88=E8=80=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operations/enums/OrderDispatchState.java | 24 ++++++++++++++ .../operations/enums/OrderHandleState.java | 28 +++++++++++++++++ .../impl/EbikeBikeInfoServiceImpl.java | 31 ++++++++++++++++++- .../impl/EbikeBikeOrderServiceImpl.java | 31 ++++++++++++++----- .../com/cdzy/operations/utils/RedisUtil.java | 7 +++++ .../EbikeOperationsApplicationTests.java | 5 +++ 6 files changed, 117 insertions(+), 9 deletions(-) create mode 100644 ebike-operations/src/main/java/com/cdzy/operations/enums/OrderDispatchState.java create mode 100644 ebike-operations/src/main/java/com/cdzy/operations/enums/OrderHandleState.java diff --git a/ebike-operations/src/main/java/com/cdzy/operations/enums/OrderDispatchState.java b/ebike-operations/src/main/java/com/cdzy/operations/enums/OrderDispatchState.java new file mode 100644 index 0000000..8c213b3 --- /dev/null +++ b/ebike-operations/src/main/java/com/cdzy/operations/enums/OrderDispatchState.java @@ -0,0 +1,24 @@ +package com.cdzy.operations.enums; + +/** + * @author attiya + * @since 2025-10-15 + */ +public interface OrderDispatchState { + + /** + * 0-工单已处理但暂不生效 + */ + int PROCESSED = 0; + + /** + * 1-生效 + */ + int EFFECTIVE = 1; + + /** + * 2-不生效 + */ + int INEFFECTIVE = 2; + +} diff --git a/ebike-operations/src/main/java/com/cdzy/operations/enums/OrderHandleState.java b/ebike-operations/src/main/java/com/cdzy/operations/enums/OrderHandleState.java new file mode 100644 index 0000000..a0610d2 --- /dev/null +++ b/ebike-operations/src/main/java/com/cdzy/operations/enums/OrderHandleState.java @@ -0,0 +1,28 @@ +package com.cdzy.operations.enums; + +/** + * @author attiya + * @since 2025-10-15 + */ +public interface OrderHandleState { + + /** + * 0-未处理 + */ + int UNPROCESSED = 0; + + /** + * 1-已接单 + */ + int ACCEPTED = 1; + + /** + * 2-已处理 + */ + int PROCESSED = 2; + + /** + * 3-作废 + */ + int VOIDED = 3; +} 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 037b5a6..d7aa177 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 @@ -38,6 +38,7 @@ import java.util.Objects; import static com.cdzy.operations.model.entity.table.EbikeBatteryInfoTableDef.EBIKE_BATTERY_INFO; import static com.cdzy.operations.model.entity.table.EbikeBikeInfoTableDef.EBIKE_BIKE_INFO; +import static com.cdzy.operations.model.entity.table.EbikeBikeOrderTableDef.EBIKE_BIKE_ORDER; import static com.cdzy.operations.model.entity.table.EbikeBikeQrTableDef.EBIKE_BIKE_QR; import static com.cdzy.operations.model.entity.table.EbikeDefaultBillingConfigurationTableDef.EBIKE_DEFAULT_BILLING_CONFIGURATION; import static com.cdzy.operations.model.entity.table.EbikeEcuInfoTableDef.EBIKE_ECU_INFO; @@ -92,6 +93,9 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl list = new ArrayList<>(); + list.add(OrderHandleState.UNPROCESSED); + list.add(OrderHandleState.ACCEPTED); + query.clear(); + query.where(EBIKE_BIKE_ORDER.BIKE_CODE.in(info.getBikeCode())) + .where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(BikeOrderType.DISPATCH)) + .where(EBIKE_BIKE_ORDER.HANDLE_STATE.in(list)); + bikeOrder = orderMapper.selectOneByQuery(query); + if (bikeOrder != null) { + bikeOrder.setHandleState(OrderHandleState.VOIDED); + orderMapper.update(bikeOrder); + } } @Override 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 d35e505..a9bcc95 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 @@ -3,9 +3,7 @@ package com.cdzy.operations.service.impl; import cn.dev33.satoken.stp.StpUtil; import com.cdzy.common.ex.EbikeException; import com.cdzy.common.model.dto.ResGPSDto; -import com.cdzy.operations.enums.BikeOrderType; -import com.cdzy.operations.enums.BikeStatus; -import com.cdzy.operations.enums.BikeUsageStatus; +import com.cdzy.operations.enums.*; import com.cdzy.operations.mapper.*; import com.cdzy.operations.model.dto.EbikeBikeOrderInfoDto; import com.cdzy.operations.model.entity.EbikeBikeInfo; @@ -24,6 +22,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -109,11 +108,11 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl parts = inspectionSwapOrderVo.getParts(); List fileUrls = inspectionSwapOrderVo.getFileUrls(); - if (parts!=null && !parts.isEmpty()){ + if (parts != null && !parts.isEmpty()) { List list = parts.stream().map(e -> EbikeOrderPart.builder().orderId(orderId).orderPart(e).build()).toList(); orderPartMapper.insertBatch(list); } - if (fileUrls!=null && !fileUrls.isEmpty()){ + if (fileUrls != null && !fileUrls.isEmpty()) { List list = fileUrls.stream().map(e -> EbikeOrderFile.builder().orderId(orderId).fileUrl(e).build()).toList(); orderFileMapper.insertBatch(list); } @@ -123,7 +122,12 @@ 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)); EbikeBikeOrder bikeOrder = this.mapper.selectOneByQuery(queryWrapper); if (bikeOrder != null) { @@ -131,6 +135,17 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl