§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>
116 lines
4.9 KiB
XML
116 lines
4.9 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">
|
||
<parent>
|
||
<groupId>cn.iocoder.cloud</groupId>
|
||
<artifactId>game-module-project</artifactId>
|
||
<version>${revision}</version>
|
||
</parent>
|
||
<modelVersion>4.0.0</modelVersion>
|
||
<artifactId>game-module-project-server</artifactId>
|
||
<packaging>jar</packaging>
|
||
|
||
<name>${project.artifactId}</name>
|
||
<description>
|
||
project 模块业务实现:controller(app/admin) / service / dal(DO·Mapper) / convert。
|
||
被 yudao-server 聚合启动(随单体一起加载,无需独立 bootstrap)。
|
||
</description>
|
||
|
||
<dependencies>
|
||
<!-- Spring Cloud 基础环境 -->
|
||
<dependency>
|
||
<groupId>cn.iocoder.cloud</groupId>
|
||
<artifactId>yudao-spring-boot-starter-env</artifactId>
|
||
</dependency>
|
||
|
||
<!-- 本模块对外契约层 -->
|
||
<dependency>
|
||
<groupId>cn.iocoder.cloud</groupId>
|
||
<artifactId>game-module-project-api</artifactId>
|
||
<version>${revision}</version>
|
||
</dependency>
|
||
|
||
<!-- 依赖 compliance 的 -api:发布前注入合规锁风门 Gate(project.publish → ComplianceGateApi.evaluate;跨模块只依赖对方 -api,禁依赖 -server,与 ad-server 依赖 project-api 同构) -->
|
||
<dependency>
|
||
<groupId>cn.iocoder.cloud</groupId>
|
||
<artifactId>game-module-compliance-api</artifactId>
|
||
<version>${revision}</version>
|
||
</dependency>
|
||
|
||
<!-- 依赖 runtime 的 -api:发布编排翻包 0→1(PublishOrchestrationService → RuntimePackageApi.publish,§3.2 C2;只依赖对方 -api 不依赖 -server,守门④无环) -->
|
||
<dependency>
|
||
<groupId>cn.iocoder.cloud</groupId>
|
||
<artifactId>game-module-runtime-api</artifactId>
|
||
<version>${revision}</version>
|
||
</dependency>
|
||
|
||
<!-- 依赖 feed 的 -api:发布编排写发布基线排序行(PublishOrchestrationService → FeedApi.upsertRank mode=PUBLISH_BASELINE,§3.2 C2;只依赖对方 -api 不依赖 -server,守门④无环) -->
|
||
<dependency>
|
||
<groupId>cn.iocoder.cloud</groupId>
|
||
<artifactId>game-module-feed-api</artifactId>
|
||
<version>${revision}</version>
|
||
</dependency>
|
||
|
||
<!-- 依赖 system 的 -api:创建项目/提交发布入口校验创作者白名单(PlayerApi#validateCreator,2026-06-10 鉴权件 §6.3,拍板4 可信边界) -->
|
||
<dependency>
|
||
<groupId>cn.iocoder.cloud</groupId>
|
||
<artifactId>yudao-module-system-api</artifactId>
|
||
<version>${revision}</version>
|
||
</dependency>
|
||
|
||
<!-- 依赖 community 的 -api:P-NTF-03 审核结果 + P-INC-01 发布计数通知(Wave4 挂点2;reviewProject 提交后调 + try-catch 吞异常,禁依赖 -server) -->
|
||
<dependency>
|
||
<groupId>cn.iocoder.cloud</groupId>
|
||
<artifactId>game-module-community-api</artifactId>
|
||
<version>${revision}</version>
|
||
</dependency>
|
||
|
||
<!-- 业务组件:数据权限(创作者只见自己数据)+ 多租户(DO 继承 TenantBaseDO) -->
|
||
<dependency>
|
||
<groupId>cn.iocoder.cloud</groupId>
|
||
<artifactId>yudao-spring-boot-starter-biz-data-permission</artifactId>
|
||
</dependency>
|
||
<dependency>
|
||
<groupId>cn.iocoder.cloud</groupId>
|
||
<artifactId>yudao-spring-boot-starter-biz-tenant</artifactId>
|
||
</dependency>
|
||
|
||
<!-- Web + 安全:@RestController / @PreAuthorize / 当前登录用户 -->
|
||
<dependency>
|
||
<groupId>cn.iocoder.cloud</groupId>
|
||
<artifactId>yudao-spring-boot-starter-security</artifactId>
|
||
</dependency>
|
||
|
||
<!-- DB:MyBatis Plus(BaseMapperX / LambdaQueryWrapperX / BaseDO) -->
|
||
<dependency>
|
||
<groupId>cn.iocoder.cloud</groupId>
|
||
<artifactId>yudao-spring-boot-starter-mybatis</artifactId>
|
||
</dependency>
|
||
|
||
<!-- 缓存 -->
|
||
<dependency>
|
||
<groupId>cn.iocoder.cloud</groupId>
|
||
<artifactId>yudao-spring-boot-starter-redis</artifactId>
|
||
</dependency>
|
||
|
||
<!-- RPC 远程调用(跨模块互调,预留发布编排 compliance/runtime/feed) -->
|
||
<dependency>
|
||
<groupId>cn.iocoder.cloud</groupId>
|
||
<artifactId>yudao-spring-boot-starter-rpc</artifactId>
|
||
</dependency>
|
||
|
||
<!-- 测试 -->
|
||
<dependency>
|
||
<groupId>cn.iocoder.cloud</groupId>
|
||
<artifactId>yudao-spring-boot-starter-test</artifactId>
|
||
<scope>test</scope>
|
||
</dependency>
|
||
</dependencies>
|
||
|
||
<build>
|
||
<finalName>${project.artifactId}</finalName>
|
||
</build>
|
||
|
||
</project>
|