# delivery-platform-api(规划) ## 职责 实现 [客户商务与交付管理平台](../../../docs/chuangfei-platform-product-modules.md) 中 **M1–M11** 领域 API(客户、项目、合同、交付、SN、Callback 处置、集成配置、设备、待办、报表、审计、身份与权限等)。 ## 建议技术栈 - **Spring Boot 4.0.\***、Spring Security、**PostgreSQL 15**、**MyBatis-Plus**、Flyway/Liquibase。 - OpenAPI(springdoc);与 `license-webhook-ingress` 通过 **MQ/内部 API** 协作。 ## 构建与部署:多模块开发 + 单 JAR 运维 与 **客户端 SDK** 严格区分(详见 [WORKSPACE_ENGINEERING_LAYOUT.md §5](../../../docs/engineering/WORKSPACE_ENGINEERING_LAYOUT.md)): | 模式 | 做法 | |------|------| | **开发** | Maven **多模块**:`domain`、`application-service`、`adapters-web`、`adapters-persistence`、**`bootstrap`(唯一 main)** | | **部署** | 仅 **`bootstrap`** 模块启用 `spring-boot-maven-plugin` **`repackage`**,产出 **一枚** 可执行 Fat JAR(`java -jar platform-bootstrap.jar`) | | **构建命令示例** | `mvn -pl platform-bootstrap -am clean package` | **禁止**:多个模块同时 `repackage`;在平台任意模块依赖 **`cn.craftlabs:craftlabs-auth-bitanswer`**(客户端 JNI SDK)。 ## 与本工作区关系 - **可选**:将 [`schemas/craftlabs-auth-config.schema.json`](../../../schemas/craftlabs-auth-config.schema.json) 作为 **校验导出给现场的 JSON** 的资源(拷贝或构建时嵌入);**不**为引入 SDK 而把 `craftlabs-auth-parent` 作为父 POM。 - 若需共享纯配置 POJO:单独 **`craftlabs-auth-config-model`** 薄模块(无 native、无 `System.loadLibrary`),由 SDK 与平台 **分别** 以 **compileOnly/optional** 或复制方式对齐 —— 须经架构评审。 ## 仓库建议名 `craftlabs-delivery-platform` ## Maven 坐标建议 - GroupId:如 `cn.craftlabs.platform`(与 `cn.craftlabs:craftlabs-auth-*` **区分**)