人才卡项目后端服务,基于 Spring Boot、MySQL、Redis 初始化。
默认连**共享开发库**:192.168.110.13:3306/talent_card(MySQL 5.7,root/123456,flyway.enabled=false)。本机不需要再起 MySQL。
下面的初始化脚本与 D:\MySQL\MySQL Server 5.7\... 那套做法是**并入共享库之前的历史**,只在自己搭一套
全新的库时才需要(本机那份 mysql 客户端已不存在)。库的归属与版本以docs/agents/testing.md 的「环境一览」为准。
& "<本机 mysql 客户端>\bin\mysql.exe" -uroot -p < scripts\init-local-mysql.sql
docker compose up -d redis
./mvnw spring-boot:run
Windows PowerShell:
docker compose up -d redis
.\mvnw.cmd spring-boot:run
服务默认地址:http://localhost:8080
HBuilderX 浏览器运行的人才端(7893)和商户端(7894)直接请求后端时,后端允许http://localhost:7893、http://localhost:7894 及对应的 127.0.0.1 来源访问 /api/**。
如果使用其他前端域名或端口,通过 CORS_ALLOWED_ORIGINS 配置逗号分隔的完整来源地址
(协议、主机、端口,不含路径),然后重启后端。部署时使用实际前端来源替换本机默认值。
如果启动日志提示 V9__operation_management.sql 失败,且原因是旧的 movie_ticket_record 表缺少 package_name,先执行一次兼容修复脚本,再重新启动服务:
$env:MYSQL_PWD = '123456'
Get-Content .\scripts\repair-local-mysql-v9.sql -Raw | & "D:\MySQL\MySQL Server 5.7\bin\mysql.exe" -uroot -D talent_card
Remove-Item Env:MYSQL_PWD
该脚本仅用于已中断 V9 的旧本机数据库;它保留历史电影票记录,并让 Flyway 重新执行 V9 及后续迁移。新建数据库不需要执行。
(命令里的本机客户端路径已失效,换成任意可用的 mysql 客户端即可;共享开发库不涉及这套修复。)
如果临时想用 Docker MySQL,compose 已经避开本机 3306,映射为 localhost:3307:
$env:MYSQL_URL="jdbc:mysql://localhost:3307/talent_card?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&useSSL=false"
$env:MYSQL_USERNAME="talent_card"
$env:MYSQL_PASSWORD="talent_card"
docker compose up -d mysql redis
.\mvnw.cmd spring-boot:run
GET /api/health:应用健康检查POST /api/talent-cards:创建人才卡GET /api/talent-cards/{id}:查询人才卡GET /api/talent-cards:分页查询人才卡创建人才卡示例:
{
"talentId": 1,
"cardNo": "TC202607170001",
"cardType": "PERSONAL",
"cardLevel": "A"
}
| 变量 | 默认值 |
|---|---|
SERVER_PORT |
8080 |
MYSQL_URL |
jdbc:mysql://192.168.110.13:3306/talent_card...(共享开发库;可用环境变量覆盖) |
MYSQL_USERNAME |
root |
MYSQL_PASSWORD |
123456 |
REDIS_HOST |
localhost |
REDIS_PORT |
6379 |
REDIS_PASSWORD |
空 |
REDIS_DATABASE |
0 |