diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000000000000000000000000000000000000..e7b1f968e802b28a751cc38b36619ccf74165f67 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ + +.gitee +db +log +script +templates +front/node_modules \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3b6eb46b4cd06713a0b20f7afbbb9069b422c8b3 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,28 @@ +version: '3.7' +services: + code-gen: + restart: always + container_name: code-gen + image: trainliang/codegen + # deploy: + # resources: + # limits: + # cpus: '0.9' + # memory: 500M + environment: + DATASOURCE_DRIVE: com.mysql.cj.jdbc.Driver + DATASOURCE_URL: jdbc:mysql://mysql:3306/code_gen?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true + DATASOURCE_USERNAME: root + DATASOURCE_PASSWORD: root@123 + + ports: + - 6969:6969 +# volumes: +# # - /usr/share/fonts:/usr/share/fonts +# - /home/www:/hww +# - /www:/www +# - ./logs:/logs +networks: + default: + external: + name: online-network \ No newline at end of file diff --git a/front/public/velocity/java.json b/front/public/velocity/java.json index 76c2e6e462bb4e1f736e2fb8da75607f61bd235b..4cfcd0115bb754677432987e38ecc3434b4dff72 100644 --- a/front/public/velocity/java.json +++ b/front/public/velocity/java.json @@ -50,6 +50,10 @@ "expression": "${context}", "text": "", "children": [ + { + "expression": "${context.projectModule}", + "text": "项目模块" + }, { "expression": "${context.author}", "text": "作者名" diff --git a/front/src/layout/components/Navbar.vue b/front/src/layout/components/Navbar.vue index 47275cd8840e7ab91abf03710aac00628a9dec1b..b92a6f3b5d7c0903f3f571f49aaa69706c341df3 100644 --- a/front/src/layout/components/Navbar.vue +++ b/front/src/layout/components/Navbar.vue @@ -5,7 +5,7 @@
- Git +
diff --git a/front/src/views/generate/GenerateConfig/index.vue b/front/src/views/generate/GenerateConfig/index.vue index e34234b8402cd893738cadb9b54aee75b0f1d0dc..b46d158f70cb5ffaedf20b3b37f37a7fc472cb6f 100644 --- a/front/src/views/generate/GenerateConfig/index.vue +++ b/front/src/views/generate/GenerateConfig/index.vue @@ -31,6 +31,9 @@ + + + @@ -185,6 +188,9 @@ + + + @@ -257,6 +263,7 @@ export default { tableNames: [], templateConfigIdList: [], packageName: '', + projectModule: '', delPrefix: '', groupId: '', author: '' @@ -284,6 +291,7 @@ export default { oracleRole: '', schemaName: '', packageName: '', + projectModule: '', delPrefix: '', groupId: '', author: '' @@ -333,6 +341,7 @@ export default { this.groupId = item.groupId Object.assign(this.clientParam, { packageName: item.packageName, + projectModule: item.projectModule, delPrefix: item.delPrefix, groupId: item.groupId, author: item.author diff --git a/front/src/views/generate/result.vue b/front/src/views/generate/result.vue index eb721f82ddb07816a0cfc53065e6cabf0fff9697..9b5dc1cb8e512deee0684efb4f492f09a34df80b 100644 --- a/front/src/views/generate/result.vue +++ b/front/src/views/generate/result.vue @@ -80,7 +80,8 @@ export default { datasourceConfigId: '', tableNames: [], templateConfigIdList: [], - packageName: '' + packageName: '', + projectModule: '' }, treeData: [], filterText: '', diff --git a/gen/src/main/java/com/gitee/gen/common/GeneratorParam.java b/gen/src/main/java/com/gitee/gen/common/GeneratorParam.java index f2b924181d847af9f5f8792ccaf120d4347e563b..9911a1858a4f81d0b65d6aa065ff169a5cb4550d 100644 --- a/gen/src/main/java/com/gitee/gen/common/GeneratorParam.java +++ b/gen/src/main/java/com/gitee/gen/common/GeneratorParam.java @@ -14,6 +14,8 @@ public class GeneratorParam { private String packageName; + private String projectModule; + private String delPrefix; private String author; @@ -51,6 +53,13 @@ public class GeneratorParam { public void setPackageName(String packageName) { this.packageName = packageName; } + public String getProjectModule() { + return projectModule; + } + + public void setProjectModule(String projectModule) { + this.projectModule = projectModule; + } public String getDelPrefix() { return delPrefix; @@ -81,6 +90,7 @@ public class GeneratorParam { return "GeneratorParam{" + "datasourceConfigId=" + datasourceConfigId + ", tableNames=" + tableNames + + ", projectModule=" + projectModule + ", templateConfigIdList=" + templateConfigIdList + ", packageName='" + packageName + '\'' + ", delPrefix='" + delPrefix + '\'' + diff --git a/gen/src/main/java/com/gitee/gen/entity/DatasourceConfig.java b/gen/src/main/java/com/gitee/gen/entity/DatasourceConfig.java index ae381da4e5b29b136bdd74b4eedd1bffda88fe5d..ca0116b6a73349092a1acd240f7f602e7f6c92cf 100644 --- a/gen/src/main/java/com/gitee/gen/entity/DatasourceConfig.java +++ b/gen/src/main/java/com/gitee/gen/entity/DatasourceConfig.java @@ -33,6 +33,8 @@ public class DatasourceConfig { private Integer isDeleted; /** 包名*/ private String packageName; + /** 项目模版*/ + private String projectModule; /** 删除的前缀*/ private String delPrefix; /** 代码生成器模板组id*/ @@ -121,7 +123,13 @@ public class DatasourceConfig { public void setPackageName(String packageName) { this.packageName = packageName; } + public String getProjectModule() { + return projectModule; + } + public void setProjectModule(String projectModule) { + this.projectModule = projectModule; + } public String getDelPrefix() { return delPrefix; } @@ -186,6 +194,7 @@ public class DatasourceConfig { Objects.equals(password, that.password) && Objects.equals(isDeleted, that.isDeleted) && Objects.equals(packageName, that.packageName) && + Objects.equals(projectModule, that.projectModule) && Objects.equals(delPrefix, that.delPrefix) && Objects.equals(groupId, that.groupId) && Objects.equals(author, that.author) && @@ -194,7 +203,7 @@ public class DatasourceConfig { @Override public int hashCode() { - return Objects.hash(id, dbType, dbDesc, driverClass, dbName, host, port, username, password, isDeleted, packageName, delPrefix, groupId, author, dbGroupName); + return Objects.hash(id, dbType, dbDesc, driverClass, dbName, host, port, username, password, isDeleted, packageName,projectModule, delPrefix, groupId, author, dbGroupName); } @Override @@ -211,6 +220,7 @@ public class DatasourceConfig { ", password='" + password + '\'' + ", isDeleted=" + isDeleted + ", packageName='" + packageName + '\'' + + ", projectModule='" + projectModule + '\'' + ", delPrefix='" + delPrefix + '\'' + ", groupId='" + groupId + '\'' + ", author='" + author + '\'' + diff --git a/gen/src/main/java/com/gitee/gen/gen/SQLContext.java b/gen/src/main/java/com/gitee/gen/gen/SQLContext.java index cabef7c039df4db67bbd43b7537db493b87d7661..8556bdfc23d5b4a25a432b89faad059ed8997c49 100644 --- a/gen/src/main/java/com/gitee/gen/gen/SQLContext.java +++ b/gen/src/main/java/com/gitee/gen/gen/SQLContext.java @@ -30,6 +30,10 @@ public class SQLContext { * 包名 */ private String packageName; + /** + * 项目模块 + */ + private String projectModule; /** * 包的子路径 @@ -219,6 +223,14 @@ public class SQLContext { this.author = author; } + public String getProjectModule() { + return projectModule; + } + + public void setProjectModule(String projectModule) { + this.projectModule = projectModule; + } + public String getPackageSubPath() { return packageSubPath; } diff --git a/gen/src/main/java/com/gitee/gen/service/GeneratorService.java b/gen/src/main/java/com/gitee/gen/service/GeneratorService.java index 4b1bb1fc1f8576f97462a10bb68bfe35c28ef55e..2ba0d67933cb89093194020c3c3b3fd87ba461ca 100644 --- a/gen/src/main/java/com/gitee/gen/service/GeneratorService.java +++ b/gen/src/main/java/com/gitee/gen/service/GeneratorService.java @@ -54,6 +54,7 @@ public class GeneratorService { List codeFileList = new ArrayList<>(); for (SQLContext sqlContext : contextList) { + setProjectModule(sqlContext, generatorParam.getProjectModule()); setPackageName(sqlContext, generatorParam.getPackageName()); setDelPrefix(sqlContext, generatorParam.getDelPrefix()); setAuthor(sqlContext, generatorParam.getAuthor()); @@ -66,7 +67,6 @@ public class GeneratorService { //文件目录可以使用变量 folder = doGenerator(sqlContext, folder); } - setFolder(sqlContext, folder); //获取文件名 @@ -95,7 +95,11 @@ public class GeneratorService { } return content; } - + private void setFolder(SQLContext sqlContext, String folder) { + if (StringUtils.hasText(folder)) { + sqlContext.setPackageSubPath(folder); + } + } /** * 返回SQL上下文列表 @@ -129,10 +133,9 @@ public class GeneratorService { sqlContext.setPackageName(packageName); } } - - private void setFolder(SQLContext sqlContext, String folder) { - if (StringUtils.hasText(folder)) { - sqlContext.setPackageSubPath(folder); + private void setProjectModule(SQLContext sqlContext, String projectModule) { + if (StringUtils.hasText(projectModule)) { + sqlContext.setProjectModule(projectModule); } } diff --git a/gen/src/main/resources/mybatis/DatasourceConfigMapper.xml b/gen/src/main/resources/mybatis/DatasourceConfigMapper.xml index 0e96a7f3d35eef4e961d9b86fabd0b493ddf8d95..c07f766bd3ee4a658d3133dc5a425b2d2194c4b9 100644 --- a/gen/src/main/resources/mybatis/DatasourceConfigMapper.xml +++ b/gen/src/main/resources/mybatis/DatasourceConfigMapper.xml @@ -14,6 +14,7 @@ + @@ -34,6 +35,7 @@ , t.password , t.is_deleted , t.package_name + , t.project_module , t.del_prefix , t.group_id , t.author @@ -73,6 +75,7 @@ password, is_deleted, package_name, + project_module, del_prefix, group_id, author, @@ -90,6 +93,7 @@ #{password}, #{isDeleted}, #{packageName}, + #{projectModule}, #{delPrefix}, #{groupId}, #{author}, @@ -137,6 +141,9 @@ package_name, + + project_module, + del_prefix, @@ -184,6 +191,9 @@ #{packageName}, + + #{projectModule}, + #{delPrefix}, @@ -214,6 +224,7 @@ password=#{password}, is_deleted=#{isDeleted}, package_name=#{packageName}, + project_module=#{projectModule}, del_prefix=#{delPrefix}, group_id=#{groupId}, author=#{author}, @@ -260,6 +271,10 @@ package_name=#{packageName}, + + + project_module=#{projectModule}, + del_prefix=#{delPrefix}, diff --git a/readme-trainliang.md b/readme-trainliang.md new file mode 100644 index 0000000000000000000000000000000000000000..f0dad3e8fff6a4ba994497868687ca7685dd57a3 --- /dev/null +++ b/readme-trainliang.md @@ -0,0 +1,4 @@ +# 打包发布 + +docker buildx build -t trainliang/codegen:latest --platform=linux/amd64,linux/arm64/v8 . --push +docker buildx build -t trainliang/codegen:1.5.8.1 --platform=linux/amd64,linux/arm64/v8 . --push \ No newline at end of file