mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-07-30 19:22:58 +08:00
Team Create Complete Fields
This commit is contained in:
@ -2,6 +2,7 @@ package ai.chat2db.server.domain.api.model;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import ai.chat2db.server.tools.base.constant.EasyToolsConstant;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
@ -50,16 +51,24 @@ public class Team implements Serializable {
|
||||
@NotNull
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 角色编码
|
||||
*/
|
||||
@NotNull
|
||||
private String roleCode;
|
||||
|
||||
|
||||
/**
|
||||
* 团队描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private Date gmtModified;
|
||||
|
||||
/**
|
||||
* 修改人用户id
|
||||
*/
|
||||
private Long modifiedUserId;
|
||||
|
||||
/**
|
||||
* 修改人用户
|
||||
*/
|
||||
private User modifiedUser;
|
||||
|
||||
}
|
||||
|
@ -16,8 +16,8 @@ import lombok.experimental.SuperBuilder;
|
||||
@AllArgsConstructor
|
||||
public class TeamSelector {
|
||||
/**
|
||||
* empty
|
||||
* 修改人用户
|
||||
*/
|
||||
private Boolean empty;
|
||||
private Boolean modifiedUser;
|
||||
|
||||
}
|
||||
|
@ -39,6 +39,17 @@ public abstract class TeamConverter {
|
||||
*/
|
||||
public abstract List<Team> do2dto(List<TeamDO> list);
|
||||
|
||||
/**
|
||||
* convert
|
||||
*
|
||||
* @param data
|
||||
* @return
|
||||
*/
|
||||
@Mappings({
|
||||
@Mapping(target = "modifiedUser.id", source = "modifiedUserId"),
|
||||
})
|
||||
public abstract Team do2dto(TeamDO data);
|
||||
|
||||
/**
|
||||
* convert
|
||||
*
|
||||
|
@ -1,7 +1,6 @@
|
||||
package ai.chat2db.server.domain.core.impl;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
import ai.chat2db.server.domain.api.enums.DataSourceKindEnum;
|
||||
@ -41,6 +40,7 @@ import ai.chat2db.spi.sql.Chat2DBContext;
|
||||
import ai.chat2db.spi.sql.IDriverManager;
|
||||
import ai.chat2db.spi.sql.SQLExecutor;
|
||||
import ai.chat2db.spi.util.JdbcUtils;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@ -84,8 +84,8 @@ public class DataSourceServiceImpl implements DataSourceService {
|
||||
throw new PermissionDeniedBusinessException();
|
||||
}
|
||||
DataSourceDO dataSourceDO = dataSourceConverter.param2do(param);
|
||||
dataSourceDO.setGmtCreate(LocalDateTime.now());
|
||||
dataSourceDO.setGmtModified(LocalDateTime.now());
|
||||
dataSourceDO.setGmtCreate(DateUtil.date());
|
||||
dataSourceDO.setGmtModified(DateUtil.date());
|
||||
dataSourceDO.setUserId(ContextUtils.getUserId());
|
||||
dataSourceMapper.insert(dataSourceDO);
|
||||
preWarmingData(dataSourceDO.getId());
|
||||
@ -120,7 +120,7 @@ public class DataSourceServiceImpl implements DataSourceService {
|
||||
PermissionUtils.checkOperationPermission(dataSource.getUserId());
|
||||
|
||||
DataSourceDO dataSourceDO = dataSourceConverter.param2do(param);
|
||||
dataSourceDO.setGmtModified(LocalDateTime.now());
|
||||
dataSourceDO.setGmtModified(DateUtil.date());
|
||||
dataSourceMapper.updateById(dataSourceDO);
|
||||
return ActionResult.isSuccess();
|
||||
}
|
||||
@ -159,8 +159,8 @@ public class DataSourceServiceImpl implements DataSourceService {
|
||||
dataSourceDO.setId(null);
|
||||
String alias = dataSourceDO.getAlias() + "Copy";
|
||||
dataSourceDO.setAlias(alias);
|
||||
dataSourceDO.setGmtCreate(LocalDateTime.now());
|
||||
dataSourceDO.setGmtModified(LocalDateTime.now());
|
||||
dataSourceDO.setGmtCreate(DateUtil.date());
|
||||
dataSourceDO.setGmtModified(DateUtil.date());
|
||||
dataSourceMapper.insert(dataSourceDO);
|
||||
return DataResult.of(dataSourceDO.getId());
|
||||
}
|
||||
|
@ -10,6 +10,7 @@ import ai.chat2db.server.domain.api.param.team.TeamSelector;
|
||||
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.TeamDO;
|
||||
import ai.chat2db.server.domain.repository.mapper.TeamMapper;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
|
||||
@ -19,12 +20,14 @@ import ai.chat2db.server.tools.base.wrapper.result.PageResult;
|
||||
import ai.chat2db.server.tools.common.exception.DataAlreadyExistsBusinessException;
|
||||
import ai.chat2db.server.tools.common.exception.ParamBusinessException;
|
||||
import ai.chat2db.server.tools.common.util.ContextUtils;
|
||||
import ai.chat2db.server.tools.common.util.EasyCollectionUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.BooleanUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -41,6 +44,8 @@ public class TeamServiceImpl implements TeamService {
|
||||
private TeamMapper teamMapper;
|
||||
@Resource
|
||||
private TeamConverter teamConverter;
|
||||
@Resource
|
||||
private UserConverter userConverter;
|
||||
|
||||
@Override
|
||||
public ListResult<Team> listQuery(List<Long> idList) {
|
||||
@ -108,5 +113,14 @@ public class TeamServiceImpl implements TeamService {
|
||||
if (CollectionUtils.isEmpty(list) || selector == null) {
|
||||
return;
|
||||
}
|
||||
fillUser(list, selector);
|
||||
}
|
||||
|
||||
private void fillUser(List<Team> list, TeamSelector selector) {
|
||||
if (BooleanUtils.isNotTrue(selector.getModifiedUser())) {
|
||||
return;
|
||||
}
|
||||
userConverter.fillDetail(EasyCollectionUtils.toList(list, Team::getModifiedUser));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@ -14,7 +14,7 @@ import lombok.Setter;
|
||||
* </p>
|
||||
*
|
||||
* @author chat2db
|
||||
* @since 2023-07-30
|
||||
* @since 2023-08-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ -32,12 +32,12 @@ public class DataSourceAccessDO implements Serializable {
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime gmtCreate;
|
||||
private Date gmtCreate;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private LocalDateTime gmtModified;
|
||||
private Date gmtModified;
|
||||
|
||||
/**
|
||||
* 创建人用户id
|
||||
|
@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@ -14,7 +14,7 @@ import lombok.Setter;
|
||||
* </p>
|
||||
*
|
||||
* @author chat2db
|
||||
* @since 2023-08-06
|
||||
* @since 2023-08-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ -32,12 +32,12 @@ public class DataSourceDO implements Serializable {
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime gmtCreate;
|
||||
private Date gmtCreate;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private LocalDateTime gmtModified;
|
||||
private Date gmtModified;
|
||||
|
||||
/**
|
||||
* 别名
|
||||
|
@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@ -14,7 +14,7 @@ import lombok.Setter;
|
||||
* </p>
|
||||
*
|
||||
* @author chat2db
|
||||
* @since 2023-07-30
|
||||
* @since 2023-08-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ -32,12 +32,12 @@ public class DbhubUserDO implements Serializable {
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime gmtCreate;
|
||||
private Date gmtCreate;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private LocalDateTime gmtModified;
|
||||
private Date gmtModified;
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
|
@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@ -14,7 +14,7 @@ import lombok.Setter;
|
||||
* </p>
|
||||
*
|
||||
* @author chat2db
|
||||
* @since 2023-07-30
|
||||
* @since 2023-08-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ -32,12 +32,12 @@ public class EnvironmentDO implements Serializable {
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime gmtCreate;
|
||||
private Date gmtCreate;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private LocalDateTime gmtModified;
|
||||
private Date gmtModified;
|
||||
|
||||
/**
|
||||
* 创建人用户id
|
||||
|
@ -1,10 +1,11 @@
|
||||
package ai.chat2db.server.domain.repository.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@ -14,7 +15,7 @@ import lombok.Setter;
|
||||
* </p>
|
||||
*
|
||||
* @author chat2db
|
||||
* @since 2023-07-30
|
||||
* @since 2023-08-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ -32,12 +33,12 @@ public class TeamDO implements Serializable {
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime gmtCreate;
|
||||
private Date gmtCreate;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private LocalDateTime gmtModified;
|
||||
private Date gmtModified;
|
||||
|
||||
/**
|
||||
* 创建人用户id
|
||||
|
@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
* </p>
|
||||
*
|
||||
* @author chat2db
|
||||
* @since 2023-07-30
|
||||
* @since 2023-08-26
|
||||
*/
|
||||
public interface DataSourceAccessMapper extends BaseMapper<DataSourceAccessDO> {
|
||||
|
||||
|
@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
* </p>
|
||||
*
|
||||
* @author chat2db
|
||||
* @since 2023-08-06
|
||||
* @since 2023-08-26
|
||||
*/
|
||||
public interface DataSourceMapper extends BaseMapper<DataSourceDO> {
|
||||
|
||||
|
@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
* </p>
|
||||
*
|
||||
* @author chat2db
|
||||
* @since 2023-07-30
|
||||
* @since 2023-08-26
|
||||
*/
|
||||
public interface DbhubUserMapper extends BaseMapper<DbhubUserDO> {
|
||||
|
||||
|
@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
* </p>
|
||||
*
|
||||
* @author chat2db
|
||||
* @since 2023-07-30
|
||||
* @since 2023-08-26
|
||||
*/
|
||||
public interface EnvironmentMapper extends BaseMapper<EnvironmentDO> {
|
||||
|
||||
|
@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
* </p>
|
||||
*
|
||||
* @author chat2db
|
||||
* @since 2023-07-30
|
||||
* @since 2023-08-26
|
||||
*/
|
||||
public interface TeamMapper extends BaseMapper<TeamDO> {
|
||||
|
||||
|
@ -34,6 +34,9 @@ spring:
|
||||
multipart:
|
||||
max-file-size: -1
|
||||
max-request-size: -1
|
||||
jackson:
|
||||
serialization:
|
||||
write-dates-as-timestamps: true
|
||||
|
||||
chat2db:
|
||||
version: 1.0.0
|
||||
|
@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.generator.FastAutoGenerator;
|
||||
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
|
||||
import com.baomidou.mybatisplus.generator.config.OutputFile;
|
||||
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
|
||||
import com.baomidou.mybatisplus.generator.config.rules.DateType;
|
||||
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
|
||||
import com.google.common.collect.Lists;
|
||||
import jakarta.annotation.Resource;
|
||||
@ -63,6 +64,8 @@ public class MybatisGeneratorTest extends BaseTest {
|
||||
builder.author("chat2db")
|
||||
//执行完毕不打开文件夹
|
||||
.disableOpenDir()
|
||||
// 还是使用date
|
||||
.dateType(DateType.ONLY_DATE)
|
||||
// 指定输出目录
|
||||
.outputDir(outputDir);
|
||||
})
|
||||
|
@ -6,6 +6,7 @@ import ai.chat2db.server.common.api.controller.request.CommonPageQueryRequest;
|
||||
import ai.chat2db.server.admin.api.controller.team.request.TeamCreateRequest;
|
||||
import ai.chat2db.server.admin.api.controller.team.request.TeamUpdateRequest;
|
||||
import ai.chat2db.server.admin.api.controller.team.vo.TeamPageQueryVO;
|
||||
import ai.chat2db.server.domain.api.param.team.TeamSelector;
|
||||
import ai.chat2db.server.domain.api.service.TeamService;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
|
||||
@ -28,6 +29,10 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RequestMapping("/api/admin/team")
|
||||
@RestController
|
||||
public class TeamAdminController {
|
||||
private static final TeamSelector TEAM_SELECTOR=TeamSelector.builder()
|
||||
.modifiedUser(Boolean.TRUE)
|
||||
.build();
|
||||
|
||||
@Resource
|
||||
private TeamService teamService;
|
||||
@Resource
|
||||
@ -42,7 +47,7 @@ public class TeamAdminController {
|
||||
*/
|
||||
@GetMapping("/page")
|
||||
public WebPageResult<TeamPageQueryVO> page(@Valid CommonPageQueryRequest request) {
|
||||
return teamService.pageQuery(teamAdminConverter.request2param(request), null)
|
||||
return teamService.pageQuery(teamAdminConverter.request2param(request), TEAM_SELECTOR)
|
||||
.mapToWeb(teamAdminConverter::dto2vo);
|
||||
}
|
||||
|
||||
|
@ -31,14 +31,6 @@ public class TeamCreateRequest {
|
||||
@NotNull
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 角色编码
|
||||
*
|
||||
* @see ai.chat2db.server.domain.api.enums.RoleCodeEnum
|
||||
*/
|
||||
@NotNull
|
||||
private String roleCode;
|
||||
|
||||
/**
|
||||
* 团队描述
|
||||
*/
|
||||
|
@ -1,6 +1,9 @@
|
||||
|
||||
package ai.chat2db.server.admin.api.controller.team.vo;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import ai.chat2db.server.common.api.controller.vo.SimpleUserVO;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
@ -25,11 +28,30 @@ public class TeamPageQueryVO {
|
||||
*/
|
||||
private String name;
|
||||
|
||||
|
||||
/**
|
||||
* 团队状态
|
||||
*
|
||||
* @see ai.chat2db.server.domain.api.enums.ValidStatusEnum
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 团队描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private Date gmtModified;
|
||||
|
||||
/**
|
||||
* 修改人用户id
|
||||
*/
|
||||
private Long modifiedUserId;
|
||||
|
||||
/**
|
||||
* 修改人用户
|
||||
*/
|
||||
private SimpleUserVO modifiedUser;
|
||||
}
|
||||
|
@ -0,0 +1,41 @@
|
||||
|
||||
package ai.chat2db.server.common.api.controller.vo;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
import ai.chat2db.server.tools.base.constant.EasyToolsConstant;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* user
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class
|
||||
SimpleUserVO implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = EasyToolsConstant.SERIAL_VERSION_UID;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 昵称
|
||||
*/
|
||||
private String nickName;
|
||||
}
|
Reference in New Issue
Block a user