mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-07-31 11:42:41 +08:00
Complete team user code
This commit is contained in:
@ -1,7 +1,7 @@
|
|||||||
package ai.chat2db.server.domain.api.param.datasource.access;
|
package ai.chat2db.server.domain.api.param.datasource.access;
|
||||||
|
|
||||||
|
import ai.chat2db.server.domain.api.enums.AccessObjectTypeEnum;
|
||||||
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
|
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
|
||||||
import jakarta.validation.constraints.NotNull;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -14,9 +14,20 @@ public class DataSourceAccessComprehensivePageQueryParam extends PageQueryParam
|
|||||||
/**
|
/**
|
||||||
* 数据源id
|
* 数据源id
|
||||||
*/
|
*/
|
||||||
@NotNull
|
|
||||||
private Long dataSourceId;
|
private Long dataSourceId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 授权类型
|
||||||
|
*
|
||||||
|
* @see AccessObjectTypeEnum
|
||||||
|
*/
|
||||||
|
private String accessObjectType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 授权id,根据类型区分是用户还是团队
|
||||||
|
*/
|
||||||
|
private Long accessObjectId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Query keywords for users or teams
|
* Query keywords for users or teams
|
||||||
*/
|
*/
|
||||||
|
@ -28,6 +28,7 @@ public abstract class DataSourceAccessConverter {
|
|||||||
@Mappings({
|
@Mappings({
|
||||||
@Mapping(target = "accessObject.id", source = "accessObjectId"),
|
@Mapping(target = "accessObject.id", source = "accessObjectId"),
|
||||||
@Mapping(target = "accessObject.type", source = "accessObjectType"),
|
@Mapping(target = "accessObject.type", source = "accessObjectType"),
|
||||||
|
@Mapping(target = "dataSource.id", source = "dataSourceId"),
|
||||||
})
|
})
|
||||||
public abstract DataSourceAccess do2dto(DataSourceAccessDO data);
|
public abstract DataSourceAccess do2dto(DataSourceAccessDO data);
|
||||||
|
|
||||||
@ -60,6 +61,7 @@ public abstract class DataSourceAccessConverter {
|
|||||||
})
|
})
|
||||||
public abstract DataSourceAccessDO param2do(DataSourceAccessCreatParam param, Long userId);
|
public abstract DataSourceAccessDO param2do(DataSourceAccessCreatParam param, Long userId);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* convert
|
* convert
|
||||||
*
|
*
|
||||||
|
@ -1,22 +1,28 @@
|
|||||||
package ai.chat2db.server.domain.core.converter;
|
package ai.chat2db.server.domain.core.converter;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import ai.chat2db.server.domain.api.model.DataSource;
|
import ai.chat2db.server.domain.api.model.DataSource;
|
||||||
import ai.chat2db.server.domain.api.param.datasource.DataSourceTestParam;
|
|
||||||
import ai.chat2db.server.domain.core.util.DesUtil;
|
|
||||||
import ai.chat2db.server.domain.api.param.ConsoleCreateParam;
|
|
||||||
import ai.chat2db.server.domain.api.param.ConsoleConnectParam;
|
import ai.chat2db.server.domain.api.param.ConsoleConnectParam;
|
||||||
|
import ai.chat2db.server.domain.api.param.ConsoleCreateParam;
|
||||||
import ai.chat2db.server.domain.api.param.datasource.DataSourceCreateParam;
|
import ai.chat2db.server.domain.api.param.datasource.DataSourceCreateParam;
|
||||||
import ai.chat2db.server.domain.api.param.datasource.DataSourcePreConnectParam;
|
import ai.chat2db.server.domain.api.param.datasource.DataSourcePreConnectParam;
|
||||||
|
import ai.chat2db.server.domain.api.param.datasource.DataSourceTestParam;
|
||||||
import ai.chat2db.server.domain.api.param.datasource.DataSourceUpdateParam;
|
import ai.chat2db.server.domain.api.param.datasource.DataSourceUpdateParam;
|
||||||
|
import ai.chat2db.server.domain.api.service.DataSourceService;
|
||||||
|
import ai.chat2db.server.domain.core.util.DesUtil;
|
||||||
import ai.chat2db.server.domain.repository.entity.DataSourceDO;
|
import ai.chat2db.server.domain.repository.entity.DataSourceDO;
|
||||||
|
import ai.chat2db.server.tools.common.util.EasyCollectionUtils;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
import org.mapstruct.Mapping;
|
import org.mapstruct.Mapping;
|
||||||
|
import org.mapstruct.MappingTarget;
|
||||||
import org.mapstruct.Mappings;
|
import org.mapstruct.Mappings;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author moji
|
* @author moji
|
||||||
@ -27,6 +33,10 @@ import org.mapstruct.Mappings;
|
|||||||
@Mapper(componentModel = "spring")
|
@Mapper(componentModel = "spring")
|
||||||
public abstract class DataSourceConverter {
|
public abstract class DataSourceConverter {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
@Lazy
|
||||||
|
private DataSourceService dataSourceService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 参数转换
|
* 参数转换
|
||||||
*
|
*
|
||||||
@ -178,4 +188,30 @@ public abstract class DataSourceConverter {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public abstract List<DataSource> do2dto(List<DataSourceDO> dataSourceDOList);
|
public abstract List<DataSource> do2dto(List<DataSourceDO> dataSourceDOList);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fill in detailed information
|
||||||
|
*
|
||||||
|
* @param list
|
||||||
|
*/
|
||||||
|
public void fillDetail(List<DataSource> list) {
|
||||||
|
if (CollectionUtils.isEmpty(list)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
List<Long> idList = EasyCollectionUtils.toList(list, DataSource::getId);
|
||||||
|
List<DataSource> queryList = dataSourceService.queryByIds(idList).getData();
|
||||||
|
Map<Long, DataSource> queryMap = EasyCollectionUtils.toIdentityMap(queryList, DataSource::getId);
|
||||||
|
for (DataSource data : list) {
|
||||||
|
if (data == null || data.getId() == null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
DataSource query = queryMap.get(data.getId());
|
||||||
|
add(data, query);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Mappings({
|
||||||
|
@Mapping(target = "id", ignore = true),
|
||||||
|
})
|
||||||
|
public abstract void add(@MappingTarget DataSource target, DataSource source);
|
||||||
}
|
}
|
||||||
|
@ -31,6 +31,18 @@ public abstract class TeamUserConverter {
|
|||||||
@Lazy
|
@Lazy
|
||||||
private EnvironmentService environmentService;
|
private EnvironmentService environmentService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* convert
|
||||||
|
*
|
||||||
|
* @param data
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Mappings({
|
||||||
|
@Mapping(target = "team.id", source = "teamId"),
|
||||||
|
@Mapping(target = "user.id", source = "userId"),
|
||||||
|
})
|
||||||
|
public abstract TeamUser do2dto(TeamUserDO data);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* convert
|
* convert
|
||||||
*
|
*
|
||||||
|
@ -15,6 +15,7 @@ import ai.chat2db.server.domain.api.service.DataSourceAccessService;
|
|||||||
import ai.chat2db.server.domain.api.service.TeamService;
|
import ai.chat2db.server.domain.api.service.TeamService;
|
||||||
import ai.chat2db.server.domain.api.service.UserService;
|
import ai.chat2db.server.domain.api.service.UserService;
|
||||||
import ai.chat2db.server.domain.core.converter.DataSourceAccessConverter;
|
import ai.chat2db.server.domain.core.converter.DataSourceAccessConverter;
|
||||||
|
import ai.chat2db.server.domain.core.converter.DataSourceConverter;
|
||||||
import ai.chat2db.server.domain.repository.entity.DataSourceAccessDO;
|
import ai.chat2db.server.domain.repository.entity.DataSourceAccessDO;
|
||||||
import ai.chat2db.server.domain.repository.mapper.DataSourceAccessCustomMapper;
|
import ai.chat2db.server.domain.repository.mapper.DataSourceAccessCustomMapper;
|
||||||
import ai.chat2db.server.domain.repository.mapper.DataSourceAccessMapper;
|
import ai.chat2db.server.domain.repository.mapper.DataSourceAccessMapper;
|
||||||
@ -48,6 +49,8 @@ public class DataSourceAccessServiceImpl implements DataSourceAccessService {
|
|||||||
@Resource
|
@Resource
|
||||||
private DataSourceAccessConverter dataSourceAccessConverter;
|
private DataSourceAccessConverter dataSourceAccessConverter;
|
||||||
@Resource
|
@Resource
|
||||||
|
private DataSourceConverter dataSourceConverter;
|
||||||
|
@Resource
|
||||||
private UserService userService;
|
private UserService userService;
|
||||||
@Resource
|
@Resource
|
||||||
private TeamService teamService;
|
private TeamService teamService;
|
||||||
@ -58,7 +61,8 @@ public class DataSourceAccessServiceImpl implements DataSourceAccessService {
|
|||||||
Page<DataSourceAccessDO> page = new Page<>(param.getPageNo(), param.getPageSize());
|
Page<DataSourceAccessDO> page = new Page<>(param.getPageNo(), param.getPageSize());
|
||||||
page.setSearchCount(param.getEnableReturnCount());
|
page.setSearchCount(param.getEnableReturnCount());
|
||||||
IPage<DataSourceAccessDO> iPage = dataSourceAccessCustomMapper.comprehensivePageQuery(page,
|
IPage<DataSourceAccessDO> iPage = dataSourceAccessCustomMapper.comprehensivePageQuery(page,
|
||||||
param.getDataSourceId(), param.getUserOrTeamSearchKey(),
|
param.getDataSourceId(), param.getAccessObjectType(), param.getAccessObjectId(),
|
||||||
|
param.getUserOrTeamSearchKey(),
|
||||||
param.getDataSourceSearchKey());
|
param.getDataSourceSearchKey());
|
||||||
|
|
||||||
List<DataSourceAccess> list = dataSourceAccessConverter.do2dto(iPage.getRecords());
|
List<DataSourceAccess> list = dataSourceAccessConverter.do2dto(iPage.getRecords());
|
||||||
@ -88,6 +92,15 @@ public class DataSourceAccessServiceImpl implements DataSourceAccessService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fillAccessObject(list, selector);
|
fillAccessObject(list, selector);
|
||||||
|
|
||||||
|
fillDataSource(list, selector);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void fillDataSource(List<DataSourceAccess> list, DataSourceAccessSelector selector) {
|
||||||
|
if (BooleanUtils.isNotTrue(selector.getDataSource())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
dataSourceConverter.fillDetail(EasyCollectionUtils.toList(list, DataSourceAccess::getDataSource));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fillAccessObject(List<DataSourceAccess> list, DataSourceAccessSelector selector) {
|
private void fillAccessObject(List<DataSourceAccess> list, DataSourceAccessSelector selector) {
|
||||||
|
@ -52,7 +52,7 @@ public class TeamUserServiceImpl implements TeamUserService {
|
|||||||
Page<TeamUserDO> page = new Page<>(param.getPageNo(), param.getPageSize());
|
Page<TeamUserDO> page = new Page<>(param.getPageNo(), param.getPageSize());
|
||||||
page.setSearchCount(param.getEnableReturnCount());
|
page.setSearchCount(param.getEnableReturnCount());
|
||||||
IPage<TeamUserDO> iPage = teamUserCustomMapper.comprehensivePageQuery(page, param.getTeamId(),
|
IPage<TeamUserDO> iPage = teamUserCustomMapper.comprehensivePageQuery(page, param.getTeamId(),
|
||||||
param.getUserId(), param.getTeamRoleCode(),param.getTeamSearchKey(),param.getUserSearchKey());
|
param.getUserId(), param.getTeamRoleCode(), param.getTeamSearchKey(), param.getUserSearchKey());
|
||||||
|
|
||||||
List<TeamUser> list = teamUserConverter.do2dto(iPage.getRecords());
|
List<TeamUser> list = teamUserConverter.do2dto(iPage.getRecords());
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ public class TeamUserServiceImpl implements TeamUserService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void fillTeam(List<TeamUser> list, TeamUserSelector selector) {
|
private void fillTeam(List<TeamUser> list, TeamUserSelector selector) {
|
||||||
if (BooleanUtils.isNotTrue(selector.getUser())) {
|
if (BooleanUtils.isNotTrue(selector.getTeam())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
teamConverter.fillDetail(EasyCollectionUtils.toList(list, TeamUser::getTeam));
|
teamConverter.fillDetail(EasyCollectionUtils.toList(list, TeamUser::getTeam));
|
||||||
|
@ -13,7 +13,8 @@ import org.apache.ibatis.annotations.Param;
|
|||||||
public interface DataSourceAccessCustomMapper extends Mapper<DataSourceAccessDO> {
|
public interface DataSourceAccessCustomMapper extends Mapper<DataSourceAccessDO> {
|
||||||
|
|
||||||
IPage<DataSourceAccessDO> comprehensivePageQuery(IPage<DataSourceAccessDO> page, @Param("dataSourceId") Long dataSourceId,
|
IPage<DataSourceAccessDO> comprehensivePageQuery(IPage<DataSourceAccessDO> page, @Param("dataSourceId") Long dataSourceId,
|
||||||
|
@Param("accessObjectType") String accessObjectType,
|
||||||
|
@Param("accessObjectId") Long accessObjectId,
|
||||||
@Param("userOrTeamSearchKey") String userOrTeamSearchKey,
|
@Param("userOrTeamSearchKey") String userOrTeamSearchKey,
|
||||||
@Param("dataSourceSearchKey") String dataSourceSearchKey);
|
@Param("dataSourceSearchKey") String dataSourceSearchKey);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -15,13 +15,22 @@
|
|||||||
<if test="dataSourceId != null ">
|
<if test="dataSourceId != null ">
|
||||||
and dsa.DATA_SOURCE_ID = #{dataSourceId}
|
and dsa.DATA_SOURCE_ID = #{dataSourceId}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="accessObjectId != null ">
|
||||||
|
and dsa.ACCESS_OBJECT_ID = #{accessObjectId}
|
||||||
|
</if>
|
||||||
|
<if test="accessObjectType != null ">
|
||||||
|
and dsa.ACCESS_OBJECT_TYPE = #{accessObjectType}
|
||||||
|
</if>
|
||||||
<if test="userOrTeamSearchKey != null ">
|
<if test="userOrTeamSearchKey != null ">
|
||||||
and (t.CODE like concat('%',#{userOrTeamSearchKey},'%') or t.NAME like concat('%',#{userOrTeamSearchKey},'%') or
|
and (t.CODE like concat('%',#{userOrTeamSearchKey},'%') or t.NAME like
|
||||||
du.USER_NAME like concat('%',#{userOrTeamSearchKey},'%') or du.NICK_NAME like concat('%',#{userOrTeamSearchKey},'%') or
|
concat('%',#{userOrTeamSearchKey},'%') or
|
||||||
|
du.USER_NAME like concat('%',#{userOrTeamSearchKey},'%') or du.NICK_NAME like
|
||||||
|
concat('%',#{userOrTeamSearchKey},'%') or
|
||||||
du.EMAIL like concat('%',#{userOrTeamSearchKey},'%'))
|
du.EMAIL like concat('%',#{userOrTeamSearchKey},'%'))
|
||||||
</if>
|
</if>
|
||||||
<if test="dataSourceSearchKey != null ">
|
<if test="dataSourceSearchKey != null ">
|
||||||
and (ds.ALIAS like concat('%',#{dataSourceSearchKey},'%') or ds.URL like concat('%',#{dataSourceSearchKey},'%'))
|
and (ds.ALIAS like concat('%',#{dataSourceSearchKey},'%') or ds.URL like
|
||||||
|
concat('%',#{dataSourceSearchKey},'%'))
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
@ -3,8 +3,8 @@ package ai.chat2db.server.admin.api.controller.user;
|
|||||||
|
|
||||||
import ai.chat2db.server.admin.api.controller.user.converter.UserDataSourcesAdminConverter;
|
import ai.chat2db.server.admin.api.controller.user.converter.UserDataSourcesAdminConverter;
|
||||||
import ai.chat2db.server.admin.api.controller.user.request.UserDataSourceBatchCreateRequest;
|
import ai.chat2db.server.admin.api.controller.user.request.UserDataSourceBatchCreateRequest;
|
||||||
|
import ai.chat2db.server.admin.api.controller.user.request.UserTeamPageCommonQueryRequest;
|
||||||
import ai.chat2db.server.admin.api.controller.user.vo.UserDataSourcePageQueryVO;
|
import ai.chat2db.server.admin.api.controller.user.vo.UserDataSourcePageQueryVO;
|
||||||
import ai.chat2db.server.common.api.controller.request.CommonPageQueryRequest;
|
|
||||||
import ai.chat2db.server.domain.api.enums.AccessObjectTypeEnum;
|
import ai.chat2db.server.domain.api.enums.AccessObjectTypeEnum;
|
||||||
import ai.chat2db.server.domain.api.param.datasource.access.DataSourceAccessCreatParam;
|
import ai.chat2db.server.domain.api.param.datasource.access.DataSourceAccessCreatParam;
|
||||||
import ai.chat2db.server.domain.api.param.datasource.access.DataSourceAccessSelector;
|
import ai.chat2db.server.domain.api.param.datasource.access.DataSourceAccessSelector;
|
||||||
@ -30,7 +30,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
@RestController
|
@RestController
|
||||||
public class UserDataSourceAdminController {
|
public class UserDataSourceAdminController {
|
||||||
private static final DataSourceAccessSelector DATA_SOURCE_ACCESS_SELECTOR = DataSourceAccessSelector.builder()
|
private static final DataSourceAccessSelector DATA_SOURCE_ACCESS_SELECTOR = DataSourceAccessSelector.builder()
|
||||||
.accessObject(Boolean.TRUE)
|
.dataSource(Boolean.TRUE)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
@ -46,7 +46,7 @@ public class UserDataSourceAdminController {
|
|||||||
* @version 2.1.0
|
* @version 2.1.0
|
||||||
*/
|
*/
|
||||||
@GetMapping("/page")
|
@GetMapping("/page")
|
||||||
public WebPageResult<UserDataSourcePageQueryVO> page(@Valid CommonPageQueryRequest request) {
|
public WebPageResult<UserDataSourcePageQueryVO> page(@Valid UserTeamPageCommonQueryRequest request) {
|
||||||
return dataSourceAccessService.comprehensivePageQuery(userDataSourcesAdminConverter.request2param(request),
|
return dataSourceAccessService.comprehensivePageQuery(userDataSourcesAdminConverter.request2param(request),
|
||||||
DATA_SOURCE_ACCESS_SELECTOR)
|
DATA_SOURCE_ACCESS_SELECTOR)
|
||||||
.mapToWeb(userDataSourcesAdminConverter::dto2vo);
|
.mapToWeb(userDataSourcesAdminConverter::dto2vo);
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
package ai.chat2db.server.admin.api.controller.user;
|
package ai.chat2db.server.admin.api.controller.user;
|
||||||
|
|
||||||
import ai.chat2db.server.admin.api.controller.user.converter.UserTeamAdminConverter;
|
import ai.chat2db.server.admin.api.controller.user.converter.UserTeamAdminConverter;
|
||||||
|
import ai.chat2db.server.admin.api.controller.user.request.UserTeamPageCommonQueryRequest;
|
||||||
import ai.chat2db.server.admin.api.controller.user.request.UserTeamBatchCreateRequest;
|
import ai.chat2db.server.admin.api.controller.user.request.UserTeamBatchCreateRequest;
|
||||||
import ai.chat2db.server.admin.api.controller.user.vo.UserTeamPageQueryVO;
|
import ai.chat2db.server.admin.api.controller.user.vo.UserTeamPageQueryVO;
|
||||||
import ai.chat2db.server.common.api.controller.request.CommonPageQueryRequest;
|
|
||||||
import ai.chat2db.server.domain.api.param.team.user.TeamUserCreatParam;
|
import ai.chat2db.server.domain.api.param.team.user.TeamUserCreatParam;
|
||||||
import ai.chat2db.server.domain.api.param.team.user.TeamUserSelector;
|
import ai.chat2db.server.domain.api.param.team.user.TeamUserSelector;
|
||||||
import ai.chat2db.server.domain.api.service.TeamUserService;
|
import ai.chat2db.server.domain.api.service.TeamUserService;
|
||||||
@ -44,7 +44,7 @@ public class UserTeamAdminController {
|
|||||||
* @version 2.1.0
|
* @version 2.1.0
|
||||||
*/
|
*/
|
||||||
@GetMapping("/page")
|
@GetMapping("/page")
|
||||||
public WebPageResult<UserTeamPageQueryVO> page(@Valid CommonPageQueryRequest request) {
|
public WebPageResult<UserTeamPageQueryVO> page(@Valid UserTeamPageCommonQueryRequest request) {
|
||||||
return teamUserService.comprehensivePageQuery(userTeamAdminConverter.request2param(request), TEAM_USER_SELECTOR)
|
return teamUserService.comprehensivePageQuery(userTeamAdminConverter.request2param(request), TEAM_USER_SELECTOR)
|
||||||
.mapToWeb(userTeamAdminConverter::dto2vo);
|
.mapToWeb(userTeamAdminConverter::dto2vo);
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
package ai.chat2db.server.admin.api.controller.user.converter;
|
package ai.chat2db.server.admin.api.controller.user.converter;
|
||||||
|
|
||||||
import ai.chat2db.server.admin.api.controller.datasource.request.DataSourceAccessBatchCreateRequest;
|
import ai.chat2db.server.admin.api.controller.datasource.request.DataSourceAccessBatchCreateRequest;
|
||||||
|
import ai.chat2db.server.admin.api.controller.user.request.UserTeamPageCommonQueryRequest;
|
||||||
import ai.chat2db.server.admin.api.controller.user.vo.UserDataSourcePageQueryVO;
|
import ai.chat2db.server.admin.api.controller.user.vo.UserDataSourcePageQueryVO;
|
||||||
import ai.chat2db.server.common.api.controller.request.CommonPageQueryRequest;
|
import ai.chat2db.server.domain.api.enums.AccessObjectTypeEnum;
|
||||||
import ai.chat2db.server.domain.api.enums.DataSourceKindEnum;
|
import ai.chat2db.server.domain.api.enums.DataSourceKindEnum;
|
||||||
import ai.chat2db.server.domain.api.model.DataSourceAccess;
|
import ai.chat2db.server.domain.api.model.DataSourceAccess;
|
||||||
import ai.chat2db.server.domain.api.param.datasource.access.DataSourceAccessBatchCreatParam;
|
import ai.chat2db.server.domain.api.param.datasource.access.DataSourceAccessBatchCreatParam;
|
||||||
@ -16,7 +17,7 @@ import org.mapstruct.Mappings;
|
|||||||
*
|
*
|
||||||
* @author Jiaju Zhuang
|
* @author Jiaju Zhuang
|
||||||
*/
|
*/
|
||||||
@Mapper(componentModel = "spring", imports = {DataSourceKindEnum.class})
|
@Mapper(componentModel = "spring", imports = {DataSourceKindEnum.class, AccessObjectTypeEnum.class})
|
||||||
public abstract class UserDataSourcesAdminConverter {
|
public abstract class UserDataSourcesAdminConverter {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -26,10 +27,12 @@ public abstract class UserDataSourcesAdminConverter {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Mappings({
|
@Mappings({
|
||||||
|
@Mapping(source = "userId", target = "accessObjectId"),
|
||||||
|
@Mapping(target = "accessObjectType", expression = "java(AccessObjectTypeEnum.USER.name())"),
|
||||||
@Mapping(source = "searchKey", target = "userOrTeamSearchKey"),
|
@Mapping(source = "searchKey", target = "userOrTeamSearchKey"),
|
||||||
@Mapping(target = "enableReturnCount", expression = "java(true)"),
|
@Mapping(target = "enableReturnCount", expression = "java(true)"),
|
||||||
})
|
})
|
||||||
public abstract DataSourceAccessComprehensivePageQueryParam request2param(CommonPageQueryRequest request);
|
public abstract DataSourceAccessComprehensivePageQueryParam request2param(UserTeamPageCommonQueryRequest request);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* convert
|
* convert
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package ai.chat2db.server.admin.api.controller.user.converter;
|
package ai.chat2db.server.admin.api.controller.user.converter;
|
||||||
|
|
||||||
|
import ai.chat2db.server.admin.api.controller.user.request.UserTeamPageCommonQueryRequest;
|
||||||
import ai.chat2db.server.admin.api.controller.user.vo.UserTeamPageQueryVO;
|
import ai.chat2db.server.admin.api.controller.user.vo.UserTeamPageQueryVO;
|
||||||
import ai.chat2db.server.common.api.controller.request.CommonPageQueryRequest;
|
|
||||||
import ai.chat2db.server.domain.api.model.TeamUser;
|
import ai.chat2db.server.domain.api.model.TeamUser;
|
||||||
import ai.chat2db.server.domain.api.param.team.user.TeamUserComprehensivePageQueryParam;
|
import ai.chat2db.server.domain.api.param.team.user.TeamUserComprehensivePageQueryParam;
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
@ -26,7 +26,7 @@ public abstract class UserTeamAdminConverter {
|
|||||||
@Mapping(source = "searchKey", target = "teamSearchKey"),
|
@Mapping(source = "searchKey", target = "teamSearchKey"),
|
||||||
@Mapping(target = "enableReturnCount", expression = "java(true)"),
|
@Mapping(target = "enableReturnCount", expression = "java(true)"),
|
||||||
})
|
})
|
||||||
public abstract TeamUserComprehensivePageQueryParam request2param(CommonPageQueryRequest request);
|
public abstract TeamUserComprehensivePageQueryParam request2param(UserTeamPageCommonQueryRequest request);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* conversion
|
* conversion
|
||||||
|
@ -0,0 +1,25 @@
|
|||||||
|
|
||||||
|
package ai.chat2db.server.admin.api.controller.user.request;
|
||||||
|
|
||||||
|
import ai.chat2db.server.tools.base.wrapper.request.PageQueryRequest;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pagination query
|
||||||
|
*
|
||||||
|
* @author Jiaju Zhuang
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class UserTeamPageCommonQueryRequest extends PageQueryRequest {
|
||||||
|
/**
|
||||||
|
* user id
|
||||||
|
*/
|
||||||
|
@NotNull
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* searchKey
|
||||||
|
*/
|
||||||
|
private String searchKey;
|
||||||
|
}
|
@ -12,6 +12,7 @@ import lombok.Data;
|
|||||||
@Data
|
@Data
|
||||||
public class CommonPageQueryRequest extends PageQueryRequest {
|
public class CommonPageQueryRequest extends PageQueryRequest {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* searchKey
|
* searchKey
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user