Files
yoloShop/CLAUDE.md

110 lines
4.6 KiB
Markdown
Raw Normal View History

2026-02-11 21:10:06 +08:00
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## 项目概述
波猫商店 (Bomaos-Shop) — 基于 Java 8 + Spring Boot 2.7.13 的自动化发卡电商平台支持14种支付渠道、批发模式、自动/手动发货。
**重要提示:本仓库缺少 `src/main/` 目录Java 源码 (`.java`) 和资源文件均不在标准位置。** 所有内容位于 `target/classes/` 下:
- **Java 后端**:仅有编译后的 `.class` 文件,无法直接编辑,需反编译才能理解逻辑
- **前端模板和静态资源完整存在**Beetl 模板 (`templates/`)、CSS/JS (`static/`)、配置文件 (`*.yml`) 均可直接编辑
- **注意**`target/` 是 Maven 构建输出目录,`mvn clean` 会清除其中所有文件
## 构建与运行
```bash
# Maven 编译
mvn compile
# 打包(跳过测试)
mvn clean package -DskipTests
# 运行测试
mvn test
# 直接运行
java -jar target/bomaos-shop-2.0.4.jar
# Docker 部署(需先将 sql/bomaos-shop.sql 复制到 mysql/db/init.sql
docker-compose up -d
```
应用默认端口 **8085**,开发环境数据库连接 `localhost:3307`Docker 环境连接 `mysql:3306`
## 技术栈
| 层级 | 技术 |
|------|------|
| 框架 | Spring Boot 2.7.13 |
| ORM | MyBatis-Plus 3.5.3.1 |
| 数据库 | MySQL 8.0 + Druid 连接池 |
| 认证 | Apache Shiro 1.11.0 + JWT (jwtp) |
| 模板引擎 | Beetl 3.0.16 |
| 前端 UI | Layui |
| 工具库 | Hutool 5.8.20、Lombok、Fastjson 2 |
## 架构
### 包结构 (`com.bomaos`)
```
com.bomaos/
├── BomaosApplication # 启动类
├── carmi/ # 卡密管理CRUD + Excel 导入导出)
├── orders/ # 订单管理
├── products/ # 商品 & 分类管理
├── settings/ # 支付配置、优惠券、商店设置、微信推送
├── content/ # 文章 & 轮播图
├── reception/ # 前台展示(首页、商品详情、支付回调)
├── dashboard/ # 后台仪表盘
├── theme/ # 主题管理(白天/黑夜/暗黑)
├── website/ # 网站 SEO 设置
└── common/
├── core/
│ ├── pays/ # 14种支付渠道集成alipay/wxpay/paypal/epusdt/epay 等)
│ ├── shiro/ # Shiro 安全配置
│ ├── aspect/ # AOP 操作日志
│ ├── config/ # Spring 配置类
│ ├── enmu/ # 枚举(支付类型等)
│ ├── utils/ # 工具类
│ └── web/ # BaseController / BaseApiController
└── system/ # 用户、角色、菜单、字典、日志等系统管理
```
### 分层模式
每个业务模块遵循标准 MVC 分层:`controller/ → service/ → mapper/ → entity/`,部分模块含 `dto/``vo/``excel/`
### 路由分区
- **后台管理**`/products/**``/carmi/**``/orders/**``/settings/**``/content/**``/sys/**``/dashboard/**`
- **前台展示**`/`(首页)、`/product/{id}``/order``/search``/pay`
- **支付回调**`/notify/**`
- **JWT 保护的 API**`/api/**`
### 多环境配置
- `application.yml` — 公共配置端口、连接池、MyBatis-Plus、JWT
- `application-dev.yml` — 开发环境MySQL localhost:3307
- `application-test.yml` — 测试环境
- `application-prod.yml` — 生产环境
- 通过 `spring.profiles.active` 切换
### 数据库
24 张表,初始化脚本在 `sql/bomaos-shop.sql`。核心业务表:`sys_products`(商品)、`sys_cards`(卡密)、`sys_orders`(订单)、`sys_pays`(支付配置)、`sys_coupon`(优惠券)。系统表以 `sys_` 前缀命名,使用 RBAC 权限模型(`sys_user` / `sys_role` / `sys_menu` 及关联表)。
### 支付集成
支付实现集中在 `common.core.pays` 包下,每种支付方式一个子包。支付配置存储在 `sys_pays` 表中JSON 格式保存各渠道参数。回调统一由 `reception.controller.NotifyController` 处理。
## 编码约定
- Java 8 语法UTF-8 编码
- 实体类使用 Lombok (`@Data`, `@TableName` 等)
- MyBatis-Plus 注解映射XML Mapper 与 Java 文件同目录(`classpath:com/bomaos/**/*Mapper.xml`
- 下划线数据库字段自动映射驼峰命名 (`map-underscore-to-camel-case: true`)
- 时间格式统一 `yyyy/MM/dd HH:mm:ss`,时区 GMT+8
- 操作日志通过 AOP 切面 (`OperLogAspect`) 自动记录