zero-ai 0.3.34 → 0.3.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/README.md +16 -1
  2. package/package.json +1 -1
  3. package/src/_template/APP/.placeholder +0 -0
  4. package/src/_template/MODULE/.placeholder +0 -0
  5. package/src/_template/MODULE/database/MYSQL.properties +4 -0
  6. package/src/_template/MODULE/database/MYSQL.yml +2 -0
  7. package/src/_template/MODULE/database/database-reinit.sh +3 -0
  8. package/src/_template/MODULE/source-domain/ExtensionGeneration.ejs +7 -0
  9. package/src/_template/MODULE/source-domain/configuration.yml.ejs +3 -0
  10. package/src/_template/MODULE/source-provider/ExtensionSource.ejs +14 -0
  11. package/src/_template/SPRING/.placeholder +0 -0
  12. package/src/_template/SPRING/database/database-account.sql.ejs +3 -0
  13. package/src/_template/SPRING/database/database-reinit.sql.ejs +5 -0
  14. package/src/_template/SPRING/database/init-db.sh +4 -0
  15. package/src/_template/SPRING/mvn-build.sh +3 -0
  16. package/src/_template/SPRING/mvn-env.sh.ejs +7 -0
  17. package/src/_template/SPRING/pom.xml.ejs +29 -0
  18. package/src/_template/SPRING/source-api/AppDev.java.ejs +13 -0
  19. package/src/_template/SPRING/source-api/Application.java.ejs +12 -0
  20. package/src/_template/SPRING/source-api/application.yml.ejs +64 -0
  21. package/src/_template/SPRING/source-api/env.properties.ejs +7 -0
  22. package/src/_template/SPRING/source-api/pom.xml.ejs +64 -0
  23. package/src/_template/SPRING/source-domain/ActOperationCommon.ejs +17 -0
  24. package/src/_template/SPRING/source-domain/GenConfigApp.ejs +22 -0
  25. package/src/_template/SPRING/source-domain/pom.xml.ejs +20 -0
  26. package/src/_template/SPRING/source-provider/GenAppModule.ejs +12 -0
  27. package/src/_template/SPRING/source-provider/pom.xml.ejs +21 -0
  28. package/src/_template/SPRING/source-test/pom.xml.ejs +28 -0
  29. package/src/_template/ZERO/.placeholder +0 -0
  30. package/src/_template/ZERO/app.env.ejs +96 -0
  31. package/src/_template/ZERO/database/database-account.sql.ejs +3 -0
  32. package/src/_template/ZERO/database/database-reinit-history.sql.ejs +5 -0
  33. package/src/_template/ZERO/database/database-reinit-workflow.sql.ejs +5 -0
  34. package/src/_template/ZERO/database/database-reinit.sql.ejs +5 -0
  35. package/src/_template/ZERO/database/init-db.sh +49 -0
  36. package/src/_template/ZERO/mvn-build.sh +3 -0
  37. package/src/_template/ZERO/pom.xml.ejs +24 -0
  38. package/src/_template/ZERO/source-api/AppDev.java.ejs +13 -0
  39. package/src/_template/ZERO/source-api/Application.java.ejs +11 -0
  40. package/src/_template/ZERO/source-api/env.properties.ejs +18 -0
  41. package/src/_template/ZERO/source-api/flyway.conf +6 -0
  42. package/src/_template/ZERO/source-api/pom.xml.ejs +24 -0
  43. package/src/_template/ZERO/source-api/vertx.yml.ejs +70 -0
  44. package/src/_template/ZERO/source-domain/ModuleGeneration.java.ejs +8 -0
  45. package/src/_template/ZERO/source-domain/pom.xml.ejs +20 -0
  46. package/src/_template/ZERO/source-provider/ModuleSource.java.ejs +14 -0
  47. package/src/_template/ZERO/source-provider/pom.xml.ejs +21 -0
  48. package/src/_template/ZERO/source-test/pom.xml.ejs +28 -0
  49. package/src/_template/version +5 -0
  50. package/src/{commander → cab/removed}/app.json +8 -2
  51. package/src/commander/spring.json +24 -0
  52. package/src/commander/zero.json +24 -0
  53. package/src/commander-ai/fn.source.app.js +8 -3
  54. package/src/commander-ai/fn.source.mod.js +1 -1
  55. package/src/commander-ai/fn.source.spring.js +24 -0
  56. package/src/commander-ai/fn.source.zero.js +24 -0
  57. package/src/commander-ai/index.js +7 -4
  58. package/src/commander-shared/ai.fn.initialize.__.io.util.js +166 -0
  59. package/src/commander-shared/ai.fn.initialize.__.module.directory.js +63 -0
  60. package/src/commander-shared/ai.fn.initialize.__.module.file.js +81 -0
  61. package/src/commander-shared/ai.fn.initialize.__.spring.directory.js +73 -0
  62. package/src/commander-shared/ai.fn.initialize.__.spring.file.js +111 -0
  63. package/src/commander-shared/ai.fn.initialize.__.zero.directory.js +75 -0
  64. package/src/commander-shared/ai.fn.initialize.__.zero.file.js +117 -0
  65. package/src/commander-shared/ai.fn.initialize.app.js +26 -0
  66. package/src/commander-shared/ai.fn.initialize.module.js +35 -28
  67. package/src/commander-shared/ai.fn.initialize.spring.js +73 -0
  68. package/src/commander-shared/ai.fn.initialize.zero.js +84 -0
  69. package/src/commander-shared/ai.fn.parse.argument.js +9 -1
  70. package/src/commander-shared/index.js +23 -1
  71. package/src/_template/SERVICE/database/database-reinit.sh +0 -3
  72. package/src/commander-shared/ai.fn.initialize.io.js +0 -86
  73. /package/src/_template/{SERVICE → MODULE}/database/database-reinit.sql +0 -0
  74. /package/src/_template/{SERVICE → MODULE}/database/init-db.sh +0 -0
  75. /package/src/_template/{SERVICE → MODULE}/pom.xml.ejs +0 -0
  76. /package/src/_template/{SERVICE → MODULE}/source-api/pom.xml.ejs +0 -0
  77. /package/src/_template/{SERVICE → MODULE}/source-domain/pom.xml.ejs +0 -0
  78. /package/src/_template/{SERVICE → MODULE}/source-provider/pom.xml.ejs +0 -0
  79. /package/src/{commander → cab/removed}/mod.json +0 -0
