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 @@ + + + + + + + +