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:
@@ -2,8 +2,10 @@ package com.ycwl.basic.service.mobile.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.integration.common.manager.DeviceConfigManager;
|
||||
import com.ycwl.basic.integration.scenic.dto.scenic.ScenicV2DTO;
|
||||
import com.ycwl.basic.mapper.DeviceMapper;
|
||||
import com.ycwl.basic.integration.device.service.DeviceIntegrationService;
|
||||
import com.ycwl.basic.integration.device.dto.device.DeviceV2ListResponse;
|
||||
import com.ycwl.basic.mapper.ExtraDeviceMapper;
|
||||
import com.ycwl.basic.mapper.ScenicAccountMapper;
|
||||
import com.ycwl.basic.model.jwt.JwtInfo;
|
||||
@@ -34,8 +36,10 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.ycwl.basic.constant.JwtRoleConstant.MERCHANT;
|
||||
|
||||
@@ -48,7 +52,7 @@ import static com.ycwl.basic.constant.JwtRoleConstant.MERCHANT;
|
||||
public class AppScenicServiceImpl implements AppScenicService {
|
||||
|
||||
@Autowired
|
||||
private DeviceMapper deviceMapper;
|
||||
private DeviceIntegrationService deviceIntegrationService;
|
||||
@Autowired
|
||||
private ScenicAccountMapper scenicAccountMapper;
|
||||
@Autowired
|
||||
@@ -80,7 +84,14 @@ public class AppScenicServiceImpl implements AppScenicService {
|
||||
@Override
|
||||
public ApiResponse<ScenicDeviceCountVO> deviceCountByScenicId(Long scenicId) {
|
||||
JwtInfo worker = JwtTokenUtil.getWorker();
|
||||
ScenicDeviceCountVO scenicDeviceCountVO = deviceMapper.deviceCountByScenicId(scenicId);
|
||||
// 通过zt-device服务获取设备统计
|
||||
DeviceV2ListResponse deviceListResponse = deviceIntegrationService.getScenicActiveDevices(scenicId, 1, 1000);
|
||||
ScenicDeviceCountVO scenicDeviceCountVO = new ScenicDeviceCountVO();
|
||||
if (deviceListResponse != null && deviceListResponse.getList() != null) {
|
||||
scenicDeviceCountVO.setTotalDeviceCount(deviceListResponse.getList().size());
|
||||
} else {
|
||||
scenicDeviceCountVO.setTotalDeviceCount(0);
|
||||
}
|
||||
return ApiResponse.success(scenicDeviceCountVO);
|
||||
}
|
||||
|
||||
@@ -107,7 +118,14 @@ public class AppScenicServiceImpl implements AppScenicService {
|
||||
scenicRespVO.setKfCodeUrl(scenic.getKfCodeUrl());
|
||||
}
|
||||
|
||||
ScenicDeviceCountVO scenicDeviceCountVO = deviceMapper.deviceCountByScenicId(id);
|
||||
// 通过zt-device服务获取设备统计
|
||||
DeviceV2ListResponse deviceListResponse = deviceIntegrationService.getScenicActiveDevices(id, 1, 1000);
|
||||
ScenicDeviceCountVO scenicDeviceCountVO = new ScenicDeviceCountVO();
|
||||
if (deviceListResponse != null && deviceListResponse.getList() != null) {
|
||||
scenicDeviceCountVO.setTotalDeviceCount(deviceListResponse.getList().size());
|
||||
} else {
|
||||
scenicDeviceCountVO.setTotalDeviceCount(0);
|
||||
}
|
||||
scenicRespVO.setLensNum(scenicDeviceCountVO.getTotalDeviceCount());
|
||||
return ApiResponse.success(scenicRespVO);
|
||||
}
|
||||
@@ -257,7 +275,18 @@ public class AppScenicServiceImpl implements AppScenicService {
|
||||
|
||||
@Override
|
||||
public ApiResponse<List<DeviceRespVO>> getDevices(Long scenicId) {
|
||||
List<DeviceRespVO> deviceRespVOList = deviceMapper.listByScenicIdWithWVP(scenicId);
|
||||
DeviceV2ListResponse deviceV2ListResponse = deviceIntegrationService.listDevices(1, 1000, null, null, null, 1, scenicId);
|
||||
List<DeviceRespVO> deviceRespVOList = deviceV2ListResponse.getList().stream().map(device -> {
|
||||
DeviceRespVO deviceRespVO = new DeviceRespVO();
|
||||
deviceRespVO.setId(device.getId());
|
||||
deviceRespVO.setName(device.getName());
|
||||
deviceRespVO.setNo(device.getNo());
|
||||
|
||||
DeviceConfigManager config = deviceRepository.getDeviceConfigManager(device.getId());
|
||||
deviceRespVO.setDeviceNo(device.getNo());
|
||||
deviceRespVO.setChannelNo(config.getString("channel_no"));
|
||||
return deviceRespVO;
|
||||
}).collect(Collectors.toList());
|
||||
for (DeviceRespVO deviceRespVO : deviceRespVOList) {
|
||||
DeviceEntity onlineStatus = deviceRepository.getOnlineStatus(deviceRespVO.getId());
|
||||
if (onlineStatus != null) {
|
||||
@@ -282,7 +311,7 @@ public class AppScenicServiceImpl implements AppScenicService {
|
||||
deviceRespVO.setOnline(0);
|
||||
continue;
|
||||
}
|
||||
Long ts = Long.parseLong(onlineTs);
|
||||
long ts = Long.parseLong(onlineTs);
|
||||
Date keepaliveAt = new Date(ts*1000);
|
||||
deviceRespVO.setUpdateAt(keepaliveAt);
|
||||
deviceRespVO.setKeepaliveAt(keepaliveAt);
|
||||
|
Reference in New Issue
Block a user