Commit f3672fc4 by gdj

修复重新增加团队报错问题。

parent 60530e81
...@@ -10,12 +10,10 @@ import com.dji.sample.manage.dao.IOrgMapper; ...@@ -10,12 +10,10 @@ import com.dji.sample.manage.dao.IOrgMapper;
import com.dji.sample.manage.model.dto.OrgDTO; import com.dji.sample.manage.model.dto.OrgDTO;
import com.dji.sample.manage.model.dto.OrgJoinDTO; import com.dji.sample.manage.model.dto.OrgJoinDTO;
import com.dji.sample.manage.model.dto.WorkspaceDTO; import com.dji.sample.manage.model.dto.WorkspaceDTO;
import com.dji.sample.manage.model.entity.OrgEntity; import com.dji.sample.manage.model.entity.*;
import com.dji.sample.manage.model.entity.UserEntity;
import com.dji.sample.manage.model.entity.UserOrgEntity;
import com.dji.sample.manage.model.entity.WorkspaceEntity;
import com.dji.sample.manage.model.enums.RoleTypeEnum; import com.dji.sample.manage.model.enums.RoleTypeEnum;
import com.dji.sample.manage.model.param.searchParam.OrgSearchParam; import com.dji.sample.manage.model.param.searchParam.OrgSearchParam;
import com.dji.sample.manage.service.IDeviceOrgService;
import com.dji.sample.manage.service.IOrgService; import com.dji.sample.manage.service.IOrgService;
import com.dji.sample.manage.service.IUserService; import com.dji.sample.manage.service.IUserService;
import com.dji.sdk.common.Pagination; import com.dji.sdk.common.Pagination;
...@@ -50,6 +48,9 @@ public class OrgServiceImpl extends ServiceImpl<IOrgMapper, OrgEntity> implement ...@@ -50,6 +48,9 @@ public class OrgServiceImpl extends ServiceImpl<IOrgMapper, OrgEntity> implement
@Autowired @Autowired
private UserOrgServiceImpl userOrgService; private UserOrgServiceImpl userOrgService;
@Autowired
private IDeviceOrgService deviceOrgService;
@Autowired @Autowired
@Lazy @Lazy
...@@ -125,18 +126,25 @@ public class OrgServiceImpl extends ServiceImpl<IOrgMapper, OrgEntity> implement ...@@ -125,18 +126,25 @@ public class OrgServiceImpl extends ServiceImpl<IOrgMapper, OrgEntity> implement
boolean addOrgRes = this.save(addOrgEntity); boolean addOrgRes = this.save(addOrgEntity);
// 增加用户和团队的权限 // 增加用户和团队的权限
UserOrgEntity userOrgEntity = new UserOrgEntity(); // 先查询是否存在
userOrgEntity.setOrgId(addOrgEntity.getOrgId()); LambdaQueryWrapper<UserOrgEntity> userOrgEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
userOrgEntity.setUserId(saveAdmin.getUserId()); userOrgEntityLambdaQueryWrapper.eq(UserOrgEntity::getOrgId, addOrgEntity.getOrgId());
userOrgEntity.setWorkspaceId(addOrgEntity.getWorkspaceId()); userOrgEntityLambdaQueryWrapper.eq(UserOrgEntity::getUserId, saveAdmin.getUserId());
userOrgEntity.setCreateTime(System.currentTimeMillis()); List<UserOrgEntity> userOrgList = userOrgService.list(userOrgEntityLambdaQueryWrapper);
userOrgEntity.setCreatorId(getUserId()); if (CollectionUtils.isEmpty(userOrgList)) {
userOrgEntity.setCreatorName(getUsername()); UserOrgEntity userOrgEntity = new UserOrgEntity();
userOrgEntity.setUpdateTime(System.currentTimeMillis()); userOrgEntity.setOrgId(addOrgEntity.getOrgId());
userOrgEntity.setUpdaterId(getUserId()); userOrgEntity.setUserId(saveAdmin.getUserId());
userOrgEntity.setUpdaterName(getUsername()); userOrgEntity.setWorkspaceId(addOrgEntity.getWorkspaceId());
userOrgEntity.setRoleType(RoleTypeEnum.ORG_ADMIN.getVal()); userOrgEntity.setCreateTime(System.currentTimeMillis());
boolean userOrgSaveRes = userOrgService.save(userOrgEntity); userOrgEntity.setCreatorId(getUserId());
userOrgEntity.setCreatorName(getUsername());
userOrgEntity.setUpdateTime(System.currentTimeMillis());
userOrgEntity.setUpdaterId(getUserId());
userOrgEntity.setUpdaterName(getUsername());
userOrgEntity.setRoleType(RoleTypeEnum.ORG_ADMIN.getVal());
boolean userOrgSaveRes = userOrgService.save(userOrgEntity);
}
OrgDTO entityConvertToDto = entityConvertToDto(addOrgEntity); OrgDTO entityConvertToDto = entityConvertToDto(addOrgEntity);
return entityConvertToDto; return entityConvertToDto;
...@@ -195,6 +203,15 @@ public class OrgServiceImpl extends ServiceImpl<IOrgMapper, OrgEntity> implement ...@@ -195,6 +203,15 @@ public class OrgServiceImpl extends ServiceImpl<IOrgMapper, OrgEntity> implement
throw new RuntimeException("id and orgId is null"); throw new RuntimeException("id and orgId is null");
} }
boolean remove; boolean remove;
LambdaQueryWrapper<OrgEntity> orgWrapper = new LambdaQueryWrapper<>();
if (orgDTO.getId() != null) {
orgWrapper.eq(OrgEntity::getId, orgDTO.getId());
} else {
orgWrapper.eq(OrgEntity::getOrgId, orgDTO.getOrgId());
}
List<OrgEntity> orgEntities = this.list(orgWrapper);
OrgEntity dbOrgEntity = orgEntities.get(0);
if (orgDTO.getId() != null) { if (orgDTO.getId() != null) {
remove = this.removeById(orgDTO.getId()); remove = this.removeById(orgDTO.getId());
...@@ -203,6 +220,18 @@ public class OrgServiceImpl extends ServiceImpl<IOrgMapper, OrgEntity> implement ...@@ -203,6 +220,18 @@ public class OrgServiceImpl extends ServiceImpl<IOrgMapper, OrgEntity> implement
wrapper.eq(OrgEntity::getOrgId, orgDTO.getOrgId()); wrapper.eq(OrgEntity::getOrgId, orgDTO.getOrgId());
remove = this.remove(wrapper); remove = this.remove(wrapper);
} }
// 超级管理员
if (aboveSysAdminRole()) {
// 删除用户关系
LambdaQueryWrapper<UserOrgEntity> userOrgEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
userOrgEntityLambdaQueryWrapper.eq(UserOrgEntity::getOrgId, dbOrgEntity.getOrgId());
boolean userOrgRemoveRes = userOrgService.remove(userOrgEntityLambdaQueryWrapper);
// 删除设备关系
LambdaQueryWrapper<DeviceOrgEntity> deviceOrgEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
deviceOrgEntityLambdaQueryWrapper.eq(DeviceOrgEntity::getOrgId, dbOrgEntity.getOrgId());
boolean deviceOrgRemoveRes = deviceOrgService.remove(deviceOrgEntityLambdaQueryWrapper);
}
return remove; return remove;
} }
...@@ -215,7 +244,7 @@ public class OrgServiceImpl extends ServiceImpl<IOrgMapper, OrgEntity> implement ...@@ -215,7 +244,7 @@ public class OrgServiceImpl extends ServiceImpl<IOrgMapper, OrgEntity> implement
if (!StringUtils.hasText(orgDTO.getBindCode())) { if (!StringUtils.hasText(orgDTO.getBindCode())) {
throw new RuntimeException("bindCode is null"); throw new RuntimeException("bindCode is null");
} }
if (!StringUtils.hasText(orgDTO.getOrgDesc()) && !StringUtils.hasText(orgDTO.getOrgId())) { if (!StringUtils.hasText(orgDTO.getOrgName()) && !StringUtils.hasText(orgDTO.getOrgId())) {
throw new RuntimeException("org info is null"); throw new RuntimeException("org info is null");
} }
......
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