Showing
1 changed file
with
21 additions
and
19 deletions
@@ -302,27 +302,29 @@ public class SysUserServiceImpl extends AbstractBaseService<UserMapper, SysUserE | @@ -302,27 +302,29 @@ public class SysUserServiceImpl extends AbstractBaseService<UserMapper, SysUserE | ||
302 | throw new TkDataValidationException(ErrorMessage.USERNAME_IS_IMMUTABLE.getMessage()); | 302 | throw new TkDataValidationException(ErrorMessage.USERNAME_IS_IMMUTABLE.getMessage()); |
303 | } | 303 | } |
304 | 304 | ||
305 | - boolean difference = false; | ||
306 | - //判断客户组织是否有变化 | ||
307 | - List<String> newList = List.of(userDTO.getOrganizationIds()); | ||
308 | - List<String> oldList = userOrganizationMappingService.getOrganizationIdsByUserId(userDTO.getId()); | ||
309 | - if(newList.size()!=oldList.size()){ | ||
310 | - difference = true; | ||
311 | - } | ||
312 | - if(!difference) { | ||
313 | - List<String> differenceList = newList.stream() | ||
314 | - .filter(element -> !oldList.contains(element)) | ||
315 | - .collect(Collectors.toList()); | ||
316 | - if (null != differenceList && !differenceList.isEmpty()) { | 305 | + if(null != userDTO.getOrganizationIds()){ |
306 | + boolean difference = false; | ||
307 | + //判断客户组织是否有变化 | ||
308 | + List<String> newList = List.of(userDTO.getOrganizationIds()); | ||
309 | + List<String> oldList = userOrganizationMappingService.getOrganizationIdsByUserId(userDTO.getId()); | ||
310 | + if(newList.size()!=oldList.size()){ | ||
317 | difference = true; | 311 | difference = true; |
318 | } | 312 | } |
319 | - } | ||
320 | - //有变化则查询该客户是否分配设备 分配设备则不允许修改 | ||
321 | - if(difference){ | ||
322 | - User tbuser = tbUserService.findUserById(new TenantId(UUID.fromString(tenantId)), new UserId(UUID.fromString(user.getTbUser()))); | ||
323 | - List<TkCustomerDeviceDTO> dtolist = tkCustomerDevice.getMappingByCustomerId(tbuser.getCustomerId().toString()); | ||
324 | - if(null != dtolist&&!dtolist.isEmpty()){ | ||
325 | - throw new TkDataValidationException(ErrorMessage.CUSTOMER_USER_UPDATE_ERROR.getMessage()); | 313 | + if(!difference) { |
314 | + List<String> differenceList = newList.stream() | ||
315 | + .filter(element -> !oldList.contains(element)) | ||
316 | + .collect(Collectors.toList()); | ||
317 | + if (null != differenceList && !differenceList.isEmpty()) { | ||
318 | + difference = true; | ||
319 | + } | ||
320 | + } | ||
321 | + //有变化则查询该客户是否分配设备 分配设备则不允许修改 | ||
322 | + if(difference){ | ||
323 | + User tbuser = tbUserService.findUserById(new TenantId(UUID.fromString(tenantId)), new UserId(UUID.fromString(user.getTbUser()))); | ||
324 | + List<TkCustomerDeviceDTO> dtolist = tkCustomerDevice.getMappingByCustomerId(tbuser.getCustomerId().toString()); | ||
325 | + if(null != dtolist&&!dtolist.isEmpty()){ | ||
326 | + throw new TkDataValidationException(ErrorMessage.CUSTOMER_USER_UPDATE_ERROR.getMessage()); | ||
327 | + } | ||
326 | } | 328 | } |
327 | } | 329 | } |
328 | 330 |