package/README.md CHANGED
@@ -6,6 +6,8 @@ Zero工具箱为一个工具类型的项目,主要为后端项目和前端项
6
6
 
7
7
  * 详细文档:[Zero Ai命令](http://www.vertxai.cn/document/doc-web/index.html)
8
8
 
9
+ ![npm version](https://img.shields.io/npm/v/zero-ai.svg)
10
+
9
11
  ## 0. 引导
10
12
 
11
13
  - (后端)Zero Ecotope:<https://www.zerows.io>
@@ -33,7 +35,20 @@ added 77 packages from 119 contributors in 8.417s
33
35
 
34
36
  ## 2. 常用命令说明
35
37
 
36
- 核心命令处理:`ai <command> [options]`
38
+ ```bash
39
+ # 常用命令可直接查看帮助信息
40
+ ai help
41
+
42
+ # 初始化 R2MO Spring 工程脚手架
43
+ ai spring -name app-fly
44
+ ai spring -n app-fly
45
+
46
+ # 初始化 ZERO Vertx 工程脚手架
47
+ ai zero -name app-wait
48
+ ai zero -n app-wait
49
+ ```
50
+
51
+
37
52
 
38
53
 
39
54
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zero-ai",
3
- "version": "0.3.34",
3
+ "version": "0.3.36",
4
4
  "description": "Zero Ecotope AI",
5
5
  "main": "src/ai.js",
6
6
  "bin": {
File without changes
File without changes
@@ -0,0 +1,4 @@
1
+ url=jdbc:mysql://ox.engine.cn:3306/ZDB?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&failOverReadOnly=false&useSSL=false&allowPublicKeyRetrieval=true
2
+ driver=com.mysql.cj.jdbc.Driver
3
+ username=${R2MO_DB_MYSQL5_USERNAME}
4
+ password=${R2MO_DB_MYSQL5_PASSWORD}
@@ -0,0 +1,2 @@
1
+ databaseChangeLog:
2
+ # 组织架构基本信息
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bash
2
+ mysql -u zero -P 3306 -h localhost < database-reinit.sql
3
+ echo "[OX] 重建 ZDB 数据库成功!";
@@ -0,0 +1,7 @@
1
+ package <%= packageName %>;
2
+
3
+ import io.r2mo.vertx.jooq.generate.configuration.MetaGenerate;
4
+
5
+ public class Extension<%= name %>Generation extends MetaGenerate {
6
+
7
+ }
@@ -0,0 +1,3 @@
1
+ shape:
2
+ id: <%= id %>
3
+ name: "Zero Extension / <%= name %>"
@@ -0,0 +1,14 @@
1
+ package <%= packageName %>;
2
+
3
+ import io.zerows.extension.skeleton.boot.ExtensionLauncher;
4
+ import io.zerows.platform.ENV;
5
+
6
+ public class Extension<%= name %>Source {
7
+
8
+ public static void main(final String[] args) {
9
+ final ExtensionLauncher launcher = ExtensionLauncher.create(Extension<%= name %>Source.class, args);
10
+ final Extension<%= name %>Generation configuration = new Extension<%= name %>Generation();
11
+ configuration.resolver(ENV::parseVariable);
12
+ launcher.startGenerate(configuration);
13
+ }
14
+ }
File without changes
@@ -0,0 +1,3 @@
1
+ CREATE USER IF NOT EXISTS '<%= dbUser %>'@'%' IDENTIFIED BY '<%= dbPassword %>';
2
+ GRANT ALL PRIVILEGES ON *.* TO '<%= dbUser %>'@'%' WITH GRANT OPTION;
3
+ FLUSH PRIVILEGES;
@@ -0,0 +1,5 @@
1
+ SET NAMES utf8mb4;
2
+ SET FOREIGN_KEY_CHECKS = 0;
3
+ -- 删除原来的数据库
4
+ DROP DATABASE IF EXISTS <%= dbName %>;
5
+ CREATE DATABASE IF NOT EXISTS <%= dbName %> DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_bin;
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env bash
2
+ source $PWD/mvn-env.sh
3
+ mysql -ur2mo -h"$R2MO_MYSQL_HOST" < "$PWD/database/database-account.sql"
4
+ mysql -ur2mo -h"$R2MO_MYSQL_HOST" < "$PWD/database/database-reinit.sql"
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bash
2
+ rm -rf generated/*
3
+ mvnd clean package install -Dquickly -DskipTests=true -Dmaven.javadoc.skip=true -Dmaven.compile.fork=true -T 16C
@@ -0,0 +1,7 @@
1
+ export R2MO_CLOUD_DB_TYPE=<%= dbType %>
2
+ # MySQL Env
3
+ export R2MO_MYSQL_DATABASE=<%= dbName %>
4
+ export R2MO_MYSQL_HOST=<%= dbHost %>
5
+ export R2MO_MYSQL_PORT=<%= dbPort %>
6
+ export R2MO_MYSQL_USER=<%= dbUser %>
7
+ export R2MO_MYSQL_PASS=<%= dbPassword %>
@@ -0,0 +1,29 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+ xmlns="http://maven.apache.org/POM/4.0.0"
4
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5
+ <modelVersion>4.0.0</modelVersion>
6
+ <parent>
7
+ <groupId>io.zerows</groupId>
8
+ <artifactId>r2mo-0216</artifactId>
9
+ <version><%= framework %></version>
10
+ </parent>
11
+ <groupId><%= group %></groupId>
12
+ <artifactId><%= id %></artifactId>
13
+ <version>1.0</version>
14
+ <name>App::<%= name %></name>
15
+ <packaging>pom</packaging>
16
+ <modules>
17
+ <module><%= id %>-domain</module>
18
+ <module><%= id %>-provider</module>
19
+ <module><%= id %>-api</module>
20
+ </modules>
21
+ <properties>
22
+ <!-- 项目基本信息 -->
23
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
24
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
25
+ <maven.compiler.source>17</maven.compiler.source>
26
+ <maven.compiler.target>17</maven.compiler.target>
27
+ <java.version>17</java.version>
28
+ </properties>
29
+ </project>
@@ -0,0 +1,13 @@
1
+ package <%= packageName %>;
2
+
3
+ import org.springframework.boot.SpringApplication;
4
+ import org.springframework.boot.autoconfigure.SpringBootApplication;
5
+ import org.springframework.context.annotation.PropertySource;
6
+
7
+ @SpringBootApplication
8
+ @PropertySource("classpath:env.properties")
9
+ public class <%= name %>AppDev {
10
+ public static void main(final String[] args) {
11
+ SpringApplication.run(<%= name %>AppDev.class, args);
12
+ }
13
+ }
@@ -0,0 +1,12 @@
1
+ package <%= packageName %>;
2
+
3
+ import org.springframework.boot.SpringApplication;
4
+ import org.springframework.boot.autoconfigure.SpringBootApplication;
5
+
6
+ @SpringBootApplication
7
+ public class <%= name %>Application {
8
+
9
+ public static void main(final String[] args) {
10
+ SpringApplication.run(<%= name %>Application.class, args);
11
+ }
12
+ }
@@ -0,0 +1,64 @@
1
+ server:
2
+ port: 9002
3
+ servlet:
4
+ context-path: /
5
+
6
+ spring:
7
+ application:
8
+ name: <%= id %>
9
+ # 数据源配置
10
+ datasource:
11
+ dynamic:
12
+ primary: master
13
+ strict: false
14
+ datasource:
15
+ master:
16
+ url: ${spring.datasource.url}
17
+ username: ${spring.datasource.username}
18
+ password: ${spring.datasource.password}
19
+ driver-class-name: ${spring.datasource.driver-class-name}
20
+ url: jdbc:mysql://${R2MO_MYSQL_HOST}:${R2MO_MYSQL_PORT:3306}/${R2MO_MYSQL_DATABASE}?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
21
+ username: ${R2MO_MYSQL_USER}
22
+ password: ${R2MO_MYSQL_PASS}
23
+ driver-class-name: com.mysql.cj.jdbc.Driver
24
+ hikari:
25
+ minimum-idle: 5
26
+ maximum-pool-size: 20
27
+ auto-commit: true
28
+ idle-timeout: 30000
29
+ max-lifetime: 1800000
30
+ connection-timeout: 30000
31
+ connection-test-query: SELECT 1
32
+ # Flyway
33
+ flyway:
34
+ enabled: true
35
+ locations:
36
+ - classpath:${spring.application.name}/database/schema/
37
+ encoding: UTF-8
38
+ sql-migration-prefix: V
39
+ sql-migration-separator: __
40
+ sql-migration-suffixes: .sql
41
+ validate-on-migrate: false
42
+ baseline-on-migrate: true
43
+ baseline-version: 1
44
+ clean-disabled: true # 生产环境禁用
45
+
46
+ mybatis-plus:
47
+ configuration:
48
+ map-underscore-to-camel-case: true
49
+ cache-enabled: false
50
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
51
+ global-config:
52
+ db-config:
53
+ id-type: auto
54
+ logic-delete-value: 1
55
+ logic-not-delete-value: 0
56
+ mapper-locations:
57
+ - classpath:${spring.application.name}/mapper/**/*.xml
58
+ mapperPackage: <%= packageName %>.mapper
59
+ type-handlers-package: io.r2mo.dbe.mybatisplus.core.typehandler
60
+
61
+ logging:
62
+ level:
63
+ org.springframework.web: DEBUG
64
+ org.springframework.web.servlet.mvc.method.annotation: TRACE
@@ -0,0 +1,7 @@
1
+ R2MO_CLOUD_DB_TYPE=<%= dbType %>
2
+ # MySQL Env
3
+ R2MO_MYSQL_DATABASE=<%= dbName %>
4
+ R2MO_MYSQL_HOST=<%= dbHost %>
5
+ R2MO_MYSQL_PORT=<%= dbPort %>
6
+ R2MO_MYSQL_USER=<%= dbUser %>
7
+ R2MO_MYSQL_PASS=<%= dbPassword %>
@@ -0,0 +1,64 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+ xmlns="http://maven.apache.org/POM/4.0.0"
4
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5
+ <modelVersion>4.0.0</modelVersion>
6
+ <parent>
7
+ <groupId><%= group %></groupId>
8
+ <artifactId><%= id %></artifactId>
9
+ <version>1.0</version>
10
+ </parent>
11
+
12
+ <artifactId><%= id %>-api</artifactId>
13
+ <name>App::<%= name %>::Api</name>
14
+ <dependencies>
15
+ <dependency>
16
+ <groupId><%= group %></groupId>
17
+ <artifactId><%= id %>-provider</artifactId>
18
+ <version>${project.version}</version>
19
+ </dependency>
20
+ <!-- MySQL -->
21
+ <dependency>
22
+ <groupId>com.mysql</groupId>
23
+ <artifactId>mysql-connector-j</artifactId>
24
+ </dependency>
25
+ <dependency>
26
+ <groupId>org.springframework.boot</groupId>
27
+ <artifactId>spring-boot-starter-jetty</artifactId>
28
+ </dependency>
29
+ <dependency>
30
+ <groupId>org.springframework.boot</groupId>
31
+ <artifactId>spring-boot-starter-actuator</artifactId>
32
+ </dependency>
33
+ <dependency>
34
+ <groupId>org.springframework.boot</groupId>
35
+ <artifactId>spring-boot-starter-quartz</artifactId>
36
+ </dependency>
37
+ <!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator -->
38
+ <dependency>
39
+ <groupId>org.hibernate.validator</groupId>
40
+ <artifactId>hibernate-validator</artifactId>
41
+ <version>9.0.1.Final</version>
42
+ </dependency>
43
+ </dependencies>
44
+ <build>
45
+ <plugins>
46
+ <plugin>
47
+ <groupId>org.springframework.boot</groupId>
48
+ <artifactId>spring-boot-maven-plugin</artifactId>
49
+ <configuration>
50
+ <mainClass><%= packageName %>.<%= name %>Application</mainClass>
51
+ <layout>JAR</layout>
52
+ </configuration>
53
+ <executions>
54
+ <execution>
55
+ <id>repackage</id>
56
+ <goals>
57
+ <goal>repackage</goal>
58
+ </goals>
59
+ </execution>
60
+ </executions>
61
+ </plugin>
62
+ </plugins>
63
+ </build>
64
+ </project>
@@ -0,0 +1,17 @@
1
+ package <%= packageName %>.base;
2
+
3
+ import io.r2mo.io.common.HFS;
4
+ import io.r2mo.spring.mybatisplus.program.ActOperationMybatisPlus;
5
+
6
+ public abstract class ActOperationCommon<T> extends ActOperationMybatisPlus<T> {
7
+ private final HFS hfs;
8
+
9
+ public ActOperationCommon() {
10
+ super();
11
+ this.hfs = HFS.of();
12
+ }
13
+
14
+ protected HFS fs() {
15
+ return this.hfs;
16
+ }
17
+ }
@@ -0,0 +1,22 @@
1
+ package <%= packageName %>;
2
+
3
+ import <%= packageName %>.base.ActOperationCommon;
4
+ import io.r2mo.base.generator.GenMeta;
5
+ import io.r2mo.base.generator.SourceStructure;
6
+ import io.r2mo.dbe.mybatisplus.generator.config.GenConfigMybatisPlus;
7
+ import io.r2mo.typed.enums.DatabaseType;
8
+
9
+ public class GenConfigApp<%= name %> extends GenConfigMybatisPlus {
10
+
11
+ @Override
12
+ public GenMeta getMetadata() {
13
+ return GenMeta.builder()
14
+ .schema("V1__init_schema.sql")
15
+ .spi("GenMybatisPlus")
16
+ .database(DatabaseType.MYSQL_8)
17
+ .structure(SourceStructure.DPA)
18
+ .version("v1")
19
+ .baseAct(ActOperationCommon.class)
20
+ .build();
21
+ }
22
+ }
@@ -0,0 +1,20 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+ xmlns="http://maven.apache.org/POM/4.0.0"
4
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5
+ <modelVersion>4.0.0</modelVersion>
6
+ <parent>
7
+ <groupId><%= group %></groupId>
8
+ <artifactId><%= id %></artifactId>
9
+ <version>1.0</version>
10
+ </parent>
11
+
12
+ <artifactId><%= id %>-domain</artifactId>
13
+ <name>App::<%= name %>::Domain</name>
14
+ <dependencies>
15
+ <dependency>
16
+ <groupId>io.zerows</groupId>
17
+ <artifactId>r2mo-boot-spring-default</artifactId>
18
+ </dependency>
19
+ </dependencies>
20
+ </project>
@@ -0,0 +1,12 @@
1
+ package <%= packageName %>;
2
+
3
+
4
+ import io.r2mo.boot.spring.generator.SourceGenerator;
5
+
6
+ public class GenApp<%= name %>Module {
7
+
8
+ public static void main(final String[] args) {
9
+ final SourceGenerator generator = new SourceGenerator(GenConfigApp<%= name %>.class);
10
+ generator.generate();
11
+ }
12
+ }
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+ xmlns="http://maven.apache.org/POM/4.0.0"
4
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5
+ <modelVersion>4.0.0</modelVersion>
6
+ <parent>
7
+ <groupId><%= group %></groupId>
8
+ <artifactId><%= id %></artifactId>
9
+ <version>1.0</version>
10
+ </parent>
11
+
12
+ <artifactId><%= id %>-provider</artifactId>
13
+ <name>App::<%= name %>::Provider</name>
14
+ <dependencies>
15
+ <dependency>
16
+ <groupId><%= group %></groupId>
17
+ <artifactId><%= id %>-domain</artifactId>
18
+ <version>${project.version}</version>
19
+ </dependency>
20
+ </dependencies>
21
+ </project>
@@ -0,0 +1,28 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project xmlns="http://maven.apache.org/POM/4.0.0"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5
+ <modelVersion>4.0.0</modelVersion>
6
+ <parent>
7
+ <groupId><%= group %></groupId>
8
+ <artifactId><%= id %></artifactId>
9
+ <version>1.0</version>
10
+ </parent>
11
+
12
+ <artifactId><%= id %>-test</artifactId>
13
+ <name>APP::<%= name %>::Test</name>
14
+ <dependencies>
15
+ <dependency>
16
+ <groupId>io.zerows</groupId>
17
+ <artifactId>r2mo-spring-junit5</artifactId>
18
+ <version>${r2mo.version}</version>
19
+ <scope>test</scope>
20
+ </dependency>
21
+ <dependency>
22
+ <groupId><%= group %></groupId>
23
+ <artifactId><%= id %>-api</artifactId>
24
+ <version>${project.version}</version>
25
+ </dependency>
26
+ </dependencies>
27
+
28
+ </project>
File without changes
@@ -0,0 +1,96 @@
1
+ # =============================================================================
2
+ # R2MO Environment Variables Template
3
+ # 对应 Java 接口: io.zerows.platform.EnvironmentVariable
4
+ # =============================================================================
5
+ # -----------------------------------------------------------------------------
6
+ # 1. 「容器级别」通用配置
7
+ # -----------------------------------------------------------------------------
8
+ export Z_ENV="Development" # Development / Production / Mockito
9
+
10
+ # -----------------------------------------------------------------------------
11
+ # 2. 应用/服务标识 (Identity)
12
+ # -----------------------------------------------------------------------------
13
+ export Z_NS="<%= appNs %>" # 名空间 / App ID (UUID)
14
+ export Z_APP="<%= appName %>" # 应用名称 (e.g. app.micro.hotel)
15
+ export Z_TENANT="<%= appTenant %>" # 租户 ID / UUID
16
+ export Z_SIGMA="<%= appSigma %>" # 统一标识符 Σ
17
+ export Z_LANG="cn" # 语言环境
18
+ export Z_APP_ID=<%= appId %> # 应用 ID / UUID
19
+
20
+ # -----------------------------------------------------------------------------
21
+ # 3. 文档服务器 (OnlyOffice)
22
+ # -----------------------------------------------------------------------------
23
+ # export Z_DOC_SECRET="" # Token密钥
24
+ # export Z_DOC_HOST=""
25
+ # export Z_DOC_PORT=""
26
+
27
+ # -----------------------------------------------------------------------------
28
+ # 4. 集成服务存储 (SIS)
29
+ # -----------------------------------------------------------------------------
30
+ export Z_SIS_STORE="" # 集成服务存储路径
31
+ export Z_SIS_SCHEME="file"
32
+ # export Z_SIS_HOST=""
33
+ # export Z_SIS_PORT=""
34
+ # export Z_SIS_USERNAME=""
35
+ # export Z_SIS_PASSWORD=""
36
+
37
+ # -----------------------------------------------------------------------------
38
+ # 5. 网络配置 (Network)
39
+ # -----------------------------------------------------------------------------
40
+ # export Z_CORS_DOMAIN="" # 跨域配置
41
+
42
+ # RESTful
43
+ export Z_API_PORT="6083" # API 端口
44
+ export Z_API_HOST="0.0.0.0"
45
+ export Z_API_SSL="false"
46
+
47
+ # WebSocket
48
+ export Z_SOCK_PORT="6083" # WebSocket 端口
49
+ export Z_SOCK_HOST="0.0.0.0"
50
+ export Z_SOCK_SSL="false"
51
+
52
+ # -----------------------------------------------------------------------------
53
+ # 6. 数据库配置 (Database)
54
+ # -----------------------------------------------------------------------------
55
+ # 实例指针
56
+ export Z_DBS_INSTANCE="<%= dbName %>_APP" # 业务数据库实例
57
+ # export Z_DBW_INSTANCE="<%= dbName %>_WF" # 工作流数据库实例
58
+ # export Z_DBH_INSTANCE="<%= dbName %>_HIS" # 历史数据库实例
59
+
60
+ # Cloud 专用三库统一配置
61
+ export Z_DB_TYPE="<%= dbType %>" # 数据库类型: MYSQL / SQLSERVER / ORACLE / POSTGRESQL
62
+ export Z_DB_HOST="<%= dbHost %>"
63
+ export Z_DB_PORT="<%= dbPort %>"
64
+ export Z_DB_USERNAME="root"
65
+ export Z_DB_PASSWORD=""
66
+ # 应用专用账号
67
+ export Z_DB_APP_USER="<%= dbUser %>"
68
+ export Z_DB_APP_PASS="<%= dbPassword %>"
69
+
70
+ # -----------------------------------------------------------------------------
71
+ # 7. 云端专用 (Cloud)
72
+ # -----------------------------------------------------------------------------
73
+ # export AEON_CLOUD=""
74
+ # export AEON_APP=""
75
+
76
+ # -----------------------------------------------------------------------------
77
+ # 8. Nacos 配置
78
+ # -----------------------------------------------------------------------------
79
+ # export R2MO_HOME="" # 基础工作目录
80
+ # export R2MO_NACOS_ADDR="127.0.0.1:8848"
81
+ # export R2MO_NACOS_USERNAME=""
82
+ # export R2MO_NACOS_PASSWORD=""
83
+
84
+ # export R2MO_NS_CLOUD="" # 云端名空间
85
+ # export R2MO_NS_APP="" # 应用名空间
86
+
87
+ export R2MO_MN_ID="hms-mn-monitor" # 监控专用 Docker Container 名称
88
+ export R2MO_MN_PPORT=7190 # Prometheus 端口
89
+ export R2MO_MN_GPORT=7191 # Grafana 端口
90
+ # -----------------------------------------------------------------------------
91
+ # 9. Redis 配置
92
+ # -----------------------------------------------------------------------------
93
+ # export R2MO_REDIS_HOST="127.0.0.1"
94
+ # export R2MO_REDIS_PORT="6379"
95
+ # export R2MO_REDIS_PASSWORD=""
96
+ # export R2MO_REDIS_DATABASE="0"
@@ -0,0 +1,3 @@
1
+ CREATE USER IF NOT EXISTS '<%= dbUser %>'@'%' IDENTIFIED BY '<%= dbPassword %>';
2
+ GRANT ALL PRIVILEGES ON *.* TO '<%= dbUser %>'@'%' WITH GRANT OPTION;
3
+ FLUSH PRIVILEGES;
@@ -0,0 +1,5 @@
1
+ SET NAMES utf8mb4;
2
+ SET FOREIGN_KEY_CHECKS = 0;
3
+ -- 删除原来的数据库
4
+ DROP DATABASE IF EXISTS <%= dbName %>_HIS;
5
+ CREATE DATABASE IF NOT EXISTS <%= dbName %>_HIS DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_bin;
@@ -0,0 +1,5 @@
1
+ SET NAMES utf8mb4;
2
+ SET FOREIGN_KEY_CHECKS = 0;
3
+ -- 删除原来的数据库
4
+ DROP DATABASE IF EXISTS <%= dbName %>_WF;
5
+ CREATE DATABASE IF NOT EXISTS <%= dbName %>_WF DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_bin;
@@ -0,0 +1,5 @@
1
+ SET NAMES utf8mb4;
2
+ SET FOREIGN_KEY_CHECKS = 0;
3
+ -- 删除原来的数据库
4
+ DROP DATABASE IF EXISTS <%= dbName %>_APP;
5
+ CREATE DATABASE IF NOT EXISTS <%= dbName %>_APP DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_bin;
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # 加载环境变量
4
+ source "$PWD/.r2mo/app.env"
5
+
6
+ # 初始化标志变量
7
+ RUN_WORKFLOW=false
8
+ RUN_HISTORY=false
9
+
10
+ # 解析命令行参数 (-w 和 -h)
11
+ while getopts "wh" opt; do
12
+ case $opt in
13
+ w)
14
+ RUN_WORKFLOW=true
15
+ ;;
16
+ h)
17
+ RUN_HISTORY=true
18
+ ;;
19
+ \?)
20
+ echo "无效选项: -$OPTARG" >&2
21
+ exit 1
22
+ ;;
23
+ esac
24
+ done
25
+
26
+ # 定义基础路径和命令前缀,使代码更整洁
27
+ DB_DIR="$PWD/.r2mo/database/${Z_DB_TYPE}"
28
+ MYSQL_CMD="mysql -ur2mo -h$Z_DB_HOST"
29
+
30
+ # --- 执行核心脚本 (始终执行) ---
31
+ echo "正在执行基础数据库初始化..."
32
+ $MYSQL_CMD < "$DB_DIR/database-account.sql"
33
+ $MYSQL_CMD < "$DB_DIR/database-reinit.sql"
34
+
35
+ # --- 根据参数执行可选脚本 ---
36
+
37
+ # 如果包含 -w 参数
38
+ if [ "$RUN_WORKFLOW" = true ]; then
39
+ echo "检测到 -w 参数,正在执行 Workflow 初始化..."
40
+ $MYSQL_CMD < "$DB_DIR/database-reinit-workflow.sql"
41
+ fi
42
+
43
+ # 如果包含 -h 参数
44
+ if [ "$RUN_HISTORY" = true ]; then
45
+ echo "检测到 -h 参数,正在执行 History 初始化..."
46
+ $MYSQL_CMD < "$DB_DIR/database-reinit-history.sql"
47
+ fi
48
+
49
+ echo "执行完毕."
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bash
2
+ rm -rf generated/*
3
+ mvnd clean package install -Dquickly -DskipTests=true -Dmaven.javadoc.skip=true -Dmaven.compile.fork=true -T 16C
@@ -0,0 +1,24 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+ xmlns="http://maven.apache.org/POM/4.0.0"
4
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5
+ <modelVersion>4.0.0</modelVersion>
6
+ <parent>
7
+ <groupId>io.zerows</groupId>
8
+ <artifactId>zero-0216</artifactId>
9
+ <version><%= framework %></version>
10
+ </parent>
11
+ <groupId><%= group %></groupId>
12
+ <artifactId><%= id %></artifactId>
13
+ <version>${revision}</version>
14
+ <name>App::<%= name %></name>
15
+ <packaging>pom</packaging>
16
+ <properties>
17
+ <revision>1.0</revision>
18
+ </properties>
19
+ <modules>
20
+ <module><%= id %>-domain</module>
21
+ <module><%= id %>-provider</module>
22
+ <module><%= id %>-api</module>
23
+ </modules>
24
+ </project>