缓存代码

develop
fengchunyu 9 months ago
parent 1651f43db0
commit 829c2b9a64

@ -32,4 +32,4 @@ wsDownloadPicAreaStart=320924
wsDownloadPicPath=/home/dataaccess
wshttpurl=http://50.146.63.16:8080/syx_webservice/getCzrkImgage.xhtml?sfzh=
#射阳 实有人口将有房屋号的数据根据户籍表数据清洗,并更新户主关系
jwzUserInfoToActual=true
jwzUserInfoToActual=false

@ -109,6 +109,14 @@
<version>4.9.1</version>
</dependency>
<!--caffeine本地缓存-->
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
<build>

@ -0,0 +1,66 @@
package com.ssf.mysqloracletest.cache;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
import com.ssf.mysqloracletest.domain.DevopsDeviceInfo;
import com.ssf.mysqloracletest.service.DevopsDeviceInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
*
*
* @since 2023-09-16 11:04
*/
@Component
public class DeviceCache {
/**
*
*/
private static final Cache<String, String> cache = Caffeine.newBuilder().build();
private static DevopsDeviceInfoService devopsDeviceInfoService;
@Autowired
DeviceCache(DevopsDeviceInfoService devopsDeviceInfoService) {
DeviceCache.devopsDeviceInfoService = devopsDeviceInfoService;
//初始化
load();
}
public static String get(String key) {
return cache.get(key, s -> {
try {
return String.valueOf(devopsDeviceInfoService.getOne(new LambdaQueryWrapper<DevopsDeviceInfo>().eq(DevopsDeviceInfo::getGbsChannelNo, key)));
} catch (Exception e) {
return null;
}
});
}
/**
*
*/
@Scheduled(cron = "0 0 3 * * ?")
public static void refresh() {
load();
}
private static void load() {
List<DevopsDeviceInfo> list = devopsDeviceInfoService.list();
Map<String, String> dictMap = list.stream().collect(Collectors.toMap(DevopsDeviceInfo::getGbsChannelNo, e -> String.valueOf(e), (v1, v2) -> v2));
Map<String, String> dictMapCode = list.stream().collect(Collectors.toMap(
e -> e.getGbsChannelNo(),
e -> String.valueOf(e), (v1, v2) -> v2));
cache.putAll(dictMap);
cache.putAll(dictMapCode);
}
}

@ -0,0 +1,66 @@
package com.ssf.mysqloracletest.cache;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
import com.ssf.mysqloracletest.domain.DevopsVideoInfo;
import com.ssf.mysqloracletest.service.DevopsVideoInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
*
*
* @since 2023-09-16 11:04
*/
@Component
public class VideoCache {
/**
*
*/
private static final Cache<String, String> cache = Caffeine.newBuilder().build();
private static DevopsVideoInfoService devopsVideoInfoService;
@Autowired
VideoCache(DevopsVideoInfoService devopsVideoInfoService) {
VideoCache.devopsVideoInfoService = devopsVideoInfoService;
//初始化
load();
}
public static String get(String key) {
return cache.get(key, s -> {
try {
return String.valueOf(devopsVideoInfoService.getOne(new LambdaQueryWrapper<DevopsVideoInfo>().eq(DevopsVideoInfo::getGbsChannelNo, key)));
} catch (Exception e) {
return null;
}
});
}
/**
*
*/
@Scheduled(cron = "0 0 3 * * ?")
public static void refresh() {
load();
}
private static void load() {
List<DevopsVideoInfo> list = devopsVideoInfoService.list();
Map<String, String> dictMap = list.stream().collect(Collectors.toMap(DevopsVideoInfo::getGbsChannelNo, e -> String.valueOf(e), (v1, v2) -> v2));
Map<String, String> dictMapCode = list.stream().collect(Collectors.toMap(
e -> e.getGbsChannelNo(),
e -> String.valueOf(e), (v1, v2) -> v2));
cache.putAll(dictMap);
cache.putAll(dictMapCode);
}
}

