From bad1d0435b885657c6ff3eca6ef90072dfcac14dfaf122f4b45f75a2e8fa3585 Mon Sep 17 00:00:00 2001 From: yanglei Date: Thu, 5 Mar 2026 16:35:04 +0800 Subject: [PATCH] =?UTF-8?q?redis=E6=96=B0=E5=A2=9Eecu=5Fsn=E7=9A=84?= =?UTF-8?q?=E5=8C=BA=E5=9F=9Fid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cdzy/common/enums/EbikeContents.java | 2 +- .../operations/model/vo/EbikeEcuSnInfoVo.java | 21 ++++++++ .../impl/EbikeBikeInfoServiceImpl.java | 54 +++++++++++++++++-- .../impl/EbikeBikeOrderServiceImpl.java | 13 ++++- .../com/cdzy/operations/utils/RedisUtil.java | 16 ++++++ 5 files changed, 101 insertions(+), 5 deletions(-) create mode 100644 ebike-operations/src/main/java/com/cdzy/operations/model/vo/EbikeEcuSnInfoVo.java diff --git a/ebike-common/src/main/java/com/cdzy/common/enums/EbikeContents.java b/ebike-common/src/main/java/com/cdzy/common/enums/EbikeContents.java index dddfe81..2120281 100644 --- a/ebike-common/src/main/java/com/cdzy/common/enums/EbikeContents.java +++ b/ebike-common/src/main/java/com/cdzy/common/enums/EbikeContents.java @@ -13,5 +13,5 @@ public interface EbikeContents { /** * 中控ecu区域id */ - String ECU_SN = "bike:ecusn:regionid"; + String ECU_SN = "bike:ecusn:regionid:"; } diff --git a/ebike-operations/src/main/java/com/cdzy/operations/model/vo/EbikeEcuSnInfoVo.java b/ebike-operations/src/main/java/com/cdzy/operations/model/vo/EbikeEcuSnInfoVo.java new file mode 100644 index 0000000..5a47860 --- /dev/null +++ b/ebike-operations/src/main/java/com/cdzy/operations/model/vo/EbikeEcuSnInfoVo.java @@ -0,0 +1,21 @@ +package com.cdzy.operations.model.vo; + +import lombok.Data; + +/** + * @author yanglei + * @since 2026-03-05 11:22 + */ +@Data +public class EbikeEcuSnInfoVo { + + /** + * 车辆编号 + */ + private String bikeCode; + + /** + * 中控SN码 + */ + private String ecuSn; +} 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 3eb1007..6691d5d 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 @@ -23,13 +23,18 @@ import com.cdzy.operations.mapper.EbikeDefaultBillingConfigurationMapper; import com.cdzy.operations.mapper.EbikeRegionMapper; import com.cdzy.operations.mapper.EbikeSiteMapper; import com.cdzy.operations.mapper.EbikeSpecialBillingConfigurationMapper; -import com.cdzy.operations.model.dto.*; +import com.cdzy.operations.model.dto.EbikeBikeInfoDto; +import com.cdzy.operations.model.dto.EbikeDto; +import com.cdzy.operations.model.dto.EbikeScanInfoDto; +import com.cdzy.operations.model.dto.EbikeScanOrderDto; +import com.cdzy.operations.model.dto.EbikeUserBikeInfo; +import com.cdzy.operations.model.dto.EbikeUserLockDto; import com.cdzy.operations.model.entity.EbikeBatteryInfo; import com.cdzy.operations.model.entity.EbikeBikeInfo; import com.cdzy.operations.model.entity.EbikeBikeOrder; import com.cdzy.operations.model.entity.EbikeBikeQr; -import com.cdzy.operations.model.entity.EbikeDefaultBillingConfiguration; import com.cdzy.operations.model.entity.EbikeCarrierConfiguration; +import com.cdzy.operations.model.entity.EbikeDefaultBillingConfiguration; import com.cdzy.operations.model.entity.EbikeEcuInfo; import com.cdzy.operations.model.entity.EbikeInventoryRecord; import com.cdzy.operations.model.entity.EbikeRegion; @@ -37,7 +42,13 @@ import com.cdzy.operations.model.entity.EbikeSite; import com.cdzy.operations.model.entity.EbikeSpecialBillingConfiguration; import com.cdzy.operations.model.entity.EbikeSpecialDay; import com.cdzy.operations.model.entity.EbikeSpecialTime; -import com.cdzy.operations.model.vo.*; +import com.cdzy.operations.model.vo.EbikeBatchLaunchVo; +import com.cdzy.operations.model.vo.EbikeBatchUnLaunchVo; +import com.cdzy.operations.model.vo.EbikeBikeBindVo; +import com.cdzy.operations.model.vo.EbikeBikeRadiusVo; +import com.cdzy.operations.model.vo.EbikeEcuMsgDto; +import com.cdzy.operations.model.vo.EbikeEcuSnInfoVo; +import com.cdzy.operations.model.vo.EbikeInventoryVo; import com.cdzy.operations.service.EbikeBikeInfoService; import com.cdzy.operations.service.EbikeCarrierConfigurationService; import com.cdzy.operations.service.EbikeEcuInfoService; @@ -316,6 +327,11 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl bikeEcuSn = getEcuSn(bikeCodes); + for (EbikeEcuSnInfoVo ecsSnInfo : bikeEcuSn) { + redisUtil.saveEcuSnRegionId(ecsSnInfo.getEcuSn(), launchVo.getRegionId()); + } } @Override @@ -329,6 +345,11 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl bikeEcuSn = getEcuSn(bikeCodes); + for (EbikeEcuSnInfoVo ecsSnInfo : bikeEcuSn) { + redisUtil.deleteEcuSnRegionId(ecsSnInfo.getEcuSn()); + } } @Override @@ -549,6 +570,13 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl getEcuSn(List bikeCodes) { + QueryWrapper query = QueryWrapper.create() + .select(EBIKE_BIKE_INFO.BIKE_CODE, EBIKE_ECU_INFO.ECU_SN) + .from(EBIKE_BIKE_INFO) + .leftJoin(EBIKE_ECU_INFO).on(EBIKE_BIKE_INFO.ECU_ID.eq(EBIKE_ECU_INFO.ECU_ID)) + .where(EBIKE_BIKE_INFO.BIKE_CODE.in(bikeCodes)); + return this.mapper.selectListByQueryAs(query, EbikeEcuSnInfoVo.class); + } + + static EbikeSpecialDay getEbikeSpecialDay(List ebikeSpecialDays) { LocalDate today = LocalDate.now(); DayOfWeek dayOfWeek = today.getDayOfWeek(); 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 6610628..e39806e 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 @@ -401,6 +401,13 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl