From a67e23391ea85ed0ee76278e5e5bd876aa5a11b7 Mon Sep 17 00:00:00 2001 From: wikiboss Date: Thu, 17 Sep 2026 15:08:46 +0800 Subject: [PATCH] =?UTF-8?q?fix(agent):=20=E8=A7=84=E8=8C=83=E5=88=86?= =?UTF-8?q?=E9=94=80=E5=95=86=E8=AF=A6=E6=83=85=E5=B1=95=E7=A4=BA=EF=BC=8C?= =?UTF-8?q?=E6=98=8E=E7=A1=AE=E5=90=88=E4=BC=99=E8=82=A1=E4=B8=9C=E4=BB=85?= =?UTF-8?q?=E4=B8=BA=E4=BC=9A=E5=91=98=E8=BF=9B=E9=98=B6=E8=BA=AB=E4=BB=BD?= =?UTF-8?q?=E5=B9=B6=E6=9D=9C=E7=BB=9D=E8=AF=AF=E5=AF=BC=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修复非合伙股东会员(品酒师)被误判为自购考核已暂停的问题,明确赋值为免自购考核 - 分离基础会员信息与合伙股东进阶身份展示,对非合伙股东提供清晰的身份说明与免考核提示 - 纠正佣金规则提示文案为收益中心固定金额规则,收益现金统一规范为收益中心累计现金 - 列表页与详情页同步优化非合伙股东 30 日活跃状态呈现 - 增加 TDD 自动化验证测试套件 verify_agent_partner_identity_spec.js 并通过全部回归测试 --- .../controller/shopro/commission/Agent.php | 41 ++++-- .../view/shopro/commission/agent/detail.html | 117 ++++++++++++------ .../view/shopro/commission/agent/index.html | 13 +- tests/verify_agent_partner_identity_spec.js | 54 ++++++++ 4 files changed, 178 insertions(+), 47 deletions(-) create mode 100644 tests/verify_agent_partner_identity_spec.js diff --git a/application/admin/controller/shopro/commission/Agent.php b/application/admin/controller/shopro/commission/Agent.php index ebfcb38..6b597f3 100644 --- a/application/admin/controller/shopro/commission/Agent.php +++ b/application/admin/controller/shopro/commission/Agent.php @@ -58,18 +58,43 @@ class Agent extends Common $last = intval($detail->last_self_order_time ?? 0); $days = \addons\shopro\service\partner\PartnerConfig::activeDays(); $ago = $last ? intval(floor((time() - $last) / 86400)) : null; - $cash = \app\admin\model\shopro\partner\Reward::where('user_id', $id) - ->where('status', 1) - ->where('amount', '>', 0) - ->sum('amount'); + + $identityInfo = \addons\shopro\service\partner\IdentityService::build($detail); + $isPartner = !empty($identityInfo['is_partner']); + $detail->is_partner = $isPartner ? 1 : 0; $detail->next_push3_amount = number_format((float) $next, 2, '.', ''); $detail->next_push3_text = '第 ' . ($seq + 1) . ' 单将返 ' . $detail->next_push3_amount; $detail->last_self_order_text = $last ? date('Y-m-d H:i:s', $last) : '从未下单'; - $detail->active_status_text = !empty($detail->active_30d) - ? '正常领取' - : ('已暂停' . ($ago !== null ? '(距今 ' . $ago . ' 天)' : '')); - $detail->partner_cash_income = number_format((float) $cash, 2, '.', ''); + + // 业务核心规范:合伙股东仅是会员专属进阶身份,普通会员与品酒师免自购考核 + if (!$isPartner) { + $detail->active_status_text = '免自购考核 (基础会员/品酒师)'; + } else { + $detail->active_status_text = !empty($detail->active_30d) + ? '正常领取' + : ('已暂停' . ($ago !== null ? '(距今 ' . $ago . ' 天)' : '')); + } + + $totalCash = \app\admin\model\shopro\partner\Reward::where('user_id', $id) + ->where('status', 1) + ->where('amount', '>', 0) + ->sum('amount'); + $push3Cash = \app\admin\model\shopro\partner\Reward::where('user_id', $id) + ->where('status', 1) + ->where('amount', '>', 0) + ->where('reward_type', 'push3') + ->sum('amount'); + $partnerExclusiveCash = \app\admin\model\shopro\partner\Reward::where('user_id', $id) + ->where('status', 1) + ->where('amount', '>', 0) + ->where('reward_type', '<>', 'push3') + ->sum('amount'); + + $detail->income_total_cash = number_format((float) $totalCash, 2, '.', ''); + $detail->push3_cash_income = number_format((float) $push3Cash, 2, '.', ''); + $detail->partner_exclusive_cash = number_format((float) $partnerExclusiveCash, 2, '.', ''); + $detail->partner_cash_income = $detail->income_total_cash; $detail->partner_mode = \addons\shopro\service\partner\PartnerConfig::isPartnerMode() ? 1 : 0; $rate = (new \addons\shopro\service\partner\RateService())->currentRate(); $detail->madow_value = \addons\shopro\service\partner\IdentityService::formatMoney((float) ($detail->madow ?? 0) * (float) $rate); diff --git a/application/admin/view/shopro/commission/agent/detail.html b/application/admin/view/shopro/commission/agent/detail.html index df6643b..554ff03 100644 --- a/application/admin/view/shopro/commission/agent/detail.html +++ b/application/admin/view/shopro/commission/agent/detail.html @@ -202,7 +202,10 @@ : state.data.user_id }} - + +
+ 基础分销信息 +
{{ value.label }} + color: value.color, + }" v-for="(value, key) in statusStyle" :key="key" :command="key">{{ value.label }} {/if} @@ -228,7 +231,7 @@