...
|
...
|
@@ -8,13 +8,10 @@ import lombok.extern.slf4j.Slf4j; |
8
|
8
|
import org.apache.commons.lang3.StringUtils;
|
9
|
9
|
import org.springframework.stereotype.Service;
|
10
|
10
|
import org.thingsboard.server.common.data.EntityType;
|
11
|
|
-import org.thingsboard.server.common.data.alarm.AlarmInfo;
|
12
|
11
|
import org.thingsboard.server.common.data.alarm.AlarmSeverity;
|
13
|
12
|
import org.thingsboard.server.common.data.alarm.AlarmStatus;
|
|
13
|
+import org.thingsboard.server.common.data.id.CustomerId;
|
14
|
14
|
import org.thingsboard.server.common.data.id.TenantId;
|
15
|
|
-import org.thingsboard.server.common.data.page.PageData;
|
16
|
|
-import org.thingsboard.server.common.data.page.TimePageLink;
|
17
|
|
-import org.thingsboard.server.common.data.yunteng.constant.FastIotConstants;
|
18
|
15
|
import org.thingsboard.server.common.data.yunteng.dto.OrganizationDTO;
|
19
|
16
|
import org.thingsboard.server.common.data.yunteng.dto.SysDictDTO;
|
20
|
17
|
import org.thingsboard.server.common.data.yunteng.enums.DeviceTypeEnum;
|
...
|
...
|
@@ -22,78 +19,80 @@ import org.thingsboard.server.common.data.yunteng.enums.OrderTypeEnum; |
22
|
19
|
import org.thingsboard.server.common.data.yunteng.utils.ReflectUtils;
|
23
|
20
|
import org.thingsboard.server.common.data.yunteng.utils.tools.YtPageData;
|
24
|
21
|
import org.thingsboard.server.dao.model.ModelConstants;
|
25
|
|
-import org.thingsboard.server.dao.yunteng.entities.AlarmContact;
|
26
|
22
|
import org.thingsboard.server.dao.yunteng.entities.YtAlarmEntity;
|
27
|
23
|
import org.thingsboard.server.dao.yunteng.mapper.OrganizationMapper;
|
28
|
24
|
import org.thingsboard.server.dao.yunteng.mapper.YtAlarmMapper;
|
29
|
|
-import org.thingsboard.server.dao.yunteng.service.AbstractBaseService;
|
30
|
25
|
import org.thingsboard.server.dao.yunteng.service.YtAlarmInfoService;
|
31
|
26
|
|
32
|
|
-import java.util.*;
|
|
27
|
+import java.util.ArrayList;
|
|
28
|
+import java.util.List;
|
|
29
|
+import java.util.Map;
|
33
|
30
|
|
34
|
31
|
import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.*;
|
35
|
|
-import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.ORDER_TYPE;
|
36
|
32
|
|
37
|
|
-/** @Description 告警中心业务实现 @Author cxy @Date 2021/11/10 16:56 */
|
|
33
|
+/**
|
|
34
|
+ * @Description 告警中心业务实现 @Author cxy @Date 2021/11/10 16:56
|
|
35
|
+ */
|
38
|
36
|
@Service
|
39
|
37
|
@RequiredArgsConstructor
|
40
|
38
|
@Slf4j
|
41
|
|
-public class YtAlarmInfoServiceImpl implements YtAlarmInfoService {
|
|
39
|
+public class YtAlarmInfoServiceImpl implements YtAlarmInfoService {
|
42
|
40
|
|
43
|
|
-private final YtAlarmMapper ytJpaAarmDao;
|
44
|
|
-private final OrganizationMapper organizationMapper;
|
45
|
|
- @Override
|
46
|
|
- public YtPageData<YtAlarmEntity> alarmPage(Map<String, Object> pageMap, TenantId tenantId, AlarmSeverity severity, String alarmType, Long startTime, Long endTime, List<AlarmStatus> status, String deviceId, DeviceTypeEnum deviceType, EntityType originatorType, String organizationId) {
|
47
|
|
- IPage<YtAlarmEntity> page= getPage(pageMap, ModelConstants.CREATED_TIME_PROPERTY,false);
|
48
|
|
- List<String> ids =new ArrayList<>();
|
49
|
|
- if(StringUtils.isNotBlank(organizationId)){
|
50
|
|
- List<String> filter = new ArrayList<>();
|
51
|
|
- filter.add(organizationId);
|
52
|
|
- List<OrganizationDTO> all =organizationMapper.findOrganizationTreeList(tenantId.getId().toString(),filter);
|
53
|
|
- for(OrganizationDTO item:all){
|
54
|
|
- ids.add(item.getId());
|
55
|
|
- }
|
|
41
|
+ private final YtAlarmMapper ytJpaAarmDao;
|
|
42
|
+ private final OrganizationMapper organizationMapper;
|
56
|
43
|
|
|
44
|
+ @Override
|
|
45
|
+ public YtPageData<YtAlarmEntity> alarmPage(Map<String, Object> pageMap, TenantId tenantId, CustomerId customerId, AlarmSeverity severity, String alarmType, Long startTime, Long endTime, List<AlarmStatus> status, String deviceId, DeviceTypeEnum deviceType, EntityType originatorType, String organizationId) {
|
|
46
|
+ IPage<YtAlarmEntity> page = getPage(pageMap, ModelConstants.CREATED_TIME_PROPERTY, false);
|
|
47
|
+ List<String> ids = new ArrayList<>();
|
|
48
|
+ if (StringUtils.isNotBlank(organizationId)) {
|
|
49
|
+ List<String> filter = new ArrayList<>();
|
|
50
|
+ filter.add(organizationId);
|
|
51
|
+ List<OrganizationDTO> all = organizationMapper.findOrganizationTreeList(tenantId.getId().toString(), filter);
|
|
52
|
+ for (OrganizationDTO item : all) {
|
|
53
|
+ ids.add(item.getId());
|
|
54
|
+ }
|
|
55
|
+
|
|
56
|
+ }
|
|
57
|
+
|
|
58
|
+ IPage<YtAlarmEntity> tbDatas = ytJpaAarmDao.alarmPage(page, tenantId.getId(), customerId.getId(), severity, alarmType, startTime, endTime, status, deviceId, deviceType, originatorType, ids.size() > 0 ? ids : null);
|
|
59
|
+ YtPageData<YtAlarmEntity> result = new YtPageData<>(tbDatas.getRecords(), tbDatas.getTotal());
|
|
60
|
+ return result;
|
57
|
61
|
}
|
58
|
62
|
|
59
|
|
- IPage<YtAlarmEntity> tbDatas = ytJpaAarmDao.alarmPage(page,tenantId.getId(),severity,alarmType,startTime,endTime,status,deviceId,deviceType, originatorType,ids.size()>0?ids:null);
|
60
|
|
- YtPageData<YtAlarmEntity> result = new YtPageData<>(tbDatas.getRecords(), tbDatas.getTotal());
|
61
|
|
- return result;
|
62
|
|
- }
|
63
|
63
|
|
|
64
|
+ protected IPage<YtAlarmEntity> getPage(Map<String, Object> params, String defaultOrderField, boolean isAsc) {
|
|
65
|
+ int curPage = 1;
|
|
66
|
+ int limit = 10;
|
|
67
|
+ if (params.get(PAGE) != null) {
|
|
68
|
+ curPage = Integer.parseInt(params.get(PAGE).toString());
|
|
69
|
+ }
|
64
|
70
|
|
65
|
|
- protected IPage<YtAlarmEntity> getPage(Map<String, Object> params, String defaultOrderField, boolean isAsc) {
|
66
|
|
- int curPage = 1;
|
67
|
|
- int limit = 10;
|
68
|
|
- if (params.get(PAGE) != null) {
|
69
|
|
- curPage = Integer.parseInt(params.get(PAGE).toString());
|
70
|
|
- }
|
|
71
|
+ if (params.get(PAGE_SIZE) != null) {
|
|
72
|
+ limit = Integer.parseInt(params.get(PAGE_SIZE).toString());
|
|
73
|
+ }
|
71
|
74
|
|
72
|
|
- if (params.get(PAGE_SIZE) != null) {
|
73
|
|
- limit = Integer.parseInt(params.get(PAGE_SIZE).toString());
|
|
75
|
+ Page<YtAlarmEntity> page = new Page<>(curPage, limit);
|
|
76
|
+ String orderField = (String) params.get(ORDER_FILED);
|
|
77
|
+ String order = (String) params.get(ORDER_TYPE);
|
|
78
|
+ if (StringUtils.isNotBlank(orderField) && StringUtils.isNotBlank(order)) {
|
|
79
|
+ return OrderTypeEnum.ASC.name().equalsIgnoreCase(order)
|
|
80
|
+ ? page.addOrder(OrderItem.asc(orderField))
|
|
81
|
+ : page.addOrder(OrderItem.desc(orderField));
|
|
82
|
+ } else if (StringUtils.isBlank(defaultOrderField)) {
|
|
83
|
+ return page;
|
|
84
|
+ } else {
|
|
85
|
+ if (isAsc) {
|
|
86
|
+ page.addOrder(OrderItem.asc(defaultOrderField));
|
|
87
|
+ } else {
|
|
88
|
+ page.addOrder(OrderItem.desc(defaultOrderField));
|
|
89
|
+ }
|
|
90
|
+ return page;
|
|
91
|
+ }
|
74
|
92
|
}
|
75
|
93
|
|
76
|
|
- Page<YtAlarmEntity> page = new Page<>(curPage, limit);
|
77
|
|
- String orderField = (String) params.get(ORDER_FILED);
|
78
|
|
- String order = (String) params.get(ORDER_TYPE);
|
79
|
|
- if (StringUtils.isNotBlank(orderField) && StringUtils.isNotBlank(order)) {
|
80
|
|
- return OrderTypeEnum.ASC.name().equalsIgnoreCase(order)
|
81
|
|
- ? page.addOrder(OrderItem.asc(orderField))
|
82
|
|
- : page.addOrder(OrderItem.desc(orderField));
|
83
|
|
- } else if (StringUtils.isBlank(defaultOrderField)) {
|
84
|
|
- return page;
|
85
|
|
- } else {
|
86
|
|
- if (isAsc) {
|
87
|
|
- page.addOrder(OrderItem.asc(defaultOrderField));
|
88
|
|
- } else {
|
89
|
|
- page.addOrder(OrderItem.desc(defaultOrderField));
|
90
|
|
- }
|
91
|
|
- return page;
|
|
94
|
+ @Override
|
|
95
|
+ public List<SysDictDTO> alarmType(TenantId tenantId) {
|
|
96
|
+ return ReflectUtils.sourceToTarget(ytJpaAarmDao.alarmType(tenantId.getId()), SysDictDTO.class);
|
92
|
97
|
}
|
93
|
|
- }
|
94
|
|
-
|
95
|
|
- @Override
|
96
|
|
- public List<SysDictDTO> alarmType(TenantId tenantId) {
|
97
|
|
- return ReflectUtils.sourceToTarget(ytJpaAarmDao.alarmType(tenantId.getId()), SysDictDTO.class);
|
98
|
|
- }
|
99
|
98
|
} |
...
|
...
|
|