分销开发文档
本仓库存在 两套分销体系,勿混淆:
| 体系 | Bundle | 场景 |
|---|---|---|
| 店铺分销 | DistributionBundle | 门店/云店/O2O、经销商、分润提现 |
| 推广员分销 | PopularizeBundle | 社交推广员、佣金、推广链接 |
下文先写 DistributionBundle 实现,再列 PopularizeBundle 代表性入口。
1. 相关 Bundle(店铺分销)
| Bundle | 职责 |
|---|---|
| DistributionBundle | 店铺 CRUD、基础配置、分润日志、提现 |
| OrdersBundle | 订单 distributor_id 归属 |
| GoodsBundle | 店铺商品、佣金比例 |
2. DistributionBundle 核心文件
src/DistributionBundle/
├── Http/Api/V1/Action/Distributor.php
├── Http/Api/V1/Action/BasicConfig.php
├── Http/Api/V1/Action/CashWithdrawal.php
├── Http/Api/V1/Action/DistributeLogs.php
├── Services/DistributorService.php
├── Services/BasicConfigService.php
├── Services/CashWithdrawalService.php
├── Entities/Distributor.php
├── Entities/BasicConfig.php
├── Entities/CashWithdrawal.php
├── Events/DistributorCreateEvent.php
├── Jobs/AddDistributorItems.php
└── Providers/EventServiceProvider.php路由文件:routes/api/distributor.php(另有 routes/frontapi/distributor.php、routes/admin/distributor.php)。
| 方法 | 路径 | Action |
|---|---|---|
| POST | /api/distribution/basic_config | BasicConfig@saveBasicConfig |
| PUT | /api/distribution/cash_withdrawal/{id} | CashWithdrawal@processCashWithdrawal |
| POST | /api/distributor/items | Distributor@saveDistributorItems |
| POST | /api/distributor | Distributor@createDistributor |
| GET | /api/distributors | Distributor@getDistributorList |
| GET | /api/distribution/logs | DistributeLogs@getDistributeLogs |
3. 事件(店铺分销)
| Event | 说明 |
|---|---|
DistributorCreateEvent | 店铺创建 → OME/数云等同步 Listener |
支付完成后分润逻辑多在 OrdersBundle\Listeners(TradeFinishEvent 下游)。
4. 数据表(店铺分销)
distribution_distributor— 店铺主表distribution_distribute_logs— 分润记录distribution_cash_withdrawal— 提现
5. PopularizeBundle(推广员)
路由:routes/api/popularize.php
| 方法 | 路径 | Action |
|---|---|---|
| GET | /api/popularize/promoter/list | PromoterController@getPromoterList |
| GET | /api/popularize/brokerage/logs | BrokerageController@getBrokerageList |
| POST | /api/popularize/config | SettingController@setConfig |
