feat(partner): 全系统收益与分润用词脱敏改造(统一采用奖励规范)

这个提交包含在:
chen
2026-09-17 14:33:49 +08:00
父节点 213be6af25
当前提交 8e84dc3fcc
共有 19 个文件被更改,包括 128 次插入 和 128 次删除

查看文件

@@ -47,13 +47,13 @@ class Reward extends Common
'user_nickname' => '受益人',
'buyer_nickname' => '买家',
'order_id' => '订单',
'reward_type_text' => '奖项',
'role_text' => '角色',
'amount' => '金额',
'reward_type_text' => '奖励类型',
'role_text' => '合伙身份',
'amount' => '结算金额',
'madow' => '马豆',
'base_amount' => '基数',
'status_text' => '状态',
'formula' => '公式',
'formula' => '测算摘要',
];
$total = $this->model->sheepFilter()->count();
if ($total <= 0) {
@@ -61,7 +61,7 @@ class Reward extends Common
}
$export = new \addons\shopro\library\Export();
$params = [
'file_name' => '合伙股东收益流水',
'file_name' => '合伙人服务收益结算台账',
'cell_titles' => $cellTitles,
'total' => $total,
'is_sub_cell' => false,

查看文件

@@ -21,7 +21,7 @@ class WalletLog extends Common
const TYPE_MAP = [
'money' => '余额',
'score' => '积分',
'commission' => '佣金'
'commission' => '服务收益'
];
protected $eventMap = [
@@ -42,24 +42,24 @@ class WalletLog extends Common
'recharge_gift' => '线上充值-赠送余额',
'activity_gift' => '活动-赠送余额',
'order_refund' => '订单退款-退还余额',
'transfer_by_commission' => '佣金-转入到余额'
'transfer_by_commission' => '服务收益-转入到余额'
],
'commission' => [
'withdraw' => '提现',
'withdraw_error' => '提现失败-返还佣金',
'reward_income' => '佣金-收益',
'reward_back' => '佣金-退还',
'transfer_to_money' => '佣金-转出到余额',
'push3' => '推三返一',
'maker_diff' => '创客极差奖',
'maker_peer' => '创客平级奖',
'maker_overtaken' => '创客超越奖',
'team_venue' => '酒道馆团队奖',
'team_county' => '区县团队奖',
'venue_peer' => '酒道馆平级奖',
'county_peer' => '区县平级奖',
'venue_share' => '酒道馆平台均分',
'county_share' => '区县平台均分'
'withdraw_error' => '提现失败-返还收益',
'reward_income' => '服务收益-入账',
'reward_back' => '服务收益-退还',
'transfer_to_money' => '服务收益-转出到余额',
'push3' => '推荐开拓奖',
'maker_diff' => '创客进阶奖',
'maker_peer' => '创客协同奖',
'maker_overtaken' => '创客卓越奖',
'team_venue' => '酒道馆运营奖',
'team_county' => '区县统筹奖',
'venue_peer' => '酒道馆协同奖',
'county_peer' => '区县协同奖',
'venue_share' => '酒道馆加权奖励',
'county_share' => '区县加权奖励'
]
];

查看文件

@@ -37,7 +37,7 @@
<el-table-column label="一级(自购)佣金比例" min-width="160">
<template #default="scope"> {{ scope.row.commission_rules?.commission_1 }}% </template>
</el-table-column>
<el-table-column label="极差基数" min-width="120">
<el-table-column label="进阶奖励基数" min-width="120">
<template #default="scope">
<span v-if="Number(scope.row.level) >= 2">¥{{ state.makerBonus[scope.row.level] || state.makerBonus[String(scope.row.level)] || '-' }}</span>
<span v-else>-</span>

查看文件

@@ -898,7 +898,7 @@
<el-form-item label="关系链最大深度">
<el-input class="sa-w-360" v-model="form.model.partner_chain_max_depth" type="number"></el-input>
</el-form-item>
<div class="sa-title is-line">推三返一</div>
<div class="sa-title is-line">推荐开拓奖</div>
<el-form-item label="循环金额">
<div class="sa-flex" style="gap:8px">
<el-input class="sa-w-120" v-model="form.model.partner_push3_amounts[0]"></el-input>

