Commit 8a132a620f3de9dd777ea90a0479473211f9c1d6

Authored by xp.Huang
2 parents 2e3350f2 42effaf3

Merge branch '20220310' into 'master'

20220310

See merge request huang/thingsboard3.3.2!62
@@ -97,7 +97,7 @@ public class YtSceneLinkageController extends BaseController { @@ -97,7 +97,7 @@ public class YtSceneLinkageController extends BaseController {
97 public void delete(@Validated({DeleteGroup.class}) @RequestBody DeleteDTO deleteDTO) 97 public void delete(@Validated({DeleteGroup.class}) @RequestBody DeleteDTO deleteDTO)
98 throws ThingsboardException { 98 throws ThingsboardException {
99 sceneLinkageService.deleteSceneLinkage( 99 sceneLinkageService.deleteSceneLinkage(
100 - deleteDTO.getIds(), getCurrentUser().getCurrentTenantId()); 100 + deleteDTO.getIds(), getCurrentUser().getCurrentTenantId(),getCurrentUser().getCurrentUserId());
101 } 101 }
102 102
103 103
@@ -91,7 +91,18 @@ public class SceneLinkageServiceImpl extends AbstractBaseService<SceneLinkageMap @@ -91,7 +91,18 @@ public class SceneLinkageServiceImpl extends AbstractBaseService<SceneLinkageMap
91 * @param ids 删除的ids 91 * @param ids 删除的ids
92 */ 92 */
93 @Override 93 @Override
94 - public void deleteSceneLinkage(Set<String> ids, String tenantId) { 94 + @Transactional
  95 + public void deleteSceneLinkage(Set<String> ids, String tenantId,String currentUserId) {
  96 + LambdaQueryWrapper<SceneLinkage> Wrapper =
  97 + new QueryWrapper<SceneLinkage>()
  98 + .lambda()
  99 + .eq(SceneLinkage::getTenantId, tenantId)
  100 + .eq(SceneLinkage::getCreator,currentUserId)
  101 + .in(SceneLinkage::getId, ids);
  102 + int result = sceneLinkageMapper.delete(Wrapper);
  103 + if(result != ids.size()){
  104 + throw new YtDataValidationException("存在非当前用户创建的场景联动");
  105 + }
95 // 删除场景,一并删除数据库触发器,执行条件,执行动作的数据 106 // 删除场景,一并删除数据库触发器,执行条件,执行动作的数据
96 triggerMapper.delete( 107 triggerMapper.delete(
97 new LambdaQueryWrapper<Trigger>() 108 new LambdaQueryWrapper<Trigger>()
@@ -105,12 +116,6 @@ public class SceneLinkageServiceImpl extends AbstractBaseService<SceneLinkageMap @@ -105,12 +116,6 @@ public class SceneLinkageServiceImpl extends AbstractBaseService<SceneLinkageMap
105 new LambdaQueryWrapper<DoAction>() 116 new LambdaQueryWrapper<DoAction>()
106 .eq(DoAction::getTenantId, tenantId) 117 .eq(DoAction::getTenantId, tenantId)
107 .in(DoAction::getSceneLinkageId, ids)); 118 .in(DoAction::getSceneLinkageId, ids));
108 - LambdaQueryWrapper<SceneLinkage> Wrapper =  
109 - new QueryWrapper<SceneLinkage>()  
110 - .lambda()  
111 - .eq(SceneLinkage::getTenantId, tenantId)  
112 - .in(SceneLinkage::getId, ids);  
113 - sceneLinkageMapper.delete(Wrapper);  
114 } 119 }
115 120
116 /** 121 /**
@@ -73,20 +73,7 @@ public class UserOrganizationMappingServiceImpl implements UserOrganizationMappi @@ -73,20 +73,7 @@ public class UserOrganizationMappingServiceImpl implements UserOrganizationMappi
73 batchInsert(userId, organizationIds); 73 batchInsert(userId, organizationIds);
74 } 74 }
75 75
76 - @Override  
77 - public List<String> getUserIdsByOrganizationId(String organizationId) {  
78 - if (StringUtils.isAllEmpty(organizationId)) {  
79 - throw new YtDataValidationException(ErrorMessage.INTERNAL_ERROR.getMessage());  
80 - }  
81 - return userOrganizationMappingMapper  
82 - .selectList(  
83 - new QueryWrapper<UserOrganizationMapping>()  
84 - .lambda()  
85 - .eq(UserOrganizationMapping::getOrganizationId, organizationId))  
86 - .stream()  
87 - .map(UserOrganizationMapping::getUserId)  
88 - .collect(Collectors.toList());  
89 - } 76 +
90 77
91 @Override 78 @Override
92 public List<String> getOrganizationIdsByUserId(String userId) { 79 public List<String> getOrganizationIdsByUserId(String userId) {
@@ -521,7 +521,7 @@ public class YtUserServiceImpl extends AbstractBaseService<UserMapper, User> @@ -521,7 +521,7 @@ public class YtUserServiceImpl extends AbstractBaseService<UserMapper, User>
521 if (group == null || !group.getTenantId().equals(tenantId)) { 521 if (group == null || !group.getTenantId().equals(tenantId)) {
522 return Optional.empty(); 522 return Optional.empty();
523 } 523 }
524 - List<String> userIds = userOrganizationMappingService.getUserIdsByOrganizationId(group.getId()); 524 + List<String> userIds = userOrganizationMappingService.getUserIdByOrganizationIds(group.getId());
525 List<User> users = baseMapper.selectBatchIds(userIds); 525 List<User> users = baseMapper.selectBatchIds(userIds);
526 return Optional.ofNullable(ReflectUtils.sourceToTarget(users, UserDTO.class)); 526 return Optional.ofNullable(ReflectUtils.sourceToTarget(users, UserDTO.class));
527 } 527 }
@@ -590,7 +590,7 @@ public class YtUserServiceImpl extends AbstractBaseService<UserMapper, User> @@ -590,7 +590,7 @@ public class YtUserServiceImpl extends AbstractBaseService<UserMapper, User>
590 } 590 }
591 if (isTenantAdmin) { 591 if (isTenantAdmin) {
592 List<String> userList = 592 List<String> userList =
593 - userOrganizationMappingService.getUserIdsByOrganizationId(organizationId); 593 + userOrganizationMappingService.getUserIdByOrganizationIds(tenantId,organizationId);
594 if (null != userList && userList.size() > FastIotConstants.MagicNumber.ZERO) { 594 if (null != userList && userList.size() > FastIotConstants.MagicNumber.ZERO) {
595 return baseMapper.getMyCustomers(tenantId, EntityId.NULL_UUID.toString(), userList); 595 return baseMapper.getMyCustomers(tenantId, EntityId.NULL_UUID.toString(), userList);
596 } 596 }
@@ -31,7 +31,7 @@ public interface SceneLinkageService extends BaseService<SceneLinkage>{ @@ -31,7 +31,7 @@ public interface SceneLinkageService extends BaseService<SceneLinkage>{
31 * @param ids 31 * @param ids
32 * @return 32 * @return
33 */ 33 */
34 - void deleteSceneLinkage(Set<String> ids,String tenantId); 34 + void deleteSceneLinkage(Set<String> ids,String tenantId,String currentUserId);
35 35
36 /** 36 /**
37 * 修改场景联动 37 * 修改场景联动
@@ -22,13 +22,7 @@ public interface UserOrganizationMappingService { @@ -22,13 +22,7 @@ public interface UserOrganizationMappingService {
22 void addOrUpdateUserOrganizationMapping( 22 void addOrUpdateUserOrganizationMapping(
23 String userId, List<String> organizationIds, boolean isUpdate); 23 String userId, List<String> organizationIds, boolean isUpdate);
24 24
25 - /**  
26 - * 根据组织ID查询其用户ID列表  
27 - *  
28 - * @param organizationId 组织ID  
29 - * @return 用户ID集合  
30 - */  
31 - List<String> getUserIdsByOrganizationId(String organizationId); 25 +
32 26
33 /** 27 /**
34 * 根据用户ID查询其所拥有的组织ID列表 28 * 根据用户ID查询其所拥有的组织ID列表