From 9c8131232b72b1c2eee7095d8915006868344f6c Mon Sep 17 00:00:00 2001 From: Su ZeJing <3039179835@qq.com> Date: Mon, 15 Apr 2024 20:38:58 +0800 Subject: [PATCH] =?UTF-8?q?redis=E5=AD=98=E5=82=A8=E8=BD=A6=E8=BE=86?= =?UTF-8?q?=E6=89=80=E4=BD=BF=E7=94=A8=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/domain/middle/MarkersFence.java | 3 +++ ...n.java => ZhiLianBusinessApplication.java} | 20 ++++++++++++-- .../business/controller/FenceController.java | 2 +- .../business/mapper/MarkersFenceMapper.java | 4 +++ .../business/service/FenceService.java | 2 +- .../service/impl/FenceServiceImpl.java | 26 ++++++++++++++++--- .../service/impl/VehicleServiceImpl.java | 5 ---- .../resources/mapper/MarkersFenceMapper.xml | 10 +++++++ 8 files changed, 60 insertions(+), 12 deletions(-) rename zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/{ZhilianBusinessApplication.java => ZhiLianBusinessApplication.java} (51%) create mode 100644 zhilian-modules/zhilian-business/src/main/resources/mapper/MarkersFenceMapper.xml diff --git a/zhilian-common/zhilian-common-business/src/main/java/com/zhilian/business/domain/middle/MarkersFence.java b/zhilian-common/zhilian-common-business/src/main/java/com/zhilian/business/domain/middle/MarkersFence.java index d4a732e..07aff91 100644 --- a/zhilian-common/zhilian-common-business/src/main/java/com/zhilian/business/domain/middle/MarkersFence.java +++ b/zhilian-common/zhilian-common-business/src/main/java/com/zhilian/business/domain/middle/MarkersFence.java @@ -16,6 +16,9 @@ public class MarkersFence { @TableField(value = "fence_id",insertStrategy = FieldStrategy.IGNORED) private Long fenceId; + + + public Long getMarkerId() { return markerId; } diff --git a/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/ZhilianBusinessApplication.java b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/ZhiLianBusinessApplication.java similarity index 51% rename from zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/ZhilianBusinessApplication.java rename to zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/ZhiLianBusinessApplication.java index 92a1cc0..91acff6 100644 --- a/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/ZhilianBusinessApplication.java +++ b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/ZhiLianBusinessApplication.java @@ -1,8 +1,13 @@ package com.zhilian.business; +import com.zhilian.business.controller.FenceController; +import com.zhilian.business.controller.VehicleController; import com.zhilian.common.security.annotation.EnableCustomConfig; import com.zhilian.common.security.annotation.EnableMyFeignClients; import com.zhilian.common.swagger.annotation.EnableCustomSwagger2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -19,8 +24,19 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @EnableCustomSwagger2 @EnableMyFeignClients @SpringBootApplication -public class ZhilianBusinessApplication { +public class ZhiLianBusinessApplication implements ApplicationRunner { + @Autowired + private VehicleController vehicleController; + + @Autowired + private FenceController fenceController; + public static void main(String[] args) { - SpringApplication.run(ZhilianBusinessApplication.class); + SpringApplication.run(ZhiLianBusinessApplication.class); + } + + @Override + public void run(ApplicationArguments args) throws Exception { + fenceController.fenceRedisData(); } } diff --git a/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/controller/FenceController.java b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/controller/FenceController.java index 334a181..dcdf8ed 100644 --- a/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/controller/FenceController.java +++ b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/controller/FenceController.java @@ -87,7 +87,7 @@ public class FenceController extends BaseController { * @return */ @PostMapping("/fenceDelete/{fenceId}") - public Result fenceDelete(@PathVariable String fenceId) { + public Result fenceDelete(@PathVariable Long fenceId) { return toAjax(fenceService.removeByFence(fenceId)); } diff --git a/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/mapper/MarkersFenceMapper.java b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/mapper/MarkersFenceMapper.java index cbb1ea3..9f5ecb5 100644 --- a/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/mapper/MarkersFenceMapper.java +++ b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/mapper/MarkersFenceMapper.java @@ -4,7 +4,11 @@ import com.zhilian.business.domain.middle.MarkersFence; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Component; +import java.util.ArrayList; +import java.util.List; + @Mapper @Component public interface MarkersFenceMapper extends BaseMapper { + boolean deleteBatchFenceIds(List longs); } diff --git a/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/service/FenceService.java b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/service/FenceService.java index bfdbecb..5983841 100644 --- a/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/service/FenceService.java +++ b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/service/FenceService.java @@ -14,5 +14,5 @@ public interface FenceService extends IService { boolean updateByMap(Fence fence); - boolean removeByFence(String fenceId); + boolean removeByFence(Long fenceId); } diff --git a/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/service/impl/FenceServiceImpl.java b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/service/impl/FenceServiceImpl.java index 2752411..bf45a17 100644 --- a/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/service/impl/FenceServiceImpl.java +++ b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/service/impl/FenceServiceImpl.java @@ -1,15 +1,22 @@ package com.zhilian.business.service.impl; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zhilian.business.domain.Fence; +import com.zhilian.business.domain.middle.MarkersFence; import com.zhilian.business.mapper.FenceMapper; +import com.zhilian.business.mapper.MarkersFenceMapper; +import com.zhilian.business.mapper.MarkersMapper; import com.zhilian.business.service.FenceService; import com.zhilian.common.core.utils.StringUtils; import com.zhilian.common.redis.service.RedisService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; @Service @@ -17,6 +24,9 @@ public class FenceServiceImpl extends ServiceImpl implements @Autowired private RedisService redisService; + @Autowired + private MarkersFenceMapper markersFenceMapper; + private static final String FENCE_INFO_KEY = "fence_info:"; //电子围栏信息查询 @Override @@ -52,7 +62,9 @@ public class FenceServiceImpl extends ServiceImpl implements public void fenceRedisData() { List list = this.list(); for (Fence fence : list) { - redisService.setCacheSet(FENCE_INFO_KEY+fence.getFenceId(),fence.getFenceMessage()); + if(!redisService.hasKey(FENCE_INFO_KEY+fence.getFenceId())){ + redisService.setCacheSet(FENCE_INFO_KEY+fence.getFenceId(),fence.getFenceMessage()); + } } } //删除电子围栏全部数据 @@ -82,11 +94,19 @@ public class FenceServiceImpl extends ServiceImpl implements //删除电子围栏 @Override - public boolean removeByFence(String fenceId) { - boolean remove = this.removeById(Integer.parseInt(fenceId)); + public boolean removeByFence(Long fenceId) { + boolean remove = this.removeById(fenceId); if(redisService.hasKey(FENCE_INFO_KEY+fenceId)){ redisService.deleteObject(FENCE_INFO_KEY+fenceId); } + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("fence_id", fenceId); + List markersFences = markersFenceMapper.selectList(queryWrapper); + List longs = new ArrayList<>(); + markersFences.stream().forEach(markersFence -> { + longs.add(markersFence.getMarkerId()); + }); + markersFenceMapper.deleteBatchFenceIds(longs); return remove; } diff --git a/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/service/impl/VehicleServiceImpl.java b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/service/impl/VehicleServiceImpl.java index 950599f..be4eb91 100644 --- a/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/service/impl/VehicleServiceImpl.java +++ b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/service/impl/VehicleServiceImpl.java @@ -94,15 +94,10 @@ public class VehicleServiceImpl extends ServiceImpl impl public List selectSelectAllData() { List vehicleMarkersFence = vehicleMapper.selectListAll(); for (VehicleFence vehicleFence : vehicleMarkersFence) { - // 切割 fenceIds 字段为数组 String[] fenceIdsArray = vehicleFence.getFences().split(","); - - // 将数组转换为 ArrayList ArrayList fenceIdsArrayList = new ArrayList<>(Arrays.asList( fenceIdsArray)); - vehicleFence.setFenceIds(fenceIdsArrayList); } - // 缓存 for (VehicleFence vehicleFence : vehicleMarkersFence) { redisService.setCacheList(VEHICLE_PEOPLE_KEY + vehicleFence.getVehicleVIN(), vehicleFence.getFenceIds()); } diff --git a/zhilian-modules/zhilian-business/src/main/resources/mapper/MarkersFenceMapper.xml b/zhilian-modules/zhilian-business/src/main/resources/mapper/MarkersFenceMapper.xml new file mode 100644 index 0000000..8e8c0dc --- /dev/null +++ b/zhilian-modules/zhilian-business/src/main/resources/mapper/MarkersFenceMapper.xml @@ -0,0 +1,10 @@ + + + + + + + +