查看文件

@@ -63,7 +63,7 @@
</el-container>
<!-- 日结预跑试算弹窗 (Dry Run) -->
<el-dialog v-model="previewDialog.visible" title="日结分润试算 (Dry Run 预跑监控)" width="820px" destroy-on-close>
<el-dialog v-model="previewDialog.visible" title="日结收益试算 (Dry Run 预跑监控)" width="820px" destroy-on-close>
<div style="margin-bottom:16px;" class="sa-flex sa-row-between">
<div class="sa-flex" style="gap:10px;">
<span style="font-size:13px;color:#606266;">试算日期:</span>
@@ -86,11 +86,11 @@
<div style="font-size:16px;font-weight:bold;margin-top:2px;">¥ {{ previewDialog.result.gmv }}</div>
</el-col>
<el-col :span="6">
<div style="font-size:12px;color:#909399;">当日即时奖 (推三/极差等)</div>
<div style="font-size:12px;color:#909399;">当日即时奖励 (推荐/进阶等)</div>
<div style="font-size:16px;font-weight:bold;color:#f56c6c;margin-top:2px;">¥ {{ previewDialog.result.financial?.instant_cash }}</div>
</el-col>
<el-col :span="6">
<div style="font-size:12px;color:#909399;">日结均分现金 (馆/县)</div>
<div style="font-size:12px;color:#909399;">日结加权现金 (馆/县)</div>
<div style="font-size:16px;font-weight:bold;color:#f56c6c;margin-top:2px;">¥ {{ previewDialog.result.financial?.daily_cash }}</div>
</el-col>
<el-col :span="6">
@@ -101,7 +101,7 @@
</el-col>
</el-row>
<div v-if="previewDialog.result.financial?.is_alert" style="margin-top:8px;font-size:12px;color:#f56c6c;">
⚠️ 注意:当日综合现金拨比超过 70% 财务风控警示线,建议关注极差/平级奖金释放与均分池规模。
⚠️ 注意:当日综合现金拨比超过 70% 财务风控警示线,建议关注进阶/协同奖励释放与加权池规模。
</div>
<div style="margin-top:8px;font-size:12px;color:#67c23a;">
💡 沉淀资金效益:因分母为0留存平台的酒道馆/区县资金为 <b>¥ {{ previewDialog.result.financial?.saved_cash }}</b>。
@@ -112,33 +112,33 @@
<el-row :gutter="16" style="margin-bottom:16px;">
<el-col :span="8">
<div style="background:#f4f4f5;padding:12px;border-radius:6px;">
<div style="font-weight:600;font-size:13px;margin-bottom:6px;">酒道馆均分池</div>
<div style="font-weight:600;font-size:13px;margin-bottom:6px;">酒道馆加权奖励池</div>
<div style="font-size:12px;color:#606266;line-height:1.8;">
奖池总额:¥ <b>{{ previewDialog.result.venue?.pool }}</b><br>
合格人数:<b>{{ previewDialog.result.venue?.user_count }}</b> 人<br>
人均分润:¥ <b>{{ previewDialog.result.venue?.each }}</b><br>
人均奖励:¥ <b>{{ previewDialog.result.venue?.each }}</b><br>
沉淀金额:¥ <b>{{ previewDialog.result.venue?.saved }}</b>
</div>
</div>
</el-col>
<el-col :span="8">
<div style="background:#f4f4f5;padding:12px;border-radius:6px;">
<div style="font-weight:600;font-size:13px;margin-bottom:6px;">区县代理均分池</div>
<div style="font-weight:600;font-size:13px;margin-bottom:6px;">区县代理加权奖励池</div>
<div style="font-size:12px;color:#606266;line-height:1.8;">
奖池总额:¥ <b>{{ previewDialog.result.county?.pool }}</b><br>
合格人数:<b>{{ previewDialog.result.county?.user_count }}</b> 人<br>
人均分润:¥ <b>{{ previewDialog.result.county?.each }}</b><br>
人均奖励:¥ <b>{{ previewDialog.result.county?.each }}</b><br>
沉淀金额:¥ <b>{{ previewDialog.result.county?.saved }}</b>
</div>
</div>
</el-col>
<el-col :span="8">
<div style="background:#f4f4f5;padding:12px;border-radius:6px;">
<div style="font-weight:600;font-size:13px;margin-bottom:6px;">马豆分红池 (1:1 GMV)</div>
<div style="font-weight:600;font-size:13px;margin-bottom:6px;">马豆贡献池 (1:1 GMV)</div>
<div style="font-size:12px;color:#606266;line-height:1.8;">
马豆总池:<b>{{ previewDialog.result.madow?.pool }}</b> 豆<br>
合格人数:<b>{{ previewDialog.result.madow?.user_count }}</b> 人<br>
人均分豆:<b>{{ previewDialog.result.madow?.each }}</b><br>
人均马豆:<b>{{ previewDialog.result.madow?.each }}</b><br>
即时汇率:<b>{{ previewDialog.result.rate }}</b>
</div>
</div>

