Commit 2e2f26b8 by guoxuejian

Refactor workspaceId handling in DeviceServiceImpl and UserOrgServiceImpl to…

Refactor workspaceId handling in DeviceServiceImpl and UserOrgServiceImpl to improve null checks and reduce redundancy
parent d5aa02b7
...@@ -1551,18 +1551,25 @@ public class DeviceServiceImpl extends ServiceImpl<IDeviceMapper, DeviceEntity> ...@@ -1551,18 +1551,25 @@ public class DeviceServiceImpl extends ServiceImpl<IDeviceMapper, DeviceEntity>
throw new RuntimeException("device does not exist!"); throw new RuntimeException("device does not exist!");
} }
String workspaceId = StringUtils.hasText(device.getWorkspaceId())
? device.getWorkspaceId()
: (StringUtils.hasText(dbDevice.getWorkspaceId()) ? dbDevice.getWorkspaceId() : getWorkspaceId());
if (!StringUtils.hasText(workspaceId)) {
throw new RuntimeException("workspaceId is null");
}
// 查询是否已经分享 // 查询是否已经分享
LambdaQueryWrapper<DeviceOrgEntity> deviceOrgQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<DeviceOrgEntity> deviceOrgQueryWrapper = new LambdaQueryWrapper<>();
deviceOrgQueryWrapper.eq(DeviceOrgEntity::getDeviceSn, device.getDeviceSn()); deviceOrgQueryWrapper.eq(DeviceOrgEntity::getDeviceSn, device.getDeviceSn());
deviceOrgQueryWrapper.eq(DeviceOrgEntity::getOrgId, device.getOrgId()); deviceOrgQueryWrapper.eq(DeviceOrgEntity::getOrgId, device.getOrgId());
deviceOrgQueryWrapper.eq(DeviceOrgEntity::getWorkspaceId, StringUtils.hasText(device.getWorkspaceId()) ? device.getWorkspaceId() : getWorkspaceId()); deviceOrgQueryWrapper.eq(DeviceOrgEntity::getWorkspaceId, workspaceId);
List<DeviceOrgEntity> deviceOrgEntities = deviceOrgService.list(deviceOrgQueryWrapper); List<DeviceOrgEntity> deviceOrgEntities = deviceOrgService.list(deviceOrgQueryWrapper);
if (!CollectionUtils.isEmpty(deviceOrgEntities)) { if (!CollectionUtils.isEmpty(deviceOrgEntities)) {
throw new RuntimeException("the device has been shared with the Org"); throw new RuntimeException("the device has been shared with the Org");
} }
DeviceOrgEntity deviceOrgEntity = new DeviceOrgEntity(); DeviceOrgEntity deviceOrgEntity = new DeviceOrgEntity();
deviceOrgEntity.setWorkspaceId(StringUtils.hasText(device.getWorkspaceId()) ? device.getWorkspaceId() : getWorkspaceId()); deviceOrgEntity.setWorkspaceId(workspaceId);
deviceOrgEntity.setOrgId(device.getOrgId()); deviceOrgEntity.setOrgId(device.getOrgId());
deviceOrgEntity.setDeviceSn(device.getDeviceSn()); deviceOrgEntity.setDeviceSn(device.getDeviceSn());
deviceOrgEntity.setDeviceId(dbDevice.getId()); deviceOrgEntity.setDeviceId(dbDevice.getId());
...@@ -1595,11 +1602,18 @@ public class DeviceServiceImpl extends ServiceImpl<IDeviceMapper, DeviceEntity> ...@@ -1595,11 +1602,18 @@ public class DeviceServiceImpl extends ServiceImpl<IDeviceMapper, DeviceEntity>
throw new RuntimeException("device does not exist!"); throw new RuntimeException("device does not exist!");
} }
String workspaceId = StringUtils.hasText(device.getWorkspaceId())
? device.getWorkspaceId()
: (StringUtils.hasText(dbDevice.getWorkspaceId()) ? dbDevice.getWorkspaceId() : getWorkspaceId());
if (!StringUtils.hasText(workspaceId)) {
throw new RuntimeException("workspaceId is null");
}
// 删除已经分享的 // 删除已经分享的
LambdaQueryWrapper<DeviceOrgEntity> deviceOrgQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<DeviceOrgEntity> deviceOrgQueryWrapper = new LambdaQueryWrapper<>();
deviceOrgQueryWrapper.eq(DeviceOrgEntity::getDeviceSn, device.getDeviceSn()); deviceOrgQueryWrapper.eq(DeviceOrgEntity::getDeviceSn, device.getDeviceSn());
deviceOrgQueryWrapper.eq(DeviceOrgEntity::getOrgId, device.getOrgId()); deviceOrgQueryWrapper.eq(DeviceOrgEntity::getOrgId, device.getOrgId());
deviceOrgQueryWrapper.eq(DeviceOrgEntity::getWorkspaceId, StringUtils.hasText(device.getWorkspaceId()) ? device.getWorkspaceId() : getWorkspaceId()); deviceOrgQueryWrapper.eq(DeviceOrgEntity::getWorkspaceId, workspaceId);
deviceOrgQueryWrapper.eq(DeviceOrgEntity::getIsShared, 1); deviceOrgQueryWrapper.eq(DeviceOrgEntity::getIsShared, 1);
boolean deviceOrgSaveRes = deviceOrgService.remove(deviceOrgQueryWrapper); boolean deviceOrgSaveRes = deviceOrgService.remove(deviceOrgQueryWrapper);
......
...@@ -6,10 +6,12 @@ import com.dji.sample.common.util.SecurityUtils; // 修正导入包 ...@@ -6,10 +6,12 @@ import com.dji.sample.common.util.SecurityUtils; // 修正导入包
import com.dji.sample.manage.dao.IUserOrgMapper; import com.dji.sample.manage.dao.IUserOrgMapper;
import com.dji.sample.manage.model.dto.UserOrgDTO; import com.dji.sample.manage.model.dto.UserOrgDTO;
import com.dji.sample.manage.model.entity.UserOrgEntity; import com.dji.sample.manage.model.entity.UserOrgEntity;
import com.dji.sample.manage.service.IOrgService;
import com.dji.sample.manage.service.IUserOrgService; import com.dji.sample.manage.service.IUserOrgService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -24,6 +26,9 @@ public class UserOrgServiceImpl extends ServiceImpl<IUserOrgMapper, UserOrgEntit ...@@ -24,6 +26,9 @@ public class UserOrgServiceImpl extends ServiceImpl<IUserOrgMapper, UserOrgEntit
@Autowired @Autowired
private IUserOrgMapper userOrgMapper; private IUserOrgMapper userOrgMapper;
@Autowired
private IOrgService orgService;
@Override @Override
public Optional<UserOrgEntity> getUserOrg(String userId, String orgId) { public Optional<UserOrgEntity> getUserOrg(String userId, String orgId) {
LambdaQueryWrapper<UserOrgEntity> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<UserOrgEntity> queryWrapper = new LambdaQueryWrapper<>();
...@@ -89,9 +94,17 @@ public class UserOrgServiceImpl extends ServiceImpl<IUserOrgMapper, UserOrgEntit ...@@ -89,9 +94,17 @@ public class UserOrgServiceImpl extends ServiceImpl<IUserOrgMapper, UserOrgEntit
} }
// 创建新关联 // 创建新关联
String workspaceId = orgService.getWorkspaceIdByOrgId(orgId);
if (!StringUtils.hasText(workspaceId)) {
workspaceId = getWorkspaceId();
}
if (!StringUtils.hasText(workspaceId)) {
throw new RuntimeException("workspaceId is null");
}
UserOrgEntity userOrg = new UserOrgEntity(); UserOrgEntity userOrg = new UserOrgEntity();
userOrg.setUserId(userId); userOrg.setUserId(userId);
userOrg.setWorkspaceId(getWorkspaceId()); userOrg.setWorkspaceId(workspaceId);
userOrg.setOrgId(orgId); userOrg.setOrgId(orgId);
userOrg.setRoleType(roleType); userOrg.setRoleType(roleType);
userOrg.setStatus(1); userOrg.setStatus(1);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment