zero-ai 0.3.35 → 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 (46) hide show
  1. package/README.md +16 -1
  2. package/package.json +1 -1
  3. package/src/_template/MODULE/database/database-reinit.sh +1 -1
  4. package/src/_template/SPRING/database/init-db.sh +2 -2
  5. package/src/_template/SPRING/mvn-build.sh +1 -1
  6. package/src/_template/SPRING/pom.xml.ejs +4 -21
  7. package/src/_template/SPRING/source-api/pom.xml.ejs +1 -2
  8. package/src/_template/SPRING/source-domain/pom.xml.ejs +0 -1
  9. package/src/_template/ZERO/.placeholder +0 -0
  10. package/src/_template/ZERO/app.env.ejs +96 -0
  11. package/src/_template/ZERO/database/database-account.sql.ejs +3 -0
  12. package/src/_template/ZERO/database/database-reinit-history.sql.ejs +5 -0
  13. package/src/_template/ZERO/database/database-reinit-workflow.sql.ejs +5 -0
  14. package/src/_template/ZERO/database/database-reinit.sql.ejs +5 -0
  15. package/src/_template/ZERO/database/init-db.sh +49 -0
  16. package/src/_template/ZERO/mvn-build.sh +3 -0
  17. package/src/_template/ZERO/pom.xml.ejs +24 -0
  18. package/src/_template/ZERO/source-api/AppDev.java.ejs +13 -0
  19. package/src/_template/ZERO/source-api/Application.java.ejs +11 -0
  20. package/src/_template/ZERO/source-api/env.properties.ejs +18 -0
  21. package/src/_template/ZERO/source-api/flyway.conf +6 -0
  22. package/src/_template/ZERO/source-api/pom.xml.ejs +24 -0
  23. package/src/_template/ZERO/source-api/vertx.yml.ejs +70 -0
  24. package/src/_template/ZERO/source-domain/ModuleGeneration.java.ejs +8 -0
  25. package/src/_template/ZERO/source-domain/pom.xml.ejs +20 -0
  26. package/src/_template/ZERO/source-provider/ModuleSource.java.ejs +14 -0
  27. package/src/_template/ZERO/source-provider/pom.xml.ejs +21 -0
  28. package/src/_template/ZERO/source-test/pom.xml.ejs +28 -0
  29. package/src/_template/version +5 -0
  30. package/src/commander/zero.json +24 -0
  31. package/src/commander-ai/fn.source.spring.js +11 -7
  32. package/src/commander-ai/fn.source.zero.js +24 -0
  33. package/src/commander-ai/index.js +5 -4
  34. package/src/commander-shared/ai.fn.initialize.__.io.util.js +42 -37
  35. package/src/commander-shared/ai.fn.initialize.__.module.directory.js +63 -0
  36. package/src/commander-shared/ai.fn.initialize.__.module.file.js +81 -0
  37. package/src/commander-shared/ai.fn.initialize.__.spring.file.js +0 -1
  38. package/src/commander-shared/ai.fn.initialize.__.zero.directory.js +21 -9
  39. package/src/commander-shared/ai.fn.initialize.__.zero.file.js +88 -52
  40. package/src/commander-shared/ai.fn.initialize.module.js +1 -1
  41. package/src/commander-shared/ai.fn.initialize.spring.js +8 -3
  42. package/src/commander-shared/ai.fn.initialize.zero.js +84 -0
  43. package/src/commander-shared/ai.fn.parse.argument.js +9 -1
  44. package/src/commander-shared/index.js +2 -0
  45. /package/src/{commander → cab/removed}/app.json +0 -0
  46. /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.35",
3
+ "version": "0.3.36",
4
4
  "description": "Zero Ecotope AI",
5
5
  "main": "src/ai.js",
