Files
jsowell-charger-web/jsowell-common/CLAUDE.md

172 lines
4.3 KiB
Markdown
Raw Normal View History

2026-02-03 14:20:30 +08:00
[根目录](../CLAUDE.md) > **jsowell-common**
# jsowell-common 模块
通用工具模块,提供工具类、常量、异常、注解等基础组件。
---
## 变更记录 (Changelog)
### 2026-02-03 11:32:30
- 初始化模块文档
- 识别 60 个枚举类
- 统计 100+ 工具类和数据结构
---
## 模块职责
- **工具类**: 字符串、日期、文件、HTTP 等工具
- **常量定义**: 系统常量、RabbitMQ 常量
- **枚举类**: 订单状态、支付方式、设备状态等
- **注解定义**: 日志、权限、数据源等注解
- **基础实体**: BaseEntity、AjaxResult、R
- **协议数据**: 云快充协议、电动自行车协议数据结构
- **MQ 配置**: RabbitMQ 队列、交换机配置
---
## 入口与启动
本模块为基础工具模块,无独立启动入口。
---
## 对外接口
### 核心类
| 类 | 说明 |
|-----|------|
| `AjaxResult` | 统一返回结果 |
| `R` | 泛型返回结果 |
| `BaseEntity` | 基础实体类 |
| `BaseController` | 基础控制器 |
| `LoginUser` | 登录用户信息 |
### 注解
| 注解 | 说明 |
|------|------|
| `@Log` | 操作日志 |
| `@DataScope` | 数据权限 |
| `@DataSource` | 数据源切换 |
| `@RateLimiter` | 接口限流 |
| `@RepeatSubmit` | 防重复提交 |
| `@Anonymous` | 匿名访问 |
| `@CostTime` | 耗时统计 |
### 枚举类60+
**订单相关**:
- `OrderStatusEnum` - 订单状态
- `OrderPayStatusEnum` - 支付状态
- `OrderPayModeEnum` - 支付方式
- `OrderTypeEnum` - 订单类型
**支付相关**:
- `PayModeEnum` - 支付方式
- `PaymentInstitutionsEnum` - 支付机构
- `AdapayStatusEnum` - 汇付状态
- `AdapayPayChannelEnum` - 汇付渠道
**设备相关**:
- `PileStatusEnum` - 充电桩状态
- `PileConnectorStatusEnum` - 充电枪状态
- `StartModeEnum` - 启动方式
**第三方平台**:
- `ThirdPlatformTypeEnum` - 平台类型
- `ThirdPartyApiEnum` - API 类型
- `ThirdPartyReturnCodeEnum` - 返回码
---
## 关键依赖与配置
### RabbitMQ 配置
```java
// RabbitConfig.java - 主配置
// PointsRabbitConfig.java - 积分队列配置
// DirectRabbitConfig.java - 直连交换机配置
// TopicRabbitConfig.java - 主题交换机配置
```
### 常量定义
```java
// RabbitConstants.java
public class RabbitConstants {
public static final String ORDER_QUEUE = "order.queue";
public static final String POINTS_QUEUE = "points.queue";
// ...
}
```
---
## 数据模型
### 云快充协议数据
| 类 | 说明 |
|-----|------|
| `YKCDataProtocol` | 协议数据 |
| `YKCBaseMessage` | 基础消息 |
| `LoginRequestData` | 登录数据 |
| `RealTimeMonitorData` | 实时监控数据 |
| `TransactionRecordsData` | 交易记录 |
### 设备到平台数据0x01-0xF1
位于 `com.jsowell.common.core.domain.ykc.device2platform/`
### 平台到设备数据0x02-0x56
位于 `com.jsowell.common.core.domain.ykc.platform2device/`
---
## 常见问题 (FAQ)
### Q: 如何添加新的枚举?
`com.jsowell.common.enums` 包下创建,参考现有枚举实现
### Q: 如何添加新的 RabbitMQ 队列?
`RabbitConfig` 或新建配置类中定义 Queue、Exchange、Binding
---
## 相关文件清单
```
jsowell-common/
├── src/main/java/com/jsowell/common/
│ ├── annotation/ # 注解定义
│ ├── config/ # 配置类
│ │ └── mq/ # RabbitMQ 配置
│ ├── constant/ # 常量定义
│ ├── core/
│ │ ├── controller/ # BaseController
│ │ └── domain/ # 基础实体
│ │ ├── entity/ # 系统实体
│ │ ├── model/ # 登录模型
│ │ ├── ykc/ # 云快充协议
│ │ └── ebike/ # 电动自行车协议
│ ├── enums/ # 枚举类 (60+)
│ │ ├── adapay/
│ │ ├── ebike/
│ │ ├── lianlian/
│ │ ├── parkplatform/
│ │ ├── sim/
│ │ ├── thirdparty/
│ │ ├── uniapp/
│ │ └── ykc/
│ ├── exception/ # 异常类
│ ├── filter/ # 过滤器
│ └── utils/ # 工具类
└── pom.xml
```