Fix some team project bugs

This commit is contained in:
JiaJu Zhuang
2023-09-09 15:29:11 +08:00
parent 40a079bd93
commit 86ea808fa7
54 changed files with 61 additions and 1966 deletions

View File

@ -18,7 +18,9 @@ import ai.chat2db.server.domain.api.service.DatabaseService;
import ai.chat2db.server.domain.core.converter.DataSourceConverter;
import ai.chat2db.server.domain.core.converter.EnvironmentConverter;
import ai.chat2db.server.domain.core.util.PermissionUtils;
import ai.chat2db.server.domain.repository.entity.DataSourceAccessDO;
import ai.chat2db.server.domain.repository.entity.DataSourceDO;
import ai.chat2db.server.domain.repository.mapper.DataSourceAccessMapper;
import ai.chat2db.server.domain.repository.mapper.DataSourceCustomMapper;
import ai.chat2db.server.domain.repository.mapper.DataSourceMapper;
import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
@ -75,6 +77,8 @@ public class DataSourceServiceImpl implements DataSourceService {
private DataSourceCustomMapper dataSourceCustomMapper;
@Resource
private EnvironmentConverter environmentConverter;
@Resource
private DataSourceAccessMapper dataSourceAccessMapper;
@Override
public DataResult<Long> createWithPermission(DataSourceCreateParam param) {
@ -134,6 +138,11 @@ public class DataSourceServiceImpl implements DataSourceService {
PermissionUtils.checkOperationPermission(dataSource.getUserId());
dataSourceMapper.deleteById(id);
LambdaQueryWrapper<DataSourceAccessDO> dataSourceAccessQueryWrapper = new LambdaQueryWrapper<>();
dataSourceAccessQueryWrapper.eq(DataSourceAccessDO::getDataSourceId, id)
;
dataSourceAccessMapper.delete(dataSourceAccessQueryWrapper);
return ActionResult.isSuccess();
}

View File

@ -2,6 +2,7 @@ package ai.chat2db.server.domain.core.impl;
import java.util.List;
import ai.chat2db.server.domain.api.enums.AccessObjectTypeEnum;
import ai.chat2db.server.domain.api.enums.RoleCodeEnum;
import ai.chat2db.server.domain.api.model.Team;
import ai.chat2db.server.domain.api.param.team.TeamCreateParam;
@ -11,8 +12,12 @@ import ai.chat2db.server.domain.api.param.team.TeamUpdateParam;
import ai.chat2db.server.domain.api.service.TeamService;
import ai.chat2db.server.domain.core.converter.TeamConverter;
import ai.chat2db.server.domain.core.converter.UserConverter;
import ai.chat2db.server.domain.repository.entity.DataSourceAccessDO;
import ai.chat2db.server.domain.repository.entity.TeamDO;
import ai.chat2db.server.domain.repository.entity.TeamUserDO;
import ai.chat2db.server.domain.repository.mapper.DataSourceAccessMapper;
import ai.chat2db.server.domain.repository.mapper.TeamMapper;
import ai.chat2db.server.domain.repository.mapper.TeamUserMapper;
import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
import ai.chat2db.server.tools.base.wrapper.result.ListResult;
@ -44,6 +49,10 @@ public class TeamServiceImpl implements TeamService {
@Resource
private TeamMapper teamMapper;
@Resource
private TeamUserMapper teamUserMapper;
@Resource
private DataSourceAccessMapper dataSourceAccessMapper;
@Resource
private TeamConverter teamConverter;
@Resource
private UserConverter userConverter;
@ -108,6 +117,16 @@ public class TeamServiceImpl implements TeamService {
@Override
public ActionResult delete(Long id) {
teamMapper.deleteById(id);
LambdaQueryWrapper<TeamUserDO> teamUserQueryWrapper = new LambdaQueryWrapper<>();
teamUserQueryWrapper.eq(TeamUserDO::getTeamId, id);
teamUserMapper.delete(teamUserQueryWrapper);
LambdaQueryWrapper<DataSourceAccessDO> dataSourceAccessQueryWrapper = new LambdaQueryWrapper<>();
dataSourceAccessQueryWrapper.eq(DataSourceAccessDO::getAccessObjectId, id)
.eq(DataSourceAccessDO::getAccessObjectType, AccessObjectTypeEnum.TEAM.getCode())
;
dataSourceAccessMapper.delete(dataSourceAccessQueryWrapper);
return ActionResult.isSuccess();
}

View File

@ -3,6 +3,7 @@ package ai.chat2db.server.domain.core.impl;
import java.util.List;
import java.util.Objects;
import ai.chat2db.server.domain.api.enums.AccessObjectTypeEnum;
import ai.chat2db.server.domain.api.enums.RoleCodeEnum;
import ai.chat2db.server.domain.api.model.User;
import ai.chat2db.server.domain.api.param.user.UserCreateParam;
@ -11,8 +12,12 @@ import ai.chat2db.server.domain.api.param.user.UserSelector;
import ai.chat2db.server.domain.api.param.user.UserUpdateParam;
import ai.chat2db.server.domain.api.service.UserService;
import ai.chat2db.server.domain.core.converter.UserConverter;
import ai.chat2db.server.domain.repository.entity.DataSourceAccessDO;
import ai.chat2db.server.domain.repository.entity.DbhubUserDO;
import ai.chat2db.server.domain.repository.entity.TeamUserDO;
import ai.chat2db.server.domain.repository.mapper.DataSourceAccessMapper;
import ai.chat2db.server.domain.repository.mapper.DbhubUserMapper;
import ai.chat2db.server.domain.repository.mapper.TeamUserMapper;
import ai.chat2db.server.tools.base.excption.BusinessException;
import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
@ -45,6 +50,10 @@ public class UserServiceImpl implements UserService {
private DbhubUserMapper dbhubUserMapper;
@Resource
private UserConverter userConverter;
@Resource
private TeamUserMapper teamUserMapper;
@Resource
private DataSourceAccessMapper dataSourceAccessMapper;
@Override
public DataResult<User> query(Long id) {
@ -126,6 +135,16 @@ public class UserServiceImpl implements UserService {
throw new BusinessException("user.canNotOperateSystemAccount");
}
dbhubUserMapper.deleteById(id);
LambdaQueryWrapper<TeamUserDO> teamUserQueryWrapper = new LambdaQueryWrapper<>();
teamUserQueryWrapper.eq(TeamUserDO::getUserId, id);
teamUserMapper.delete(teamUserQueryWrapper);
LambdaQueryWrapper<DataSourceAccessDO> dataSourceAccessQueryWrapper = new LambdaQueryWrapper<>();
dataSourceAccessQueryWrapper.eq(DataSourceAccessDO::getAccessObjectId, id)
.eq(DataSourceAccessDO::getAccessObjectType, AccessObjectTypeEnum.USER.getCode())
;
dataSourceAccessMapper.delete(dataSourceAccessQueryWrapper);
return ActionResult.isSuccess();
}