6
6
  "bin": {
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env bash
2
- mysql -u zero -P 3306 -h ox.engine.cn < database-reinit.sql
2
+ mysql -u zero -P 3306 -h localhost < database-reinit.sql
3
3
  echo "[OX] 重建 ZDB 数据库成功!";
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env bash
2
2
  source $PWD/mvn-env.sh
3
- mysql -ur2mo -h"$R2MO_MYSQL_HOST" < "$PWD/database/${R2MO_CLOUD_DB_TYPE}/database-account.sql"
4
- mysql -ur2mo -h"$R2MO_MYSQL_HOST" < "$PWD/database/${R2MO_CLOUD_DB_TYPE}/database-reinit.sql"
3
+ mysql -ur2mo -h"$R2MO_MYSQL_HOST" < "$PWD/database/database-account.sql"
4
+ mysql -ur2mo -h"$R2MO_MYSQL_HOST" < "$PWD/database/database-reinit.sql"
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env bash
2
2
  rm -rf generated/*
3
- mvn clean package install -Dquickly -DskipTests=true -Dmaven.javadoc.skip=true -Dmaven.compile.fork=true -T 16C
3
+ mvnd clean package install -Dquickly -DskipTests=true -Dmaven.javadoc.skip=true -Dmaven.compile.fork=true -T 16C
@@ -5,21 +5,20 @@
5
5
  <modelVersion>4.0.0</modelVersion>
6
6
  <parent>
7
7
  <groupId>io.zerows</groupId>
8
- <artifactId>r2mo-rapid</artifactId>
9
- <version>1.0-M26</version>
8
+ <artifactId>r2mo-0216</artifactId>
9
+ <version><%= framework %></version>
10
10
  </parent>
11
11
  <groupId><%= group %></groupId>
12
12
  <artifactId><%= id %></artifactId>
13
13
  <version>1.0</version>
14
- <name>App::<%= name %> / MOMO ${momo.version} | R2MO ${r2mo.version}</name>
14
+ <name>App::<%= name %></name>
15
+ <packaging>pom</packaging>
15
16
  <modules>
16
17
  <module><%= id %>-domain</module>
17
18
  <module><%= id %>-provider</module>
18
19
  <module><%= id %>-api</module>
19
20
  </modules>
20
21
  <properties>
21
- <momo.version>1.0.11</momo.version>
22
- <r2mo.version>1.0-M26</r2mo.version>
23
22
  <!-- 项目基本信息 -->
24
23
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
25
24
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
@@ -27,20 +26,4 @@
27
26
  <maven.compiler.target>17</maven.compiler.target>
28
27
  <java.version>17</java.version>
29
28
  </properties>
30
-
31
- <dependencyManagement>
32
- <dependencies>
33
- <!--
34
- 版本管理专用 Stack
35
- -->
36
- <dependency>
37
- <groupId>io.zerows</groupId>
38
- <artifactId>rachel-momo-stack</artifactId>
39
- <version>${momo.version}</version>
40
- <scope>import</scope>
41
- <type>pom</type>
42
- </dependency>
43
- </dependencies>
44
- </dependencyManagement>
45
- <packaging>pom</packaging>
46
29
  </project>
@@ -24,7 +24,7 @@
24
24
  </dependency>
25
25
  <dependency>
26
26
  <groupId>org.springframework.boot</groupId>
27
- <artifactId>spring-boot-starter-undertow</artifactId>
27
+ <artifactId>spring-boot-starter-jetty</artifactId>
28
28
  </dependency>
29
29
  <dependency>
30
30
  <groupId>org.springframework.boot</groupId>
@@ -33,7 +33,6 @@
33
33
  <dependency>
34
34
  <groupId>org.springframework.boot</groupId>
35
35
  <artifactId>spring-boot-starter-quartz</artifactId>
36
- <version>3.5.5</version>
37
36
  </dependency>
38
37
  <!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator -->
39
38
  <dependency>
@@ -15,7 +15,6 @@
15
15
  <dependency>
16
16
  <groupId>io.zerows</groupId>
17
17
  <artifactId>r2mo-boot-spring-default</artifactId>
18
- <version>${r2mo.version}</version>
19
18
  </dependency>
20
19
  </dependencies>
21
20
  </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>
@@ -0,0 +1,13 @@
1
+ package <%= packageName %>;
2
+
3
+ import io.zerows.boot.VertxApplication;
4
+ import io.zerows.epoch.annotations.Up;
5
+ import io.zerows.platform.annotations.PropertySource;
6
+
7
+ @Up
8
+ @PropertySource("env.properties")
9
+ public class <%= name %>Dev {
10
+ public static void main(final String[] args) {
11
+ VertxApplication.run(<%= name %>Dev.class);
12
+ }
13
+ }
@@ -0,0 +1,11 @@
1
+ package <%= packageName %>;
2
+
3
+ import io.zerows.boot.VertxApplication;
4
+ import io.zerows.epoch.annotations.Up;
5
+
6
+ @Up
7
+ public class <%= name %>App {
8
+ public static void main(final String[] args) {
9
+ VertxApplication.run(<%= name %>App.class);
10
+ }
11
+ }
@@ -0,0 +1,18 @@
1
+ # ------- 端口信息
2
+ Z_API_PORT=7085
3
+ # ------- 应用程序专用环境
4
+ Z_APP=<%= appName %>
5
+ Z_APP_ID=<%= appId %>
6
+ Z_SIGMA=<%= appSigma %>
7
+ Z_TENANT=<%= appTenant %>
8
+ #
9
+ # ------- 数据库连接信息
10
+ Z_DB_TYPE="<%= dbType %>"
11
+ Z_DBS_INSTANCE="<%= dbName %>_APP"
12
+ Z_DBW_INSTANCE="<%= dbName %>_WF"
13
+ Z_DB_HOST="<%= dbHost %>"
14
+ Z_DB_PORT=<%= dbPort %>
15
+ Z_DB_USERNAME="root"
16
+ Z_DB_PASSWORD=""
17
+ Z_DB_APP_USER="<%= dbUser %>"
18
+ Z_DB_APP_PASS="<%= dbPassword %>"
@@ -0,0 +1,6 @@
1
+ # src/main/resources/flyway.conf
2
+ # 注意:这里使用的是 Maven 格式的变量
3
+ flyway.url=jdbc:mysql://${env.Z_DB_HOST}:${env.Z_DB_PORT}/${env.Z_DBS_INSTANCE}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&failOverReadOnly=false&useSSL=false&allowPublicKeyRetrieval=true
4
+ flyway.user=${env.Z_DB_APP_USER}
5
+ flyway.password=${env.Z_DB_APP_PASS}
6
+ flyway.baselineOnMigrate=true
@@ -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><%= group %></groupId>
8
+ <artifactId><%= id %></artifactId>
9
+ <version>${revision}</version>
10
+ </parent>
11
+
12
+ <artifactId><%= id %>-api</artifactId>
13
+ <name>App::<%= name %>::Api</name>
14
+ <properties>
15
+ <maven.main.class><%= packageName %>.<%= name %>App</maven.main.class>
16
+ </properties>
17
+ <dependencies>
18
+ <dependency>
19
+ <groupId><%= group %></groupId>
20
+ <artifactId><%= id %>-provider</artifactId>
21
+ <version>${project.version}</version>
22
+ </dependency>
23
+ </dependencies>
24
+ </project>
@@ -0,0 +1,70 @@
1
+ server:
2
+ port: ${Z_API_PORT:7185}
3
+ address: ${Z_API_HOST:0.0.0.0}
4
+ vertx:
5
+ application:
6
+ name: ${Z_APP:r2mo-app-momo} # ---> 💻️ 微服务名称
7
+ config:
8
+ instance:
9
+ - name: <%= appName %>-001
10
+ options:
11
+ maxEventLoopExecuteTime: 1200_000_000_000
12
+ maxWorkerExecuteTime: 1200_000_000_000
13
+
14
+ # 🚀【核心优化 1】EventLoop 线程池
15
+ # 公式:CPU核数(12) * 2 = 24
16
+ # 原来的 128 太大,导致 CPU 频繁切换上下文,降低性能
17
+ eventLoopPoolSize: 24
18
+
19
+ # 🚀【核心优化 2】Worker 线程池 (阻塞任务池)
20
+ # 如果你的业务主要是查数据库,这个值可以大一点 (64 - 128 之间)
21
+ # 如果太小,高并发查库时会由排队现象;太大则浪费内存。
22
+ # 建议先降到 64 或 128,原 256 略显激进
23
+ workerPoolSize: 128
24
+
25
+ # 内部阻塞池,通常不需要太大,32-64 即可
26
+ internalBlockingPoolSize: 32
27
+ delivery:
28
+ timeout: 180_000
29
+ deployment:
30
+ worker:
31
+ # 🚀【核心优化 3】Worker Verticle 实例数
32
+ # 不需要太多,Vert.x 会复用 Worker 线程池
33
+ # 设置为 CPU 核数 x 2 或 x 4 即可
34
+ instances: 32
35
+ # 这里的 workerPoolSize 是覆盖上面全局配置的,保持一致或按需调整
36
+ workerPoolSize: 128
37
+ agent:
38
+ # 🚀【核心优化 4】Agent (Http Server) 实例数
39
+ # 必须严格等于 eventLoopPoolSize,实现 1:1 绑定
40
+ # 这样每个 CPU 核心只负责 2 个 Server 实例,效率最高
41
+ instances: 24
42
+ mvc:
43
+ cors:
44
+ allow-credentials: true
45
+ allowed-origins:
46
+ - "*"
47
+ datasource:
48
+ dynamic:
49
+ primary: master
50
+ strict: false
51
+ datasource:
52
+ # master 库同 datasource,其他两库可分离,不开启动态的模式下直接使用 datasource 配置
53
+ master:
54
+ url: ${Z_DBS_URL:jdbc:mysql://ox.engine.cn:3306/DB_HOTEL_004?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true}
55
+ instance: ${Z_DBS_INSTANCE:DB_HOTEL_004}
56
+ hostname: ${vertx.datasource.hostname}
57
+ port: ${vertx.datasource.port}
58
+ username: ${vertx.datasource.username}
59
+ password: ${vertx.datasource.password}
60
+ hostname: ${Z_DB_HOST:ox.engine.cn}
61
+ port: ${Z_DB_PORT:3306}
62
+ username: ${Z_DB_APP_USER:r2mo}
63
+ password: ${Z_DB_APP_PASS:r2mo}
64
+ driver-class-name: "com.mysql.cj.jdbc.Driver"
65
+ # ------------------- 业务环境综述
66
+ # 📌 应用管理
67
+ app:
68
+ id: "<%= appId %>"
69
+ ns: "<%= appNs %>"
70
+ tenant: "<%= appTenant %>"
@@ -0,0 +1,8 @@
1
+ package <%= packageName %>;
2
+
3
+
4
+ import io.r2mo.vertx.jooq.generate.configuration.MetaGenerate;
5
+
6
+ public class Module<%= name %>Generation extends MetaGenerate {
7
+
8
+ }
@@ -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>${revision}</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>zero-extension-skeleton</artifactId>
18
+ </dependency>
19
+ </dependencies>
20
+ </project>
@@ -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 Module<%= name %>Source {
7
+
8
+ public static void main(final String[] args) {
9
+ final ExtensionLauncher launcher = ExtensionLauncher.create(Module<%= name %>Source.class, args);
10
+ final Module<%= name %>Generation configuration = new Module<%= name %>Generation();
11
+ configuration.resolver(ENV::parseVariable);
12
+ launcher.startGenerate(configuration);
13
+ }
14
+ }
@@ -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>${revision}</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>
@@ -0,0 +1,5 @@
1
+ {
2
+ "r2mo": "1.0.48",
3
+ "momo": "1.0.48",
4
+ "zero": "1.0.0"
5
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "executor": "executeZero",
3
+ "description": "(后端)创建一个新的 Zero 脚手架!",
4
+ "command": "zero",
5
+ "options": [
6
+ {
7
+ "name": "name",
8
+ "alias": "n",
9
+ "description": "创建应用的名称!"
10
+ },
11
+ {
12
+ "name": "config",
13
+ "alias": "c",
14
+ "description": "配置文件路径,默认读取 app.json 文件!",
15
+ "default": "app.json"
16
+ },
17
+ {
18
+ "name": "output",
19
+ "alias": "o",
20
+ "description": "默认应用的输出路径,若不制定为当前路径!",
21
+ "default": "."
22
+ }
23
+ ]
24
+ }
@@ -1,11 +1,15 @@
1
1
  const Ec = require("../epic");
2
2
  const Ut = require("../commander-shared");
3
+ const request = require("superagent");
3
4
 
4
- module.exports = (options) => {
5
+ module.exports = async (options) => {
5
6
  /*
6
- * 参数解析
7
+ * 参数解析,解析完成后直接加载基础版本,由于 parseArgument 的通用性,版本解析
8
+ * 只会在 ai spring 等项目初始化命令中完成,所以这里需要单独调用 parseVersion 方法
9
+ * 进行版本解析。
7
10
  */
8
- const parsed = Ut.parseArgument(options);
11
+ let parsed = Ut.parseArgument(options);
12
+ parsed = await Ut.parseVersion(parsed);
9
13
  /*
10
14
  * 基本信息验证
11
15
  */
@@ -13,8 +17,8 @@ module.exports = (options) => {
13
17
  Ec.error("应用名称只能包含字母、数字、点(.)和短横线(-),且不能以数字、点(.)或短横线(-)开头!");
14
18
  process.exit(1);
15
19
  }
16
- const configuration = Ut.initSpringConfiguration(parsed);
17
- Ec.info(`准备生成 Rapid Spring App 应用:${configuration.artifactId}`);
18
- configuration.srcType = Symbol("SPRING");
19
- Ut.initSpring(configuration).then(() => Ec.info(`应用生成完成!`));
20
+ const configuration = await Ut.initSpringConfiguration(parsed);
21
+ Ec.execute(`准备生成 Rapid Spring App 应用:${configuration.artifactId}`);
22
+ await Ut.initSpring(configuration);
23
+ Ec.info(`应用生成完成!`);
20
24
  }