Complete team user code

This commit is contained in:
JiaJu Zhuang
2023-08-13 14:57:24 +08:00
parent 697e7bc024
commit af6fcc2baf
56 changed files with 1288 additions and 266 deletions

View File

@ -61,6 +61,12 @@ public class DataSourceAccess implements Serializable {
@NotNull
private Long dataSourceId;
/**
* 数据源
*/
@NotNull
private DataSource dataSource;
/**
* 授权类型
*

View File

@ -18,7 +18,12 @@ public class DataSourceAccessComprehensivePageQueryParam extends PageQueryParam
private Long dataSourceId;
/**
* searchKey
* Query keywords for users or teams
*/
private String searchKey;
private String userOrTeamSearchKey;
/**
* Query keywords for data source
*/
private String dataSourceSearchKey;
}

View File

@ -0,0 +1,39 @@
package ai.chat2db.server.domain.api.param.datasource.access;
import ai.chat2db.server.domain.api.enums.AccessObjectTypeEnum;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* Data Source Access
*
* @author Jiaju Zhuang
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class DataSourceAccessCreatParam {
/**
* 数据源id
*/
@NotNull
private Long dataSourceId;
/**
* 授权类型
*
* @see AccessObjectTypeEnum
*/
@NotNull
private String accessObjectType;
/**
* 授权id,根据类型区分是用户还是团队
*/
@NotNull
private Long accessObjectId;
}

View File

@ -20,4 +20,10 @@ public class DataSourceAccessSelector {
* 授权对象
*/
private Boolean accessObject;
/**
* 数据源
*/
private Boolean dataSource;
}

View File

@ -0,0 +1,37 @@
package ai.chat2db.server.domain.api.param.team;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* create
*
* @author Jiaju Zhuang
*/
@Data
public class TeamCreateParam {
/**
* 团队编码
*/
@NotNull
private String code;
/**
* 团队名称
*/
@NotNull
private String name;
/**
* 团队状态
*
* @see ai.chat2db.server.domain.api.enums.ValidStatusEnum
*/
@NotNull
private String status;
/**
* 团队描述
*/
private String description;
}

View File

@ -0,0 +1,19 @@
package ai.chat2db.server.domain.api.param.team;
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
import lombok.Data;
/**
* page query
*
* @author Jiaju Zhuang
*/
@Data
public class TeamPageQueryParam extends PageQueryParam {
/**
* searchKey
*/
private String searchKey;
}

View File

@ -0,0 +1,23 @@
package ai.chat2db.server.domain.api.param.team;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* select
*
* @author Jiaju Zhuang
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class TeamSelector {
/**
* empty
*/
private Boolean empty;
}

View File

@ -0,0 +1,35 @@
package ai.chat2db.server.domain.api.param.team;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* update
*
* @author Jiaju Zhuang
*/
@Data
public class TeamUpdateParam {
/**
* 主键
*/
@NotNull
private Long id;
/**
* 团队名称
*/
private String name;
/**
* 团队状态
*
* @see ai.chat2db.server.domain.api.enums.ValidStatusEnum
*/
private String status;
/**
* 团队描述
*/
private String description;
}

View File

@ -27,4 +27,14 @@ public class TeamUserComprehensivePageQueryParam extends PageQueryParam {
* @see ai.chat2db.server.domain.api.enums.RoleCodeEnum
*/
private String teamRoleCode;
/**
* Query keywords for team
*/
private String teamSearchKey;
/**
* Query keywords for user
*/
private String userSearchKey;
}

View File

@ -0,0 +1,29 @@
package ai.chat2db.server.domain.api.param.team.user;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* Team User
*
* @author Jiaju Zhuang
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class TeamUserCreatParam {
/**
* team id
*/
@NotNull
private Long teamId;
/**
* user id
*/
private Long userId;
}

View File

@ -0,0 +1,45 @@
package ai.chat2db.server.domain.api.param.user;
import ai.chat2db.server.domain.api.enums.ValidStatusEnum;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* create
*
* @author Jiaju Zhuang
*/
@Data
public class UserCreateParam {
/**
* 用户名
*/
@NotNull
private String userName;
/**
* 密码
*/
@NotNull
private String password;
/**
* 昵称
*/
@NotNull
private String nickName;
/**
* 邮箱
*/
@NotNull
private String email;
/**
* 用户状态
*
* @see ValidStatusEnum
*/
@NotNull
private String status;
}

View File

