<?php
|
|
namespace app\common\model\plus\vip;
|
|
use app\common\model\BaseModel;
|
use app\common\model\user\User as UserModel;
|
|
/**
|
* VIP专区推荐关系模型(基于用户表推荐关系)
|
*/
|
class Referee extends BaseModel
|
{
|
/**
|
* 获取我的团队列表
|
*/
|
public function getList($vip_user_id)
|
{
|
return UserModel::where('referee_id', '=', $vip_user_id)
|
->where('is_delete', '=', 0)
|
->with(['vipAreaUser', 'vipAreaUser.grade'])
|
->order(['create_time' => 'desc'])
|
->paginate(15);
|
}
|
|
/**
|
* 创建推荐关系(用户注册时自动处理)
|
* VIP专区直接使用用户表的referee_id字段,不需要独立的推荐关系表
|
*/
|
public static function createRelation($user_id, $referee_id)
|
{
|
// VIP专区基本设置
|
$setting = Setting::getItem('basic');
|
// 是否开启VIP专区功能
|
if (!$setting['is_open']) {
|
return false;
|
}
|
// 自分享
|
if ($user_id == $referee_id) {
|
return false;
|
}
|
// 判断推荐人是否为VIP用户
|
if (!User::isVipUser($referee_id)) {
|
return false;
|
}
|
|
return true;
|
}
|
|
/**
|
* 获取团队统计
|
*/
|
public static function getStatistics($vip_user_id)
|
{
|
$team_list = UserModel::where('referee_id', '=', $vip_user_id)
|
->where('is_delete', '=', 0)
|
->select();
|
|
return [
|
'total_count' => count($team_list),
|
'vip_count' => 0, // 是VIP的成员数
|
'today_count' => UserModel::where('referee_id', '=', $vip_user_id)
|
->where('create_time', '>=', strtotime(date('Y-m-d')))
|
->count(),
|
];
|
}
|
}
|