fix(agent): 规范分销商详情展示,明确合伙股东仅为会员进阶身份并杜绝误导管理员
- 修复非合伙股东会员(品酒师)被误判为自购考核已暂停的问题,明确赋值为免自购考核 - 分离基础会员信息与合伙股东进阶身份展示,对非合伙股东提供清晰的身份说明与免考核提示 - 纠正佣金规则提示文案为收益中心固定金额规则,收益现金统一规范为收益中心累计现金 - 列表页与详情页同步优化非合伙股东 30 日活跃状态呈现 - 增加 TDD 自动化验证测试套件 verify_agent_partner_identity_spec.js 并通过全部回归测试
这个提交包含在:
@@ -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);
|
||||
|
||||
在新工单中引用
屏蔽一个用户