# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## 项目概述 这是一个基于若依框架(RuoYi v3.8.8)的全栈银行客户关系管理系统,扩展了自定义业务逻辑,用于客户关系管理、基于网格的片区管理和移动端办公支持。 **技术栈:** - **后端**:Spring Boot 2.5.14、Java 1.8、Maven 多模块项目 - **前端**:Vue 2.6 + Vant UI(移动端 H5 应用) - **数据库**:MySQL + MyBatis Plus ORM - **缓存**:Redis + JWT 认证 - **API 文档**:Swagger 3.0 ## 构建与运行命令 ### 后端(Maven) ```bash # 构建整个项目(跳过测试) mvn clean package -Dmaven.test.skip=true # 或使用便捷脚本: bin/package.bat # 构建 bin/run.bat # 运行(启动 RuoYiApplication) bin/clean.bat # 清理构建产物 ``` 构建后的可执行 JAR 位于 `ruoyi-admin/target/ruoyi-admin.jar`。 ### 前端(Vue H5) ```bash cd szzh-h5 npm install # 安装依赖 npm run serve # 开发服务器(dev 模式) npm run build # 生产环境构建 npm run build:dev # 开发环境构建 ``` ## 架构 ### Maven 模块结构 ``` ruoyi/ # 父 POM ├── ruoyi-admin/ # 主应用入口(RuoYiApplication) ├── ruoyi-framework/ # 框架核心(安全、配置、拦截器) ├── ruoyi-system/ # 系统管理(用户、角色、部门、菜单) ├── ruoyi-common/ # 通用工具类和基类 ├── ruoyi-quartz/ # 定时任务支持 ├── ruoyi-generator/ # 代码生成工具 └── ibs/ # 自定义业务逻辑模块 ``` ### IBS 业务模块(`ibs/src/main/java/com/ruoyi/ibs`) 核心业务域包含以下子模块: | 模块 | 功能说明 | |------|---------| | `app` | 企业微信(QYWeiXin)集成、认证 | | `audio` | 音频录制和处理 | | `cmpm` | 客户经理关系管理(移交、认领、调整) | | `custmap` | 客户地图可视化和收藏位置 | | `customerselect` | 客户筛选和基于 CSV 标签的选择 | | `dashboard` | 仪表盘数据、营销活动、通知 | | `datavisual` | 拜访轨迹和区域数据可视化 | | `draw` | 地图绘制图层及审核工作流 | | `grid` | 地理网格管理、虚拟网格、地址解析 | | `list` | 客户列表(零售、商户)、家庭成员、营销活动 | | `qxhy` | 第三方集成(清香和一) | | `rules` | 业务关系规则引擎 | | `tabs` | 客户详情标签页和列表信息 | | `task` | 拜访任务、预约、工作记录、反馈 | ### 前端结构(`szzh-h5/src`) ``` views/ ├── cart/ # 购物车功能 ├── category/ # 分类管理 ├── customer/ # 客户视图 ├── dashboard/ # 仪表盘视图 ├── grid/ # 网格管理视图 ├── login/ # 认证登录 ├── map/ # 地图功能 ├── visitingTask/ # 拜访任务管理 └── workBench/ # 工作台视图 ``` ## 关键配置 ### 环境配置文件 - `application.yml` - 基础配置 - `application-dev.yml` - 开发环境 - `application-pre.yml` - 预生产环境 - `application-uat.yml` - UAT 环境 - `application-pro.yml` - 生产环境 ### 重要路径 - MyBatis Mapper 文件:`ibs/src/main/resources/mapper/**/*.xml` - 类型处理器:`com.ruoyi.ibs.handler` - 上传路径(Windows):`D:/ruoyi/files/` - 上传路径(Linux):`/home/webapp/ruoyi/files/` ## 代码规范 ### 后端包结构(每个模块) ``` com.ruoyi.ibs.{module}/ ├── controller/ # REST 接口 ├── domain/ │ ├── entity/ # 数据库实体(@TableName) │ ├── dto/ # 请求 DTO │ └── vo/ # 响应 VO ├── mapper/ # MyBatis Mapper └── service/ ├── I{Xxx}Service # 接口 └── impl/ └── {Xxx}ServiceImpl # 实现 ``` ### 命名规范 - Controller 以 `Controller` 结尾 - Service 接口以 `I` 开头(如 `IGridService`) - Service 实现以 `ServiceImpl` 结尾 - DTO 以 `DTO` 结尾(数据传输对象) - VO 以 `VO` 结尾(视图对象) - 实体类使用 `@TableName` 注解映射表名 ## 认证与安全 - 基于 JWT 的认证,可配置令牌过期时间(默认 3000 分钟) - Token 请求头:`Authorization` - Spring Security 实现基于角色的访问控制 - 在 `/system/*`、`/monitor/*`、`/tool/*` 路径启用 XSS 过滤 ## 开发注意事项 - 热部署默认禁用(`spring.devtools.restart.enabled: false`) - `com.ruoyi` 包的日志级别为 `debug` - 使用 Druid 连接池 - PageHelper 配置为 MySQL 分页方言 - 主应用入口:`ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java`