查看文件

@@ -47,9 +47,9 @@
<span v-else>{{ scope.row.order?.order_sn || scope.row.order_id }}</span>
</template>
</el-table-column>
<el-table-column prop="reward_type_text" label="奖项" min-width="120"></el-table-column>
<el-table-column prop="role_text" label="角色" min-width="80"></el-table-column>
<el-table-column label="金额" min-width="90">
<el-table-column prop="reward_type_text" label="奖励类型" min-width="120"></el-table-column>
<el-table-column prop="role_text" label="合伙身份" min-width="80"></el-table-column>
<el-table-column label="结算金额" min-width="90">
<template #default="scope"> {{ scope.row.amount }} </template>
</el-table-column>
<el-table-column label="马豆" min-width="110">
@@ -63,11 +63,11 @@
</span>
</template>
</el-table-column>
<el-table-column prop="formula" label="公式摘要" min-width="200"></el-table-column>
<el-table-column prop="formula" label="测算摘要" min-width="200"></el-table-column>
<el-table-column label="操作" min-width="180" fixed="right">
<template #default="scope">
<el-button v-if="scope.row.order_id > 0" type="primary" link @click="onOrderTree(scope.row)">整单透视</el-button>
<el-button type="primary" link @click="onViewExt(scope.row)">查看公式</el-button>
<el-button type="primary" link @click="onViewExt(scope.row)">测算明细</el-button>
{if $auth->check('shopro/partner/reward/back')}
<el-button v-if="scope.row.status==1 && !scope.row.settle_date" type="danger" link
@click="onBack(scope.row)">退回</el-button>
@@ -85,13 +85,13 @@
</el-footer>
</el-container>
<sa-filter v-model="state.filter" @filter-change="onChangeFilter"></sa-filter>
<el-dialog v-model="ext.visible" title="公式明细" width="520px">
<el-dialog v-model="ext.visible" title="测算明细" width="520px">
<pre style="white-space:pre-wrap">{{ ext.text }}</pre>
</el-dialog>
<el-dialog v-model="reissue.visible" title="手工补发" width="480px">
<el-form label-width="90px">
<el-form-item label="用户ID"><el-input v-model="reissue.form.user_id"></el-input></el-form-item>
<el-form-item label="奖项"><el-input v-model="reissue.form.reward_type" placeholder="如 push3"></el-input></el-form-item>
<el-form-item label="奖励类型"><el-input v-model="reissue.form.reward_type" placeholder="如 push3"></el-input></el-form-item>
<el-form-item label="金额"><el-input v-model="reissue.form.amount"></el-input></el-form-item>
<el-form-item label="订单ID"><el-input v-model="reissue.form.order_id"></el-input></el-form-item>
<el-form-item label="备注"><el-input v-model="reissue.form.memo" type="textarea"></el-input></el-form-item>
@@ -101,7 +101,7 @@
<el-button type="primary" @click="onReissue">确定</el-button>
</template>
</el-dialog>
<el-dialog v-model="orderTreeDialog.visible" title="订单分润透视(利益分配树)" width="860px" destroy-on-close>
<el-dialog v-model="orderTreeDialog.visible" title="订单服务收益透视(结算明细树)" width="860px" destroy-on-close>
<div v-loading="orderTreeDialog.loading">
<div style="background:#f8f9fa;padding:14px;border-radius:6px;margin-bottom:16px;">
<el-row :gutter="16">
@@ -127,36 +127,36 @@
<el-divider style="margin:12px 0"></el-divider>
<el-row :gutter="16">
<el-col :span="8">
<div style="color:#909399;font-size:12px;">本单现金分润总额</div>
<div style="color:#909399;font-size:12px;">本单服务收益总额</div>
<div style="font-weight:bold;font-size:18px;color:#f56c6c;margin-top:2px;">¥ {{ orderTreeDialog.data.summary?.total_cash || '0.00' }}</div>
</el-col>
<el-col :span="8">
<div style="color:#909399;font-size:12px;">现金综合拨比率</div>
<div style="color:#909399;font-size:12px;">综合结算拨比率</div>
<div style="font-weight:bold;font-size:18px;margin-top:2px;" :style="{color: parseFloat(orderTreeDialog.data.summary?.payout_ratio || 0) > 70 ? '#e6a23c' : '#67c23a'}">
{{ orderTreeDialog.data.summary?.payout_ratio || '0%' }}
</div>
</el-col>
<el-col :span="8">
<div style="color:#909399;font-size:12px;">分红马豆 (1:1 GMV)</div>
<div style="color:#909399;font-size:12px;">贡献马豆 (1:1 GMV)</div>
<div style="font-weight:bold;font-size:18px;color:#409eff;margin-top:2px;">{{ orderTreeDialog.data.summary?.total_madow || '0.00000000' }}</div>
</el-col>
</el-row>
<div v-if="orderTreeDialog.data.voucher_plan" style="margin-top:12px;background:#fff;padding:8px 12px;border-radius:4px;border:1px dashed #dcdfe6;font-size:12px;color:#606266;">
<span style="font-weight:600;color:#303133;">1.5倍兑换券履约计划:</span>
<span style="font-weight:600;color:#303133;">1.5倍消费补贴履约计划:</span>
总额 ¥ {{ orderTreeDialog.data.voucher_plan.total_amount }},已释放 ¥ {{ orderTreeDialog.data.voucher_plan.released_amount }} (已释放 {{ orderTreeDialog.data.voucher_plan.released_days }}/365天),状态:{{ orderTreeDialog.data.voucher_plan.status_text }}
</div>
</div>
<div style="font-weight:600;margin-bottom:8px;font-size:14px;">利益链分配明细</div>
<div style="font-weight:600;margin-bottom:8px;font-size:14px;">服务收益分配明细</div>
<el-table :data="orderTreeDialog.data.rewards || []" size="small" border stripe max-height="320">
<el-table-column prop="role_text" label="受益角色" width="90"></el-table-column>
<el-table-column prop="role_text" label="结算身份" width="90"></el-table-column>
<el-table-column label="受益人" min-width="130">
<template #default="scope">
<span>{{ scope.row.user_nickname }} (ID:{{ scope.row.user_id }})</span>
</template>
</el-table-column>
<el-table-column prop="reward_type_text" label="奖项" width="130"></el-table-column>
<el-table-column label="现金金额" width="100">
<el-table-column prop="reward_type_text" label="奖励类型" width="130"></el-table-column>
<el-table-column label="结算金额" width="100">
<template #default="scope">
<span style="font-weight:600;color:#f56c6c;">¥ {{ scope.row.amount }}</span>
</template>
@@ -169,7 +169,7 @@
</span>
</template>
</el-table-column>
<el-table-column prop="formula" label="计算规则/说明" min-width="180"></el-table-column>
<el-table-column prop="formula" label="测算规则/说明" min-width="180"></el-table-column>
</el-table>
</div>
<template #footer>