19
This commit is contained in:
+104
-47
@@ -4,35 +4,55 @@ use support\think\Db;
|
||||
use Request;
|
||||
use Symfony\Component\Console\Input\Input;
|
||||
class User{
|
||||
function register_successed($user){
|
||||
function register_successed($user)
|
||||
{
|
||||
$_user = $user;
|
||||
if(!is_array($_user)){
|
||||
$_user = $_user->toArray();
|
||||
}
|
||||
$date = date('Y-m-d');
|
||||
cache_add('statistics_register_'.$date,1);
|
||||
$saveData = [
|
||||
'invite_code' => build_invite_code($user->id),
|
||||
'userID' => \support\Encrypt::userIDencode($user->id)
|
||||
//'invite_code' => build_invite_code($_user['id']),
|
||||
'invite_code' => \support\Encrypt::userIDencode($_user['id']),
|
||||
'userID' => \support\Encrypt::userIDencode($_user['id'])
|
||||
];
|
||||
//管理直推人数和团队人数
|
||||
if($user->parent_id){
|
||||
parent_info( $user->id,[
|
||||
'id' => $user->parent_id,
|
||||
'username' => Db::name('user')->where('id',$user->parent_id)->value('username')
|
||||
]);
|
||||
//管理直推人数
|
||||
cache_add('team_direct_total_'.$user->parent_id,1);
|
||||
\app\model\UserExtend::where('user_id',$user->parent_id)->save([
|
||||
'direct_total' => Db::raw('direct_total+1'),
|
||||
'team_total' => Db::raw('team_total+1'),
|
||||
if($_user['parent_id']){
|
||||
parent_info( $_user['id'],[
|
||||
'id' => $_user['parent_id'],
|
||||
'username' => Db::name('user')->where('id',$_user['parent_id'])->value('username')
|
||||
]);
|
||||
//直属团队人数
|
||||
Db::name('user_extend')->where('user_id',$_user['parent_id'])
|
||||
->data([
|
||||
'direct_total'=> Db::raw('direct_total+1')
|
||||
])->save();
|
||||
cache_add('team_direct_total_'.$_user['parent_id'],1);
|
||||
|
||||
//管理团队人数
|
||||
$team_user_ids = Db::name('user_team')->where('descendant_id',$user['id'])
|
||||
->where('depth','>',0)
|
||||
->order('depth','ASC')
|
||||
->column('ancestor_id');
|
||||
|
||||
Db::name('user_extend')->whereIn('user_id',$team_user_ids)->data([
|
||||
'team_total'=> Db::raw('team_total+1')
|
||||
])->save();
|
||||
$list = Db::name('user_extend')->whereIn('user_id',$team_user_ids)->field('user_id,team_total')->select();
|
||||
foreach($list as $v){
|
||||
cache('team_user_count_'.$v['user_id'],$v['team_total']);
|
||||
}
|
||||
}
|
||||
|
||||
\app\model\User::where('id',$user->id)->update($saveData);
|
||||
\app\model\User::where('id',$_user['id'])->update($saveData);
|
||||
//创建扩展数据
|
||||
\app\model\UserExtend::create([
|
||||
'user_id' => $user->id,
|
||||
'direct_total' => 0,
|
||||
'team_total' => 0,
|
||||
'consume' => 0,
|
||||
'sales' => 0
|
||||
Db::name('user_extend')->replace()->insert([
|
||||
'user_id' => $_user['id'],
|
||||
'consume' => 0,
|
||||
// 'profile_banner' => '',
|
||||
// 'moments_banner' => '',
|
||||
// 'moments_allow_view_days'=>0,
|
||||
]);
|
||||
|
||||
|
||||
@@ -44,41 +64,51 @@ class User{
|
||||
* @var \support\OpenImSdk\Client $IM
|
||||
*/
|
||||
$IM = request()->IM;
|
||||
log_alert($data['userID']);
|
||||
$imToken = $IM->auth->getUserToken($data['userID'],Input('platform'));
|
||||
$data['imToken'] = $imToken['token'];
|
||||
return $data;
|
||||
}
|
||||
protected function level_up($user_id,$count=0){
|
||||
$levels = [
|
||||
0,
|
||||
500,
|
||||
1000,
|
||||
5000,
|
||||
10000,
|
||||
20000,
|
||||
];
|
||||
$level = 0;
|
||||
foreach($levels as $k=>$v){
|
||||
if($count>=$v){
|
||||
$level= $k;
|
||||
}else{
|
||||
break;
|
||||
}
|
||||
}
|
||||
Db::name('user')->where('id',$user_id)->data(['level'=>$level])->save();
|
||||
|
||||
}
|
||||
function profile($user=[]){
|
||||
$data = $user;
|
||||
if(!is_array($data)){
|
||||
$data = $data->toArray();
|
||||
}
|
||||
$role_arr = [
|
||||
'1' => __('普通用户'),
|
||||
'2' => __('VIP'),
|
||||
];
|
||||
$data['has_trade_password'] = $data['trade_password'] ? true: false;
|
||||
$data['avatar'] = cdnurl($data['avatar']);
|
||||
$disallowFields = ['trade_password','password','client','loginfailure'];
|
||||
$data = array_diff_key($data, array_flip($disallowFields));
|
||||
$data['recharge_total'] = cache('user_recharge_total_'.$data['id'])?:0;
|
||||
$data['withdrawl_total'] = cache('user_withdrawl_total_'.$data['id'])?:0;
|
||||
$data['income_total'] = cache('user_income_total_'.$data['id'])?:0;
|
||||
$data['today_income'] = cache('user_today_income_'.date('Ymd').'_'.$data['id'])?:0;
|
||||
$data['month_income'] = cache('user_month_income_'.date('Ym').'_'.$data['id'])?:0;
|
||||
$data['consume_total'] = cache('user_consume_total_'.$data['id'])?:0;
|
||||
$data['power_total'] = cache('user_power_total_'.$data['id'])?:0;
|
||||
$data['role_reward_total'] = cache('user_role_reward_total_'.$data['id'])?:0;
|
||||
$data['avatar'] = $data['avatar']?:"/static/img/avatar.png";
|
||||
$data['role'] = isset($role_arr[$data['role_id']]) ? $role_arr[$data['role_id']] : __('普通用户');//\app\model\UserRole::where('id',$data['role_id'])->value('name');
|
||||
|
||||
$last_see = $last_see ?? cache('last_see_'.$data['id']);
|
||||
$count = 0;
|
||||
$data['friend_settings'] = [
|
||||
'unread_count' => $count ??0,
|
||||
$ff = [
|
||||
'unread_count' => 0,
|
||||
'userHeadImg' => null,
|
||||
];
|
||||
try {
|
||||
$ff = Db::name('user_extend')->where('user_id',$user->id)->field('moments_allow_view_days,profile_banner,moments_banner')->find();
|
||||
$data['moments_allow_view_days'] = $ff['moments_allow_view_days'];
|
||||
$data['moments_banner'] = $ff['moments_banner'];
|
||||
$data['profile_banner'] = $ff['profile_banner'];
|
||||
$ff['userHeadImg'] = $ff['moments_banner'];
|
||||
} catch (\Exception $e) {
|
||||
}
|
||||
$ff['unread_count'] = $count ?:0;
|
||||
$data['friend_settings'] = $ff;
|
||||
return $data;
|
||||
}
|
||||
function changepwd_successed($data=[]){
|
||||
@@ -94,18 +124,45 @@ class User{
|
||||
return $data;
|
||||
}
|
||||
//用户角色组变化
|
||||
function roleup($user=[]){
|
||||
function role_up($user=[]){
|
||||
$data = $user;
|
||||
if(!is_array($data)){
|
||||
$data = $data->toArray();
|
||||
}
|
||||
if(!$user->active){
|
||||
$user->active = 1;
|
||||
$user->save();
|
||||
cache_add('team_direct_total_'.$user->parent_id,1);
|
||||
//旗下会员总数
|
||||
$team_user_ids = Db::name('user_team')->where('descendant_id',$user['id'])
|
||||
->where('depth','>',0)
|
||||
->order('depth','ASC')
|
||||
->column('ancestor_id');
|
||||
Db::name('user_extend')->whereIn('user_id',$team_user_ids)
|
||||
->data([
|
||||
'vip_total'=> Db::raw('vip_total+1')
|
||||
])
|
||||
->save();
|
||||
$list = Db::name('user_extend')->whereIn('user_id',$team_user_ids)->field('user_id,vip_total')->select();
|
||||
foreach($list as $v){
|
||||
cache('team_vip_total_'.$v['user_id'],$v['vip_total']);
|
||||
$this->level_up($v['user_id'],$v['vip_total']);
|
||||
}
|
||||
|
||||
// if(!$user->active){
|
||||
// $user->active = 1;
|
||||
// $user->save();
|
||||
// cache_add('team_direct_total_'.$user->parent_id,1);
|
||||
// }
|
||||
return $user;
|
||||
}
|
||||
//用户角色组变化
|
||||
function role_buy($data=[])
|
||||
{
|
||||
// $data = [
|
||||
// 'role_id'=>1,
|
||||
// 'user_id'=>100008,
|
||||
// 'amount'=>1000
|
||||
// ];
|
||||
|
||||
//addJob($data,'Settlement');
|
||||
}
|
||||
|
||||
function buildTeam($user){
|
||||
|
||||
|
||||
Reference in New Issue
Block a user