huang
2025-12-02 628aa6a42e587e9f337e213f87f922fc2ab2af02
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
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();
}