@ -1,16 +1,13 @@
package ai.chat2db.server.domain.api.param;
import java.io.Serial;
package ai.chat2db.server.domain.api.param.user;
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* 用户查询参数
* * page query
*
* @author Jiaju Zhuang
*/
@ -18,11 +15,10 @@ import lombok.experimental.SuperBuilder;
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class UserQueryParam extends PageQueryParam {
@Serial
private static final long serialVersionUID = 7341467383637825621L;
public class UserPageQueryParam extends PageQueryParam {
/**
* 用户名
* searchKey
*/
private String keyWord;
private String searchKey;
}

View File

@ -0,0 +1,23 @@
package ai.chat2db.server.domain.api.param.user;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* select
*
* @author Jiaju Zhuang
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class UserSelector {
/**
* empty
*/
private Boolean empty;
}

View File

@ -0,0 +1,51 @@
package ai.chat2db.server.domain.api.param.user;
import ai.chat2db.server.domain.api.enums.ValidStatusEnum;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* create
*
* @author Jiaju Zhuang
*/
@Data
public class UserUpdateParam {
/**
* 主键
*/
@NotNull
private Long id;
/**
* 用户名
*/
@NotNull
private String userName;
/**
* 密码
*/
@NotNull
private String password;
/**
* 昵称
*/
@NotNull
private String nickName;
/**
* 邮箱
*/
@NotNull
private String email;
/**
* 用户状态
*
* @see ValidStatusEnum
*/
@NotNull
private String status;
}

View File

@ -1,10 +1,11 @@
package ai.chat2db.server.domain.api.service;
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.DataSourceAccessComprehensivePageQueryParam;
import ai.chat2db.server.domain.api.param.datasource.access.DataSourceAccessCreatParam;
import ai.chat2db.server.domain.api.param.datasource.access.DataSourceAccessSelector;
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.PageResult;
import jakarta.validation.constraints.NotNull;
@ -25,14 +26,14 @@ public interface DataSourceAccessService {
PageResult<DataSourceAccess> comprehensivePageQuery(DataSourceAccessComprehensivePageQueryParam param,
DataSourceAccessSelector selector);
/**
* Batch Create
*
* @param param
* @return
*/
ActionResult batchCreate(DataSourceAccessBatchCreatParam param);
DataResult<Long> create(DataSourceAccessCreatParam param);
/**
* delete
*

View File

@ -3,7 +3,15 @@ package ai.chat2db.server.domain.api.service;
import java.util.List;
import ai.chat2db.server.domain.api.model.Team;
import ai.chat2db.server.domain.api.param.team.TeamCreateParam;
import ai.chat2db.server.domain.api.param.team.TeamPageQueryParam;
import ai.chat2db.server.domain.api.param.team.TeamSelector;
import ai.chat2db.server.domain.api.param.team.TeamUpdateParam;
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;
import ai.chat2db.server.tools.base.wrapper.result.PageResult;
import jakarta.validation.constraints.NotNull;
/**
* team
@ -12,6 +20,15 @@ import ai.chat2db.server.tools.base.wrapper.result.ListResult;
*/
public interface TeamService {
/**
* Pagination query
*
* @param param
* @param selector
* @return
*/
PageResult<Team> pageQuery(TeamPageQueryParam param, TeamSelector selector);
/**
* List Query Data
*
@ -20,4 +37,28 @@ public interface TeamService {
*/
ListResult<Team> listQuery(List<Long> idList);
/**
* Create
*
* @param param
* @return
*/
DataResult<Long> create(TeamCreateParam param);
/**
* update
*
* @param param
* @return
*/
DataResult<Long> update(TeamUpdateParam param);
/**
* delete
*
* @param id
* @return
*/
ActionResult delete(@NotNull Long id);
}

View File

@ -2,8 +2,12 @@ package ai.chat2db.server.domain.api.service;
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.TeamUserCreatParam;
import ai.chat2db.server.domain.api.param.team.user.TeamUserSelector;
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.PageResult;
import jakarta.validation.constraints.NotNull;
/**
* team user
@ -21,4 +25,19 @@ public interface TeamUserService {
*/
PageResult<TeamUser> comprehensivePageQuery(TeamUserComprehensivePageQueryParam param, TeamUserSelector selector);
/**
* Create
*
* @param param
* @return
*/
DataResult<Long> create(TeamUserCreatParam param);
/**
* delete
*
* @param id
* @return
*/
ActionResult delete(@NotNull Long id);
}

View File

@ -3,7 +3,11 @@ package ai.chat2db.server.domain.api.service;
import java.util.List;
import ai.chat2db.server.domain.api.model.User;
import ai.chat2db.server.domain.api.param.UserQueryParam;
import ai.chat2db.server.domain.api.param.user.UserCreateParam;
import ai.chat2db.server.domain.api.param.user.UserSelector;
import ai.chat2db.server.domain.api.param.user.UserPageQueryParam;
import ai.chat2db.server.domain.api.param.user.UserUpdateParam;
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;
import ai.chat2db.server.tools.base.wrapper.result.PageResult;
@ -44,26 +48,26 @@ public interface UserService {
* @param param
* @return
*/
PageResult<User> queryPage(UserQueryParam param);
PageResult<User> pageQuery(UserPageQueryParam param, UserSelector selector);
/**
* 更新用户信息
* @param user
* @return
*/
DataResult<Boolean> update(User user);
DataResult<Long> update(UserUpdateParam user);
/**
* 删除用户
* @param id
* @return
*/
DataResult<Boolean> delete(Long id);
ActionResult delete(Long id);
/**
* 创建一个用户
* @param user
* @return
*/
DataResult<Long> create(User user);
DataResult<Long> create(UserCreateParam user);
}