@ -0,0 +1,171 @@
package com.ssf.mysqloracletest.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* (DevopsDeviceInfo)Domain
*
* @author makejava
* @since 2023-12-14 16:26:46
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "devops_device_info")
public class DevopsDeviceInfo {
/**
*
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
*
*/
private String placeCode;
/**
*
*/
private String placeName;
/**
*
*/
private String deviceName;
/**
*
*/
private String deviceCode;
/**
*
*/
private String gbsChannelNo;
/**
*
*/
private Integer deviceType;
/**
*
*/
private String structuredCameraType;
/**
*
*/
private String deviceAddress;
/**
*
*/
private Integer orientation;
/**
* SN
*/
private String deviceSn;
/**
*
*/
private String deviceBrand;
/**
* ip
*/
private String deviceIp;
/**
*
*/
private Integer devicePort;
/**
* MAC
*/
private String deviceMac;
/**
* IMEI
*/
private String deviceImei;
/**
*
*/
private Double longitude;
/**
*
*/
private Double latitude;
/**
* U3D
*/
private Double u3dLongitude;
/**
* U3D
*/
private Double u3dLatitude;
/**
*
*/
private String deviceHeight;
/**
*
*/
private String manufactor;
/**
*
*/
private String account;
/**
*
*/
private String password;
/**
*
*/
private Integer direction;
/**
* RTSP
*/
private String rtspAddress;
/**
*
*/
private Integer isDoorwayVideo;
/**
* region_id
*/
private String stRegionId;
/**
* camera_idx
*/
private String stCameraIdx;
/**
*
*/
private Integer channelNo;
}

@ -0,0 +1,76 @@
package com.ssf.mysqloracletest.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* (DevopsDeviceStatus)Domain
*
* @author makejava
* @since 2023-12-14 16:26:47
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "devops_device_status")
public class DevopsDeviceStatus {
/**
*
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
*
*/
private String placeCode;
/**
*
*/
private String placeName;
/**
*
*/
private String deviceCode;
/**
*
*/
private String gbsChannelNo;
/**
*
*/
private String deviceName;
/**
* ip
*/
private String deviceIp;
/**
*
*/
private Integer deviceType;
/**
*
*/
private Long heartbeatTime;
/**
* 线
*/
private Integer isOnline;
/**
*
*/
private Integer isAlarm;
}

@ -0,0 +1,141 @@
package com.ssf.mysqloracletest.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* (DevopsVideoInfo)Domain
*
* @author makejava
* @since 2023-12-14 16:26:47
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "devops_video_info")
public class DevopsVideoInfo {
/**
*
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
*
*/
private String placeCode;
/**
*
*/
private String placeName;
/**
*
*/
private String deviceCode;
/**
*
*/
private String deviceName;
/**
*
*/
private Integer monitoringType;
/**
*
*/
private String deviceAddress;
/**
*
*/
private Integer orientation;
/**
* SN
*/
private String deviceSn;
/**
*
*/
private String deviceBrand;
/**
* ip
*/
private String deviceIp;
/**
*
*/
private Integer devicePort;
/**
* MAC
*/
private String deviceMac;
/**
*
*/
private Double longitude;
/**
*
*/
private Double latitude;
/**
* U3D
*/
private Double u3dLongitude;
/**
* U3D
*/
private Double u3dLatitude;
/**
*
*/
private String deviceHeight;
/**
*
*/
private String manufactor;
/**
*
*/
private String account;
/**
*
*/
private String password;
/**
*
*/
private String gbsChannelNo;
/**
* NVR
*/
private String gbsNvrNo;
/**
*
*/
private Integer channelNo;
}

