mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-09-20 11:15:15 +08:00
Project reconfiguration
This commit is contained in:
@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<groupId>ai.chat2db</groupId>
|
||||
<artifactId>chat2db-server-domain</artifactId>
|
||||
<version>${revision}</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>chat2db-server-domain-api</artifactId>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>ai.chat2db</groupId>
|
||||
<artifactId>chat2db-server-tools-base</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ai.chat2db</groupId>
|
||||
<artifactId>chat2db-server-domain-support</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
@ -0,0 +1,58 @@
|
||||
package ai.chat2db.server.domain.api.enums;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import ai.chat2db.server.domain.support.dialect.MetaSchema;
|
||||
import ai.chat2db.server.tools.base.enums.BaseEnum;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* AI SQL选择的AI模型类型
|
||||
*
|
||||
* @author moji
|
||||
*/
|
||||
@Getter
|
||||
public enum AiSqlSourceEnum implements BaseEnum<String> {
|
||||
/**
|
||||
* 使用OPENAI接口
|
||||
*/
|
||||
OPENAI( "使用OPENAI接口"),
|
||||
|
||||
/**
|
||||
* 自定义RESTAI接口
|
||||
*/
|
||||
RESTAI("自定义RESTAI接口"),
|
||||
|
||||
;
|
||||
|
||||
final String description;
|
||||
|
||||
private static Map<AiSqlSourceEnum, MetaSchema> META_SCHEMA_MAP = new HashMap<>();
|
||||
|
||||
AiSqlSourceEnum(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过名称获取枚举
|
||||
*
|
||||
* @param name
|
||||
* @return
|
||||
*/
|
||||
public static AiSqlSourceEnum getByName(String name) {
|
||||
for (AiSqlSourceEnum dbTypeEnum : AiSqlSourceEnum.values()) {
|
||||
if (dbTypeEnum.name().equals(name)) {
|
||||
return dbTypeEnum;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCode() {
|
||||
return this.name();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package ai.chat2db.server.domain.api.enums;
|
||||
|
||||
import ai.chat2db.server.tools.base.enums.BaseEnum;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*
|
||||
* @author 是仪
|
||||
*/
|
||||
@Getter
|
||||
public enum OperationStatusEnum implements BaseEnum<String> {
|
||||
/**
|
||||
* 草稿
|
||||
*/
|
||||
DRAFT("草稿"),
|
||||
|
||||
/**
|
||||
* 已发布
|
||||
*/
|
||||
RELEASE("已发布"),
|
||||
|
||||
;
|
||||
|
||||
final String description;
|
||||
|
||||
OperationStatusEnum(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCode() {
|
||||
return this.name();
|
||||
}
|
||||
}
|
@ -0,0 +1,79 @@
|
||||
package ai.chat2db.server.domain.api.model;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version Chart.java, v 0.1 2023年06月09日 15:37 moji Exp $
|
||||
* @date 2023/06/09
|
||||
*/
|
||||
@Data
|
||||
public class Chart {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime gmtCreate;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private LocalDateTime gmtModified;
|
||||
|
||||
/**
|
||||
* 图表名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 图表描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 图表信息
|
||||
*/
|
||||
private String schema;
|
||||
|
||||
/**
|
||||
* 数据源连接ID
|
||||
*/
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* 数据源名称
|
||||
*/
|
||||
private String dataSourceName;
|
||||
|
||||
/**
|
||||
* 数据库类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* db名称
|
||||
*/
|
||||
private String databaseName;
|
||||
|
||||
/**
|
||||
* ddl内容
|
||||
*/
|
||||
private String ddl;
|
||||
|
||||
/**
|
||||
* 是否被删除,y表示删除,n表示未删除
|
||||
*/
|
||||
private String deleted;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
}
|
@ -0,0 +1,50 @@
|
||||
package ai.chat2db.server.domain.api.model;
|
||||
|
||||
import ai.chat2db.server.domain.api.enums.AiSqlSourceEnum;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version ChatGptConfig.java, v 0.1 2023年05月09日 13:47 moji Exp $
|
||||
* @date 2023/05/09
|
||||
*/
|
||||
@Data
|
||||
public class ChatGptConfig {
|
||||
|
||||
/**
|
||||
* OpenAi APIKEY
|
||||
*/
|
||||
private String apiKey;
|
||||
|
||||
/**
|
||||
* OpenAi APIHOST
|
||||
*/
|
||||
private String apiHost;
|
||||
|
||||
/**
|
||||
* http代理Host
|
||||
*/
|
||||
private String httpProxyHost;
|
||||
|
||||
/**
|
||||
* http代理Port
|
||||
*/
|
||||
private String httpProxyPort;
|
||||
|
||||
/**
|
||||
* AI类型
|
||||
* @see AiSqlSourceEnum
|
||||
*/
|
||||
private String aiSqlSource;
|
||||
|
||||
/**
|
||||
* 自定义AI接口
|
||||
*/
|
||||
private String restAiUrl;
|
||||
|
||||
/**
|
||||
* Rest接口是否流式输出
|
||||
* 非必填,默认值为TRUE
|
||||
*/
|
||||
private Boolean restAiStream = Boolean.TRUE;
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
/**
|
||||
* alibaba.com Inc.
|
||||
* Copyright (c) 2004-2023 All Rights Reserved.
|
||||
*/
|
||||
package ai.chat2db.server.domain.api.model;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @author jipengfei
|
||||
* @version : Config.java
|
||||
*/
|
||||
@Data
|
||||
public class Config implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 8377899386569086415L;
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime gmtCreate;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private LocalDateTime gmtModified;
|
||||
|
||||
/**
|
||||
* 配置项code
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 配置项内容
|
||||
*/
|
||||
private String content;
|
||||
|
||||
|
||||
/**
|
||||
* 配置摘要
|
||||
*/
|
||||
private String summary;
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package ai.chat2db.server.domain.api.model;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version Dashboard.java, v 0.1 2023年06月09日 15:32 moji Exp $
|
||||
* @date 2023/06/09
|
||||
*/
|
||||
@Data
|
||||
public class Dashboard {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime gmtCreate;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private LocalDateTime gmtModified;
|
||||
|
||||
/**
|
||||
* 报表名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 报表描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 报表布局信息
|
||||
*/
|
||||
private String schema;
|
||||
|
||||
/**
|
||||
* 是否被删除,y表示删除,n表示未删除
|
||||
*/
|
||||
private String deleted;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 图表ID列表
|
||||
*/
|
||||
private List<Long> chartIds;
|
||||
|
||||
}
|
@ -0,0 +1,106 @@
|
||||
package ai.chat2db.server.domain.api.model;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import ai.chat2db.server.domain.support.model.KeyValue;
|
||||
import ai.chat2db.server.domain.support.model.SSHInfo;
|
||||
import ai.chat2db.server.domain.support.model.SSLInfo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version DataSourceDTO.java, v 0.1 2022年09月23日 15:39 moji Exp $
|
||||
* @date 2022/09/23
|
||||
*/
|
||||
@Data
|
||||
public class DataSource {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime gmtCreate;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private LocalDateTime gmtModified;
|
||||
|
||||
/**
|
||||
* 别名
|
||||
*/
|
||||
private String alias;
|
||||
|
||||
/**
|
||||
* 连接地址
|
||||
*/
|
||||
private String url;
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 数据库类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 环境类型
|
||||
*/
|
||||
private String envType;
|
||||
|
||||
/**
|
||||
* host
|
||||
*/
|
||||
private String host;
|
||||
|
||||
/**
|
||||
* port
|
||||
*/
|
||||
private String port;
|
||||
|
||||
/**
|
||||
* ssh
|
||||
*/
|
||||
private SSHInfo ssh;
|
||||
|
||||
/**
|
||||
* ssh
|
||||
*/
|
||||
private SSLInfo ssl;
|
||||
|
||||
/**
|
||||
* sid
|
||||
*/
|
||||
private String sid;
|
||||
|
||||
/**
|
||||
* driver
|
||||
*/
|
||||
private String driver;
|
||||
|
||||
/**
|
||||
* jdbc版本
|
||||
*/
|
||||
private String jdbc;
|
||||
|
||||
|
||||
/**
|
||||
* 扩展信息
|
||||
*/
|
||||
private List<KeyValue> extendInfo;
|
||||
}
|
@ -0,0 +1,77 @@
|
||||
package ai.chat2db.server.domain.api.model;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 我的保存表
|
||||
* </p>
|
||||
*
|
||||
* @author ali-dbhub
|
||||
* @since 2022-09-18
|
||||
*/
|
||||
@Data
|
||||
public class Operation {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime gmtCreate;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private LocalDateTime gmtModified;
|
||||
|
||||
/**
|
||||
* 数据源连接ID
|
||||
*/
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* 数据源名称
|
||||
*/
|
||||
private String dataSourceName;
|
||||
|
||||
/**
|
||||
* db名称
|
||||
*/
|
||||
private String databaseName;
|
||||
|
||||
/**
|
||||
* 表所在空间
|
||||
*/
|
||||
private String schemaName;
|
||||
|
||||
/**
|
||||
* 保存名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 数据库类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* ddl语句状态:DRAFT/RELEASE
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* ddl内容
|
||||
*/
|
||||
private String ddl;
|
||||
|
||||
/**
|
||||
* 是否在tab中被打开,y表示打开,n表示未打开
|
||||
*/
|
||||
private String tabOpened;
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
package ai.chat2db.server.domain.api.model;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 我的执行记录
|
||||
* </p>
|
||||
*
|
||||
* @author ali-dbhub
|
||||
* @since 2022-09-18
|
||||
*/
|
||||
@Data
|
||||
public class OperationLog {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime gmtCreate;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private LocalDateTime gmtModified;
|
||||
|
||||
/**
|
||||
* 数据源连接ID
|
||||
*/
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* 数据源
|
||||
*/
|
||||
private String dataSourceName;
|
||||
|
||||
/**
|
||||
* db名称
|
||||
*/
|
||||
private String databaseName;
|
||||
|
||||
/**
|
||||
* 数据库类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* ddl内容
|
||||
*/
|
||||
private String ddl;
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
package ai.chat2db.server.domain.api.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* 用户信息
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class User {
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 昵称
|
||||
*/
|
||||
private String nickName;
|
||||
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
private String email;
|
||||
}
|
@ -0,0 +1,64 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version ChartCreateParam.java, v 0.1 2023年06月09日 15:38 moji Exp $
|
||||
* @date 2023/06/09
|
||||
*/
|
||||
@Data
|
||||
public class ChartCreateParam {
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime gmtCreate;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private LocalDateTime gmtModified;
|
||||
|
||||
/**
|
||||
* 图表名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 图表信息
|
||||
*/
|
||||
private String schema;
|
||||
|
||||
/**
|
||||
* 数据源连接ID
|
||||
*/
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* 数据库类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* db名称
|
||||
*/
|
||||
private String databaseName;
|
||||
|
||||
/**
|
||||
* ddl内容
|
||||
*/
|
||||
private String ddl;
|
||||
|
||||
/**
|
||||
* 是否被删除,y表示删除,n表示未删除
|
||||
*/
|
||||
private String deleted;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version UserSavedDdlPageQueryParam.java, v 0.1 2022年09月25日 14:05 moji Exp $
|
||||
* @date 2022/09/25
|
||||
*/
|
||||
@Data
|
||||
public class ChartPageQueryParam extends PageQueryParam {
|
||||
|
||||
/**
|
||||
* 报表ID
|
||||
*/
|
||||
private Long dashboardId;
|
||||
|
||||
/**
|
||||
* 搜索关键词
|
||||
*/
|
||||
private String searchKey;
|
||||
|
||||
}
|
@ -0,0 +1,64 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version ChartUpdateParam.java, v 0.1 2023年06月09日 15:39 moji Exp $
|
||||
* @date 2023/06/09
|
||||
*/
|
||||
@Data
|
||||
public class ChartUpdateParam {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime gmtCreate;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private LocalDateTime gmtModified;
|
||||
|
||||
/**
|
||||
* 图表名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 图表信息
|
||||
*/
|
||||
private String schema;
|
||||
|
||||
/**
|
||||
* 数据源连接ID
|
||||
*/
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* 数据库类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* db名称
|
||||
*/
|
||||
private String databaseName;
|
||||
|
||||
/**
|
||||
* ddl内容
|
||||
*/
|
||||
private String ddl;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* 控制台关闭参数
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ConsoleCloseParam {
|
||||
|
||||
/**
|
||||
* 对应数据库存储的来源id
|
||||
*/
|
||||
@NotNull
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* 控制台的id ,确保全局唯一
|
||||
*/
|
||||
@NotNull
|
||||
private Long consoleId;
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version ConsoleConnectParam.java, v 0.1 2022年10月30日 15:53 moji Exp $
|
||||
* @date 2022/10/30
|
||||
*/
|
||||
@Data
|
||||
public class ConsoleConnectParam {
|
||||
|
||||
/**
|
||||
* 数据源id
|
||||
*/
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* 数据库db名称
|
||||
*/
|
||||
private String databaseName;
|
||||
|
||||
/**
|
||||
* 控制台id
|
||||
*/
|
||||
private Long consoleId;
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* 控制台创建参数
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ConsoleCreateParam {
|
||||
/**
|
||||
* 对应数据库存储的来源id
|
||||
*/
|
||||
@NotNull
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* 控制台的id ,确保全局唯一
|
||||
* 确保不要重复,重复的情况下会弃用以前的连接,并重新创建
|
||||
*/
|
||||
@NotNull
|
||||
private Long consoleId;
|
||||
|
||||
/**
|
||||
* 对应的连接数据库名称
|
||||
* 支持多个database的数据库会调用use xx;来切换来数据库
|
||||
*/
|
||||
@NotNull
|
||||
private String databaseName;
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version DashboardSaveParam.java, v 0.1 2023年06月09日 15:29 moji Exp $
|
||||
* @date 2023/06/09
|
||||
*/
|
||||
@Data
|
||||
public class DashboardCreateParam {
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime gmtCreate;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private LocalDateTime gmtModified;
|
||||
|
||||
/**
|
||||
* 报表名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 报表布局信息
|
||||
*/
|
||||
private String schema;
|
||||
|
||||
/**
|
||||
* 是否被删除,y表示删除,n表示未删除
|
||||
*/
|
||||
private String deleted;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 图表ID列表
|
||||
*/
|
||||
private List<Long> chartIds;
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version UserSavedDdlPageQueryParam.java, v 0.1 2022年09月25日 14:05 moji Exp $
|
||||
* @date 2022/09/25
|
||||
*/
|
||||
@Data
|
||||
public class DashboardPageQueryParam extends PageQueryParam {
|
||||
|
||||
/**
|
||||
* 搜索关键词
|
||||
*/
|
||||
private String searchKey;
|
||||
|
||||
}
|
@ -0,0 +1,60 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version DashboardSaveParam.java, v 0.1 2023年06月09日 15:29 moji Exp $
|
||||
* @date 2023/06/09
|
||||
*/
|
||||
@Data
|
||||
public class DashboardUpdateParam {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime gmtCreate;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private LocalDateTime gmtModified;
|
||||
|
||||
/**
|
||||
* 报表名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 报表布局信息
|
||||
*/
|
||||
private String schema;
|
||||
|
||||
/**
|
||||
* 是否被删除,y表示删除,n表示未删除
|
||||
*/
|
||||
private String deleted;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 图表ID列表
|
||||
*/
|
||||
private List<Long> chartIds;
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* 数据源关闭
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class DataSourceCloseParam {
|
||||
/**
|
||||
* 对应数据库存储的来源id
|
||||
*/
|
||||
@NotNull
|
||||
private Long dataSourceId;
|
||||
|
||||
}
|
@ -0,0 +1,92 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import ai.chat2db.server.domain.support.model.KeyValue;
|
||||
import ai.chat2db.server.domain.support.model.SSHInfo;
|
||||
import ai.chat2db.server.domain.support.model.SSLInfo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version DataSourceCreateParam.java, v 0.1 2022年09月23日 15:23 moji Exp $
|
||||
* @date 2022/09/23
|
||||
*/
|
||||
@Data
|
||||
public class DataSourceCreateParam {
|
||||
|
||||
/**
|
||||
* 别名
|
||||
*/
|
||||
private String alias;
|
||||
|
||||
/**
|
||||
* 连接地址
|
||||
*/
|
||||
private String url;
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 数据库类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 环境类型
|
||||
*/
|
||||
private String envType;
|
||||
|
||||
|
||||
/**
|
||||
* host
|
||||
*/
|
||||
private String host;
|
||||
|
||||
/**
|
||||
* port
|
||||
*/
|
||||
private String port;
|
||||
|
||||
/**
|
||||
* ssh
|
||||
*/
|
||||
private SSHInfo ssh;
|
||||
|
||||
/**
|
||||
* ssh
|
||||
*/
|
||||
private SSLInfo ssl;
|
||||
|
||||
/**
|
||||
* sid
|
||||
*/
|
||||
private String sid;
|
||||
|
||||
/**
|
||||
* driver
|
||||
*/
|
||||
private String driver;
|
||||
|
||||
|
||||
/**
|
||||
* jdbc版本
|
||||
*/
|
||||
private String jdbc;
|
||||
|
||||
/**
|
||||
* 扩展信息
|
||||
*/
|
||||
private List<KeyValue> extendInfo;
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version DataSourcePageQueryParam.java, v 0.1 2022年09月23日 15:27 moji Exp $
|
||||
* @date 2022/09/23
|
||||
*/
|
||||
@Data
|
||||
public class DataSourcePageQueryParam extends PageQueryParam {
|
||||
|
||||
/**
|
||||
* 搜索关键词
|
||||
*/
|
||||
private String searchKey;
|
||||
}
|
@ -0,0 +1,93 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import ai.chat2db.server.domain.support.enums.DbTypeEnum;
|
||||
import ai.chat2db.server.domain.support.model.KeyValue;
|
||||
import ai.chat2db.server.domain.support.model.SSHInfo;
|
||||
import ai.chat2db.server.domain.support.model.SSLInfo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version ConnectionCreateRequest.java, v 0.1 2022年09月16日 14:23 moji Exp $
|
||||
* @date 2022/09/16
|
||||
*/
|
||||
@Data
|
||||
public class DataSourcePreConnectParam {
|
||||
|
||||
/**
|
||||
* 连接别名
|
||||
*/
|
||||
private String alias;
|
||||
|
||||
/**
|
||||
* 连接地址
|
||||
*/
|
||||
@NotNull
|
||||
private String url;
|
||||
|
||||
/**
|
||||
* 连接用户
|
||||
*/
|
||||
private String user;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
@NotNull
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 连接类型
|
||||
* @see DbTypeEnum
|
||||
*/
|
||||
@NotNull
|
||||
private String type;
|
||||
|
||||
|
||||
/**
|
||||
* host
|
||||
*/
|
||||
private String host;
|
||||
|
||||
/**
|
||||
* port
|
||||
*/
|
||||
private String port;
|
||||
|
||||
/**
|
||||
* ssh
|
||||
*/
|
||||
private SSHInfo ssh;
|
||||
|
||||
/**
|
||||
* ssh
|
||||
*/
|
||||
private SSLInfo ssl;
|
||||
|
||||
/**
|
||||
* sid
|
||||
*/
|
||||
private String sid;
|
||||
|
||||
/**
|
||||
* driver
|
||||
*/
|
||||
private String driver;
|
||||
|
||||
|
||||
/**
|
||||
* jdbc版本
|
||||
*/
|
||||
private String jdbc;
|
||||
|
||||
/**
|
||||
* 扩展信息
|
||||
*/
|
||||
private List<KeyValue> extendInfo;
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version DataSourceSelector.java, v 0.1 2022年09月23日 15:28 moji Exp $
|
||||
* @date 2022/09/23
|
||||
*/
|
||||
@Data
|
||||
public class DataSourceSelector {
|
||||
|
||||
}
|
@ -0,0 +1,93 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import ai.chat2db.server.domain.support.enums.DbTypeEnum;
|
||||
import ai.chat2db.server.domain.support.model.KeyValue;
|
||||
import ai.chat2db.server.domain.support.model.SSHInfo;
|
||||
import ai.chat2db.server.domain.support.model.SSLInfo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* 数据源测试参数
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class DataSourceTestParam {
|
||||
|
||||
/**
|
||||
* 数据库类型
|
||||
*
|
||||
* @see DbTypeEnum
|
||||
*/
|
||||
@NotNull
|
||||
private String dbType;
|
||||
|
||||
/**
|
||||
* 请求连接
|
||||
*/
|
||||
@NotNull
|
||||
private String url;
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
private String username;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* host
|
||||
*/
|
||||
private String host;
|
||||
|
||||
/**
|
||||
* port
|
||||
*/
|
||||
private String port;
|
||||
|
||||
/**
|
||||
* ssh
|
||||
*/
|
||||
private SSHInfo ssh;
|
||||
|
||||
/**
|
||||
* ssh
|
||||
*/
|
||||
private SSLInfo ssl;
|
||||
|
||||
/**
|
||||
* sid
|
||||
*/
|
||||
private String sid;
|
||||
|
||||
/**
|
||||
* driver
|
||||
*/
|
||||
private String driver;
|
||||
|
||||
|
||||
/**
|
||||
* jdbc版本
|
||||
*/
|
||||
private String jdbc;
|
||||
|
||||
/**
|
||||
* 扩展信息
|
||||
*/
|
||||
private List<KeyValue> extendInfo;
|
||||
}
|
@ -0,0 +1,101 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import ai.chat2db.server.domain.support.model.KeyValue;
|
||||
import ai.chat2db.server.domain.support.model.SSHInfo;
|
||||
import ai.chat2db.server.domain.support.model.SSLInfo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version DataSourceCreateParam.java, v 0.1 2022年09月23日 15:23 moji Exp $
|
||||
* @date 2022/09/23
|
||||
*/
|
||||
@Data
|
||||
public class DataSourceUpdateParam {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@NotNull
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 别名
|
||||
*/
|
||||
private String alias;
|
||||
|
||||
/**
|
||||
* 连接地址
|
||||
*/
|
||||
private String url;
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 数据库类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 环境类型
|
||||
*/
|
||||
private String envType;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* host
|
||||
*/
|
||||
private String host;
|
||||
|
||||
/**
|
||||
* port
|
||||
*/
|
||||
private String port;
|
||||
|
||||
/**
|
||||
* ssh
|
||||
*/
|
||||
private SSHInfo ssh;
|
||||
|
||||
/**
|
||||
* ssh
|
||||
*/
|
||||
private SSLInfo ssl;
|
||||
|
||||
/**
|
||||
* sid
|
||||
*/
|
||||
private String sid;
|
||||
|
||||
/**
|
||||
* driver
|
||||
*/
|
||||
private String driver;
|
||||
|
||||
|
||||
/**
|
||||
* jdbc版本
|
||||
*/
|
||||
private String jdbc;
|
||||
|
||||
/**
|
||||
* 扩展信息
|
||||
*/
|
||||
private List<KeyValue> extendInfo;
|
||||
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
/**
|
||||
* alibaba.com Inc.
|
||||
* Copyright (c) 2004-2023 All Rights Reserved.
|
||||
*/
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author jipengfei
|
||||
* @version : DatabaseOperationParam.java
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
public class DatabaseOperationParam {
|
||||
|
||||
private String databaseName;
|
||||
|
||||
private String newDatabaseName;
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* 展示数据库信息
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class DatabaseQueryAllParam {
|
||||
/**
|
||||
* 对应数据库存储的来源id
|
||||
*/
|
||||
@NotNull
|
||||
private Long dataSourceId;
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 统计数量
|
||||
*
|
||||
* @author 是仪
|
||||
*/
|
||||
@Data
|
||||
public class DlCountParam {
|
||||
|
||||
/**
|
||||
* sql语句
|
||||
*/
|
||||
@NotNull
|
||||
private String sql;
|
||||
|
||||
/**
|
||||
* 控制台id
|
||||
*/
|
||||
@NotNull
|
||||
private Long consoleId;
|
||||
|
||||
/**
|
||||
* 数据源id
|
||||
*/
|
||||
@NotNull
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* DB名称
|
||||
*/
|
||||
@NotNull
|
||||
private String databaseName;
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version DataSourceExecuteParam.java, v 0.1 2022年10月14日 13:53 moji Exp $
|
||||
* @date 2022/10/14
|
||||
*/
|
||||
@Data
|
||||
public class DlExecuteParam {
|
||||
|
||||
/**
|
||||
* sql语句
|
||||
*/
|
||||
@NotNull
|
||||
private String sql;
|
||||
|
||||
/**
|
||||
* 控制台id
|
||||
*/
|
||||
@NotNull
|
||||
private Long consoleId;
|
||||
|
||||
/**
|
||||
* 数据源id
|
||||
*/
|
||||
@NotNull
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* DB名称
|
||||
*/
|
||||
@NotNull
|
||||
private String databaseName;
|
||||
|
||||
/**
|
||||
* 分页编码
|
||||
* 只有select语句才有
|
||||
*/
|
||||
private Integer pageNo;
|
||||
|
||||
/**
|
||||
* 分页大小
|
||||
* 只有select语句才有
|
||||
*/
|
||||
private Integer pageSize;
|
||||
|
||||
/**
|
||||
* 返回全部数据
|
||||
* 只有select语句才有
|
||||
*/
|
||||
private Boolean pageSizeAll;
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* 删除表结构
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class DropParam {
|
||||
/**
|
||||
* 对应数据库存储的来源id
|
||||
*/
|
||||
@NotNull
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* 对应的连接数据库名称
|
||||
*/
|
||||
@NotNull
|
||||
private String databaseName;
|
||||
|
||||
/**
|
||||
* 表名
|
||||
*/
|
||||
private String tableName;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String tableSchema;
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version UserExecutedDdlCreateParam.java, v 0.1 2022年09月25日 11:08 moji Exp $
|
||||
* @date 2022/09/25
|
||||
*/
|
||||
@Data
|
||||
public class OperationLogCreateParam {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 数据源连接ID
|
||||
*/
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* db名称
|
||||
*/
|
||||
private String databaseName;
|
||||
|
||||
/**
|
||||
* 数据库类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* ddl内容
|
||||
*/
|
||||
private String ddl;
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version UserExecutedDdlPageQueryParam.java, v 0.1 2022年09月25日 14:05 moji Exp $
|
||||
* @date 2022/09/25
|
||||
*/
|
||||
@Data
|
||||
public class OperationLogPageQueryParam extends PageQueryParam {
|
||||
|
||||
/**
|
||||
* 搜索关键词
|
||||
*/
|
||||
private String searchKey;
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version UserSavedDdlPageQueryParam.java, v 0.1 2022年09月25日 14:05 moji Exp $
|
||||
* @date 2022/09/25
|
||||
*/
|
||||
@Data
|
||||
public class OperationPageQueryParam extends PageQueryParam {
|
||||
|
||||
/**
|
||||
* 数据源连接ID
|
||||
*/
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* db名称
|
||||
*/
|
||||
private String databaseName;
|
||||
|
||||
/**
|
||||
* ddl语句状态:DRAFT/RELEASE
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 搜索关键词
|
||||
*/
|
||||
private String searchKey;
|
||||
|
||||
/**
|
||||
* 是否在tab中被打开,y表示打开,n表示未打开
|
||||
*/
|
||||
private String tabOpened;
|
||||
}
|
@ -0,0 +1,52 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version UserSavedDdlCreateParam.java, v 0.1 2022年09月25日 15:40 moji Exp $
|
||||
* @date 2022/09/25
|
||||
*/
|
||||
@Data
|
||||
public class OperationSavedParam {
|
||||
|
||||
/**
|
||||
* 数据源连接ID
|
||||
*/
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* db名称
|
||||
*/
|
||||
private String databaseName;
|
||||
|
||||
/**
|
||||
* 表所在空间
|
||||
*/
|
||||
private String schemaName;
|
||||
|
||||
/**
|
||||
* 保存名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 数据库类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* ddl语句状态:DRAFT/RELEASE
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* ddl内容
|
||||
*/
|
||||
private String ddl;
|
||||
|
||||
/**
|
||||
* 是否在tab中被打开,y表示打开,n表示未打开
|
||||
*/
|
||||
private String tabOpened;
|
||||
}
|
@ -0,0 +1,60 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version UserSavedDdlCreateParam.java, v 0.1 2022年09月25日 15:40 moji Exp $
|
||||
* @date 2022/09/25
|
||||
*/
|
||||
@Data
|
||||
public class OperationUpdateParam {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@NotNull
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 数据源连接ID
|
||||
*/
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* db名称
|
||||
*/
|
||||
private String databaseName;
|
||||
|
||||
/**
|
||||
* 表所在空间
|
||||
*/
|
||||
private String schemaName;
|
||||
|
||||
/**
|
||||
* 保存名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 数据库类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* ddl语句状态:DRAFT/RELEASE
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* ddl内容
|
||||
*/
|
||||
private String ddl;
|
||||
|
||||
/**
|
||||
* 是否在tab中被打开,y表示打开,n表示未打开
|
||||
*/
|
||||
private String tabOpened;
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
/**
|
||||
* alibaba.com Inc.
|
||||
* Copyright (c) 2004-2023 All Rights Reserved.
|
||||
*/
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author jipengfei
|
||||
* @version : SchemaOperationParam.java
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
public class SchemaOperationParam {
|
||||
String databaseName;
|
||||
String schemaName;
|
||||
String newSchemaName;
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
/**
|
||||
* alibaba.com Inc.
|
||||
* Copyright (c) 2004-2023 All Rights Reserved.
|
||||
*/
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* @author jipengfei
|
||||
* @version : SchemaQueryParam.java
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SchemaQueryParam {
|
||||
|
||||
@NotNull
|
||||
private Long dataSourceId;
|
||||
|
||||
@NotNull
|
||||
private String dataBaseName;
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* 查询建表语句
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ShowCreateTableParam {
|
||||
/**
|
||||
* 对应数据库存储的来源id
|
||||
*/
|
||||
@NotNull
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* 对应的连接数据库名称
|
||||
*/
|
||||
@NotNull
|
||||
private String databaseName;
|
||||
|
||||
/**
|
||||
* 表名
|
||||
*/
|
||||
private String tableName;
|
||||
|
||||
/**
|
||||
* 表所属schema
|
||||
*/
|
||||
private String schemaName;
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* Sql解析参数
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SqlAnalyseParam {
|
||||
|
||||
/**
|
||||
* 对应数据库存储的来源id
|
||||
*/
|
||||
@NotNull
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* 需要解析的sql 可能是一个复杂的sql
|
||||
*/
|
||||
private String sql;
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
/**
|
||||
* alibaba.com Inc.
|
||||
* Copyright (c) 2004-2023 All Rights Reserved.
|
||||
*/
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* @author jipengfei
|
||||
* @version : SystemConfigParam.java
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SystemConfigParam implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 7969235263543844658L;
|
||||
|
||||
/**
|
||||
* 配置项code
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 配置项内容
|
||||
*/
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 配置摘要
|
||||
*/
|
||||
private String summary;
|
||||
|
||||
}
|
@ -0,0 +1,47 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* 分页查询表信息
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TablePageQueryParam extends PageQueryParam {
|
||||
private static final long serialVersionUID = 8054519332890887747L;
|
||||
/**
|
||||
* 对应数据库存储的来源id
|
||||
*/
|
||||
@NotNull
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* 对应的连接数据库名称
|
||||
*/
|
||||
@NotNull
|
||||
private String databaseName;
|
||||
|
||||
/**
|
||||
* 表名
|
||||
*/
|
||||
private String tableName;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String schemaName;
|
||||
}
|
@ -0,0 +1,47 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import ai.chat2db.server.tools.base.wrapper.param.QueryParam;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* 查询表信息
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TableQueryParam extends QueryParam {
|
||||
@Serial
|
||||
private static final long serialVersionUID = -8918610899872508804L;
|
||||
/**
|
||||
* 对应数据库存储的来源id
|
||||
*/
|
||||
@NotNull
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* 对应的连接数据库名称
|
||||
*/
|
||||
@NotNull
|
||||
private String databaseName;
|
||||
|
||||
/**
|
||||
* 表名
|
||||
*/
|
||||
private String tableName;
|
||||
|
||||
/**
|
||||
* 空间名
|
||||
*/
|
||||
private String schemaName;
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* 表结构选择器
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TableSelector {
|
||||
/**
|
||||
* 列列表
|
||||
*/
|
||||
private Boolean columnList;
|
||||
|
||||
/**
|
||||
* 索引列表
|
||||
*/
|
||||
private Boolean indexList;
|
||||
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* 用户查询参数
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class UserQueryParam extends PageQueryParam {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 7341467383637825621L;
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
private String keyWord;
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package ai.chat2db.server.domain.api.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import ai.chat2db.server.domain.api.model.Chart;
|
||||
import ai.chat2db.server.domain.api.param.ChartCreateParam;
|
||||
import ai.chat2db.server.domain.api.param.ChartUpdateParam;
|
||||
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;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version ChartService.java, v 0.1 2023年06月09日 15:28 moji Exp $
|
||||
* @date 2023/06/09
|
||||
*/
|
||||
public interface ChartService {
|
||||
/**
|
||||
* 保存报表
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
DataResult<Long> create(ChartCreateParam param);
|
||||
|
||||
/**
|
||||
* 更新报表
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
ActionResult update(ChartUpdateParam param);
|
||||
|
||||
/**
|
||||
* 根据id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
DataResult<Chart> find(@NotNull Long id);
|
||||
|
||||
/**
|
||||
* 通过ID查询图表列表
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
ListResult<Chart> queryByIds(@NotEmpty List<Long> ids);
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ActionResult delete(@NotNull Long id);
|
||||
|
||||
}
|
@ -0,0 +1,58 @@
|
||||
/**
|
||||
* alibaba.com Inc.
|
||||
* Copyright (c) 2004-2023 All Rights Reserved.
|
||||
*/
|
||||
package ai.chat2db.server.domain.api.service;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import ai.chat2db.server.domain.api.model.Config;
|
||||
import ai.chat2db.server.domain.api.param.SystemConfigParam;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
|
||||
|
||||
/**
|
||||
* @author jipengfei
|
||||
* @version : SystemConfigService.java
|
||||
*/
|
||||
public interface ConfigService {
|
||||
|
||||
/**
|
||||
* 创建配置
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
ActionResult create(SystemConfigParam param);
|
||||
|
||||
/**
|
||||
* 修改配置
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
ActionResult update(SystemConfigParam param);
|
||||
|
||||
/**
|
||||
* 插入或者更新
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
ActionResult createOrUpdate(SystemConfigParam param);
|
||||
|
||||
/**
|
||||
* 根据code查询
|
||||
*
|
||||
* @param code
|
||||
* @return
|
||||
*/
|
||||
DataResult<Config> find(@NotNull String code);
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*
|
||||
* @param code
|
||||
* @return
|
||||
*/
|
||||
ActionResult delete(@NotNull String code);
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
package ai.chat2db.server.domain.api.service;
|
||||
|
||||
import ai.chat2db.server.domain.api.param.ConsoleConnectParam;
|
||||
import ai.chat2db.server.domain.api.param.ConsoleCloseParam;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
|
||||
|
||||
/**
|
||||
* 数据源管理服务
|
||||
*
|
||||
* @author moji
|
||||
* @version DataSourceCoreService.java, v 0.1 2022年09月23日 15:22 moji Exp $
|
||||
* @date 2022/09/23
|
||||
*/
|
||||
public interface ConsoleService {
|
||||
|
||||
/**
|
||||
* 创建console链接
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
ActionResult createConsole(ConsoleConnectParam param);
|
||||
|
||||
/**
|
||||
* 关闭连接
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
ActionResult closeConsole(ConsoleCloseParam param);
|
||||
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
package ai.chat2db.server.domain.api.service;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import ai.chat2db.server.domain.api.model.Dashboard;
|
||||
import ai.chat2db.server.domain.api.param.DashboardPageQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.DashboardCreateParam;
|
||||
import ai.chat2db.server.domain.api.param.DashboardUpdateParam;
|
||||
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;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version DashboardService.java, v 0.1 2023年06月09日 15:28 moji Exp $
|
||||
* @date 2023/06/09
|
||||
*/
|
||||
public interface DashboardService {
|
||||
|
||||
/**
|
||||
* 保存报表
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
DataResult<Long> create(DashboardCreateParam param);
|
||||
|
||||
/**
|
||||
* 更新报表
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
ActionResult update(DashboardUpdateParam param);
|
||||
|
||||
/**
|
||||
* 根据id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
DataResult<Dashboard> find(@NotNull Long id);
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ActionResult delete(@NotNull Long id);
|
||||
|
||||
/**
|
||||
* 查询报表列表
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
PageResult<Dashboard> queryPage(DashboardPageQueryParam param);
|
||||
}
|
@ -0,0 +1,111 @@
|
||||
package ai.chat2db.server.domain.api.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import ai.chat2db.server.domain.api.model.DataSource;
|
||||
import ai.chat2db.server.domain.api.param.DataSourceCreateParam;
|
||||
import ai.chat2db.server.domain.api.param.DataSourcePageQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.DataSourcePreConnectParam;
|
||||
import ai.chat2db.server.domain.api.param.DataSourceSelector;
|
||||
import ai.chat2db.server.domain.api.param.DataSourceUpdateParam;
|
||||
import ai.chat2db.server.domain.support.model.Database;
|
||||
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 com.jcraft.jsch.JSchException;
|
||||
|
||||
/**
|
||||
* 数据源管理服务
|
||||
*
|
||||
* @author moji
|
||||
* @version DataSourceCoreService.java, v 0.1 2022年09月23日 15:22 moji Exp $
|
||||
* @date 2022/09/23
|
||||
*/
|
||||
public interface DataSourceService {
|
||||
|
||||
/**
|
||||
* 创建数据源连接
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
DataResult<Long> create(DataSourceCreateParam param);
|
||||
|
||||
/**
|
||||
* 更新数据源连接
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
ActionResult update(DataSourceUpdateParam param);
|
||||
|
||||
/**
|
||||
* 删除数据源连接
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ActionResult delete(@NotNull Long id);
|
||||
|
||||
/**
|
||||
* 根据id查询数据源连接详情
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
DataResult<DataSource> queryById(@NotNull Long id);
|
||||
|
||||
/**
|
||||
* 克隆连接
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
DataResult<Long> copyById(@NotNull Long id);
|
||||
|
||||
/**
|
||||
* 分页查询数据源列表
|
||||
*
|
||||
* @param param
|
||||
* @param selector
|
||||
* @return
|
||||
*/
|
||||
PageResult<DataSource> queryPage(DataSourcePageQueryParam param, DataSourceSelector selector);
|
||||
|
||||
/**
|
||||
* 通过ID列表查询数据源
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
ListResult<DataSource> queryByIds(List<Long>ids);
|
||||
|
||||
/**
|
||||
* 数据源连接测试
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
ActionResult preConnect(DataSourcePreConnectParam param);
|
||||
|
||||
/**
|
||||
* 连接数据源
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ListResult<Database> connect(Long id);
|
||||
|
||||
/**
|
||||
* 关闭数据源连接
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ActionResult close(Long id);
|
||||
|
||||
}
|
@ -0,0 +1,84 @@
|
||||
package ai.chat2db.server.domain.api.service;
|
||||
|
||||
import ai.chat2db.server.domain.api.param.DatabaseOperationParam;
|
||||
import ai.chat2db.server.domain.api.param.DatabaseQueryAllParam;
|
||||
import ai.chat2db.server.domain.api.param.SchemaOperationParam;
|
||||
import ai.chat2db.server.domain.api.param.SchemaQueryParam;
|
||||
import ai.chat2db.server.domain.support.model.Database;
|
||||
import ai.chat2db.server.domain.support.model.Schema;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.ListResult;
|
||||
|
||||
/**
|
||||
* 数据源管理服务
|
||||
*
|
||||
* @author moji
|
||||
* @version DataSourceCoreService.java, v 0.1 2022年09月23日 15:22 moji Exp $
|
||||
* @date 2022/09/23
|
||||
*/
|
||||
public interface DatabaseService {
|
||||
|
||||
/**
|
||||
* 查询数据源下的所有database
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
ListResult<Database> queryAll(DatabaseQueryAllParam param);
|
||||
|
||||
/**
|
||||
* 查询某个database下的schema
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
ListResult<Schema> querySchema(SchemaQueryParam param);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 删除数据库
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public ActionResult deleteDatabase(DatabaseOperationParam param);
|
||||
|
||||
/**
|
||||
* 创建database
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public ActionResult createDatabase(DatabaseOperationParam param);
|
||||
|
||||
/**
|
||||
* 修改database
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public ActionResult modifyDatabase( DatabaseOperationParam param) ;
|
||||
|
||||
/**
|
||||
* 删除schema
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public ActionResult deleteSchema(SchemaOperationParam param) ;
|
||||
|
||||
/**
|
||||
* 创建schema
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public ActionResult createSchema( SchemaOperationParam param);
|
||||
|
||||
/**
|
||||
* 修改schema
|
||||
*
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
public ActionResult modifySchema( SchemaOperationParam request);
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
package ai.chat2db.server.domain.api.service;
|
||||
|
||||
import ai.chat2db.server.domain.api.param.DlCountParam;
|
||||
import ai.chat2db.server.domain.api.param.DlExecuteParam;
|
||||
import ai.chat2db.server.domain.support.model.ExecuteResult;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.ListResult;
|
||||
|
||||
/**
|
||||
* 数据源管理服务
|
||||
*
|
||||
* @author moji
|
||||
* @version DataSourceCoreService.java, v 0.1 2022年09月23日 15:22 moji Exp $
|
||||
* @date 2022/09/23
|
||||
*/
|
||||
public interface DlTemplateService {
|
||||
|
||||
/**
|
||||
* 数据源执行dl
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
ListResult<ExecuteResult> execute(DlExecuteParam param);
|
||||
|
||||
/**
|
||||
* 执行统计sql
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
DataResult<Long> count(DlCountParam param);
|
||||
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
package ai.chat2db.server.domain.api.service;
|
||||
|
||||
import ai.chat2db.server.domain.api.param.OperationLogPageQueryParam;
|
||||
import ai.chat2db.server.domain.api.model.OperationLog;
|
||||
import ai.chat2db.server.domain.api.param.OperationLogCreateParam;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.PageResult;
|
||||
|
||||
/**
|
||||
* 用户执行ddl
|
||||
*
|
||||
* @author moji
|
||||
* @version UserExecutedDdlCoreService.java, v 0.1 2022年09月23日 17:35 moji Exp $
|
||||
* @date 2022/09/23
|
||||
*/
|
||||
public interface OperationLogService {
|
||||
|
||||
/**
|
||||
* 创建用户执行的ddl记录
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
DataResult<Long> create(OperationLogCreateParam param);
|
||||
|
||||
/**
|
||||
* 查询用户执行的ddl记录
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
PageResult<OperationLog> queryPage(OperationLogPageQueryParam param);
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package ai.chat2db.server.domain.api.service;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import ai.chat2db.server.domain.api.model.Operation;
|
||||
import ai.chat2db.server.domain.api.param.OperationPageQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.OperationSavedParam;
|
||||
import ai.chat2db.server.domain.api.param.OperationUpdateParam;
|
||||
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;
|
||||
|
||||
/**
|
||||
* 用户保存ddl
|
||||
*
|
||||
* @author moji
|
||||
* @version UserSavedDdlCoreService.java, v 0.1 2022年09月23日 17:35 moji Exp $
|
||||
* @date 2022/09/23
|
||||
*/
|
||||
public interface OperationService {
|
||||
|
||||
/**
|
||||
* 保存用户的ddl
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
DataResult<Long> create(OperationSavedParam param);
|
||||
|
||||
/**
|
||||
* 更新用户的ddl
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
ActionResult update(OperationUpdateParam param);
|
||||
|
||||
/**
|
||||
* 根据id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
DataResult<Operation> find(@NotNull Long id);
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ActionResult delete(@NotNull Long id);
|
||||
|
||||
/**
|
||||
* 查询用户执行的ddl记录
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
PageResult<Operation> queryPage(OperationPageQueryParam param);
|
||||
}
|
@ -0,0 +1,98 @@
|
||||
package ai.chat2db.server.domain.api.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import ai.chat2db.server.domain.support.model.Sql;
|
||||
import ai.chat2db.server.domain.support.model.Table;
|
||||
import ai.chat2db.server.domain.support.model.TableColumn;
|
||||
import ai.chat2db.server.domain.support.model.TableIndex;
|
||||
import ai.chat2db.server.domain.api.param.DropParam;
|
||||
import ai.chat2db.server.domain.api.param.ShowCreateTableParam;
|
||||
import ai.chat2db.server.domain.api.param.TablePageQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.TableQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.TableSelector;
|
||||
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;
|
||||
|
||||
/**
|
||||
* 数据源管理服务
|
||||
*
|
||||
* @author moji
|
||||
* @version DataSourceCoreService.java, v 0.1 2022年09月23日 15:22 moji Exp $
|
||||
* @date 2022/09/23
|
||||
*/
|
||||
public interface TableService {
|
||||
|
||||
/**
|
||||
* 查询表信息
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
DataResult<String> showCreateTable(ShowCreateTableParam param);
|
||||
|
||||
/**
|
||||
* 删除表
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
ActionResult drop(DropParam param);
|
||||
|
||||
/**
|
||||
* 创建表结构的样例
|
||||
*
|
||||
* @param dbType
|
||||
* @return
|
||||
*/
|
||||
DataResult<String> createTableExample(String dbType);
|
||||
|
||||
/**
|
||||
* 修改表结构的样例
|
||||
*
|
||||
* @param dbType
|
||||
* @return
|
||||
*/
|
||||
DataResult<String> alterTableExample(String dbType);
|
||||
|
||||
/**
|
||||
* 查询表信息
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
DataResult<Table> query(TableQueryParam param, TableSelector selector);
|
||||
|
||||
/**
|
||||
* 构建sql
|
||||
*
|
||||
* @param oldTable
|
||||
* @param newTable
|
||||
* @return
|
||||
*/
|
||||
ListResult<Sql> buildSql(Table oldTable, Table newTable);
|
||||
|
||||
/**
|
||||
* 分页查询表信息
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
PageResult<Table> pageQuery(TablePageQueryParam param, TableSelector selector);
|
||||
|
||||
/**
|
||||
* 查询表包含的字段
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<TableColumn> queryColumns(TableQueryParam param);
|
||||
|
||||
/**
|
||||
* 查询表索引
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<TableIndex> queryIndexes(TableQueryParam param);
|
||||
}
|
@ -0,0 +1,58 @@
|
||||
package ai.chat2db.server.domain.api.service;
|
||||
|
||||
import ai.chat2db.server.domain.api.model.User;
|
||||
import ai.chat2db.server.domain.api.param.UserQueryParam;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.PageResult;
|
||||
|
||||
/**
|
||||
* 用户服务
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
public interface UserService {
|
||||
|
||||
/**
|
||||
* 查询用户信息
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
DataResult<User> query(Long id);
|
||||
|
||||
/**
|
||||
* gen
|
||||
* @param userName
|
||||
* @return
|
||||
*/
|
||||
DataResult<User> query(String userName);
|
||||
|
||||
/**
|
||||
* 查询用户信息
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
PageResult<User> queryPage(UserQueryParam param);
|
||||
|
||||
/**
|
||||
* 更新用户信息
|
||||
* @param user
|
||||
* @return
|
||||
*/
|
||||
DataResult<Boolean> update(User user);
|
||||
|
||||
/**
|
||||
* 删除用户
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
DataResult<Boolean> delete(Long id);
|
||||
|
||||
/**
|
||||
* 创建一个用户
|
||||
* @param user
|
||||
* @return
|
||||
*/
|
||||
DataResult<Long> create(User user);
|
||||
}
|
Reference in New Issue
Block a user