redis存储车辆所使用数据
parent
ac3aa82ef4
commit
9c8131232b
|
@ -16,6 +16,9 @@ public class MarkersFence {
|
||||||
@TableField(value = "fence_id",insertStrategy = FieldStrategy.IGNORED)
|
@TableField(value = "fence_id",insertStrategy = FieldStrategy.IGNORED)
|
||||||
private Long fenceId;
|
private Long fenceId;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public Long getMarkerId() {
|
public Long getMarkerId() {
|
||||||
return markerId;
|
return markerId;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
package com.zhilian.business;
|
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.EnableCustomConfig;
|
||||||
import com.zhilian.common.security.annotation.EnableMyFeignClients;
|
import com.zhilian.common.security.annotation.EnableMyFeignClients;
|
||||||
import com.zhilian.common.swagger.annotation.EnableCustomSwagger2;
|
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.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
|
||||||
|
@ -19,8 +24,19 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
@EnableCustomSwagger2
|
@EnableCustomSwagger2
|
||||||
@EnableMyFeignClients
|
@EnableMyFeignClients
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
public class ZhilianBusinessApplication {
|
public class ZhiLianBusinessApplication implements ApplicationRunner {
|
||||||
|
@Autowired
|
||||||
|
private VehicleController vehicleController;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private FenceController fenceController;
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
SpringApplication.run(ZhilianBusinessApplication.class);
|
SpringApplication.run(ZhiLianBusinessApplication.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run(ApplicationArguments args) throws Exception {
|
||||||
|
fenceController.fenceRedisData();
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -87,7 +87,7 @@ public class FenceController extends BaseController {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("/fenceDelete/{fenceId}")
|
@PostMapping("/fenceDelete/{fenceId}")
|
||||||
public Result fenceDelete(@PathVariable String fenceId) {
|
public Result fenceDelete(@PathVariable Long fenceId) {
|
||||||
return toAjax(fenceService.removeByFence(fenceId));
|
return toAjax(fenceService.removeByFence(fenceId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,11 @@ import com.zhilian.business.domain.middle.MarkersFence;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
@Component
|
@Component
|
||||||
public interface MarkersFenceMapper extends BaseMapper<MarkersFence> {
|
public interface MarkersFenceMapper extends BaseMapper<MarkersFence> {
|
||||||
|
boolean deleteBatchFenceIds(List<Long> longs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,5 +14,5 @@ public interface FenceService extends IService<Fence> {
|
||||||
|
|
||||||
boolean updateByMap(Fence fence);
|
boolean updateByMap(Fence fence);
|
||||||
|
|
||||||
boolean removeByFence(String fenceId);
|
boolean removeByFence(Long fenceId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,22 @@
|
||||||
package com.zhilian.business.service.impl;
|
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.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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.zhilian.business.domain.Fence;
|
import com.zhilian.business.domain.Fence;
|
||||||
|
import com.zhilian.business.domain.middle.MarkersFence;
|
||||||
import com.zhilian.business.mapper.FenceMapper;
|
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.business.service.FenceService;
|
||||||
import com.zhilian.common.core.utils.StringUtils;
|
import com.zhilian.common.core.utils.StringUtils;
|
||||||
import com.zhilian.common.redis.service.RedisService;
|
import com.zhilian.common.redis.service.RedisService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
|
@ -17,6 +24,9 @@ public class FenceServiceImpl extends ServiceImpl<FenceMapper, Fence> implements
|
||||||
@Autowired
|
@Autowired
|
||||||
private RedisService redisService;
|
private RedisService redisService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MarkersFenceMapper markersFenceMapper;
|
||||||
|
|
||||||
private static final String FENCE_INFO_KEY = "fence_info:";
|
private static final String FENCE_INFO_KEY = "fence_info:";
|
||||||
//电子围栏信息查询
|
//电子围栏信息查询
|
||||||
@Override
|
@Override
|
||||||
|
@ -52,7 +62,9 @@ public class FenceServiceImpl extends ServiceImpl<FenceMapper, Fence> implements
|
||||||
public void fenceRedisData() {
|
public void fenceRedisData() {
|
||||||
List<Fence> list = this.list();
|
List<Fence> list = this.list();
|
||||||
for (Fence fence : 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<FenceMapper, Fence> implements
|
||||||
|
|
||||||
//删除电子围栏
|
//删除电子围栏
|
||||||
@Override
|
@Override
|
||||||
public boolean removeByFence(String fenceId) {
|
public boolean removeByFence(Long fenceId) {
|
||||||
boolean remove = this.removeById(Integer.parseInt(fenceId));
|
boolean remove = this.removeById(fenceId);
|
||||||
if(redisService.hasKey(FENCE_INFO_KEY+fenceId)){
|
if(redisService.hasKey(FENCE_INFO_KEY+fenceId)){
|
||||||
redisService.deleteObject(FENCE_INFO_KEY+fenceId);
|
redisService.deleteObject(FENCE_INFO_KEY+fenceId);
|
||||||
}
|
}
|
||||||
|
QueryWrapper<MarkersFence> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("fence_id", fenceId);
|
||||||
|
List<MarkersFence> markersFences = markersFenceMapper.selectList(queryWrapper);
|
||||||
|
List<Long> longs = new ArrayList<>();
|
||||||
|
markersFences.stream().forEach(markersFence -> {
|
||||||
|
longs.add(markersFence.getMarkerId());
|
||||||
|
});
|
||||||
|
markersFenceMapper.deleteBatchFenceIds(longs);
|
||||||
return remove;
|
return remove;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -94,15 +94,10 @@ public class VehicleServiceImpl extends ServiceImpl<VehicleMapper, Vehicle> impl
|
||||||
public List<VehicleFence> selectSelectAllData() {
|
public List<VehicleFence> selectSelectAllData() {
|
||||||
List<VehicleFence> vehicleMarkersFence = vehicleMapper.selectListAll();
|
List<VehicleFence> vehicleMarkersFence = vehicleMapper.selectListAll();
|
||||||
for (VehicleFence vehicleFence : vehicleMarkersFence) {
|
for (VehicleFence vehicleFence : vehicleMarkersFence) {
|
||||||
// 切割 fenceIds 字段为数组
|
|
||||||
String[] fenceIdsArray = vehicleFence.getFences().split(",");
|
String[] fenceIdsArray = vehicleFence.getFences().split(",");
|
||||||
|
|
||||||
// 将数组转换为 ArrayList
|
|
||||||
ArrayList<String> fenceIdsArrayList = new ArrayList<>(Arrays.asList( fenceIdsArray));
|
ArrayList<String> fenceIdsArrayList = new ArrayList<>(Arrays.asList( fenceIdsArray));
|
||||||
|
|
||||||
vehicleFence.setFenceIds(fenceIdsArrayList);
|
vehicleFence.setFenceIds(fenceIdsArrayList);
|
||||||
}
|
}
|
||||||
// 缓存
|
|
||||||
for (VehicleFence vehicleFence : vehicleMarkersFence) {
|
for (VehicleFence vehicleFence : vehicleMarkersFence) {
|
||||||
redisService.setCacheList(VEHICLE_PEOPLE_KEY + vehicleFence.getVehicleVIN(), vehicleFence.getFenceIds());
|
redisService.setCacheList(VEHICLE_PEOPLE_KEY + vehicleFence.getVehicleVIN(), vehicleFence.getFenceIds());
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.zhilian.business.mapper.MarkersFenceMapper">
|
||||||
|
|
||||||
|
<delete id="deleteBatchFenceIds">
|
||||||
|
|
||||||
|
</delete>
|
||||||
|
</mapper>
|
Loading…
Reference in New Issue