PlayPai 是一个 Java 微服务后端项目,使用 Spring Cloud Alibaba + Nacos 进行服务注册、配置管理和服务间调用。仓库不包含可独立启动的 Web 前端;根目录的 package.json 是业务 JSON 数据,并非 Node.js 工程配置。
主要技术栈:
PlayPai/
├── cloud-server-parent/ # 本项目父 POM,统一本地 profile 与仓库配置
├── cloud-server-gateway/ # 网关
├── cloud-server-auth/ # OAuth2 授权中心
├── cloud-server-account/ # 账户、用户、学员等领域
├── cloud-server-activity/ # 福利、优惠券、积分等活动领域
├── cloud-server-competition/ # 赛事领域
├── cloud-server-course/ # 课程、课包、排课等领域
├── cloud-server-other/ # 门店、场地、首页配置等领域
├── cloud-server-management/ # 管理后台 API
├── cloud-server-communityWorldCup/ # 社区世界杯领域
├── nacos/ # Nacos 配置导出包
└── sql/ # 6 个业务数据库的初始化 SQL
每个服务的典型分层为:controller(接口)、service(业务)、mapper(数据访问)、entity/model(数据模型)、feignclient(跨服务调用)和 resources/mapper(MyBatis XML)。
依赖关系如下:
各 cloud-server-* 服务
│
└── mb-cloud-parent:1.1.3(cloud-server-parent/pom.xml)
│
└── mb-cloud-dependent:1.1.3(私有 Maven POM)
│
└── mb-cloud-platform-bom:1.1.3 等私有公共依赖
mb-cloud-dependent 不是项目源码目录中的 Java 文件,而是 Maven 坐标。正常情况下 Maven 会将其下载到:
~/.m2/repository/cn/mb/cloud/mb-cloud-dependent/1.1.3/
项目使用 Magic-Beans 私有仓库和阿里云仓库。Magic-Beans 的 HTTP 地址会重定向到 HTTPS;如果某台机器无法下载,可先检查 Maven 的 settings.xml 是否被不可用的镜像覆盖。
注意:根目录没有聚合
pom.xml,cloud-server-parent/pom.xml也没有<modules>。因此不能在根目录一次构建所有服务;需按模块构建或在 IDE 中逐个添加 Maven POM。
| 服务 | Maven artifactId | 端口 | 数据库 |
|---|---|---|---|
| 网关 | mb-cloud-gateway |
56666 | 无独立库 |
| 授权中心 | mb-cloud-auth |
5016 | playpai_other |
| 账户 | mb-cloud-account |
5001 | playpai_account |
| 福利活动 | mb-cloud-activity |
5002 | playpai_activity |
| 赛事 | mb-cloud-competition |
5003 | playpai_competition |
| 课程 | mb-cloud-course |
5004 | playpai_course |
| 其他/门店场地 | mb-cloud-other |
5005 | playpai_other |
| 管理后台 | mb-cloud-management |
5006 | playpai_other |
| 社区世界杯 | mb-cloud-communityWorldCup |
5007 | playpai_community_world_cup |
网关入口为 http://localhost:56666,主要路由前缀如下:
/account/** -> mb-cloud-account
/activity/** -> mb-cloud-activity
/competition/** -> mb-cloud-competition
/course/** -> mb-cloud-course
/other/** -> mb-cloud-other
/communityWorldCup/** -> mb-cloud-communityWorldCup
路由和各服务端口由 Nacos 中的配置控制,导出文件位于 nacos/nacos_config_export_20250922175137.zip。
各模块的 src/main/resources/bootstrap.properties 不含最终固定配置,而是通过 Maven 资源过滤生成 Nacos 地址、用户名、命名空间和服务名。
开发 profile 的默认目标:
Nacos: 127.0.0.1:18848
namespace: b786884e-d7e5-477d-a7d2-193e27528e55
group: dsh-cloud
请启动 Nacos,并导入仓库内的 Nacos 配置导出 ZIP。配置中包含服务端口、数据源、网关路由和公共配置。
开发环境配置使用:
MySQL: 127.0.0.1:3306
Redis: 127.0.0.1:6379
初始化数据库:
mysql -uroot -p -e 'CREATE DATABASE IF NOT EXISTS playpai_account CHARACTER SET utf8mb4;'
mysql -uroot -p -e 'CREATE DATABASE IF NOT EXISTS playpai_activity CHARACTER SET utf8mb4;'
mysql -uroot -p -e 'CREATE DATABASE IF NOT EXISTS playpai_competition CHARACTER SET utf8mb4;'
mysql -uroot -p -e 'CREATE DATABASE IF NOT EXISTS playpai_course CHARACTER SET utf8mb4;'
mysql -uroot -p -e 'CREATE DATABASE IF NOT EXISTS playpai_other CHARACTER SET utf8mb4;'
mysql -uroot -p -e 'CREATE DATABASE IF NOT EXISTS playpai_community_world_cup CHARACTER SET utf8mb4;'
mysql -uroot -p playpai_account < sql/playpai_account.sql
mysql -uroot -p playpai_activity < sql/playpai_activity.sql
mysql -uroot -p playpai_competition < sql/playpai_competition.sql
mysql -uroot -p playpai_course < sql/playpai_course.sql
mysql -uroot -p playpai_other < sql/playpai_other.sql
mysql -uroot -p playpai_community_world_cup < sql/playpai_community_world_cup.sql
导入 SQL 会删除并重建其中已有的表,请只在本地开发数据库执行。
必须使用完整 JDK 8,不能使用 macOS 中的 Java 浏览器插件 JRE。推荐配置:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home
export PATH="$JAVA_HOME/bin:$PATH"
java -version
mvn -version
若 Maven 报错 tools.jar not found 且路径包含 JavaAppletPlugin.plugin,说明正在使用 JRE;按上面设置 JAVA_HOME 后重新构建。
mvn -f cloud-server-gateway/pom.xml clean package -DskipTests
其他模块将路径替换为对应模块的 pom.xml 即可。构建成功后的 Jar 位于模块 target/ 目录。
auth、account、other。course、activity、competition、communityWorldCup、management。gateway。示例:
mvn -f cloud-server-auth/pom.xml spring-boot:run
mvn -f cloud-server-account/pom.xml spring-boot:run
mvn -f cloud-server-other/pom.xml spring-boot:run
mvn -f cloud-server-gateway/pom.xml spring-boot:run
也可以先打包再启动:
java -jar cloud-server-gateway/target/mb-cloud-gateway.jar
由于没有 Maven 聚合模块,直接打开根目录时 IDEA 只会将其识别为普通项目。请在 Maven 工具窗口中点击 + Add Maven Project,依次添加每个 cloud-server-*/pom.xml,再执行 Reload All Maven Projects。
在 Settings -> Build Tools -> Maven 中设置:
/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home在 Project Structure -> Project SDK 中也选择同一 JDK。
cn.mb.cloud 相关依赖。