Commit e0d969d3cfb80e59aeffa346a36b2a6cd3584fdc

Authored by 云中非
1 parent a7720348

fix: 场景联动编辑时校验设备有效性问题修复

... ... @@ -47,7 +47,7 @@ public class YtSceneLinkageController extends BaseController {
47 47 throws ThingsboardException {
48 48 SceneLinkageDTO newSceneLinkageDTO =
49 49 sceneLinkageService.saveSceneLinkage(
50   - sceneLinkageDTO, getCurrentUser().getCurrentTenantId());
  50 + sceneLinkageDTO, getCurrentUser().getCurrentTenantId(),getCurrentUser().isPtTenantAdmin(), getCurrentUser().getCurrentUserId());
51 51 return Optional.ofNullable(newSceneLinkageDTO)
52 52 .map(
53 53 dto -> {
... ... @@ -66,7 +66,7 @@ public class YtSceneLinkageController extends BaseController {
66 66 public void updateSceneLinkage(
67 67 @Validated(UpdateGroup.class) @RequestBody SceneLinkageDTO sceneLinkageDTO)
68 68 throws ThingsboardException {
69   - sceneLinkageService.updateSceneLinkage(sceneLinkageDTO, getCurrentUser().getCurrentTenantId());
  69 + sceneLinkageService.updateSceneLinkage(sceneLinkageDTO, getCurrentUser().getCurrentTenantId(),getCurrentUser().isPtTenantAdmin(), getCurrentUser().getCurrentUserId());
70 70 }
71 71
72 72 @ApiOperation("查询(分页列表)")
... ... @@ -98,16 +98,7 @@ public class YtSceneLinkageController extends BaseController {
98 98 deleteDTO.getIds(), getCurrentUser().getCurrentTenantId());
99 99 }
100 100
101   - @ApiOperation(value = "启用/禁用")
102   - @PutMapping("/updateSceneStatus/{sceneLinkageId}/{status}")
103   - public void updateRoleStatus(
104   - @PathVariable String sceneLinkageId, @PathVariable("status") int status)
105   - throws ThingsboardException {
106   - // TODO: 启动时,验证必填的动作是否为空
107 101
108   - sceneLinkageService.updateSceneStatus(
109   - sceneLinkageId, status, getCurrentUser().getCurrentTenantId());
110   - }
111 102
112 103 @ApiOperation(value = "通过场景id获取所属组织的设备集合")
113 104 @GetMapping("/device")
... ...
... ... @@ -55,7 +55,7 @@ public class SceneLinkageServiceImpl extends AbstractBaseService<SceneLinkageMap
55 55 */
56 56 @Override
57 57 @Transactional
58   - public SceneLinkageDTO saveSceneLinkage(SceneLinkageDTO sceneLinkageDTO, String tenantId) {
  58 + public SceneLinkageDTO saveSceneLinkage(SceneLinkageDTO sceneLinkageDTO, String tenantId,boolean tenantAdmin,String currentUserId) {
59 59 sceneLinkageDTO.setTenantId(tenantId);
60 60 // 第一步保存场景,获取场景ID
61 61 // 场景对象
... ... @@ -67,7 +67,7 @@ public class SceneLinkageServiceImpl extends AbstractBaseService<SceneLinkageMap
67 67 }
68 68
69 69 String organizationId = sceneLinkage.getOrganizationId();
70   - List<DeviceDTO> organizationDevices = findDeviceList(organizationId,true,sceneLinkage.getTenantId(),sceneLinkage.getCreator());
  70 + List<DeviceDTO> organizationDevices = findDeviceList(organizationId,tenantAdmin,tenantId,currentUserId);
71 71
72 72 List<String> tbDeviceIds = new ArrayList<>();
73 73 for (DeviceDTO item : organizationDevices) {
... ... @@ -118,22 +118,17 @@ public class SceneLinkageServiceImpl extends AbstractBaseService<SceneLinkageMap
118 118 */
119 119 @Override
120 120 @Transactional
121   - public SceneLinkageDTO updateSceneLinkage(SceneLinkageDTO sceneLinkageDTO, String tenantId) {
  121 + public SceneLinkageDTO updateSceneLinkage(SceneLinkageDTO sceneLinkageDTO, String tenantId,boolean tenantAdmin ,String currentUserId) {
122 122 // 获取场景
123 123 SceneLinkage sceneLinkage = baseMapper.selectById(sceneLinkageDTO.getId());
124 124 if (sceneLinkage == null) {
125 125 throw new YtDataValidationException("此场景已不存在");
126 126 }
127 127 String organizationId = sceneLinkage.getOrganizationId();
128   - List<YtDevice> organizationDevices =
129   - deviceMapper.selectList(
130   - new QueryWrapper<YtDevice>()
131   - .lambda()
132   - .eq(YtDevice::getTenantId, sceneLinkage.getTenantId())
133   - .eq(StringUtils.isNoneBlank(organizationId), YtDevice::getOrganizationId, organizationId)
134   - );
  128 + List<DeviceDTO> organizationDevices = findDeviceList(organizationId,tenantAdmin,tenantId,currentUserId);
  129 +
135 130 List<String> tbDeviceIds = new ArrayList<>();
136   - for (YtDevice item : organizationDevices) {
  131 + for (DeviceDTO item : organizationDevices) {
137 132 tbDeviceIds.add(item.getTbDeviceId());
138 133 }
139 134
... ...
... ... @@ -15,12 +15,16 @@ import java.util.Set;
15 15 * @Date 2021/11/25 11:19
16 16 */
17 17 public interface SceneLinkageService extends BaseService<SceneLinkage>{
  18 +
18 19 /**
19   - * 新增场景联动
20   - * @param sceneLinkageDTO
21   - * @return
  20 + * 新增场景联动
  21 + * @param sceneLinkageDTO 场景联动信息
  22 + * @param tenantId 租户主键
  23 + * @param tenantAdmin 当前用户是否租户管理员
  24 + * @param currentUserId 当前登录用户主键
  25 + * @return sceneLinkageDTO
22 26 */
23   - SceneLinkageDTO saveSceneLinkage(SceneLinkageDTO sceneLinkageDTO, String tenantId);
  27 + SceneLinkageDTO saveSceneLinkage(SceneLinkageDTO sceneLinkageDTO, String tenantId,boolean tenantAdmin,String currentUserId);
24 28
25 29 /**
26 30 * 删除场景联动
... ... @@ -31,10 +35,13 @@ public interface SceneLinkageService extends BaseService<SceneLinkage>{
31 35
32 36 /**
33 37 * 修改场景联动
34   - * @param sceneLinkageDTO
  38 + * @param sceneLinkageDTO 场景联动信息
  39 + * @param tenantId 租户主键
  40 + * @param tenantAdmin 当前用户是否租户管理员
  41 + * @param currentUserId 当前登录用户主键
35 42 * @return
36 43 */
37   - SceneLinkageDTO updateSceneLinkage(SceneLinkageDTO sceneLinkageDTO,String tenantId);
  44 + SceneLinkageDTO updateSceneLinkage(SceneLinkageDTO sceneLinkageDTO,String tenantId,boolean tenantAdmin,String currentUserId);
38 45
39 46 /**
40 47 * 分页查询
... ...