1. 手动合并存在重复被合并的文件,并统一包名
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
package com.zt.plat.module.infra.framework.file.core.ftp;
|
||||
|
||||
import cn.hutool.core.io.resource.ResourceUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.extra.ftp.FtpMode;
|
||||
import com.zt.plat.module.infra.framework.file.core.client.ftp.FtpFileClient;
|
||||
import com.zt.plat.module.infra.framework.file.core.client.ftp.FtpFileClientConfig;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* {@link FtpFileClient} 集成测试
|
||||
*
|
||||
* @author ZT
|
||||
*/
|
||||
public class FtpFileClientTest {
|
||||
|
||||
// docker run -d \
|
||||
// -p 2121:21 -p 30000-30009:30000-30009 \
|
||||
// -e FTP_USER=foo \
|
||||
// -e FTP_PASS=pass \
|
||||
// -e PASV_ADDRESS=127.0.0.1 \
|
||||
// -e PASV_MIN_PORT=30000 \
|
||||
// -e PASV_MAX_PORT=30009 \
|
||||
// -v $(pwd)/ftp-data:/home/vsftpd \
|
||||
// fauria/vsftpd
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
public void test() {
|
||||
// 创建客户端
|
||||
FtpFileClientConfig config = new FtpFileClientConfig();
|
||||
config.setDomain("http://127.0.0.1:48080");
|
||||
config.setBasePath("/home/ftp");
|
||||
config.setHost("127.0.0.1");
|
||||
config.setPort(2121);
|
||||
config.setUsername("foo");
|
||||
config.setPassword("pass");
|
||||
config.setMode(FtpMode.Passive.name());
|
||||
FtpFileClient client = new FtpFileClient(0L, config);
|
||||
client.init();
|
||||
// 上传文件
|
||||
String path = IdUtil.fastSimpleUUID() + ".jpg";
|
||||
byte[] content = ResourceUtil.readBytes("file/erweima.jpg");
|
||||
String fullPath = client.upload(content, path, "image/jpeg");
|
||||
System.out.println("访问地址:" + fullPath);
|
||||
if (false) {
|
||||
byte[] bytes = client.getContent(path);
|
||||
System.out.println("文件内容:" + bytes);
|
||||
}
|
||||
if (false) {
|
||||
client.delete(path);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.zt.plat.module.infra.framework.file.core.local;
|
||||
|
||||
import cn.hutool.core.io.resource.ResourceUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.zt.plat.module.infra.framework.file.core.client.local.LocalFileClient;
|
||||
import com.zt.plat.module.infra.framework.file.core.client.local.LocalFileClientConfig;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class LocalFileClientTest {
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
public void test() {
|
||||
// 创建客户端
|
||||
LocalFileClientConfig config = new LocalFileClientConfig();
|
||||
config.setDomain("http://127.0.0.1:48080");
|
||||
config.setBasePath("/Users/yunai/file_test");
|
||||
LocalFileClient client = new LocalFileClient(0L, config);
|
||||
client.init();
|
||||
// 上传文件
|
||||
String path = IdUtil.fastSimpleUUID() + ".jpg";
|
||||
byte[] content = ResourceUtil.readBytes("file/erweima.jpg");
|
||||
String fullPath = client.upload(content, path, "image/jpeg");
|
||||
System.out.println("访问地址:" + fullPath);
|
||||
client.delete(path);
|
||||
}
|
||||
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,49 @@
|
||||
package com.zt.plat.module.infra.framework.file.core.sftp;
|
||||
|
||||
import cn.hutool.core.io.resource.ResourceUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.zt.plat.module.infra.framework.file.core.client.sftp.SftpFileClient;
|
||||
import com.zt.plat.module.infra.framework.file.core.client.sftp.SftpFileClientConfig;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* {@link SftpFileClient} 集成测试
|
||||
*
|
||||
* @author ZT
|
||||
*/
|
||||
public class SftpFileClientTest {
|
||||
|
||||
// docker run -p 2222:22 -d \
|
||||
// -v $(pwd)/sftp-data:/home/foo/upload \
|
||||
// atmoz/sftp \
|
||||
// foo:pass:1001
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
public void test() {
|
||||
// 创建客户端
|
||||
SftpFileClientConfig config = new SftpFileClientConfig();
|
||||
config.setDomain("http://127.0.0.1:48080");
|
||||
config.setBasePath("/upload"); // 注意,这个是相对路径,不是实际 linux 上的路径!!!
|
||||
config.setHost("127.0.0.1");
|
||||
config.setPort(2222);
|
||||
config.setUsername("foo");
|
||||
config.setPassword("pass");
|
||||
SftpFileClient client = new SftpFileClient(0L, config);
|
||||
client.init();
|
||||
// 上传文件
|
||||
String path = IdUtil.fastSimpleUUID() + ".jpg";
|
||||
byte[] content = ResourceUtil.readBytes("file/erweima.jpg");
|
||||
String fullPath = client.upload(content, path, "image/jpeg");
|
||||
System.out.println("访问地址:" + fullPath);
|
||||
if (false) {
|
||||
byte[] bytes = client.getContent(path);
|
||||
System.out.println("文件内容:" + bytes);
|
||||
}
|
||||
if (false) {
|
||||
client.delete(path);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.zt.plat.module.infra.service;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
|
||||
import com.baomidou.mybatisplus.generator.config.builder.ConfigBuilder;
|
||||
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
|
||||
import com.baomidou.mybatisplus.generator.query.DefaultQuery;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class DefaultDatabaseQueryTest {
|
||||
|
||||
public static void main(String[] args) {
|
||||
// DataSourceConfig dataSourceConfig = new DataSourceConfig.Builder("jdbc:oracle:thin:@127.0.0.1:1521:xe",
|
||||
// "root", "123456").build();
|
||||
DataSourceConfig dataSourceConfig = new DataSourceConfig.Builder("jdbc:postgresql://127.0.0.1:5432/ruoyi-vue-pro",
|
||||
"root", "123456").build();
|
||||
// StrategyConfig strategyConfig = new StrategyConfig.Builder().build();
|
||||
|
||||
ConfigBuilder builder = new ConfigBuilder(null, dataSourceConfig, null, null, null, null);
|
||||
|
||||
DefaultQuery query = new DefaultQuery(builder);
|
||||
|
||||
long time = System.currentTimeMillis();
|
||||
List<TableInfo> tableInfos = query.queryTables();
|
||||
for (TableInfo tableInfo : tableInfos) {
|
||||
if (StrUtil.startWithAny(tableInfo.getName().toLowerCase(), "act_", "flw_", "qrtz_")) {
|
||||
continue;
|
||||
}
|
||||
System.out.println(String.format("CREATE SEQUENCE %s_seq MINVALUE 1;", tableInfo.getName()));
|
||||
// System.out.println(String.format("DELETE FROM %s WHERE deleted = '1';", tableInfo.getName()));
|
||||
}
|
||||
System.out.println(tableInfos.size());
|
||||
System.out.println(System.currentTimeMillis() - time);
|
||||
}
|
||||
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,87 @@
|
||||
package com.zt.plat.module.infra.service.codegen.inner;
|
||||
|
||||
import com.baomidou.mybatisplus.generator.config.po.TableField;
|
||||
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
|
||||
import com.baomidou.mybatisplus.generator.config.rules.IColumnType;
|
||||
import com.zt.plat.framework.test.core.ut.BaseMockitoUnitTest;
|
||||
import com.zt.plat.module.infra.dal.dataobject.codegen.CodegenColumnDO;
|
||||
import com.zt.plat.module.infra.dal.dataobject.codegen.CodegenTableDO;
|
||||
import org.apache.ibatis.type.JdbcType;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.InjectMocks;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import static com.zt.plat.framework.test.core.util.RandomUtils.randomLongId;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
public class CodegenBuilderTest extends BaseMockitoUnitTest {
|
||||
|
||||
@InjectMocks
|
||||
private CodegenBuilder codegenBuilder;
|
||||
|
||||
@Test
|
||||
public void testBuildTable() {
|
||||
// 准备参数
|
||||
TableInfo tableInfo = mock(TableInfo.class);
|
||||
// mock 方法
|
||||
when(tableInfo.getName()).thenReturn("system_user");
|
||||
when(tableInfo.getComment()).thenReturn("用户");
|
||||
|
||||
// 调用
|
||||
CodegenTableDO table = codegenBuilder.buildTable(tableInfo, false);
|
||||
// 断言
|
||||
assertEquals("system_user", table.getTableName());
|
||||
assertEquals("用户", table.getTableComment());
|
||||
assertEquals("system", table.getModuleName());
|
||||
assertEquals("user", table.getBusinessName());
|
||||
assertEquals("User", table.getClassName());
|
||||
assertEquals("用户", table.getClassComment());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBuildColumns() {
|
||||
// 准备参数
|
||||
Long tableId = randomLongId();
|
||||
TableField tableField = mock(TableField.class);
|
||||
List<TableField> tableFields = Collections.singletonList(tableField);
|
||||
// mock 方法
|
||||
TableField.MetaInfo metaInfo = mock(TableField.MetaInfo.class);
|
||||
when(tableField.getMetaInfo()).thenReturn(metaInfo);
|
||||
when(metaInfo.getJdbcType()).thenReturn(JdbcType.BIGINT);
|
||||
when(tableField.getComment()).thenReturn("编号");
|
||||
when(tableField.isKeyFlag()).thenReturn(true);
|
||||
IColumnType columnType = mock(IColumnType.class);
|
||||
when(tableField.getColumnType()).thenReturn(columnType);
|
||||
when(columnType.getType()).thenReturn("Long");
|
||||
when(tableField.getName()).thenReturn("id2");
|
||||
when(tableField.getPropertyName()).thenReturn("id");
|
||||
|
||||
// 调用
|
||||
List<CodegenColumnDO> columns = codegenBuilder.buildColumns(tableId, tableFields);
|
||||
// 断言
|
||||
assertEquals(1, columns.size());
|
||||
CodegenColumnDO column = columns.get(0);
|
||||
assertEquals(tableId, column.getTableId());
|
||||
assertEquals("id2", column.getColumnName());
|
||||
assertEquals("BIGINT", column.getDataType());
|
||||
assertEquals("编号", column.getColumnComment());
|
||||
assertFalse(column.getNullable());
|
||||
assertTrue(column.getPrimaryKey());
|
||||
assertEquals(1, column.getOrdinalPosition());
|
||||
assertEquals("Long", column.getJavaType());
|
||||
assertEquals("id", column.getJavaField());
|
||||
assertNull(column.getDictType());
|
||||
assertNotNull(column.getExample());
|
||||
assertFalse(column.getCreateOperation());
|
||||
assertTrue(column.getUpdateOperation());
|
||||
assertFalse(column.getListOperation());
|
||||
assertEquals("=", column.getListOperationCondition());
|
||||
assertTrue(column.getListOperationResult());
|
||||
assertEquals("input", column.getHtmlType());
|
||||
}
|
||||
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user