package com.docus.server; import cn.smallbun.screw.core.Configuration; import cn.smallbun.screw.core.engine.EngineConfig; import cn.smallbun.screw.core.engine.EngineFileType; import cn.smallbun.screw.core.engine.EngineTemplateType; import cn.smallbun.screw.core.execute.DocumentationExecute; import cn.smallbun.screw.core.process.ProcessConfig; import com.docus.server.api.ocr.OcrApi; import com.docus.server.vo.ocr.OcrResponse; import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.ApplicationContext; import javax.annotation.Resource; import javax.sql.DataSource; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; @SpringBootTest class ScrewTests { @Autowired private ApplicationContext applicationContext; @Resource private OcrApi ocrApi; @Test void test() { HikariConfig hikariConfig = new HikariConfig(); hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver"); hikariConfig.setJdbcUrl("jdbc:mysql://db.docus.cn:3306/docus-collector-scheduling?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai"); hikariConfig.setUsername("docus"); hikariConfig.setPassword("docus702"); //设置可以获取tables remarks信息 hikariConfig.addDataSourceProperty("useInformationSchema", "true"); hikariConfig.setMinimumIdle(2); hikariConfig.setMaximumPoolSize(5); DataSource dataSource = new HikariDataSource(hikariConfig); //生成文件配置 EngineConfig engineConfig = EngineConfig .builder() //文件生成路径 .fileOutputDir("h:\\file") //打开目录 .openOutputDir(false) //文件类型 .fileType(EngineFileType.HTML) //生成模板实现 .produceType(EngineTemplateType.freemarker) .build(); //配置想要生成的表 ProcessConfig processConfig = ProcessConfig .builder() //根据名称指定表生成 .designatedTableName(new ArrayList<>()) //根据表前缀生成 .designatedTablePrefix(new ArrayList<>()) //根据表后缀生成 .designatedTableSuffix(new ArrayList<>()) //忽略表名 .ignoreTableName(new ArrayList<>()) //忽略表前缀 .ignoreTablePrefix(new ArrayList<>()) //忽略表后缀 .ignoreTableSuffix(new ArrayList<>()) .build(); //生成文档配置 Configuration configuration = Configuration.builder() .version("1.0.0") .description("描述") .dataSource(dataSource) .engineConfig(engineConfig) .produceConfig(processConfig) .build(); //生成 new DocumentationExecute(configuration).execute(); } }