[根目录](../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 com.jsowell jsowell-framework com.baomidou mybatis-plus-boot-starter 3.4.0 com.huifu.adapay adapay-java-sdk com.alipay.sdk alipay-sdk-java ``` --- ## 数据模型 ### 核心实体 | 实体类 | 数据库表 | 说明 | |--------|---------|------| | `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 定义 ```