@ -0,0 +1,76 @@
package com.ssf.mysqloracletest.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* (DevopsVideoStatus)Domain
*
* @author makejava
* @since 2023-12-14 16:26:47
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "devops_video_status")
public class DevopsVideoStatus {
/**
*
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
*
*/
private String placeCode;
/**
*
*/
private String placeName;
/**
*
*/
private String deviceCode;
/**
* NVR
*/
private String gbsNvrNo;
/**
*
*/
private String gbsChannelNo;
/**
*
*/
private String deviceName;
/**
* ip
*/
private String deviceIp;
/**
*
*/
private Integer monitoringType;
/**
*
*/
private Long heartbeatTime;
/**
* 线
*/
private Integer isOnline;
}

@ -0,0 +1,16 @@
package com.ssf.mysqloracletest.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ssf.mysqloracletest.domain.DevopsDeviceInfo;
import org.apache.ibatis.annotations.Mapper;
/**
* (DevopsDeviceInfo)Mapper
*
* @author makejava
* @since 2023-12-14 16:26:46
*/
@Mapper
public interface DevopsDeviceInfoMapper extends BaseMapper<DevopsDeviceInfo> {
}

@ -0,0 +1,16 @@
package com.ssf.mysqloracletest.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ssf.mysqloracletest.domain.DevopsDeviceStatus;
import org.apache.ibatis.annotations.Mapper;
/**
* (DevopsDeviceStatus)Mapper
*
* @author makejava
* @since 2023-12-14 16:26:47
*/
@Mapper
public interface DevopsDeviceStatusMapper extends BaseMapper<DevopsDeviceStatus> {
}

@ -0,0 +1,16 @@
package com.ssf.mysqloracletest.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ssf.mysqloracletest.domain.DevopsVideoInfo;
import org.apache.ibatis.annotations.Mapper;
/**
* (DevopsVideoInfo)Mapper
*
* @author makejava
* @since 2023-12-14 16:26:47
*/
@Mapper
public interface DevopsVideoInfoMapper extends BaseMapper<DevopsVideoInfo> {
}

@ -0,0 +1,16 @@
package com.ssf.mysqloracletest.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ssf.mysqloracletest.domain.DevopsVideoStatus;
import org.apache.ibatis.annotations.Mapper;
/**
* (DevopsVideoStatus)Mapper
*
* @author makejava
* @since 2023-12-14 16:26:47
*/
@Mapper
public interface DevopsVideoStatusMapper extends BaseMapper<DevopsVideoStatus> {
}

@ -0,0 +1,25 @@
package com.ssf.mysqloracletest.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ssf.mysqloracletest.domain.DevopsDeviceInfo;
import java.util.List;
/**
* (DevopsDeviceInfo)Service
*
* @author makejava
* @since 2023-12-14 16:26:46
*/
public interface DevopsDeviceInfoService extends IService<DevopsDeviceInfo> {
/**
*
*
* @param devopsDeviceInfo
* @return
*/
boolean insertOrUpdate(DevopsDeviceInfo devopsDeviceInfo);
}

@ -0,0 +1,25 @@
package com.ssf.mysqloracletest.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ssf.mysqloracletest.domain.DevopsDeviceStatus;
import java.util.List;
/**
* (DevopsDeviceStatus)Service
*
* @author makejava
* @since 2023-12-14 16:26:46
*/
public interface DevopsDeviceStatusService extends IService<DevopsDeviceStatus> {
/**
*
*
* @param devopsDeviceStatus
* @return
*/
boolean insertOrUpdate(DevopsDeviceStatus devopsDeviceStatus);
}

@ -0,0 +1,25 @@
package com.ssf.mysqloracletest.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ssf.mysqloracletest.domain.DevopsVideoInfo;
import java.util.List;
/**
* (DevopsVideoInfo)Service
*
* @author makejava
* @since 2023-12-14 16:26:47
*/
public interface DevopsVideoInfoService extends IService<DevopsVideoInfo> {
/**
*
*
* @param devopsVideoInfo
* @return
*/
boolean insertOrUpdate(DevopsVideoInfo devopsVideoInfo);
}

