4.6 KiB
4.6 KiB
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会清除其中所有文件
构建与运行
# 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) 自动记录