You've already forked FrameTour-BE
feat(device): 集成 zt-device 服务
- 移除 DeviceController、DeviceService 相关代码 - 更新 ViidController、WvpController 使用 DeviceIntegrationService - 修改 DeviceFactory 创建 DeviceEntity 的方式 - 更新 DeviceRepository 使用 DeviceV2DTO -调整 CustomUploadTaskService、AppScenicServiceImpl 中的设备相关逻辑 - 移除 DeviceServiceImpl 类 - 更新 VideoPieceCleaner、VideoPieceGetter 任务类,使用 DeviceIntegrationService 获取设备信息
This commit is contained in:
@@ -3,7 +3,6 @@ package com.ycwl.basic.repository;
|
||||
import com.ycwl.basic.integration.device.service.DeviceConfigIntegrationService;
|
||||
import com.ycwl.basic.integration.device.dto.config.DeviceConfigV2DTO;
|
||||
import com.ycwl.basic.utils.JacksonUtil;
|
||||
import com.ycwl.basic.mapper.DeviceMapper;
|
||||
import com.ycwl.basic.model.pc.device.entity.DeviceConfigEntity;
|
||||
import com.ycwl.basic.model.pc.device.entity.DeviceEntity;
|
||||
import com.ycwl.basic.utils.SnowFlakeUtil;
|
||||
@@ -19,13 +18,10 @@ import java.time.ZoneId;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
public class DeviceRepository {
|
||||
@Autowired
|
||||
private DeviceMapper deviceMapper;
|
||||
@Autowired
|
||||
private RedisTemplate<String, String> redisTemplate;
|
||||
@Autowired
|
||||
@@ -33,8 +29,6 @@ public class DeviceRepository {
|
||||
|
||||
public static final String DEVICE_ONLINE_CACHE_KEY = "device:online_status:%s";
|
||||
public static final String DEVICE_CACHE_KEY = "device:%s";
|
||||
public static final String DEVICE_CONFIG_CACHE_KEY = "device:%s:config";
|
||||
public static final String DEVICE_CONFIG_MANAGER_CACHE_KEY = "device:%s:config:manager";
|
||||
@Autowired
|
||||
private DeviceConfigIntegrationService deviceConfigIntegrationService;
|
||||
|
||||
@@ -114,35 +108,6 @@ public class DeviceRepository {
|
||||
return entity;
|
||||
}
|
||||
|
||||
public boolean clearDeviceCache(String deviceNo) {
|
||||
if (deviceNo == null) {
|
||||
return true;
|
||||
}
|
||||
if (redisTemplate.hasKey(String.format(DEVICE_CACHE_KEY, deviceNo))) {
|
||||
DeviceEntity device = getDeviceByDeviceNo(deviceNo);
|
||||
if (device != null) {
|
||||
redisTemplate.delete(String.format(DEVICE_CACHE_KEY, device.getNo()));
|
||||
clearDeviceCache(device.getId());
|
||||
} else {
|
||||
redisTemplate.delete(String.format(DEVICE_CACHE_KEY, deviceNo));
|
||||
}
|
||||
}
|
||||
redisTemplate.delete(String.format(DEVICE_CACHE_KEY, deviceNo));
|
||||
return true;
|
||||
}
|
||||
public boolean clearDeviceCache(Long deviceId) {
|
||||
if (redisTemplate.hasKey(String.format(DEVICE_CACHE_KEY, deviceId))) {
|
||||
DeviceEntity device = getDevice(deviceId);
|
||||
redisTemplate.delete(String.format(DEVICE_CACHE_KEY, device.getNo()));
|
||||
redisTemplate.delete(String.format(DEVICE_CONFIG_CACHE_KEY, device.getNo()));
|
||||
redisTemplate.delete(String.format(DEVICE_CONFIG_MANAGER_CACHE_KEY, device.getNo()));
|
||||
}
|
||||
redisTemplate.delete(String.format(DEVICE_CACHE_KEY, deviceId));
|
||||
redisTemplate.delete(String.format(DEVICE_CONFIG_CACHE_KEY, deviceId));
|
||||
redisTemplate.delete(String.format(DEVICE_CONFIG_MANAGER_CACHE_KEY, deviceId));
|
||||
return true;
|
||||
}
|
||||
|
||||
public void updateOnlineStatus(String deviceNo, int online, Date keepaliveAt) {
|
||||
DeviceEntity device = getDeviceByDeviceNo(deviceNo);
|
||||
if (null == device) {
|
||||
@@ -177,8 +142,15 @@ public class DeviceRepository {
|
||||
redisTemplate.opsForValue().set(String.format(DEVICE_CACHE_KEY, device.getNo()), JacksonUtil.toJSONString(device));
|
||||
}
|
||||
|
||||
public List<DeviceEntity> getAllDeviceByScenicId(Long scenicId) {
|
||||
List<Long> deviceIdList = deviceMapper.listAllByScenicId(scenicId);
|
||||
return deviceIdList.stream().map(this::getDevice).collect(Collectors.toList());
|
||||
public List<DeviceV2DTO> getAllDeviceByScenicId(Long scenicId) {
|
||||
try {
|
||||
var deviceListResponse = deviceIntegrationService.getScenicActiveDevices(scenicId, 1, 1000);
|
||||
if (deviceListResponse != null && deviceListResponse.getList() != null) {
|
||||
return deviceListResponse.getList();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.warn("获取景区设备列表失败,景区ID: {}, 错误: {}", scenicId, e.getMessage());
|
||||
}
|
||||
return List.of();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user