package com.mes.device.service;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.mes.device.entity.DeviceGroupConfig;
|
import com.mes.device.vo.DeviceGroupConfigVO;
|
import com.mes.device.vo.DeviceGroupVO;
|
import com.mes.device.vo.StatisticsVO;
|
import org.springframework.stereotype.Service;
|
|
/**
|
* 设备组配置服务接口
|
*/
|
@Service
|
public interface DeviceGroupConfigService extends IService<DeviceGroupConfig> {
|
|
/**
|
* 创建设备组配置
|
* @param groupConfig 设备组配置信息
|
* @return 是否创建成功
|
*/
|
boolean createDeviceGroup(DeviceGroupConfig groupConfig);
|
|
/**
|
* 更新设备组配置
|
* @param groupConfig 设备组配置信息
|
* @return 是否更新成功
|
*/
|
boolean updateDeviceGroup(DeviceGroupConfig groupConfig);
|
|
/**
|
* 删除设备组配置
|
* @param id 设备组ID
|
* @return 是否删除成功
|
*/
|
boolean deleteDeviceGroup(Long id);
|
|
/**
|
* 查询设备组配置详情
|
* @param id 设备组ID
|
* @return 设备组配置信息
|
*/
|
DeviceGroupConfig getDeviceGroupById(Long id);
|
|
/**
|
* 根据设备组编号查询设备组配置
|
* @param groupCode 设备组编号
|
* @return 设备组配置信息
|
*/
|
DeviceGroupConfig getDeviceGroupByCode(String groupCode);
|
|
/**
|
* 查询设备组配置列表
|
* @param projectId 项目ID
|
* @param groupType 设备组类型
|
* @param status 设备组状态
|
* @return 设备组配置列表
|
*/
|
java.util.List<DeviceGroupConfig> getDeviceGroupList(Long projectId, Integer groupType, Integer status);
|
|
/**
|
* 分页查询设备组配置列表
|
* @param projectId 项目ID
|
* @param groupType 设备组类型
|
* @param groupStatus 设备组状态
|
* @param keyword 搜索关键词
|
* @param page 页码
|
* @param size 每页大小
|
* @return 设备组分页列表
|
*/
|
Page<DeviceGroupVO.GroupInfo> getDeviceGroupList(
|
Long projectId, String groupType, String groupStatus, String keyword, Integer page, Integer size);
|
|
/**
|
* 查询设备组配置VO列表
|
* @param projectId 项目ID
|
* @param groupType 设备组类型
|
* @param status 设备组状态
|
* @return 设备组配置VO列表
|
*/
|
java.util.List<DeviceGroupConfigVO.GroupInfo> getDeviceGroupVOList(Long projectId, Integer groupType, Integer status);
|
|
/**
|
* 检查设备组编号是否存在
|
* @param groupCode 设备组编号
|
* @param excludeId 排除的设备组ID
|
* @return 是否存在
|
*/
|
boolean isGroupCodeExists(String groupCode, Long excludeId);
|
|
/**
|
* 更新设备组状态
|
* @param id 设备组ID
|
* @param status 新状态
|
* @return 是否更新成功
|
*/
|
boolean updateDeviceGroupStatus(Long id, Integer status);
|
|
/**
|
* 批量更新设备组状态
|
* @param ids 设备组ID列表
|
* @param status 新状态
|
* @return 是否更新成功
|
*/
|
boolean batchUpdateDeviceGroupStatus(java.util.List<Long> ids, Integer status);
|
|
/**
|
* 获取设备组的扩展配置
|
* @param id 设备组ID
|
* @return 扩展配置字典
|
*/
|
java.util.Map<String, Object> getExtraConfig(Long id);
|
|
/**
|
* 更新设备组的扩展配置
|
* @param id 设备组ID
|
* @param extraConfig 扩展配置字典
|
* @return 是否更新成功
|
*/
|
boolean updateExtraConfig(Long id, java.util.Map<String, Object> extraConfig);
|
|
/**
|
* 获取设备组下的设备数量
|
* @param groupId 设备组ID
|
* @return 设备数量
|
*/
|
int getDeviceCountByGroupId(Long groupId);
|
|
/**
|
* 获取在线设备组数量
|
* @param projectId 项目ID
|
* @return 在线设备组数量
|
*/
|
int getOnlineDeviceGroupCount(Long projectId);
|
|
/**
|
* 获取设备组统计信息
|
* @param projectId 项目ID
|
* @return 设备组统计信息
|
*/
|
StatisticsVO.GroupStatistics getDeviceGroupStatistics(Long projectId);
|
|
/**
|
* 获取设备组性能统计
|
* @param groupId 设备组ID
|
* @return 设备组性能统计信息
|
*/
|
DeviceGroupVO.PerformanceStats getGroupPerformance(Long groupId);
|
|
/**
|
* 执行设备组健康检查
|
* @param groupId 设备组ID
|
* @return 健康检查结果
|
*/
|
DeviceGroupVO.HealthCheckResult performGroupHealthCheck(Long groupId);
|
|
/**
|
* 启用设备组
|
* @param id 设备组ID
|
* @return 是否启用成功
|
*/
|
boolean enableDeviceGroup(Long id);
|
|
/**
|
* 禁用设备组
|
* @param id 设备组ID
|
* @return 是否禁用成功
|
*/
|
boolean disableDeviceGroup(Long id);
|
|
/**
|
* 批量启用设备组
|
* @param groupIds 设备组ID列表
|
* @return 是否启用成功
|
*/
|
boolean batchEnableDeviceGroups(java.util.List<Long> groupIds);
|
|
/**
|
* 批量禁用设备组
|
* @param groupIds 设备组ID列表
|
* @return 是否禁用成功
|
*/
|
boolean batchDisableDeviceGroups(java.util.List<Long> groupIds);
|
|
/**
|
* 获取所有设备组类型
|
* @return 设备组类型列表
|
*/
|
java.util.List<String> getAllGroupTypes();
|
|
/**
|
* 获取所有设备组状态
|
* @return 设备组状态列表
|
*/
|
java.util.List<String> getAllGroupStatuses();
|
}
|