{{ title }}
活跃客户
{{ stat.activeCustomers }}
状态为已激活
可派单 {{ stat.dispatchable }} 位
其中 {{ stat.entryPending }} 位未完成入场
代理总数
{{ stat.totalAgents }}
已激活{{ stat.activeAgents }}
押金总额
¥{{ money(stat.totalDeposit) }}
客户保证金池
今日待支付
¥{{ money(stat.todayPending) }}
{{ stat.today }} 派单任务
今日流程 (派单{{ daily.schedule.dispatch }} 截止 {{ daily.schedule.due }} 清算 {{ daily.schedule.settle }} 汇总{{ daily.schedule.snapshot }})
派单 {{ daily.dispatch.ran ? '已执行' : '未执行' }}
清算 {{ daily.settle.ran ? '已执行' : '待执行' }}
汇总{{ daily.snapshot.ran ? '已执行' : '待执行' }}
今日任务 {{ daily.tasks.total }} 条
待支付{{ daily.tasks.pending }}
已完成{{ daily.tasks.done }}
今日尚未生成派单。请确认宝塔计划任务已配置:
0 6 * * * php {{ dailyRoot }}/bin/daily-cycle.php dispatch
0 19 * * * php {{ dailyRoot }}/bin/daily-cycle.php settle
0 22 * * * php {{ dailyRoot }}/bin/daily-cycle.php snapshot
0 19 * * * php {{ dailyRoot }}/bin/daily-cycle.php settle
0 22 * * * php {{ dailyRoot }}/bin/daily-cycle.php snapshot
快捷操作
当前为骨架阶段:总览数据取自真实数据库,业务操作将在下一阶段接入。
客户列表 ({{ list.length }} 条
归属由注册邀请码确定,代理退出后名下客户自动移交平台,不支持人工调整。
| ID | 姓名 | 手机号 | 归属 | 状态 | 押金 | 入场费 | 提交审核 | 注册时间 |
|---|---|---|---|---|---|---|---|---|
| {{ c.id }} | {{ c.real_name || '-' }} | {{ c.phone }} |
原代理已退出,待移交
|
{{ c.review_remark }}
|
¥{{ money(c.deposit_balance) }} | ¥{{ money(c.entry_fee) }} | {{ c.submitted_at || '-' }} | {{ c.created_at }} |
暂无客户数据
没有匹配「{{ kw }}」的客户
代理列表 ({{ list.length }} 条
| ID | 姓名 | 手机号 | 状态 | 已缴代理费 | 活跃客户 | 邀请码 |
|---|---|---|---|---|---|---|
| {{ a.id }} | {{ a.name || '-' }} | {{ a.phone }} | {{ agentStatus[a.status] || ('状态' + a.status) }}
{{ a.review_remark }}
|
¥{{ money(a.fee_paid) }} | {{ a.active_customer_count }} | {{ a.invite_code }} |
暂无代理数据
没有匹配「{{ kw }}」的代理
今日派单任务 ({{ today }} 单
日常(01:00 定时任务执行;任务09:00 起对客户端可见)
| 付款方 | 收款方 | 支付宝金额 | 微信手续费 | 总额 | 状态 |
|---|---|---|---|---|---|
| #{{ t.payer_id }} | #{{ t.payee_id }} | ¥{{ money(t.alipay_amount) }} | ¥{{ money(t.wechat_fee) }} | ¥{{ money(t.total_amount) }} | {{ taskStatus[t.status] || ('状态' + t.status) }} |
今日暂无派单任务,1:00 自动算单。
代理退出申请 (通过后名下客户移交平台,并按规则退还代理费)
退还资格基于活跃客户数,日常由 03:00 定时任务统计;数据过期时请手动刷新。
| 代理 | 退出理由 | 活跃客户/阈值 | 违约数 | 退还资格 | 退还金额 | 申请时间 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ x.name || '-' }} {{ x.phone }} |
{{ x.apply_reason || '-' }} | {{ x.active_customers }} / {{ x.required_customers }}
阈值已改为 {{ x.current_condition.required }},现为{{ x.current_condition.active }} /
{{ x.current_condition.required }}
活跃数统计于 {{ x.count_date || '从未统计' }},已过期
|
¥{{ money(x.penalty_amount) }} |
{{ x.refund_eligible ? '符合全额退还' : '不予退还' }}
判定仍按申请时快照。
|
¥{{ money(x.refund_amount) }} | {{ x.created_at }} |
暂无退出申请
客户退出申请 (先公示结清结论,代理确认,平台审核;审核通过才退还押金)
代理超时 {{ cfgTime || 24 }} 小时未确认即移交平台审核,并按 agent_penalty_amount 扣违约金)
| 客户 | 所属代理 | 理由 | 结清结论 | 押金 | 状态 | 操作 |
|---|---|---|---|---|---|---|
| {{ c.real_name || '-' }} {{ c.phone }} |
{{ c.agent_name || '平台直管' }} | {{ c.apply_reason || '-' }} |
{{ c.settle_flag ? '已结清' : '未结清' }}
{{ c.remark }}
|
¥{{ money(c.deposit_balance) }} | {{ c.status_text }}
确认截止 {{ c.agent_confirm_deadline }}
|
等代理确认 |
暂无客户退出申请
统一审核 (待处理 {{ auditBadge.total || 0 }} 项)
代理资质{{ auditBadge.agent }}
客户资料{{ auditBadge.profile + auditBadge.payInfo }}
入场押金{{ auditBadge.entry }}
支付凭证{{ auditBadge.paymentProof }}
缴费单{{ auditBadge.fee }}
退出申请{{ auditBadge.exit }}
| ID | 姓名 | 手机号 | 支付宝账号 | 提交时间 | 操作 |
|---|---|---|---|---|---|
| #{{ a.id }} | {{ a.name || '-' }} | {{ a.phone }} | {{ a.alipay_account || '-' }}
已缴代理费¥{{ money(a.fee_paid) }}
|
{{ a.submitted_at || '-' }} |
暂无待审核的代理资质
| 客户 | 手机号 | 真实姓名 | 待审项目 | 来源 | 提交时间 | 操作 |
|---|---|---|---|---|---|---|
| #{{ p.id }} | {{ p.phone }} | {{ p.real_name || '—' }} | 资料 | {{ Number(p.agent_id)>0 ? (p.agent_name || '代理已确认') : '平台直管' }} | {{ p.submitted_at || '-' }} | |
| #{{ p.id }} | {{ p.phone }} | {{ p.real_name || '—' }} | 收款码 | {{ Number(p.agent_id)>0 ? (p.agent_name || '代理已确认') : '平台直管' }} | {{ p.pay_info_submitted_at || '-' }} |
暂无待审核的客户资料
入场流程已卡住:{{ entryStuck }} 位已激活客户都停在
「押金已确认、待第二笔收款人」,但第二笔收款人必须从
已完成入场的客户里挑。
这形成循环等待:每个人都在等别人先完成。
调整派单规则与冷却期对此无效(那管的是撮合间隔,不是入场推进)。
破局办法:任选 1 位客户,点
「确认到账(第二笔收平台)」。
他的第二笔由平台代收(无真实转账),会直接完成入场;
之后其余客户自动从他那里获得收款人,逐个正常「确认到账」即可。
说明:该笔款项将留在平台账上而非转给某位客户,属于财务口径变更,故需单独确认、不会自动执行。
只需对 1 位客户这样做,不要对所有人操作。
| 客户 | 手机号 | 押金金额 | 支付状态 | 凭证 | 提交时间 | 操作 |
|---|---|---|---|---|---|---|
| {{ e.real_name || '-' }} | {{ e.phone }} | ¥{{ money(e.deposit_total) }} | {{ e.deposit_text }} | 查看截图 — | {{ e.deposit_paid_at || '-' }} |
暂无待确认的入场押金
| 客户 | 手机号 | 任务日期 | 应缴 | 申报 | 订单号 | 凭证 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ p.real_name || '-' }} | {{ p.phone }} | {{ p.task_date }} | ¥{{ money(p.type === 1 ? p.alipay_amount : p.wechat_fee) }} | ¥{{ money(p.amount) }} | 查看截图 {{ p.voucher || '—' }} |
暂无待核对的派单凭证
| 缴费单号 | 付款方 | 类型 | 金额 | 凭证 | 状态 | 操作 |
|---|---|---|---|---|---|---|
{{ o.order_no }} |
{{ o.payer_name || '-' }} {{ o.payer_phone }} |
{{ o.fee_type_text }} | ¥{{ money(o.amount) }} | {{ o.transfer_voucher || '-' }} | {{ o.status_text }} |
暂无待确认的缴费单
| 客户 | 所属代理 | 理由 | 结清结论 | 押金 | 状态 | 操作 |
|---|---|---|---|---|---|---|
| {{ c.real_name || '-' }} {{ c.phone }} |
{{ c.agent_name || '平台直管' }} | {{ c.apply_reason || '-' }} |
{{ c.settle_flag ? '已结清' : '未结清' }}
{{ c.remark }}
|
¥{{ money(c.deposit_balance) }} | {{ c.status_text }} | 等代理确认 |
暂无待审核的客户退出申请
缴费单 (确认到账后自动推进客户/代理状态)
| 缴费单号 | 付款方 | 类型 | 金额 | 凭证 | 状态 | 操作 |
|---|---|---|---|---|---|---|
{{ o.order_no }} |
{{ o.payer_type_text }} {{ o.payer_name || '-' }} {{ o.payer_phone }} |
{{ o.fee_type_text }} | ¥{{ money(o.amount) }} | {{ o.transfer_voucher || '-' }} | {{ o.status_text }} | - |
暂无缴费单
派单支付凭证 (核对通过即推进任务为已支付、押金入账,并释放收款方对应押金。
| 客户 | 任务日期 | 类型 | 应缴 | 申报 | 凭证 | 操作 |
|---|---|---|---|---|---|---|
| {{ p.real_name || '-' }} {{ p.phone }} |
{{ p.task_date }} | {{ p.type_text }} | ¥{{ money(p.type === 1 ? p.alipay_amount : p.wechat_fee) }} | ¥{{ money(p.amount) }} | 查看截图 {{ p.voucher }} {{ p.voucher || '—' }} |
暂无待核对的派单凭证
代理推广看板 (扫码与链接点击在服务端无法区分,合并记为「链接访问」)
| 代理 | 手机号 | 短码 | 链接访问 | 注册转化 | 转化率 | 最近访问 |
|---|---|---|---|---|---|---|
| {{ r.name || '-' }} | {{ r.phone }} |
{{ r.share_code }}
未生成
|
{{ r.visits }} | {{ r.registers }} | {{ r.rate }}% | {{ r.last_visit_at || '-' }} |
暂无推广数据
没有匹配「{{ kw }}」的代理
数据库导入 (改表结构不必再登宝塔与 phpMyAdmin。执行前会自动备份涉及的表。)
{{ sqlReport.filename }}
({{ (sqlReport.size/1024).toFixed(1) }} KB,
共 {{ sqlReport.statementCount }} 条语句)
⚠ 包含危险操作:
· {{ k }} —— {{ n }} 条
涉及表:{{ sqlReport.tables.join('、') }}{{ sqlReport.tables.length>=60 ? ' …' : '' }}
| # | 类型 | 语句 |
|---|---|---|
| {{ s.no }} | {{ s.kind }} | {{ s.sql }} |
仅显示前 {{ sqlReport.statements.length }} 条,
共 {{ sqlReport.statementCount }} 条会全部执行
导入前会把涉及到的表完整导出到 storage/db-backups/,出错可据此恢复。
邮件设置 (用于邮箱绑定与密码找回。授权码不会回显,留空即保持原值)
勾选后,对应事件会向管理员邮箱发一封提醒邮件。
用当前已保存的配置发一封测试信。收得到才说明通道真的可用。
邮箱不可用时的兜底手段。重置后请线下告知本人。
对账报表 (收款、押金、代理佣金、提现四条资金线汇总,可导出 CSV 交财务核对)
收款汇总
| 口径 | 笔数 | 支付宝本金 | 微信手续费 | 合计 |
|---|---|---|---|---|
| 按任务日期 | {{ reconData.by_task_date.count }} | ¥{{ money(reconData.by_task_date.alipay) }} | ¥{{ money(reconData.by_task_date.fee) }} | ¥{{ money(reconData.by_task_date.total) }} |
| 按到账日期 | {{ reconData.by_paid_date.count }} | ¥{{ money(reconData.by_paid_date.alipay) }} | ¥{{ money(reconData.by_paid_date.fee) }} | ¥{{ money(reconData.by_paid_date.total) }} |
| 退款 | - | - | - | ¥{{ money(reconData.refund) }} |
两个口径不一致,通常是跨日到账(任务日期与实际到账日不在同一天)。属正常现象,请按财务口径择一核对。
押金
| 期内入账 | {{ reconData.deposit.in.n }} 笔 | ¥{{ money(reconData.deposit.in.amt) }} |
| 期内扣减 | {{ reconData.deposit.out.n }} 笔 | ¥{{ money(reconData.deposit.out.amt) }} |
| 期内净变动 | - | ¥{{ money(reconData.deposit.net) }} |
| 当前押金余额(全部客户) | - | ¥{{ money(reconData.deposit.balance) }} |
代理佣金
| 待结 | {{ reconData.commission.pending.n }} 笔 | ¥{{ money(reconData.commission.pending.amt) }} |
| 已结 | {{ reconData.commission.settled.n }} 笔 | ¥{{ money(reconData.commission.settled.amt) }} |
提现
| 待审 | {{ reconData.withdrawal.waiting.n }} 笔 | ¥{{ money(reconData.withdrawal.waiting.amt) }} |
| 已完 | {{ reconData.withdrawal.done.n }} 笔 | ¥{{ money(reconData.withdrawal.done.amt) }} |
| 已驳 | {{ reconData.withdrawal.rejected.n }} 笔 | ¥{{ money(reconData.withdrawal.rejected.amt) }} |
| 实际待付(待审核 + 已驳回) | - | ¥{{ money(reconData.withdrawal.pending_amount) }} |
逐笔明细
明细加载中…
| 单号 | 任务日期 | 到账日期 | 付款方 | 收款方 | 支付方式 | 手续费 | 合计 | 状态 |
|---|---|---|---|---|---|---|---|---|
| #{{ d.id }} | {{ d.task_date }} | {{ d.paid_date || '-' }} | {{ d.payer }} | {{ d.payee }} | ¥{{ money(d.alipay) }} | ¥{{ money(d.fee) }} | ¥{{ money(d.total) }} | {{ payStatusText(d.status) }} |
| 单号 | 日期 | 客户 | 变动 | 变动后余额 | 类型 | 备注 |
|---|---|---|---|---|---|---|
| #{{ d.id }} | {{ d.biz_date }} | {{ d.customer }} | {{ money(d.change_amount) }} | ¥{{ money(d.balance_after) }} | {{ d.type === 1 ? '入账' : '扣减' }} | {{ d.remark }} |
| 单号 | 日期 | 代理 | 客户 | 金额 | 状态 |
|---|---|---|---|---|---|
| #{{ d.id }} | {{ d.biz_date }} | {{ d.agent }} | {{ d.customer }} | ¥{{ money(d.amount) }} | {{ d.status === 1 ? '已结清' : '待结算' }} |
| 单号 | 日期 | 客户 | 代理 | 金额 | 类型 | 支付宝账号 | 状态 |
|---|---|---|---|---|---|---|---|
| #{{ d.id }} | {{ d.biz_date }} | {{ d.customer }} | {{ d.agent }} | ¥{{ money(d.amount) }} | {{ d.type === 1 ? '代理提现' : '客户提现' }} | {{ d.alipay_account }} | {{ d.status === 1 ? '已完成' : (d.status === 2 ? '已驳回' : '待审核') }} |
该时间段内没有{{ reconDetailName }}记录
仅显示前 5000 条,导出 CSV 可获得完整数据。
业务参数 (修改后即时保存;金额类参数影响派单与退费,每次变更都会记入审计日志。
{{ g.label }}{{ g.count }}
当前生效:阿里云 OSS。凭证图直连对象存储,不占用本站带宽。
当前生效:本地磁盘。凭证图经本站服务器中转,占用整站带宽;
手机端弱网时图片可能加载较慢。
(配置期望 {{ storageWant }},实际 {{ storageActive }}——
OSS 参数不完整时会自动降级为本地盘,请检查下方「对象存储参数」)
对象存储参数
填写阿里云 OSS 的访问信息。切换存储桶、轮换密钥都在这里完成,
不需要改任何代码。AccessKey 密钥加密存储,且永不回显。
留空可由 Bucket + Endpoint 推导
填域名即可,协议会自动补 https://。留空则按「三级域名」规则推导。
{{ ossMeta.source === 'database' ? '数据库(管理端维护)' : 'config/config.php(兜底)' }}
{{ ossTest2.ok ? '✓ ' : '✗ ' }}{{ ossTest2.reason }}
{{ ossTest2.hint }}
{{ k }}: {{ v }}
· 安全要求:Bucket 读写权限必须设为私有;
若开启过「静态网站托管」请关闭,否则公网可绕过签名直接读图。
· 测试连接使用上方表单的当前值,不会保存,方便填错时反复试。
· 「保存参数」只更新凭证,不切换存储。切换请在上方选择「阿里云 OSS」后保存。
当前使用本地磁盘存储凭证图,无需填写对象存储参数。
若要改用阿里云 OSS,请在上方把「凭证图存储方式」选择为「阿里云 OSS」,
参数输入框会随即出现。
| 参数名称 | 参数值 | 说明 | 操作 |
|---|---|---|---|
|
{{ c.label }}
{{ c.group_label }}
|
{{ c.unit }} | {{ c.description }} |
暂无配置数据
冷却期设置参考
按客户规模选择
| 客户规模 | 建议冷却期 | 说明 | 来源 |
|---|---|---|---|
| {{ r.range }} | {{ r.days }} | {{ r.note }} |
冷却期越长,撮合越稳定;客户少时调短冷却期反而更糟——引擎会频繁降级以凑够匹配,配置值形同虚设。
标「实测」的行为用真实撮合引擎连续跑 21 天的结果;标「推算」的为按约束估算。投产后请以实际锁死告警为准。