Part of the English translation work, and some typos in the original project were corrected.

This commit is contained in:
Suyue
2024-02-29 22:55:03 +08:00
parent 7399955384
commit 064d15bd5a
278 changed files with 1978 additions and 1966 deletions

View File

@ -25,11 +25,11 @@ public class CacheManage {
static {
cacheManager = CacheManagerBuilder.newCacheManagerBuilder()
.with(CacheManagerBuilder.persistence(PATH)) // 确保这个路径是存在且有写权限的
.with(CacheManagerBuilder.persistence(PATH)) // Make sure this path exists and has write permissions
.withCache(CACHE, CacheConfigurationBuilder.newCacheConfigurationBuilder(String.class, String.class,
ResourcePoolsBuilder.newResourcePoolsBuilder()
.heap(1000, EntryUnit.ENTRIES)
.disk(20, MemoryUnit.GB, true))) // 磁盘持久化设置为true
.disk(20, MemoryUnit.GB, true))) // Disk persistence is set to true
.build(true);
}

View File

@ -11,14 +11,14 @@ import org.mapstruct.Mapper;
/**
* @author moji
* @version ChartConverter.java, v 0.1 2023年06月09日 17:13 moji Exp $
* @version ChartConverter.java, v 0.1 June 9, 2023 17:13 moji Exp $
* @date 2023/06/09
*/
@Mapper(componentModel = "spring")
public abstract class ChartConverter {
/**
* 参数转换
* Parameter conversion
*
* @param param
* @return
@ -26,7 +26,7 @@ public abstract class ChartConverter {
public abstract ChartDO param2do(ChartCreateParam param);
/**
* 参数转换
* Parameter conversion
*
* @param param
* @return
@ -34,7 +34,7 @@ public abstract class ChartConverter {
public abstract ChartDO updateParam2do(ChartUpdateParam param);
/**
* 模型转换
* Model conversion
*
* @param chartDO
* @return
@ -42,7 +42,7 @@ public abstract class ChartConverter {
public abstract Chart do2model(ChartDO chartDO);
/**
* 模型转换
* Model conversion
*
* @param chartDOS
* @return

View File

@ -11,14 +11,14 @@ import org.mapstruct.Mapper;
/**
* @author moji
* @version ChartConverter.java, v 0.1 2023年06月09日 17:13 moji Exp $
* @version ChartConverter.java, v 0.1 June 9, 2023 17:13 moji Exp $
* @date 2023/06/09
*/
@Mapper(componentModel = "spring")
public abstract class DashboardConverter {
/**
* 参数转换
* Parameter conversion
*
* @param param
* @return
@ -26,7 +26,7 @@ public abstract class DashboardConverter {
public abstract DashboardDO param2do(DashboardCreateParam param);
/**
* 参数转换
* Parameter conversion
*
* @param param
* @return
@ -34,7 +34,7 @@ public abstract class DashboardConverter {
public abstract DashboardDO updateParam2do(DashboardUpdateParam param);
/**
* 模型转换
* Model conversion
*
* @param chartDO
* @return
@ -42,7 +42,7 @@ public abstract class DashboardConverter {
public abstract Dashboard do2model(DashboardDO chartDO);
/**
* 模型转换
* Model conversion
*
* @param chartDOS
* @return

View File

@ -27,7 +27,7 @@ import org.springframework.context.annotation.Lazy;
/**
* @author moji
* @version DataSourceCoreConverter.java, v 0.1 2022年09月23日 15:53 moji Exp $
* @version DataSourceCoreConverter.java, v 0.1 September 23, 2022 15:53 moji Exp $
* @date 2022/09/23
*/
@Slf4j
@ -39,7 +39,7 @@ public abstract class DataSourceConverter {
private DataSourceService dataSourceService;
/**
* 参数转换
* Parameter conversion
*
* @param param
* @return
@ -115,7 +115,7 @@ public abstract class DataSourceConverter {
}
/**
* 参数转换
* Parameter conversion
*
* @param param
* @return
@ -136,7 +136,7 @@ public abstract class DataSourceConverter {
public abstract DataSourceDO param2do(DataSourceUpdateParam param);
/**
* 参数转换
* Parameter conversion
*
* @param param
* @return
@ -144,7 +144,7 @@ public abstract class DataSourceConverter {
public abstract ConsoleCreateParam param2consoleParam(ConsoleConnectParam param);
/**
* 参数转换
* Parameter conversion
*
* @param dataSourcePreConnectParam
* @return
@ -157,7 +157,7 @@ public abstract class DataSourceConverter {
DataSourcePreConnectParam dataSourcePreConnectParam);
/**
* 模型转换
* Model conversion
*
* @param dataSourceDO
* @return
@ -184,7 +184,7 @@ public abstract class DataSourceConverter {
public abstract DataSource do2dto(DataSourceDO dataSourceDO);
/**
* 模型转换
* Model conversion
*
* @param dataSourceDOList
* @return

View File

@ -13,14 +13,14 @@ import org.mapstruct.Mappings;
/**
* @author moji
* @version UserSavedDdlCoreConverter.java, v 0.1 2022年09月25日 15:50 moji Exp $
* @version UserSavedDdlCoreConverter.java, v 0.1 September 25, 2022 15:50 moji Exp $
* @date 2022/09/25
*/
@Mapper(componentModel = "spring")
public abstract class OperationConverter {
/**
* 参数转换
* Parameter conversion
*
* @param param
* @return
@ -31,7 +31,7 @@ public abstract class OperationConverter {
public abstract OperationSavedDO param2do(OperationSavedParam param);
/**
* 参数转换
* Parameter conversion
*
* @param param
* @return
@ -42,7 +42,7 @@ public abstract class OperationConverter {
public abstract OperationSavedDO param2do(OperationUpdateParam param);
/**
* 模型转换
* Model conversion
*
* @param userSavedDdlDO
* @return
@ -53,7 +53,7 @@ public abstract class OperationConverter {
public abstract Operation do2dto(OperationSavedDO userSavedDdlDO);
/**
* 模型转换
* Model conversion
*
* @param userSavedDdlDOS
* @return

View File

@ -10,14 +10,14 @@ import org.mapstruct.Mapper;
/**
* @author moji
* @version UserExecutedDdlCoreConverter.java, v 0.1 2022年09月25日 14:08 moji Exp $
* @version UserExecutedDdlCoreConverter.java, v 0.1 September 25, 2022 14:08 moji Exp $
* @date 2022/09/25
*/
@Mapper(componentModel = "spring")
public abstract class OperationLogConverter {
/**
* 参数转换
* Parameter conversion
*
* @param param
* @return
@ -25,7 +25,7 @@ public abstract class OperationLogConverter {
public abstract OperationLogDO param2do(OperationLogCreateParam param);
/**
* 模型转换
* Model conversion
*
* @param userExecutedDdlDO
* @return
@ -33,7 +33,7 @@ public abstract class OperationLogConverter {
public abstract OperationLog do2dto(OperationLogDO userExecutedDdlDO);
/**
* 模型转换
* Model conversion
*
* @param userExecutedDdlDOS
* @return

View File

@ -18,7 +18,7 @@ import org.mapstruct.Mappings;
import org.springframework.context.annotation.Lazy;
/**
* 转换器
* converter
*
* @author Jiaju Zhuang
*/
@ -30,7 +30,7 @@ public abstract class UserConverter {
private UserService userService;
/**
* 转换
* Convert
*
* @param data
* @return
@ -41,7 +41,7 @@ public abstract class UserConverter {
public abstract User do2dto(DbhubUserDO data);
/**
* 转换
* Convert
*
* @param datas
* @return

View File

@ -38,7 +38,7 @@ import java.util.stream.Collectors;
/**
* @author moji
* @version ChartServiceImpl.java, v 0.1 2023年06月09日 16:06 moji Exp $
* @version ChartServiceImpl.java, v 0.1 June 9, 2023 16:06 moji Exp $
* @date 2023/06/09
*/
@Service
@ -159,7 +159,7 @@ public class ChartServiceImpl implements ChartService {
}
/**
* 回填数据源信息
* Backfill data source information
*
* @param result
*/

View File

@ -11,7 +11,7 @@ import org.springframework.stereotype.Service;
/**
* @author moji
* @version DataSourceCoreServiceImpl.java, v 0.1 2022年09月23日 15:51 moji Exp $
* @version DataSourceCoreServiceImpl.java, v 0.1 September 23, 2022 15:51 moji Exp $
* @date 2022/09/23
*/
@Service

View File

@ -34,7 +34,7 @@ import org.springframework.stereotype.Service;
/**
* @author moji
* @version DashboardServiceImpl.java, v 0.1 2023年06月09日 16:06 moji Exp $
* @version DashboardServiceImpl.java, v 0.1 June 9, 2023 16:06 moji Exp $
* @date 2023/06/09
*/
@Service

View File

@ -60,7 +60,7 @@ import org.springframework.stereotype.Service;
/**
* @author moji
* @version DataSourceCoreServiceImpl.java, v 0.1 2022年09月23日 15:51 moji Exp $
* @version DataSourceCoreServiceImpl.java, v 0.1 September 23, 2022 15:51 moji Exp $
* @date 2022/09/23
*/
@Slf4j

View File

@ -35,7 +35,7 @@ import static ai.chat2db.server.domain.core.cache.CacheKey.getSchemasKey;
/**
* @author moji
* @version DataSourceCoreServiceImpl.java, v 0.1 2022年09月23日 15:51 moji Exp $
* @version DataSourceCoreServiceImpl.java, v 0.1 September 23, 2022 15:51 moji Exp $
* @date 2022/09/23
*/
@Slf4j

View File

@ -40,7 +40,7 @@ import java.util.stream.Collectors;
/**
* @author moji
* @version DataSourceCoreServiceImpl.java, v 0.1 2022年09月23日 15:51 moji Exp $
* @version DataSourceCoreServiceImpl.java, v 0.1 September 23, 2022 15:51 moji Exp $
* @date 2022/09/23
*/
@Slf4j
@ -123,7 +123,7 @@ public class DlTemplateServiceImpl implements DlTemplateService {
DbType dbType =
JdbcUtils.parse2DruidDbType(Chat2DBContext.getConnectInfo().getDbType());
String sql = param.getSql();
// 解析sql分页
// Parse sql pagination
SQLStatement sqlStatement = SQLUtils.parseSingleStatement(sql, dbType);
if (!(sqlStatement instanceof SQLSelectStatement)) {
throw new BusinessException("dataSource.sqlAnalysisError");
@ -135,7 +135,7 @@ public class DlTemplateServiceImpl implements DlTemplateService {
executeResult = Chat2DBContext.getMetaData().getCommandExecutor().execute(sql, Chat2DBContext.getConnection(), true, null, null,
valueHandler);
} catch (SQLException e) {
log.warn("执行sql:{}异常", sql, e);
log.warn("Execute sql: {} exception", sql, e);
executeResult = ExecuteResult.builder()
.sql(sql)
.success(Boolean.FALSE)

View File

@ -63,7 +63,7 @@ public class JdbcDriverServiceImpl implements JdbcDriverService {
boolean flag = driverExists(driverConfig);
if (flag && driverConfigMap.get(driverConfig.getJdbcDriver()) == null) {
driverConfigMap.put(driverConfig.getJdbcDriver(), driverConfig);
//TODO :临时解决方案,后续需要优化
//TODO :Temporary solution, need to be optimized later
//setDriverDefaultProperty(driverConfig);
} else {
log.warn("Driver file not found: {}", driverConfig.getJdbcDriver());

View File

@ -32,7 +32,7 @@ import org.springframework.stereotype.Service;
/**
* @author moji
* @version UserExecutedDdlCoreServiceImpl.java, v 0.1 2022年09月25日 14:07 moji Exp $
* @version UserExecutedDdlCoreServiceImpl.java, v 0.1 September 25, 2022 14:07 moji Exp $
* @date 2022/09/25
*/
@Service

View File

@ -40,7 +40,7 @@ import org.springframework.stereotype.Service;
/**
* @author moji
* @version UserSavedDdlCoreServiceImpl.java, v 0.1 2022年09月25日 15:50 moji Exp $
* @version UserSavedDdlCoreServiceImpl.java, v 0.1 September 25, 2022 15:50 moji Exp $
* @date 2022/09/25
*/
@Service
@ -167,7 +167,7 @@ public class OperationServiceImpl implements OperationService {
}
/**
* 查询数据源信息
* Query data source information
*
* @param dataSourceIds
* @return

View File

@ -8,6 +8,8 @@ import ai.chat2db.spi.model.Procedure;
import ai.chat2db.spi.sql.Chat2DBContext;
import org.springframework.stereotype.Service;
import java.sql.SQLException;
@Service
public class ProcedureServiceImpl implements ProcedureService {
@ -22,7 +24,11 @@ public class ProcedureServiceImpl implements ProcedureService {
}
@Override
public ActionResult update(String databaseName, String schemaName, Procedure procedure) {
Chat2DBContext.getDBManage().updateProcedure(Chat2DBContext.getConnection(), databaseName, schemaName, procedure);
try {
Chat2DBContext.getDBManage().updateProcedure(Chat2DBContext.getConnection(), databaseName, schemaName, procedure);
} catch (SQLException e) {
e.printStackTrace();
}
return ActionResult.isSuccess();
}
}

View File

@ -47,7 +47,7 @@ import static ai.chat2db.server.domain.core.cache.CacheKey.getTableKey;
/**
* @author moji
* @version DataSourceCoreServiceImpl.java, v 0.1 2022年09月23日 15:51 moji Exp $
* @version DataSourceCoreServiceImpl.java, v 0.1 September 23, 2022 15:51 moji Exp $
* @date 2022/09/23
*/
@Service

View File

@ -41,9 +41,9 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
/**
* 用户服务
* User service
*
* @author 是仪
* @author Shi Yi
*/
@Service
public class UserServiceImpl implements UserService {

View File

@ -22,7 +22,7 @@ import org.apache.logging.log4j.util.Strings;
/**
* @author moji
* @version DESUtil.java, v 0.1 2022年12月26日 19:54 moji Exp $
* @version DESUtil.java, v 0.1 December 26, 2022 19:54 moji Exp $
* @date 2022/12/26
*/
public class DesUtil {
@ -43,7 +43,7 @@ public class DesUtil {
public static final String CBC = "CBC";
/**
* iv向量
* iv vector
*/
private static final byte[] DESIV = { (byte) 0xCE, (byte) 0x35, (byte) 0x5,
(byte) 0xD, (byte) 0x98, (byte) 0x91, (byte) 0x8, (byte) 0xA };
@ -59,27 +59,27 @@ public class DesUtil {
private static final String SHA1PRNG = "SHA1PRNG";
/**
* DES默认模式
* DES default mode
*/
private static final String DES = "DES";
/**
* CBC加密模式
* CBC encryption mode
*/
private static final String DES_CBC_PKCS5PADDING = "DES/CBC/PKCS5Padding";
/**
* OFB加密模式
* OFB encryption mode
*/
private static final String DES_OFB_PKCS5PADDING = "DES/OFB/PKCS5Padding";
/**
* CFB加密模式
* CFB encryption mode
*/
private static final String DES_CFB_PKCS5_PADDING = "DES/CFB/PKCS5Padding";
/**
* 加密模式
* encryption mode
*/
private static final int ENCRYPT_MODE = 1;
@ -89,12 +89,12 @@ public class DesUtil {
public static final String DES_KEY = "dbhub";
/**
* 解密模式
* Decryption mode
*/
private static final int DECRYPT_MODE = 2;
/**
* 密钥
* private key
*/
private Key key;
@ -111,8 +111,8 @@ public class DesUtil {
}
/**
* 通过密钥获得key
* @param secretKey 密钥
* Get key through private key
* @param secretKey private key
* @author sucb
* @date 2017年2月28日下午1:17:58
*/
@ -138,13 +138,13 @@ public class DesUtil {
}
/**
* 字符串des加密
* @param data 需要加密的字符串
* @param encryptType 加密模式 (ECB/CBC/OFB/CFB)
* @return 加密结果
* @throws Exception 异常
* String des encryption
* @param data String that needs to be encrypted
* @param encryptType encryption mode (ECB/CBC/OFB/CFB)
* @return Encryption result
* @throws Exception exception
* @author sucb
* @date 2017年3月2日下午7:47:37
* @date March 2, 2017 7:47:37 pm
*/
public String encrypt(String data, String encryptType) throws Exception {
Cipher cipher = getPattern(encryptType, ENCRYPT_MODE);
@ -153,13 +153,13 @@ public class DesUtil {
}
/**
* 字符串des解密
* @param data 需要解密的字符串
* @param decryptType 解密模式 (ECB/CBC/OFB/CFB)
* @return 解密结果
* @throws Exception 异常
* String decryption
* @param data The string that needs to be decrypted
* @param decryptType Decryption mode (ECB/CBC/OFB/CFB)
* @return Decryption result
* @throws Exception exception
* @author sucb
* @date 2017年3月2日下午7:48:21
* @date March 2, 2017 7:48:21 pm
*/
public String decrypt(String data, String decryptType) throws Exception {
if (StringUtils.isBlank(data)) {
@ -171,13 +171,13 @@ public class DesUtil {
}
/**
* 初始化cipher
* @param type 加密/解密模式 (ECB/CBC/OFB/CFB)
* @param cipherMode cipher工作模式 1加密 2解密
* Initialize cipher
* @param type Encryption/decryption mode (ECB/CBC/OFB/CFB)
* @param cipherMode cipher working mode 1: encryption; 2: decryption
* @return cipher
* @throws Exception 异常
* @throws Exception exception
* @author sucb
* @date 2017年3月2日下午7:49:16
* @date March 2, 2017 7:49:16 pm
*/
private Cipher getPattern(String type, int cipherMode) throws Exception {
Cipher cipher;
@ -203,13 +203,13 @@ public class DesUtil {
}
/**
* 文件 file 进行加密并保存目标文件 destFile
* @param file 要加密的文件 如 c:/test/file.txt
* @param destFile 加密后存放的文件名 如 c:/ 加密后文件 .txt
* @param encryptType 加密模式 (ECB/CBC/OFB/CFB)
* @return 加密结果 0异常 1加密成功 5未找到需要加密的文件
* The file file is encrypted and saved in the target file destFile.
* @param file The file to be encrypted such as c:/test/file.txt
* @param destFile The name of the file stored after encryption, such as c:/ encrypted file .txt
* @param encryptType encryption mode (ECB/CBC/OFB/CFB)
* @return Encryption result 0: Abnormal 1: Encryption successful; 5: File to be encrypted not found
* @author sucb
* @date 2017年3月2日下午7:56:08
* @date March 2, 2017 7:56:08 pm
*/
public int encryptFile(String file, String destFile, String encryptType) {
int result = 0;
@ -236,13 +236,13 @@ public class DesUtil {
}
/**
* 文件 file 进行解密并保存目标文件 destFile
* @param file 要解密的文件 如 c:/test/file.txt
* @param destFile 解密后存放的文件名 如 c:/ 解密后文件 .txt
* @param decryptType 解密模式 (ECB/CBC/OFB/CFB)
* @return 解密结果 0解密异常1解密正常5未找到需要解密的文件
* The file file is decrypted and saved in the target file destFile.
* @param file The file to be decrypted such as c:/test/file.txt
* @param destFile The name of the file stored after decryption, such as c:/ decrypted file .txt
* @param decryptType Decryption mode (ECB/CBC/OFB/CFB)
* @return Decryption result 0: decryption abnormal; 1: decryption normal; 5: file to be decrypted not found
* @author sucb
* @date 2017年3月2日下午7:58:56
* @date March 2, 2017 7:58:56 pm
*/
public int decryptFile(String file, String destFile, String decryptType) {
int result = 0;

View File

@ -38,7 +38,7 @@ public class PermissionUtils {
}
/**
* 校验是否有查询权限
* Verify whether you have query permission
*
* @param createUserId
* @return