Showing
15 changed files
with
70 additions
and
52 deletions
dao/src/main/java/org/thingsboard/server/dao/yunteng/impl/SysUserOrganizationMappingServiceImpl.java
... | ... | @@ -12,9 +12,10 @@ import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidatio |
12 | 12 | import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage; |
13 | 13 | import org.thingsboard.server.common.data.yunteng.dto.BaseDTO; |
14 | 14 | import org.thingsboard.server.common.data.yunteng.dto.OrganizationDTO; |
15 | +import org.thingsboard.server.common.data.yunteng.enums.OrganizationEnum; | |
15 | 16 | import org.thingsboard.server.dao.yunteng.entities.TkUserOrganizationMappingEntity; |
16 | -import org.thingsboard.server.dao.yunteng.mapper.OrganizationMapper; | |
17 | 17 | import org.thingsboard.server.dao.yunteng.mapper.UserOrganizationMappingMapper; |
18 | +import org.thingsboard.server.dao.yunteng.service.TkOrganizationService; | |
18 | 19 | import org.thingsboard.server.dao.yunteng.service.UserOrganizationMappingService; |
19 | 20 | |
20 | 21 | import java.util.ArrayList; |
... | ... | @@ -34,12 +35,12 @@ import java.util.stream.Collectors; |
34 | 35 | public class SysUserOrganizationMappingServiceImpl implements UserOrganizationMappingService { |
35 | 36 | |
36 | 37 | private final UserOrganizationMappingMapper userOrganizationMappingMapper; |
37 | - private final OrganizationMapper organizationMapper; | |
38 | + private final TkOrganizationService organizationService; | |
38 | 39 | |
39 | 40 | @Override |
40 | 41 | public List<String> getUserIdByOrganizationIds(String tenantId, String... ids) { |
41 | 42 | List<String> collect = |
42 | - organizationMapper.findOrganizationTreeList(tenantId, List.of(ids)).stream() | |
43 | + organizationService.findOrganizationTreeList(tenantId, OrganizationEnum.UP, List.of(ids)).stream() | |
43 | 44 | .map(OrganizationDTO::getId) |
44 | 45 | .collect(Collectors.toList()); |
45 | 46 | if (null == collect || collect.size() == 0) { |
... | ... | @@ -105,8 +106,8 @@ public class SysUserOrganizationMappingServiceImpl implements UserOrganizationMa |
105 | 106 | List<String> organizationIds = null; |
106 | 107 | if (StringUtils.isNotEmpty(organizationId)) { |
107 | 108 | List<OrganizationDTO> organizationList = |
108 | - organizationMapper.findOrganizationTreeList( | |
109 | - tenantId, new HashSet<>(List.of(organizationId))); | |
109 | + organizationService.findOrganizationTreeList( | |
110 | + tenantId,null, new HashSet<>(List.of(organizationId))); | |
110 | 111 | if (organizationList.size() == FastIotConstants.MagicNumber.ZERO) { |
111 | 112 | throw new TkDataValidationException(ErrorMessage.INVALID_PARAMETER.getMessage()); |
112 | 113 | } | ... | ... |
... | ... | @@ -17,8 +17,8 @@ import org.thingsboard.server.common.data.yunteng.utils.ReflectUtils; |
17 | 17 | import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData; |
18 | 18 | import org.thingsboard.server.dao.yunteng.entities.TkAlarmContactEntity; |
19 | 19 | import org.thingsboard.server.dao.yunteng.mapper.AlarmContactMapper; |
20 | -import org.thingsboard.server.dao.yunteng.mapper.OrganizationMapper; | |
21 | 20 | import org.thingsboard.server.dao.yunteng.service.AbstractBaseService; |
21 | +import org.thingsboard.server.dao.yunteng.service.TkOrganizationService; | |
22 | 22 | import org.thingsboard.server.dao.yunteng.service.UserOrganizationMappingService; |
23 | 23 | import org.thingsboard.server.dao.yunteng.service.TkAlarmContactService; |
24 | 24 | |
... | ... | @@ -35,7 +35,7 @@ public class TkAlarmContactServiceImpl extends AbstractBaseService<AlarmContactM |
35 | 35 | /** mapper注入 自带方法加入,继承的baseMapper */ |
36 | 36 | private final AlarmContactMapper alarmContactMapper; |
37 | 37 | |
38 | - private final OrganizationMapper ytOrganizationMapper; | |
38 | + private final TkOrganizationService organizationService; | |
39 | 39 | |
40 | 40 | private final UserOrganizationMappingService userOrganizationMappingService; |
41 | 41 | |
... | ... | @@ -71,7 +71,7 @@ public class TkAlarmContactServiceImpl extends AbstractBaseService<AlarmContactM |
71 | 71 | ids.add(organizationId); |
72 | 72 | // 查询该组织的所有子类 |
73 | 73 | List<OrganizationDTO> organizationDTOS = |
74 | - ytOrganizationMapper.findOrganizationTreeList(tenantId, ids); | |
74 | + organizationService.findOrganizationTreeList(tenantId,null, ids); | |
75 | 75 | if (null == organizationDTOS || organizationDTOS.size() == 0) { |
76 | 76 | throw new TkDataValidationException(ErrorMessage.INVALID_PARAMETER.getMessage()); |
77 | 77 | } |
... | ... | @@ -201,7 +201,7 @@ public class TkAlarmContactServiceImpl extends AbstractBaseService<AlarmContactM |
201 | 201 | ids.add(organizationId); |
202 | 202 | // 查询该组织的所有子类 |
203 | 203 | List<OrganizationDTO> organizationDTOS = |
204 | - ytOrganizationMapper.findOrganizationTreeList(tenantId, ids); | |
204 | + organizationService.findOrganizationTreeList(tenantId,null, ids); | |
205 | 205 | List<String> queryOrganizationIds = new ArrayList<>(); |
206 | 206 | organizationDTOS.forEach(item -> queryOrganizationIds.add(item.getId())); |
207 | 207 | queryMap.put("organizationIds", queryOrganizationIds); | ... | ... |
... | ... | @@ -19,9 +19,9 @@ import org.thingsboard.server.common.data.yunteng.utils.ReflectUtils; |
19 | 19 | import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData; |
20 | 20 | import org.thingsboard.server.dao.model.ModelConstants; |
21 | 21 | import org.thingsboard.server.dao.yunteng.entities.TkAlarmEntity; |
22 | -import org.thingsboard.server.dao.yunteng.mapper.OrganizationMapper; | |
23 | 22 | import org.thingsboard.server.dao.yunteng.mapper.TkAlarmMapper; |
24 | 23 | import org.thingsboard.server.dao.yunteng.service.TkAlarmInfoService; |
24 | +import org.thingsboard.server.dao.yunteng.service.TkOrganizationService; | |
25 | 25 | |
26 | 26 | import java.util.ArrayList; |
27 | 27 | import java.util.List; |
... | ... | @@ -39,7 +39,7 @@ import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant. |
39 | 39 | public class TkAlarmInfoServiceImpl implements TkAlarmInfoService { |
40 | 40 | |
41 | 41 | private final TkAlarmMapper tkJpaAarmDao; |
42 | - private final OrganizationMapper organizationMapper; | |
42 | + private final TkOrganizationService organizationService; | |
43 | 43 | |
44 | 44 | @Override |
45 | 45 | public TkPageData<TkAlarmEntity> alarmPage( |
... | ... | @@ -64,7 +64,7 @@ public class TkAlarmInfoServiceImpl implements TkAlarmInfoService { |
64 | 64 | List<String> filter = new ArrayList<>(); |
65 | 65 | filter.add(organizationId); |
66 | 66 | List<OrganizationDTO> all = |
67 | - organizationMapper.findOrganizationTreeList(tenantId.getId().toString(), filter); | |
67 | + organizationService.findOrganizationTreeList(tenantId.getId().toString(),null, filter); | |
68 | 68 | for (OrganizationDTO item : all) { |
69 | 69 | ids.add(item.getId()); |
70 | 70 | } | ... | ... |
... | ... | @@ -19,11 +19,11 @@ import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData; |
19 | 19 | import org.thingsboard.server.dao.yunteng.entities.TkAlarmProfileEntity; |
20 | 20 | import org.thingsboard.server.dao.yunteng.entities.TkSceneLinkageEntity; |
21 | 21 | import org.thingsboard.server.dao.yunteng.mapper.AlarmProfileMapper; |
22 | -import org.thingsboard.server.dao.yunteng.mapper.OrganizationMapper; | |
23 | 22 | import org.thingsboard.server.dao.yunteng.mapper.SceneLinkageMapper; |
24 | 23 | import org.thingsboard.server.dao.yunteng.service.AbstractBaseService; |
25 | 24 | import org.thingsboard.server.dao.yunteng.service.AlarmProfileService; |
26 | 25 | import org.thingsboard.server.dao.yunteng.service.DoActionService; |
26 | +import org.thingsboard.server.dao.yunteng.service.TkOrganizationService; | |
27 | 27 | |
28 | 28 | import java.util.*; |
29 | 29 | import java.util.stream.Collectors; |
... | ... | @@ -38,7 +38,7 @@ public class TkAlarmProfileServiceImpl extends AbstractBaseService<AlarmProfileM |
38 | 38 | |
39 | 39 | private final SysUserOrganizationMappingServiceImpl userOrganizationMappingService; |
40 | 40 | |
41 | - private final OrganizationMapper ytOrganizationMapper; | |
41 | + private final TkOrganizationService organizationService; | |
42 | 42 | private final SceneLinkageMapper sceneLinkageMapper; |
43 | 43 | |
44 | 44 | @Override |
... | ... | @@ -148,8 +148,8 @@ public class TkAlarmProfileServiceImpl extends AbstractBaseService<AlarmProfileM |
148 | 148 | public List<AlarmProfileDTO> findAlarmProfileByOrganizationId( |
149 | 149 | String organizationId, String tenantId) { |
150 | 150 | List<OrganizationDTO> organizationList = |
151 | - ytOrganizationMapper.findOrganizationTreeList( | |
152 | - tenantId, new HashSet<>(List.of(organizationId))); | |
151 | + organizationService.findOrganizationTreeList( | |
152 | + tenantId,null, new HashSet<>(List.of(organizationId))); | |
153 | 153 | if (organizationList.size() == FastIotConstants.MagicNumber.ZERO) { |
154 | 154 | throw new TkDataValidationException(ErrorMessage.INVALID_PARAMETER.getMessage()); |
155 | 155 | } | ... | ... |
... | ... | @@ -9,7 +9,6 @@ import lombok.extern.slf4j.Slf4j; |
9 | 9 | import org.apache.commons.lang3.StringUtils; |
10 | 10 | import org.springframework.stereotype.Service; |
11 | 11 | import org.springframework.transaction.annotation.Transactional; |
12 | -import org.thingsboard.server.common.data.EntityType; | |
13 | 12 | import org.thingsboard.server.common.data.yunteng.constant.FastIotConstants; |
14 | 13 | import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidationException; |
15 | 14 | import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage; |
... | ... | @@ -18,12 +17,10 @@ import org.thingsboard.server.common.data.yunteng.dto.request.ConfigurationConte |
18 | 17 | import org.thingsboard.server.common.data.yunteng.enums.ViewType; |
19 | 18 | import org.thingsboard.server.common.data.yunteng.utils.JacksonUtil; |
20 | 19 | import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData; |
21 | -import org.thingsboard.server.dao.audit.AuditLogLevelMask; | |
22 | 20 | import org.thingsboard.server.dao.yunteng.entities.TkConfigurationCenterEntity; |
23 | 21 | import org.thingsboard.server.dao.yunteng.entities.TkConfigurationContentEntity; |
24 | 22 | import org.thingsboard.server.dao.yunteng.mapper.ConfigurationCenterMapper; |
25 | 23 | import org.thingsboard.server.dao.yunteng.mapper.ConfigurationContentMapper; |
26 | -import org.thingsboard.server.dao.yunteng.mapper.OrganizationMapper; | |
27 | 24 | import org.thingsboard.server.dao.yunteng.service.*; |
28 | 25 | |
29 | 26 | import java.util.*; |
... | ... | @@ -35,7 +32,7 @@ import java.util.stream.Collectors; |
35 | 32 | public class TkConfigurationCenterServiceImpl |
36 | 33 | extends AbstractBaseService<ConfigurationCenterMapper, TkConfigurationCenterEntity> |
37 | 34 | implements TkConfigurationCenterService { |
38 | - private final OrganizationMapper organizationMapper; | |
35 | + private final TkOrganizationService organizationService; | |
39 | 36 | private final TkConfigurationContentService ytConfigurationContentService; |
40 | 37 | private final UserOrganizationMappingService userOrganizationMappingService; |
41 | 38 | private final ConfigurationContentMapper configurationContentMapper; |
... | ... | @@ -50,8 +47,8 @@ public class TkConfigurationCenterServiceImpl |
50 | 47 | if (null != queryMap.get("organizationId")) { |
51 | 48 | String organizationId = (String) queryMap.get("organizationId"); |
52 | 49 | List<OrganizationDTO> organizationList = |
53 | - organizationMapper.findOrganizationTreeList( | |
54 | - (String) queryMap.get("tenantId"), new HashSet<>(List.of(organizationId))); | |
50 | + organizationService.findOrganizationTreeList( | |
51 | + (String) queryMap.get("tenantId"),null, new HashSet<>(List.of(organizationId))); | |
55 | 52 | if (organizationList.size() == FastIotConstants.MagicNumber.ZERO) { |
56 | 53 | throw new TkDataValidationException(ErrorMessage.INVALID_PARAMETER.getMessage()); |
57 | 54 | } | ... | ... |
... | ... | @@ -19,8 +19,8 @@ import org.thingsboard.server.dao.yunteng.entities.TkDataBoardEntity; |
19 | 19 | import org.thingsboard.server.dao.yunteng.entities.TkDataComponentEntity; |
20 | 20 | import org.thingsboard.server.dao.yunteng.mapper.DataBoardMapper; |
21 | 21 | import org.thingsboard.server.dao.yunteng.mapper.DataComponentMapper; |
22 | -import org.thingsboard.server.dao.yunteng.mapper.OrganizationMapper; | |
23 | 22 | import org.thingsboard.server.dao.yunteng.service.AbstractBaseService; |
23 | +import org.thingsboard.server.dao.yunteng.service.TkOrganizationService; | |
24 | 24 | import org.thingsboard.server.dao.yunteng.service.UserOrganizationMappingService; |
25 | 25 | import org.thingsboard.server.dao.yunteng.service.TkDataBoardService; |
26 | 26 | |
... | ... | @@ -31,9 +31,9 @@ import java.util.stream.Collectors; |
31 | 31 | @RequiredArgsConstructor |
32 | 32 | public class TkDataBoardServiceImpl extends AbstractBaseService<DataBoardMapper, TkDataBoardEntity> |
33 | 33 | implements TkDataBoardService { |
34 | - private final OrganizationMapper organizationMapper; | |
35 | 34 | private final UserOrganizationMappingService userOrganizationMappingService; |
36 | 35 | private final DataComponentMapper dataComponentMapper; |
36 | + private final TkOrganizationService organizationService; | |
37 | 37 | |
38 | 38 | @Override |
39 | 39 | public TkPageData<DataBoardDTO> dataBoardPage(Map<String, Object> queryMap, boolean tenantAdmin) { |
... | ... | @@ -50,8 +50,8 @@ public class TkDataBoardServiceImpl extends AbstractBaseService<DataBoardMapper, |
50 | 50 | List<String> organizationIds = null; |
51 | 51 | if (null != organizationId) { |
52 | 52 | List<OrganizationDTO> list = |
53 | - organizationMapper.findOrganizationTreeList( | |
54 | - (String) queryMap.get("tenantId"), new HashSet<>(List.of(organizationId))); | |
53 | + organizationService.findOrganizationTreeList( | |
54 | + (String) queryMap.get("tenantId"),null, new HashSet<>(List.of(organizationId))); | |
55 | 55 | if (list.size() == zero) { |
56 | 56 | throw new TkDataValidationException(ErrorMessage.INVALID_PARAMETER.getMessage()); |
57 | 57 | } | ... | ... |
... | ... | @@ -17,10 +17,7 @@ import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData; |
17 | 17 | import org.thingsboard.server.dao.yunteng.entities.TkDataViewEntity; |
18 | 18 | import org.thingsboard.server.dao.yunteng.mapper.TkDataViewMapper; |
19 | 19 | import org.thingsboard.server.dao.yunteng.mapper.OrganizationMapper; |
20 | -import org.thingsboard.server.dao.yunteng.service.AbstractBaseService; | |
21 | -import org.thingsboard.server.dao.yunteng.service.TkDataViewService; | |
22 | -import org.thingsboard.server.dao.yunteng.service.TkDataViewContentService; | |
23 | -import org.thingsboard.server.dao.yunteng.service.UserOrganizationMappingService; | |
20 | +import org.thingsboard.server.dao.yunteng.service.*; | |
24 | 21 | |
25 | 22 | import java.util.HashSet; |
26 | 23 | import java.util.List; |
... | ... | @@ -34,7 +31,7 @@ import java.util.stream.Collectors; |
34 | 31 | @RequiredArgsConstructor |
35 | 32 | public class TkDataViewServiceImpl extends AbstractBaseService<TkDataViewMapper, TkDataViewEntity> |
36 | 33 | implements TkDataViewService { |
37 | - private final OrganizationMapper organizationMapper; | |
34 | + private final TkOrganizationService organizationService; | |
38 | 35 | private final TkDataViewContentService ytDataViewContentService; |
39 | 36 | private final UserOrganizationMappingService userOrganizationMappingService; |
40 | 37 | |
... | ... | @@ -44,8 +41,8 @@ public class TkDataViewServiceImpl extends AbstractBaseService<TkDataViewMapper, |
44 | 41 | if (null != queryMap.get("organizationId")) { |
45 | 42 | String organizationId = (String) queryMap.get("organizationId"); |
46 | 43 | List<OrganizationDTO> organizationList = |
47 | - organizationMapper.findOrganizationTreeList( | |
48 | - (String) queryMap.get("tenantId"), new HashSet<>(List.of(organizationId))); | |
44 | + organizationService.findOrganizationTreeList( | |
45 | + (String) queryMap.get("tenantId"),null, new HashSet<>(List.of(organizationId))); | |
49 | 46 | if (organizationList.size() == FastIotConstants.MagicNumber.ZERO) { |
50 | 47 | throw new TkDataValidationException(ErrorMessage.INVALID_PARAMETER.getMessage()); |
51 | 48 | } | ... | ... |
... | ... | @@ -19,9 +19,7 @@ import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidatio |
19 | 19 | import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage; |
20 | 20 | import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO; |
21 | 21 | import org.thingsboard.server.common.data.yunteng.dto.OrganizationDTO; |
22 | -import org.thingsboard.server.common.data.yunteng.utils.ReflectUtils; | |
23 | -import org.thingsboard.server.common.data.yunteng.utils.tree.TreeUtils; | |
24 | -import org.thingsboard.server.dao.cache.EntitiesCacheManager; | |
22 | +import org.thingsboard.server.common.data.yunteng.enums.OrganizationEnum; | |
25 | 23 | import org.thingsboard.server.dao.yunteng.entities.*; |
26 | 24 | import org.thingsboard.server.dao.yunteng.mapper.*; |
27 | 25 | import org.thingsboard.server.dao.yunteng.service.AbstractBaseService; |
... | ... | @@ -30,7 +28,6 @@ import org.thingsboard.server.dao.yunteng.service.TkOrganizationService; |
30 | 28 | import java.util.*; |
31 | 29 | import java.util.stream.Collectors; |
32 | 30 | |
33 | -import static org.thingsboard.server.common.data.CacheConstants.DEVICE_CACHE; | |
34 | 31 | |
35 | 32 | @Service |
36 | 33 | @RequiredArgsConstructor |
... | ... | @@ -111,7 +108,7 @@ public class TkOrganizationServiceImpl extends AbstractBaseService<OrganizationM |
111 | 108 | } |
112 | 109 | String[] ids = deleteDTO.getIds().toArray(new String[deleteDTO.getIds().size()]); |
113 | 110 | Set<String> idToDelete = |
114 | - baseMapper.findOrganizationTreeList(tenantId, Arrays.asList(ids)).stream() | |
111 | + findOrganizationTreeList(tenantId,null, Arrays.asList(ids)).stream() | |
115 | 112 | .map(OrganizationDTO::getId) |
116 | 113 | .collect(Collectors.toSet()); |
117 | 114 | if (idToDelete.size() != ids.length) { |
... | ... | @@ -249,7 +246,7 @@ public class TkOrganizationServiceImpl extends AbstractBaseService<OrganizationM |
249 | 246 | */ |
250 | 247 | private List<OrganizationDTO> findOrganizationTree(String tenantId,List<String> organizationIds) { |
251 | 248 | List<OrganizationDTO> organizationTreeList = |
252 | - baseMapper.findOrganizationTreeList(tenantId, organizationIds); | |
249 | + findOrganizationTreeList(tenantId,null, organizationIds); | |
253 | 250 | return buildOrganizationDTOTree(organizationTreeList); |
254 | 251 | } |
255 | 252 | |
... | ... | @@ -296,7 +293,7 @@ public class TkOrganizationServiceImpl extends AbstractBaseService<OrganizationM |
296 | 293 | } |
297 | 294 | if (null != organizationIds && organizationIds.length > 0) { |
298 | 295 | Set<String> newBinding = |
299 | - baseMapper.findOrganizationTreeList(tenantId, Arrays.asList(organizationIds)).stream() | |
296 | + findOrganizationTreeList(tenantId,null, Arrays.asList(organizationIds)).stream() | |
300 | 297 | .map(OrganizationDTO::getId) |
301 | 298 | .collect(Collectors.toSet()); |
302 | 299 | Set<String> existBinding = |
... | ... | @@ -372,10 +369,18 @@ public class TkOrganizationServiceImpl extends AbstractBaseService<OrganizationM |
372 | 369 | } |
373 | 370 | // 查询该组织的所有子类 |
374 | 371 | List<OrganizationDTO> organizationDTOS = |
375 | - baseMapper.findOrganizationTreeList(tenantId, organizationIds); | |
372 | + findOrganizationTreeList(tenantId,null, organizationIds); | |
376 | 373 | List<String> queryOrganizationIds = new ArrayList<>(); |
377 | 374 | organizationDTOS.forEach(item -> queryOrganizationIds.add(item.getId())); |
378 | 375 | return queryOrganizationIds; |
379 | 376 | } |
380 | 377 | |
378 | + @Override | |
379 | + public List<OrganizationDTO> findOrganizationTreeList(String tenantId, OrganizationEnum sort, Collection<String> organizationIds) { | |
380 | + if(sort==null) { | |
381 | + sort = OrganizationEnum.DOWN; | |
382 | + } | |
383 | + return baseMapper.findOrganizationTreeList(tenantId,sort.toString(), organizationIds); | |
384 | + } | |
385 | + | |
381 | 386 | } | ... | ... |
... | ... | @@ -37,7 +37,7 @@ import java.util.stream.Collectors; |
37 | 37 | public class TkReportFromConfigServiceImpl |
38 | 38 | extends AbstractBaseService<ReportFormConfigMapper, TkReportFormConfigEntity> |
39 | 39 | implements TkReportFormConfigService { |
40 | - private final OrganizationMapper organizationMapper; | |
40 | + private final TkOrganizationService organizationService; | |
41 | 41 | private final TkSysJobService tkSysJobService; |
42 | 42 | private final TkReportGenerateRecordService tkReportGenerateRecordService; |
43 | 43 | private final UserOrganizationMappingService userOrganizationMappingService; |
... | ... | @@ -52,8 +52,8 @@ public class TkReportFromConfigServiceImpl |
52 | 52 | value -> { |
53 | 53 | String organizationId = value.toString(); |
54 | 54 | List<OrganizationDTO> list = |
55 | - organizationMapper.findOrganizationTreeList( | |
56 | - tenantId, List.of(organizationId)); | |
55 | + organizationService.findOrganizationTreeList( | |
56 | + tenantId, null,List.of(organizationId)); | |
57 | 57 | // 查询组织及其子组织 |
58 | 58 | if (list.size() > 0) { |
59 | 59 | return list.stream().map(BaseDTO::getId).collect(Collectors.toList()); | ... | ... |
... | ... | @@ -9,9 +9,9 @@ import org.thingsboard.server.common.data.rpc.RpcStatus; |
9 | 9 | import org.thingsboard.server.common.data.yunteng.dto.TkRpcRecordDTO; |
10 | 10 | import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData; |
11 | 11 | import org.thingsboard.server.dao.yunteng.entities.TkRpcRecordEntity; |
12 | -import org.thingsboard.server.dao.yunteng.mapper.OrganizationMapper; | |
13 | 12 | import org.thingsboard.server.dao.yunteng.mapper.TkRpcRecordMapper; |
14 | 13 | import org.thingsboard.server.dao.yunteng.service.AbstractBaseService; |
14 | +import org.thingsboard.server.dao.yunteng.service.TkOrganizationService; | |
15 | 15 | import org.thingsboard.server.dao.yunteng.service.TkRpcRecordService; |
16 | 16 | |
17 | 17 | import java.util.ArrayList; |
... | ... | @@ -28,7 +28,7 @@ public class TkRpcRecordServiceImpl |
28 | 28 | extends AbstractBaseService<TkRpcRecordMapper, TkRpcRecordEntity> |
29 | 29 | implements TkRpcRecordService { |
30 | 30 | |
31 | - private final OrganizationMapper organizationMapper; | |
31 | + private final TkOrganizationService organizationService; | |
32 | 32 | |
33 | 33 | @Override |
34 | 34 | public TkPageData<TkRpcRecordDTO> page( |
... | ... | @@ -44,7 +44,7 @@ public class TkRpcRecordServiceImpl |
44 | 44 | List<String> organizationFilter = new ArrayList<>(); |
45 | 45 | organizationFilter.add(organizationId); |
46 | 46 | organization = |
47 | - organizationMapper.findOrganizationTreeList(tenantId, organizationFilter).stream() | |
47 | + organizationService.findOrganizationTreeList(tenantId,null, organizationFilter).stream() | |
48 | 48 | .map(org -> org.getId()) |
49 | 49 | .collect(Collectors.toList()); |
50 | 50 | } | ... | ... |
... | ... | @@ -48,11 +48,11 @@ public class TkSceneLinkageServiceImpl |
48 | 48 | private final DoActionMapper doActionMapper; |
49 | 49 | private final DoConditionMapper doConditionMapper; |
50 | 50 | private final TriggerMapper triggerMapper; |
51 | - private final OrganizationMapper organizationMapper; | |
52 | 51 | private final TriggerService triggerService; |
53 | 52 | private final DoConditionService doConditionService; |
54 | 53 | private final DoActionService doActionService; |
55 | 54 | private final TkDeviceProfileMapper profileMapper; |
55 | + private final TkOrganizationService organizationService; | |
56 | 56 | /** |
57 | 57 | * 增加场景联动,触发器可以多个,执行条件可以多个,执行动作可以多个 |
58 | 58 | * |
... | ... | @@ -422,7 +422,7 @@ public class TkSceneLinkageServiceImpl |
422 | 422 | organizationFilter.add(organizationId); |
423 | 423 | // 查询该组织的所有子类 |
424 | 424 | List<String> orgIds = |
425 | - organizationMapper.findOrganizationTreeList(tenantId, organizationFilter).stream() | |
425 | + organizationService.findOrganizationTreeList(tenantId,null,organizationFilter).stream() | |
426 | 426 | .map(BaseDTO::getId) |
427 | 427 | .collect(Collectors.toList()); |
428 | 428 | // 拿到当前组织ids所包含的设备集合 |
... | ... | @@ -627,7 +627,7 @@ public class TkSceneLinkageServiceImpl |
627 | 627 | private List<String> getQueryOrganizationIds(String tenantId, List<String> organizationIds) { |
628 | 628 | // 查询该组织的所有子类 |
629 | 629 | List<OrganizationDTO> organizationDTOS = |
630 | - organizationMapper.findOrganizationTreeList(tenantId, organizationIds); | |
630 | + organizationService.findOrganizationTreeList(tenantId,null, organizationIds); | |
631 | 631 | // 遍历组织id |
632 | 632 | List<String> queryOrganizationIds = new ArrayList<>(); |
633 | 633 | organizationDTOS.forEach(item -> queryOrganizationIds.add(item.getId())); | ... | ... |
... | ... | @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
4 | 4 | import org.apache.ibatis.annotations.Mapper; |
5 | 5 | import org.apache.ibatis.annotations.Param; |
6 | 6 | import org.thingsboard.server.common.data.yunteng.dto.OrganizationDTO; |
7 | +import org.thingsboard.server.common.data.yunteng.enums.OrganizationEnum; | |
7 | 8 | import org.thingsboard.server.dao.yunteng.entities.TkOrganizationEntity; |
8 | 9 | |
9 | 10 | import java.util.Collection; |
... | ... | @@ -16,8 +17,9 @@ public interface OrganizationMapper extends BaseMapper<TkOrganizationEntity> { |
16 | 17 | * |
17 | 18 | * @param tenantId 租户code |
18 | 19 | * @param organizationIds 待查询的组织ID,可以为空 |
20 | + * @param sort 查询顺序 0向下查询,1向下查询 | |
19 | 21 | * @return 组织及子组织,直到叶节点 |
20 | 22 | */ |
21 | 23 | List<OrganizationDTO> findOrganizationTreeList( |
22 | - @Param("tenantId") String tenantId, @Param("organizationIds") Collection<String> organizationIds); | |
24 | + @Param("tenantId") String tenantId, @Param("sort") String sort, @Param("organizationIds") Collection<String> organizationIds); | |
23 | 25 | } | ... | ... |
1 | 1 | package org.thingsboard.server.dao.yunteng.service; |
2 | 2 | import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO; |
3 | 3 | import org.thingsboard.server.common.data.yunteng.dto.OrganizationDTO; |
4 | +import org.thingsboard.server.common.data.yunteng.enums.OrganizationEnum; | |
4 | 5 | import org.thingsboard.server.dao.yunteng.entities.TkOrganizationEntity; |
5 | 6 | |
7 | +import java.util.Collection; | |
6 | 8 | import java.util.List; |
7 | 9 | import java.util.Set; |
8 | 10 | |
... | ... | @@ -29,4 +31,6 @@ public interface TkOrganizationService extends BaseService<TkOrganizationEntity> |
29 | 31 | * @param organizationId 组织ID |
30 | 32 | */ |
31 | 33 | List<String> organizationAllIds(String tenantId, String organizationId); |
34 | + | |
35 | + List<OrganizationDTO> findOrganizationTreeList(String tenantId, OrganizationEnum sort, Collection<String> organizationIds); | |
32 | 36 | } | ... | ... |
... | ... | @@ -29,7 +29,12 @@ |
29 | 29 | UNION ALL |
30 | 30 | SELECT ig.id, ig.parent_id, ig.name, ig.sort,ig.creator,ig.create_time,ig.updater,ig.update_time,ig.remark,ig.tenant_id |
31 | 31 | FROM tk_organization ig |
32 | - JOIN organization ON ig.parent_id = organization.id | |
32 | + <if test="sort =='UP'"> | |
33 | + JOIN organization ON ig.id = organization.parent_id | |
34 | + </if> | |
35 | + <if test="sort == 'DOWN'"> | |
36 | + JOIN organization ON ig.parent_id = organization.id | |
37 | + </if> | |
33 | 38 | WHERE ig.tenant_id = #{tenantId} |
34 | 39 | ) |
35 | 40 | SELECT id, parent_id, name, sort,creator,create_time,updater,update_time,remark,tenant_id | ... | ... |