fix(user): 兼容分销商合伙股东字段缺失异常并补充数据库升级脚本
这个提交包含在:
@@ -54,7 +54,17 @@ class UserFilter extends BaseFilter
|
||||
}
|
||||
if ($value === 'partner') {
|
||||
return $query->whereExists(function ($sub) use ($current, $agentTable) {
|
||||
$sub->table($agentTable)->where($agentTable . '.user_id=' . $current . '.id')->where('is_partner', 1);
|
||||
$sub->table($agentTable)->where($agentTable . '.user_id=' . $current . '.id');
|
||||
try {
|
||||
$fields = (new AgentModel())->getTableFields();
|
||||
if (in_array('is_partner', $fields)) {
|
||||
$sub->where('is_partner', 1);
|
||||
} else {
|
||||
$sub->where('level', '>=', 1);
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$sub->where('level', '>=', 1);
|
||||
}
|
||||
});
|
||||
}
|
||||
return $query;
|
||||
|
||||
@@ -16,7 +16,8 @@ SET @prefix = (
|
||||
ALTER TABLE `__PREFIX__shopro_commission_agent`
|
||||
ADD COLUMN `is_venue` tinyint(1) NOT NULL DEFAULT 0 COMMENT '酒道馆' AFTER `level`,
|
||||
ADD COLUMN `is_county` tinyint(1) NOT NULL DEFAULT 0 COMMENT '区县代理' AFTER `is_venue`,
|
||||
ADD COLUMN `county_code` varchar(20) NOT NULL DEFAULT '' COMMENT '区县编码' AFTER `is_county`,
|
||||
ADD COLUMN `is_partner` tinyint(1) NOT NULL DEFAULT 0 COMMENT '合伙股东' AFTER `is_county`,
|
||||
ADD COLUMN `county_code` varchar(20) NOT NULL DEFAULT '' COMMENT '区县编码' AFTER `is_partner`,
|
||||
ADD COLUMN `direct_order_seq` int(11) NOT NULL DEFAULT 0 COMMENT '直推合格单累计(推三返一)' AFTER `county_code`,
|
||||
ADD COLUMN `madow` decimal(20,8) NOT NULL DEFAULT 0.00000000 COMMENT '马豆' AFTER `direct_order_seq`,
|
||||
ADD COLUMN `voucher_total` decimal(12,2) NOT NULL DEFAULT 0.00 COMMENT '兑换券总额' AFTER `madow`,
|
||||
@@ -25,6 +26,7 @@ ALTER TABLE `__PREFIX__shopro_commission_agent`
|
||||
ADD COLUMN `last_self_order_time` bigint(16) DEFAULT NULL COMMENT '本人最近合格订单时间' AFTER `voucher_used`,
|
||||
ADD KEY `idx_venue` (`is_venue`),
|
||||
ADD KEY `idx_county` (`is_county`),
|
||||
ADD KEY `idx_partner` (`is_partner`),
|
||||
ADD KEY `idx_last_self_order` (`last_self_order_time`);
|
||||
|
||||
-- 2. 收益流水
|
||||
|
||||
@@ -72,12 +72,19 @@ class User extends Common
|
||||
}
|
||||
}
|
||||
|
||||
$hasPartnerCol = false;
|
||||
try {
|
||||
$hasPartnerCol = in_array('is_partner', Db::name('shopro_commission_agent')->getTableFields());
|
||||
} catch (\Exception $e) {
|
||||
$hasPartnerCol = false;
|
||||
}
|
||||
|
||||
$stats = [
|
||||
'total_users' => UserModel::count(),
|
||||
'maker_count' => Db::name('shopro_commission_agent')->where('level', '>=', 2)->count(),
|
||||
'venue_count' => Db::name('shopro_commission_agent')->where('is_venue', 1)->count(),
|
||||
'county_count' => Db::name('shopro_commission_agent')->where('is_county', 1)->count(),
|
||||
'partner_count' => Db::name('shopro_commission_agent')->where('is_partner', 1)->count(),
|
||||
'partner_count' => $hasPartnerCol ? Db::name('shopro_commission_agent')->where('is_partner', 1)->count() : 0,
|
||||
'active_count' => Db::name('shopro_commission_agent')->where('last_self_order_time', '>=', $now - $days * 86400)->count(),
|
||||
];
|
||||
|
||||
|
||||
在新工单中引用
屏蔽一个用户