mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-19 18:45:03 +08:00
185 lines
5.4 KiB
Markdown
185 lines
5.4 KiB
Markdown
[根目录](../CLAUDE.md) > **jsowell-pile**
|
||
|
||
# jsowell-pile 模块
|
||
|
||
充电桩业务核心模块,包含订单、会员、计费、支付等核心业务逻辑。
|
||
|
||
---
|
||
|
||
## 变更记录 (Changelog)
|
||
|
||
### 2026-02-03 11:32:30
|
||
- 初始化模块文档
|
||
- 识别 80 个 Service 实现类
|
||
- 统计 60+ Mapper XML 文件
|
||
|
||
---
|
||
|
||
## 模块职责
|
||
|
||
- **订单管理**: 充电订单创建、结算、分账、退款
|
||
- **会员服务**: 会员注册、钱包管理、积分系统
|
||
- **计费管理**: 计费模板、时段电价、服务费
|
||
- **支付集成**: 微信支付、支付宝、汇付支付(Adapay)
|
||
- **设备管理**: 充电桩、充电枪、站点信息
|
||
- **商户管理**: 商户信息、分账配置、清算账单
|
||
|
||
---
|
||
|
||
## 入口与启动
|
||
|
||
本模块为业务模块,无独立启动入口,由 `jsowell-admin` 模块引用。
|
||
|
||
### 核心 Service
|
||
|
||
| Service | 说明 |
|
||
|---------|------|
|
||
| `OrderBasicInfoServiceImpl` | 订单核心服务(创建、结算、分账) |
|
||
| `MemberBasicInfoServiceImpl` | 会员服务 |
|
||
| `MemberWalletInfoServiceImpl` | 钱包服务 |
|
||
| `MemberPointsInfoServiceImpl` | 积分服务 |
|
||
| `PileStationInfoServiceImpl` | 站点服务 |
|
||
| `PileBasicInfoServiceImpl` | 充电桩服务 |
|
||
| `PileConnectorInfoServiceImpl` | 充电枪服务 |
|
||
| `PileBillingTemplateServiceImpl` | 计费模板服务 |
|
||
| `WechatPayServiceImpl` | 微信支付服务 |
|
||
| `AdapayService` | 汇付支付服务 |
|
||
|
||
---
|
||
|
||
## 对外接口
|
||
|
||
### RPC 服务
|
||
|
||
```java
|
||
// WccServiceImpl.java - Dubbo RPC 服务
|
||
@DubboService
|
||
public class WccServiceImpl implements WccService {
|
||
// 提供给其他服务调用的接口
|
||
}
|
||
```
|
||
|
||
### RabbitMQ 消费者
|
||
|
||
```java
|
||
// OrderRabbitListener.java
|
||
@RabbitListener(queues = RabbitConstants.ORDER_QUEUE)
|
||
public void handleOrderMessage(Message message) {
|
||
// 处理订单消息
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 关键依赖与配置
|
||
|
||
### Maven 依赖
|
||
|
||
```xml
|
||
<dependencies>
|
||
<dependency>
|
||
<groupId>com.jsowell</groupId>
|
||
<artifactId>jsowell-framework</artifactId>
|
||
</dependency>
|
||
<dependency>
|
||
<groupId>com.baomidou</groupId>
|
||
<artifactId>mybatis-plus-boot-starter</artifactId>
|
||
<version>3.4.0</version>
|
||
</dependency>
|
||
<dependency>
|
||
<groupId>com.huifu.adapay</groupId>
|
||
<artifactId>adapay-java-sdk</artifactId>
|
||
</dependency>
|
||
<dependency>
|
||
<groupId>com.alipay.sdk</groupId>
|
||
<artifactId>alipay-sdk-java</artifactId>
|
||
</dependency>
|
||
</dependencies>
|
||
```
|
||
|
||
---
|
||
|
||
## 数据模型
|
||
|
||
### 核心实体
|
||
|
||
| 实体类 | 数据库表 | 说明 |
|
||
|--------|---------|------|
|
||
| `OrderBasicInfo` | `order_basic_info` | 充电订单 |
|
||
| `OrderPayRecord` | `order_pay_record` | 支付记录 |
|
||
| `OrderSplitRecord` | `order_split_record` | 分账记录 |
|
||
| `MemberBasicInfo` | `member_basic_info` | 会员信息 |
|
||
| `MemberWalletInfo` | `member_wallet_info` | 会员钱包 |
|
||
| `MemberPointsInfo` | `member_points_info` | 会员积分 |
|
||
| `PileStationInfo` | `pile_station_info` | 充电站 |
|
||
| `PileBasicInfo` | `pile_basic_info` | 充电桩 |
|
||
| `PileConnectorInfo` | `pile_connector_info` | 充电枪 |
|
||
| `PileBillingTemplate` | `pile_billing_template` | 计费模板 |
|
||
| `PileMerchantInfo` | `pile_merchant_info` | 商户信息 |
|
||
| `ClearingBillInfo` | `clearing_bill_info` | 清算账单 |
|
||
|
||
### Mapper XML 文件
|
||
|
||
位置:`src/main/resources/mapper/pile/`
|
||
|
||
主要文件:
|
||
- `OrderBasicInfoMapper.xml` (3620 行)
|
||
- `PileMerchantInfoMapper.xml` (1304 行)
|
||
- `PersonalChargingRecordMapper.xml` (1413 行)
|
||
- `OrderDetailMapper.xml` (1306 行)
|
||
- `OrderPileOccupyMapper.xml` (1043 行)
|
||
|
||
---
|
||
|
||
## 测试与质量
|
||
|
||
### 单元测试
|
||
|
||
测试位于 `jsowell-admin/src/test/java/`,涉及本模块的测试:
|
||
- `OrderServiceWhitelistCompletionTest`
|
||
- `WhitelistOrderCompletionDefaultsTest`
|
||
|
||
---
|
||
|
||
## 常见问题 (FAQ)
|
||
|
||
### Q: 订单分账失败如何处理?
|
||
检查 `OrderBasicInfoServiceImpl.realTimeOrderSplit()` 方法,查看分账配置和汇付账户状态
|
||
|
||
### Q: 积分发放延迟?
|
||
积分通过 RabbitMQ 异步发放,检查 `PointsRabbitConfig` 配置和消息队列状态
|
||
|
||
### Q: 支付回调未收到?
|
||
检查支付平台回调地址配置,查看 `WxpayCallbackRecord` 或 `AdapayCallbackRecord` 表
|
||
|
||
---
|
||
|
||
## 相关文件清单
|
||
|
||
```
|
||
jsowell-pile/
|
||
├── src/main/java/com/jsowell/
|
||
│ ├── adapay/ # 汇付支付
|
||
│ │ ├── config/ # 支付配置
|
||
│ │ ├── dto/ # 数据传输对象
|
||
│ │ ├── service/ # 支付服务
|
||
│ │ └── vo/ # 视图对象
|
||
│ ├── alipay/ # 支付宝
|
||
│ ├── wxpay/ # 微信支付
|
||
│ ├── mq/ # RabbitMQ 消费者
|
||
│ ├── pile/
|
||
│ │ ├── domain/ # 实体类
|
||
│ │ ├── dto/ # DTO
|
||
│ │ ├── mapper/ # Mapper 接口
|
||
│ │ ├── service/ # Service 接口
|
||
│ │ │ └── impl/ # Service 实现
|
||
│ │ ├── vo/ # VO
|
||
│ │ ├── jcpp/ # JCPP 协议
|
||
│ │ ├── rpc/ # RPC 服务
|
||
│ │ └── transaction/ # 事务服务
|
||
│ └── thirdparty/ # 第三方服务
|
||
├── src/main/resources/
|
||
│ └── mapper/pile/ # Mapper XML (60+ 文件)
|
||
└── src/main/proto/ # Protobuf 定义
|
||
```
|