此文件为Claude Code (claude.ai/code) 提供在此代码库中工作的指导。
这是一个基于Spring Boot 3.0.0构建的大规模多模块Maven保险报价服务平台(jzg)。该系统集成多家保险公司,提供车辆保险报价和管理服务。
jzg (父项目)
├── authentication # 认证授权服务 - Authentication & Authorization
├── commons # 公共组件 - Common utilities and configurations
├── gateway # 网关服务 - API Gateway
├── platform # 总控平台 - Management platform
├── tenant # 租户模块 - Tenant management
│ ├── insurance # 保险报价模块 - Insurance quotation
│ │ ├── quotation-commons # 报价通用组件
│ │ ├── quotation-summary # 报价汇总
│ │ └── quotation-* # 各保险公司报价模块 (渤海/大家/恒邦/华农/华泰/国任/泰康/太平洋/阳光/永诚/中安/中美等)
│ ├── organization # 组织管理
│ ├── costsorrule # 成本规则
│ └── openfeign # OpenFeign客户端
├── rocketmq # 消息队列
└── consoleStatistics # 控制台统计
# 清理并编译整个项目
mvn clean compile
# 打包所有模块(跳过测试)
mvn package -DskipTests
# 安装到本地仓库
mvn install
# 运行指定模块(例如:网关)
cd gateway
mvn spring-boot:run
# 使用指定配置文件运行
mvn spring-boot:run -Dspring-boot.run.profiles=dev
# 运行测试
mvn test
# 构建指定模块
mvn clean package -pl gateway -am
每个模块都包含application.yml文件:
application.yml - 主配置文件application-dev.yml - 开发环境配置application-test.yml - 测试环境配置src/main/resources/mapper/ 目录@IgnoreTenant 注解用于忽略租户隔离的操作需要历史记录追踪的服务应该:
HistoryDataService 并实现 getHistoryData() 方法使用 @OperatorTrajectory 注解:
@OperatorTrajectory(
type = "C|U|D", // 创建/更新/删除
systemCode = "JZG",
serviceTag = "userRoleService",
primary = "id" // 主键字段名
)
每个保险公司模块(quotation-*)遵循相似模式:
tenant/insurance/quotation-{company} 下创建新模块SystemException 实现适当的错误处理InsuranceLog 进行结构化日志记录JzgUserDetailsService、JzgAuthenticationProviderJzgTokenServiceMyBatisMetaObjectHandler 自动处理审计字段src/test/data/