155 lines
5.0 KiB
PHP
155 lines
5.0 KiB
PHP
<?php
|
||
|
||
namespace app\dao;
|
||
|
||
use App\model\Users;
|
||
use App\model\BankLog;
|
||
use app\model\Signlog;
|
||
use App\Utils\FunctionResponse;
|
||
use App\model\User;
|
||
use app\model\UserPhone;
|
||
use app\model\UserPhoneLog;
|
||
use App\model\UserReward;
|
||
use app\model\Withdraw;
|
||
|
||
class UserDao
|
||
{
|
||
/**
|
||
* 构造首页信息
|
||
*
|
||
* @param int $user_id 用户id
|
||
* @return mixed
|
||
*/
|
||
public static function get_index_userInfo($user_id)
|
||
{
|
||
$user = User::find($user_id);
|
||
$userData = [
|
||
"id" => 4,
|
||
"username" => "3",
|
||
"invite_code" => "06192",
|
||
"is_active" => 0,
|
||
"login_ip" => "192.168.2.143",
|
||
"join_ip" => "192.168.2.143",
|
||
"login_time" => "2025-02-16 21:57:50",
|
||
"prev_time" => null,
|
||
"status" => 1,
|
||
"money" => 2,
|
||
"admin_money" => 0,
|
||
"all_team_money" => 0,
|
||
"task_income_money" => 0,
|
||
"task_status" => 0,
|
||
//今天任务收入
|
||
// "today_task_income" => 0,
|
||
//今天推广收益
|
||
// "today_team_income" => 0,
|
||
"growth_value" => 0,
|
||
"vip_id" => 0,
|
||
"withdraw_money" => 0,
|
||
"f_id" => 0,
|
||
"ff_id" => 0,
|
||
"fff_id" => 0,
|
||
"top_id" => 0,
|
||
"path" => null,
|
||
"remark" => null,
|
||
"created_at" => "2025-02-15T14:38:09.000000Z",
|
||
"updated_at" => "2025-02-16T13:57:50.000000Z",
|
||
];
|
||
foreach($userData as $key =>$value){
|
||
$userData[$key]=$user->$key;
|
||
}
|
||
$userData['today_team_income']=self::today_team_income($user_id);
|
||
$userData['today_task_income']=self::today_task_income($user_id);
|
||
return $userData;
|
||
}
|
||
/**
|
||
* 获取今天推广收益
|
||
*/
|
||
public static function today_team_income($user_id){
|
||
$today = date('Y-m-d');
|
||
$query = UserReward::where('status', 5)->where('user_id', $user_id)->where('created_at', '>=', $today." 00:00:00")->sum('money');
|
||
return $query;
|
||
}
|
||
/**
|
||
* 获取昨天推广收益
|
||
*/
|
||
public static function today_team_income_old($user_id){
|
||
$endOfYesterday = date('Y-m-d', strtotime('-1 day')); // 昨天的结束时间(23:59:59)
|
||
$query = UserReward::where('status', 5)->where('user_id', $user_id)->whereBetween('created_at', [ $endOfYesterday." 00:00:00", $endOfYesterday." 23:59:59"])->sum('money');
|
||
return $query;
|
||
}
|
||
/**
|
||
* 获取今天任务收益
|
||
*/
|
||
public static function today_task_income($user_id){
|
||
$today = date('Y-m-d');
|
||
$query = UserReward::where('status', 6)->where('user_id', $user_id)->where('created_at', '>=', $today." 00:00:00")->sum('money');
|
||
return $query;
|
||
}
|
||
/**
|
||
* 获取昨天任务收益
|
||
*/
|
||
public static function today_task_income_old($user_id){
|
||
$endOfYesterday = date('Y-m-d', strtotime('-1 day'));
|
||
$query = UserReward::where('status', 6)->where('user_id', $user_id)->whereBetween('created_at', [ $endOfYesterday." 00:00:00", $endOfYesterday." 23:59:59"])->sum('money');
|
||
return $query;
|
||
}
|
||
/**
|
||
* 获取所有任务收益
|
||
*/
|
||
public static function all_task_income($user_id){
|
||
$query = UserReward::where('status', 6)->where('user_id', $user_id)->sum('money');
|
||
return $query;
|
||
}
|
||
/**
|
||
* 获取直属活跃人数
|
||
*/
|
||
public static function level_1($user_id){
|
||
$startOfDay = strtotime('today'); // 今天的开始时间(00:00:00)
|
||
$query = User::where('f_id', $user_id)->where('login_time', '>=', $startOfDay)->count();
|
||
return $query;
|
||
}
|
||
|
||
/**
|
||
* 获取活跃人数
|
||
*/
|
||
public static function active_users($user_id){
|
||
$startOfDay = strtotime('today'); // 今天的开始时间(00:00:00)
|
||
$query = User::where('f_id', $user_id)->orWhere('ff_id', $user_id)->where('login_time', '>=', $startOfDay)->count();
|
||
return $query;
|
||
}
|
||
/**
|
||
* 获取累计佣金
|
||
*/
|
||
public static function all_income($user_id){
|
||
$query = UserReward::where('status', 5)->where('user_id', $user_id)->sum('money');
|
||
return $query;
|
||
}
|
||
/**
|
||
* 删除用户
|
||
*/
|
||
public static function del($user_id){
|
||
User::find($user_id)->delete();
|
||
$UserPhone=UserPhone::where('user_id',$user_id)->get();
|
||
foreach($UserPhone as $v){
|
||
UserPhoneLog::where('phone',$v->phone)->delete();
|
||
$v->delete();
|
||
}
|
||
UserReward::where('user_id',$user_id)->delete();
|
||
Withdraw::where('user_id')->delete();
|
||
Signlog::where('userid',$user_id)->delete();
|
||
return 0;
|
||
}
|
||
/**
|
||
* 获取用户挂机总时长
|
||
* 返回秒
|
||
*/
|
||
public static function Totalduration($user_id){
|
||
$UserPhone=UserPhone::where('user_id',$user_id)->get();
|
||
$time=0;
|
||
foreach($UserPhone as $v){
|
||
$time+=UserPhoneLog::where('phone',$v->phone)->sum('time');
|
||
}
|
||
return $time;
|
||
}
|
||
}
|