@ -0,0 +1,25 @@
package com.ssf.mysqloracletest.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ssf.mysqloracletest.domain.DevopsVideoStatus;
import java.util.List;
/**
* (DevopsVideoStatus)Service
*
* @author makejava
* @since 2023-12-14 16:26:47
*/
public interface DevopsVideoStatusService extends IService<DevopsVideoStatus> {
/**
*
*
* @param devopsVideoStatus
* @return
*/
boolean insertOrUpdate(DevopsVideoStatus devopsVideoStatus);
}

@ -0,0 +1,24 @@
package com.ssf.mysqloracletest.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ssf.mysqloracletest.domain.DevopsDeviceInfo;
import com.ssf.mysqloracletest.mapper.DevopsDeviceInfoMapper;
import com.ssf.mysqloracletest.service.DevopsDeviceInfoService;
import org.springframework.stereotype.Service;
/**
* (DevopsDeviceInfo)ServiceImpl
*
* @author makejava
* @since 2023-12-14 16:26:46
*/
@Service
public class DevopsDeviceInfoServiceImpl extends ServiceImpl<DevopsDeviceInfoMapper, DevopsDeviceInfo> implements DevopsDeviceInfoService {
@Override
public boolean insertOrUpdate(DevopsDeviceInfo devopsDeviceInfo) {
return false;
}
}

@ -0,0 +1,24 @@
package com.ssf.mysqloracletest.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ssf.mysqloracletest.domain.DevopsDeviceStatus;
import com.ssf.mysqloracletest.mapper.DevopsDeviceStatusMapper;
import com.ssf.mysqloracletest.service.DevopsDeviceStatusService;
import org.springframework.stereotype.Service;
/**
* (DevopsDeviceStatus)ServiceImpl
*
* @author makejava
* @since 2023-12-14 16:26:47
*/
@Service
public class DevopsDeviceStatusServiceImpl extends ServiceImpl<DevopsDeviceStatusMapper, DevopsDeviceStatus> implements DevopsDeviceStatusService {
@Override
public boolean insertOrUpdate(DevopsDeviceStatus devopsDeviceStatus) {
return false;
}
}

@ -0,0 +1,24 @@
package com.ssf.mysqloracletest.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ssf.mysqloracletest.domain.DevopsVideoInfo;
import com.ssf.mysqloracletest.mapper.DevopsVideoInfoMapper;
import com.ssf.mysqloracletest.service.DevopsVideoInfoService;
import org.springframework.stereotype.Service;
/**
* (DevopsVideoInfo)ServiceImpl
*
* @author makejava
* @since 2023-12-14 16:26:47
*/
@Service
public class DevopsVideoInfoServiceImpl extends ServiceImpl<DevopsVideoInfoMapper, DevopsVideoInfo> implements DevopsVideoInfoService {
@Override
public boolean insertOrUpdate(DevopsVideoInfo devopsVideoInfo) {
return false;
}
}

@ -0,0 +1,24 @@
package com.ssf.mysqloracletest.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ssf.mysqloracletest.domain.DevopsVideoStatus;
import com.ssf.mysqloracletest.mapper.DevopsVideoStatusMapper;
import com.ssf.mysqloracletest.service.DevopsVideoStatusService;
import org.springframework.stereotype.Service;
/**
* (DevopsVideoStatus)ServiceImpl
*
* @author makejava
* @since 2023-12-14 16:26:47
*/
@Service
public class DevopsVideoStatusServiceImpl extends ServiceImpl<DevopsVideoStatusMapper, DevopsVideoStatus> implements DevopsVideoStatusService {
@Override
public boolean insertOrUpdate(DevopsVideoStatus devopsVideoStatus) {
return false;
}
}

@ -49,6 +49,9 @@ public class JcjCjxxTask {
@Scheduled(initialDelay = 100, fixedDelay = 3000)
public void transcjxx() {
// String value = DeviceCache.get("32092451211328052004");
// System.out.println();
if (cjxxTag) {
return;
}

Loading…
Cancel
Save