Team Create Complete Fields

This commit is contained in:
JiaJu Zhuang
2023-08-26 14:00:39 +08:00
parent 0198cd6b64
commit 6e53cf7aba
21 changed files with 152 additions and 51 deletions

View File

@ -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;
}

View File

@ -16,8 +16,8 @@ import lombok.experimental.SuperBuilder;
@AllArgsConstructor
public class TeamSelector {
/**
* empty
* 修改人用户
*/
private Boolean empty;
private Boolean modifiedUser;
}

View File

@ -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
*

View File

@ -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());
}

View File

@ -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));
}
}

View File

@ -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

View File

@ -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;
/**
* 别名

View File

@ -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;
/**
* 用户名

View File

@ -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

View File

@ -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

View File

@ -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> {

View File

@ -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> {

View File

@ -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> {

View File

@ -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> {

View File

@ -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> {

View File

@ -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

View File

@ -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);
})

View File

@ -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);
}

View File

@ -31,14 +31,6 @@ public class TeamCreateRequest {
@NotNull
private String status;
/**
* 角色编码
*
* @see ai.chat2db.server.domain.api.enums.RoleCodeEnum
*/
@NotNull
private String roleCode;
/**
* 团队描述
*/

View File

@ -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;
}

View File

@ -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;
}