专属授信、返利与资金池
本文整理专属授信现金池、授信活动、服务站申请、额度调整、OA 审批、返利账户。该链路影响采购支付、白条、额度占用、还款和财务报表。
业务目标
- OPS 配置专属授信资金池。
- 创建授信活动,限制服务站范围、品牌、额度和有效期。
- 服务站报名或申请额度。
- OA 审批后额度生效。
- 采购、还款、退款、调整会影响授信余额。
- 专属返利可作为单独账户或权益参与采购。
入口文件
- 内部控制器:
application/controllers/inner/ExclusiveBaitiao.php - 专属授信服务:
application/Services/ExclusiveBaitiao/* - 额度调整:
application/Services/ExclusiveBaitiao/Adjust/* - 专属返利:
application/Services/ExclusiveRebate/ExclusiveRebateSer.php - 白条任务:
application/controllers/tasks/Baitiao.php - 支付回调:
application/controllers/tasks/PayCenterNotify.php
核心表
| 表 | 用途 | | --- | --- | | t_bs_exclusive_baitiao_cash_pool | 专属授信资金池 | | t_bs_exclusive_baitiao_activity | 授信活动 | | t_bs_exclusive_baitiao_activity_relations | 活动关联服务站 | | t_bs_exclusive_baitiao_activity_apply | 活动报名/申请 | | t_bs_baitiao_adjust_log | 白条调整记录 | | t_bs_baitiao_apply | 授信申请 | | t_bs_baitiao_apply_info | 授信申请明细 | | t_bs_cc_station_adjust / t_bs_cc_station_adjust_info | 服务站额度调整 | | t_scm_repayment_order | 授信还款单 |
核心方法
资金池:
CashPoolSer::add:新增资金池。CashPoolSer::submitReview:提交 OA。CashPoolSer::reviewed/reviewFailed:审批通过/失败。CashPoolSer::effect:生效。CashPoolSer::switch:启停。CashPoolSer::getCurrentMonthCashPool:当前资金池。
活动:
ActivitySer::add:新增授信活动。ActivitySer::addApply:新增报名申请。ActivitySer::open/close:启停活动。ActivitySer::addStations/getStations:服务站范围。ActivitySer::uploadExcel:导入服务站。ActivitySer::submitReviewApply:提交申请审批。
调整:
AdjustSer::create:创建调整单。AdjustSer::submitOA:提交 OA。AdjustSer::effect/noPass:审批生效/驳回。AdjustFactory:按调整类型分发到服务站、活动、白条调整。
返利:
ExclusiveRebateSer::getAccountList:返利账户。ExclusiveRebateSer::checkAllowSku:检查商品是否允许使用。ExclusiveRebateSer::saveExclusiveRebate:保存规则。ExclusiveRebateSer::importErMateriel:导入返利物料。
主流程
flowchart TD
A["创建资金池"] --> B["提交 OA 审批"]
B --> C["资金池生效"]
C --> D["创建授信活动"]
D --> E["配置服务站和品牌/物料范围"]
E --> F["服务站申请或报名"]
F --> G["OA 审批"]
G --> H["额度生效"]
H --> I["采购占用额度"]
I --> J["还款/退款/调整释放或变更额度"]
异常流程
- 资金池无法生效:查 OA 状态、资金池有效期、额度字段。
- 服务站看不到活动:查活动状态、服务站范围、限制名单。
- 额度不足:查活动剩余额度、资金池剩余额度、服务站已占用/待生效额度。
- OA 通过但额度没变:查
effect方法、调整记录、回调模板。 - 返利不能用:查商品是否在允许范围、账户余额、规则状态。
常用 SQL
select * from t_bs_exclusive_baitiao_cash_pool where id = :pool_id;
select * from t_bs_exclusive_baitiao_activity where id = :activity_id;
select * from t_bs_exclusive_baitiao_activity_relations where activity_id = :activity_id and sid = :sid;
select * from t_bs_exclusive_baitiao_activity_apply where activity_id = :activity_id and sid = :sid;
select * from t_bs_baitiao_adjust_log where sid = :sid order by id desc limit 50;
select * from t_scm_repayment_order where sid = :sid order by id desc limit 50;
常用 rg 命令
rg -n "class ExclusiveBaitiao|addCashPool|submitOA|activityAddStations|adjustCreate" application/controllers/inner/ExclusiveBaitiao.php
rg -n "CashPoolSer|ActivitySer|AdjustSer|AdjustFactory|StationAdjustSer|CcStationAdjustSer" application/Services/ExclusiveBaitiao
rg -n "ExclusiveRebateSer|checkAllowSku|importErMateriel" application/Services/ExclusiveRebate
rg -n "baitiao_return|BAITIAO|SCM_REPAYMENT_ORDER" application/controllers/tasks application/Services application/KzData/Enums
改动风险和回归清单
- 资金池:新增、编辑、提交审批、审批通过、启停。
- 活动:新增、服务站导入、开关、报名申请、审批。
- 额度:占用、释放、手工调整、自动调整、逾期。
- 支付:授信采购、还款、退款、重复回调。
- 返利:账户余额、商品范围、导入、采购使用。