1
|
1
|
package org.thingsboard.server.dao.yunteng.impl;
|
2
|
2
|
|
3
|
3
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
4
|
|
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
5
|
4
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
6
|
5
|
import lombok.RequiredArgsConstructor;
|
7
|
6
|
import lombok.extern.slf4j.Slf4j;
|
...
|
...
|
@@ -12,21 +11,15 @@ import org.thingsboard.server.common.data.yunteng.constant.FastIotConstants; |
12
|
11
|
import org.thingsboard.server.common.data.yunteng.core.exception.NoneTenantAssetException;
|
13
|
12
|
import org.thingsboard.server.common.data.yunteng.core.exception.YtDataValidationException;
|
14
|
13
|
import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage;
|
15
|
|
-import org.thingsboard.server.common.data.yunteng.dto.AlarmProfileDTO;
|
16
|
|
-import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO;
|
17
|
|
-import org.thingsboard.server.common.data.yunteng.dto.DoActionDTO;
|
18
|
|
-import org.thingsboard.server.common.data.yunteng.dto.OrganizationDTO;
|
19
|
|
-import org.thingsboard.server.common.data.yunteng.enums.RoleEnum;
|
|
14
|
+import org.thingsboard.server.common.data.yunteng.dto.*;
|
20
|
15
|
import org.thingsboard.server.common.data.yunteng.utils.ReflectUtils;
|
21
|
16
|
import org.thingsboard.server.common.data.yunteng.utils.tools.YtPageData;
|
22
|
17
|
import org.thingsboard.server.dao.yunteng.entities.AlarmProfile;
|
23
|
|
-import org.thingsboard.server.dao.yunteng.entities.Role;
|
24
|
18
|
import org.thingsboard.server.dao.yunteng.mapper.AlarmProfileMapper;
|
25
|
19
|
import org.thingsboard.server.dao.yunteng.mapper.OrganizationMapper;
|
26
|
20
|
import org.thingsboard.server.dao.yunteng.service.AbstractBaseService;
|
27
|
21
|
import org.thingsboard.server.dao.yunteng.service.AlarmProfileService;
|
28
|
22
|
import org.thingsboard.server.dao.yunteng.service.DoActionService;
|
29
|
|
-import org.thingsboard.server.dao.yunteng.service.YtOrganizationService;
|
30
|
23
|
|
31
|
24
|
import java.util.*;
|
32
|
25
|
import java.util.stream.Collectors;
|
...
|
...
|
@@ -54,12 +47,12 @@ public class AlarmProfileServiceImpl extends AbstractBaseService<AlarmProfileMap |
54
|
47
|
String organizationId = (String) queryMap.get("organizationId");
|
55
|
48
|
List<OrganizationDTO> organizationList =
|
56
|
49
|
ytOrganizationMapper.findOrganizationTreeList(
|
57
|
|
- tenantId, new HashSet<>(Arrays.asList(organizationId)));
|
58
|
|
- Set<String> ids =
|
59
|
|
- organizationList.stream()
|
60
|
|
- .map(organizationDTO -> organizationDTO.getId())
|
61
|
|
- .collect(Collectors.toSet());
|
62
|
|
- organizationIds = new ArrayList<>(ids);
|
|
50
|
+ tenantId, new HashSet<>(List.of(organizationId)));
|
|
51
|
+ if(organizationList.size()==FastIotConstants.MagicNumber.ZERO){
|
|
52
|
+ throw new YtDataValidationException(ErrorMessage.INVALID_PARAMETER.getMessage());
|
|
53
|
+ }
|
|
54
|
+ organizationIds =
|
|
55
|
+ organizationList.stream().map(BaseDTO::getId).distinct().collect(Collectors.toList());
|
63
|
56
|
} else {
|
64
|
57
|
if (!isPtTenantAdmin) {
|
65
|
58
|
organizationIds = userOrganizationMappingService.getOrganizationIdsByUserId(currentUserId);
|
...
|
...
|
@@ -125,4 +118,25 @@ public class AlarmProfileServiceImpl extends AbstractBaseService<AlarmProfileMap |
125
|
118
|
}
|
126
|
119
|
return baseMapper.deleteBatchIds(deleteDTO.getIds()) > 0;
|
127
|
120
|
}
|
|
121
|
+
|
|
122
|
+ @Override
|
|
123
|
+ public List<AlarmProfileDTO> findAlarmProfileByOrganizationId(
|
|
124
|
+ String organizationId, String tenantId) {
|
|
125
|
+ List<OrganizationDTO> organizationList =
|
|
126
|
+ ytOrganizationMapper.findOrganizationTreeList(
|
|
127
|
+ tenantId, new HashSet<>(List.of(organizationId)));
|
|
128
|
+ if(organizationList.size()==FastIotConstants.MagicNumber.ZERO){
|
|
129
|
+ throw new YtDataValidationException(ErrorMessage.INVALID_PARAMETER.getMessage());
|
|
130
|
+ }
|
|
131
|
+ Set<String> organizationIds =
|
|
132
|
+ organizationList.stream().map(BaseDTO::getId).collect(Collectors.toSet());
|
|
133
|
+ return baseMapper
|
|
134
|
+ .selectList(
|
|
135
|
+ new LambdaQueryWrapper<AlarmProfile>()
|
|
136
|
+ .eq(AlarmProfile::getTenantId, tenantId)
|
|
137
|
+ .in(AlarmProfile::getOrganizationId, organizationIds))
|
|
138
|
+ .stream()
|
|
139
|
+ .map(alarmProfile -> alarmProfile.getDTO(AlarmProfileDTO.class))
|
|
140
|
+ .collect(Collectors.toList());
|
|
141
|
+ }
|
128
|
142
|
} |
...
|
...
|
|