§0资源预占(serial·opus)+community(C1-C12)‖biz(B1-B9)三相Workflow编排,主控静态验证门已过(上游三挂点surgical+Boolean blocker已解+边界干净)。本机禁编译,工程门留mini。 community(5 P0·通知底座): - 站内信(投递幂等/已读归属校验/未读数)+等级引擎(published_count原子自增UPDATE+里程碑uk幂等插reward)+CommunityNotifyApi@Primary本地实现 - 3上游同进程notify挂点(均事务提交后+try-catch吞异常仅error log): aigc生成完成(回查task终态SUCCEEDED&&versionId!=null,非result==TRUE)/project审核结果1·2+发布计数/trade收益首次入账 - R3系统身份写防护:CommunityNotifyApiImpl入口LoginUser(id=0)+finally clearContext,防定时任务线程updater NOT NULL 500 biz(6 P0·轻量lead form): - 询单/报价/进度/验收四表+单线性五态状态机(canTransit仅相邻单跳)+demo可预览负路径降级(注入RuntimePackageApi,失败不透传500) - 7 app端点(getLoginUserId归属隔离)+7 admin端点(@PreAuthorize biz:*);BizTemplateService返clicker/merge/idle/tycoon 4可玩模板 - 权限seed=独立sql/biz_menu.sql(不进V13保两副本字节一致) §0地基: Flyway V12(community三表)/V13(biz四表)各两副本md5一致+错误码段1_107/1_110+community.yaml/biz.yaml契约+root pom两module+yudao-server pom两依赖 已知留债(诚实登记·待工程门/staging实测兜底): - mini工程门(mvn编译/单测/Flyway migrate/@Primary装配/Swagger)未跑——'骨架编译过≠可验收' - 系统身份写雷+DO↔BIT映射单测mock测不到,须staging两链路实测 - 上游既有单测(trade/aigc)未mock新@Resource会打被吞NPE日志(断言仍绿) - P-INC-01尽力计数at-most-once(评审版已认非缺陷)/UNLIST第二路径不通知(非P0) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
168 lines
7.8 KiB
XML
168 lines
7.8 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||
<modelVersion>4.0.0</modelVersion>
|
||
<groupId>cn.iocoder.cloud</groupId>
|
||
<artifactId>yudao</artifactId>
|
||
<version>${revision}</version>
|
||
<packaging>pom</packaging>
|
||
<modules>
|
||
<module>yudao-dependencies</module>
|
||
<module>yudao-gateway</module>
|
||
<module>yudao-framework</module>
|
||
<!-- Server 主项目 -->
|
||
<module>yudao-server</module>
|
||
<!-- 各种 module 拓展(绘境 MVP 保留:system/infra 基座 + pay/bpm 复用;已裁剪 11 个 demo 模块:member/report/mp/mall/crm/erp/iot/mes/wms/im/ai) -->
|
||
<module>yudao-module-system</module>
|
||
<module>yudao-module-infra</module>
|
||
<module>yudao-module-bpm</module>
|
||
<module>yudao-module-pay</module>
|
||
<!-- 绘境 game 业务模块(黄金模板先行,其余 12 模块克隆) -->
|
||
<module>game-module-project</module>
|
||
<!-- Wave1 闭环脊柱 4 模块(aigc/runtime/feed/telemetry) -->
|
||
<module>game-module-aigc</module>
|
||
<module>game-module-runtime</module>
|
||
<module>game-module-feed</module>
|
||
<module>game-module-telemetry</module>
|
||
<!-- Wave2 变现域:ad(广告引擎,钱财闭环上游) -->
|
||
<module>game-module-ad</module>
|
||
<!-- Wave2 变现域:trade(分账/结算/提现,钱财闭环下游,消费 ad 收入做 T+1 分账) -->
|
||
<module>game-module-trade</module>
|
||
<!-- Wave3:compliance(锁风门 Gate/分级/封禁,发布前合规)、studio(创作主链路编排,调 project/aigc) -->
|
||
<module>game-module-compliance</module>
|
||
<module>game-module-studio</module>
|
||
<!-- Wave4:community(通知底座:站内信/创作者等级/新人奖励触发)、biz(B/G 端轻量定制 lead form 信息流) -->
|
||
<module>game-module-community</module>
|
||
<module>game-module-biz</module>
|
||
</modules>
|
||
|
||
<name>${project.artifactId}</name>
|
||
<description>芋道项目基础脚手架</description>
|
||
<url>https://github.com/YunaiV/ruoyi-vue-pro</url>
|
||
|
||
<properties>
|
||
<revision>2026.05-SNAPSHOT</revision>
|
||
<!-- Maven 相关 -->
|
||
<java.version>17</java.version>
|
||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||
<maven-surefire-plugin.version>3.5.3</maven-surefire-plugin.version>
|
||
<maven-compiler-plugin.version>3.14.0</maven-compiler-plugin.version>
|
||
<flatten-maven-plugin.version>1.7.2</flatten-maven-plugin.version>
|
||
<!-- maven-surefire-plugin 暂时无法通过 bom 的依赖读取(兼容老版本 IDEA 2024 及以前版本) -->
|
||
<lombok.version>1.18.46</lombok.version>
|
||
<spring.boot.version>3.5.9</spring.boot.version>
|
||
<mapstruct.version>1.6.3</mapstruct.version>
|
||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||
</properties>
|
||
|
||
<dependencyManagement>
|
||
<dependencies>
|
||
<dependency>
|
||
<groupId>cn.iocoder.cloud</groupId>
|
||
<artifactId>yudao-dependencies</artifactId>
|
||
<version>${revision}</version>
|
||
<type>pom</type>
|
||
<scope>import</scope>
|
||
</dependency>
|
||
</dependencies>
|
||
</dependencyManagement>
|
||
|
||
<build>
|
||
<pluginManagement>
|
||
<plugins>
|
||
<!-- maven-surefire-plugin 插件,用于运行单元测试。 -->
|
||
<!-- 注意,需要使用 3.0.X+,因为要支持 Junit 5 版本 -->
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-surefire-plugin</artifactId>
|
||
<version>${maven-surefire-plugin.version}</version>
|
||
</plugin>
|
||
<!-- maven-compiler-plugin 插件,解决 Lombok + MapStruct 组合 -->
|
||
<!-- https://stackoverflow.com/questions/33483697/re-run-spring-boot-configuration-annotation-processor-to-update-generated-metada -->
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-compiler-plugin</artifactId>
|
||
<version>${maven-compiler-plugin.version}</version>
|
||
<configuration>
|
||
<annotationProcessorPaths>
|
||
<path>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-configuration-processor</artifactId>
|
||
<version>${spring.boot.version}</version>
|
||
</path>
|
||
<path>
|
||
<groupId>org.projectlombok</groupId>
|
||
<artifactId>lombok</artifactId>
|
||
<version>${lombok.version}</version>
|
||
</path>
|
||
<path>
|
||
<!-- 确保 Lombok 生成的 getter/setter 方法能被 MapStruct 正确识别,
|
||
避免出现 No property named “xxx" exists 的编译错误 -->
|
||
<groupId>org.projectlombok</groupId>
|
||
<artifactId>lombok-mapstruct-binding</artifactId>
|
||
<version>0.2.0</version>
|
||
</path>
|
||
<path>
|
||
<groupId>org.mapstruct</groupId>
|
||
<artifactId>mapstruct-processor</artifactId>
|
||
<version>${mapstruct.version}</version>
|
||
</path>
|
||
</annotationProcessorPaths>
|
||
<!-- 编译参数写在 arg 内,解决 Spring Boot 3.2 的 Parameter Name Discovery 问题 -->
|
||
<debug>false</debug>
|
||
<compilerArgs>
|
||
<arg>-parameters</arg>
|
||
</compilerArgs>
|
||
</configuration>
|
||
</plugin>
|
||
</plugins>
|
||
</pluginManagement>
|
||
|
||
<plugins>
|
||
<!-- 统一 revision 版本 -->
|
||
<plugin>
|
||
<groupId>org.codehaus.mojo</groupId>
|
||
<artifactId>flatten-maven-plugin</artifactId>
|
||
<version>${flatten-maven-plugin.version}</version>
|
||
<configuration>
|
||
<flattenMode>oss</flattenMode>
|
||
<updatePomFile>true</updatePomFile>
|
||
</configuration>
|
||
<executions>
|
||
<execution>
|
||
<goals>
|
||
<goal>flatten</goal>
|
||
</goals>
|
||
<id>flatten</id>
|
||
<phase>process-resources</phase>
|
||
</execution>
|
||
<execution>
|
||
<goals>
|
||
<goal>clean</goal>
|
||
</goals>
|
||
<id>flatten.clean</id>
|
||
<phase>clean</phase>
|
||
</execution>
|
||
</executions>
|
||
</plugin>
|
||
</plugins>
|
||
</build>
|
||
|
||
<!-- 使用 huawei / aliyun 的 Maven 源,提升下载速度 -->
|
||
<repositories>
|
||
<repository>
|
||
<id>huaweicloud</id>
|
||
<name>huawei</name>
|
||
<url>https://mirrors.huaweicloud.com/repository/maven/</url>
|
||
</repository>
|
||
<repository>
|
||
<id>aliyunmaven</id>
|
||
<name>aliyun</name>
|
||
<url>https://maven.aliyun.com/repository/public</url>
|
||
</repository>
|
||
</repositories>
|
||
|
||
</project>
|