webman/app/dao/UserDao.php

155 lines
5.0 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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;
}
}