From d6b8b75accd364646669ace11652dff173ea6b05 Mon Sep 17 00:00:00 2001 From: lingling <1077478963@qq.com> Date: Mon, 17 Feb 2025 10:33:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=20=E5=88=86=E7=BA=A2=20?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=A7=AF=E5=88=86=E8=AE=A1=E7=AE=97=E6=8E=A8?= =?UTF-8?q?=E5=B9=BF=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controller/api/TaskController.php | 8 +- app/controller/api/UserController.php | 18 +-- app/dao/UserDao.php | 179 ++++++++++++++------------ 3 files changed, 109 insertions(+), 96 deletions(-) diff --git a/app/controller/api/TaskController.php b/app/controller/api/TaskController.php index bbd799e..377d28e 100644 --- a/app/controller/api/TaskController.php +++ b/app/controller/api/TaskController.php @@ -2,6 +2,7 @@ namespace app\controller\api; +use app\dao\UserDao; use app\model\User; use support\Request; @@ -40,13 +41,12 @@ class TaskController public function index(Request $request) { $user_id = $request->data['id']; - $user = User::find($user_id); //挂机总时长 单位秒 - $res['time'] = 500; + $res['time'] = UserDao::all_task_income($user_id)/20*3600; //今天积分=0; - $res['today_money'] = 0; + $res['today_money'] = UserDao::today_task_income($user_id); //昨天积分 - $res['yesterday_money'] = 0; + $res['yesterday_money'] = UserDao::today_task_income_old($user_id); return ApiResponseApp::success($res); } /** diff --git a/app/controller/api/UserController.php b/app/controller/api/UserController.php index 1cbb48f..7e9b4d9 100644 --- a/app/controller/api/UserController.php +++ b/app/controller/api/UserController.php @@ -10,7 +10,7 @@ use App\Utils\Random; use Tinywan\Jwt\JwtToken; use App\model\User; use App\Utils\ApiResponseApp; - +use App\dao\UserDao; /** * @Apidoc\Title("用户控制器") */ @@ -105,8 +105,8 @@ class UserController public function userInfo(Request $request) { $user_id = $request->data['id']; - $user = User::find($user_id); - return ApiResponseApp::success($user); + + return ApiResponseApp::success(UserDao::get_index_userInfo($user_id)); } /** * @Apidoc\Title("1.0 获取用户佣金信息") @@ -119,17 +119,17 @@ class UserController $user = User::find($user_id); $res = [ //活跃用户数 - 'active_users' => 0, + 'active_users' => UserDao::active_users($user_id), //所有收入总和 - 'all_income' => 0, + 'all_income' => UserDao::all_income($user_id), //邀请码 'invite_code' => $user->invite_code, //直属活跃 - 'level_1' => 0, - //昨天收入 - 'today_income' => 0, + 'level_1' => UserDao::level_1($user_id), //今天收入 - 'yesterday_income' => 0 + 'today_income' => UserDao::today_team_income($user_id), + //昨天收入 + 'yesterday_income' => UserDao::today_team_income_old($user_id), ]; return ApiResponseApp::success($res); } diff --git a/app/dao/UserDao.php b/app/dao/UserDao.php index e467cac..4c66e33 100644 --- a/app/dao/UserDao.php +++ b/app/dao/UserDao.php @@ -5,105 +5,118 @@ namespace app\dao; use App\model\Users; use App\model\BankLog; use App\Utils\FunctionResponse; - - +use App\model\User; +use App\model\UserReward; class UserDao { /** - * 用户注册函数 + * 构造首页信息 * - * @param string $phone 手机号 - * @param string $password 密码 - * @param string $idcard 身份证号 + * @param int $user_id 用户id * @return mixed */ - public static function register($phone, $password, $idcard) + public static function get_index_userInfo($user_id) { - // 检测手机号是否唯一 - if (Users::where('phone', $phone)->count() > 0) { - return FunctionResponse::error(400, [], '手机号已存在'); + $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; } - - // 检测身份证号码 并提取信息 - $idCardInfo = self::getDetailsFromIdCard($idcard); - if ($idCardInfo['code'] !== 200) { - return $idCardInfo; // 返回错误信息 - } - - // 你可以在此处添加更多的注册逻辑,例如:存储用户信息到数据库 - - // 假设我们通过 Users 模型来创建用户 - $user = new Users(); - $user->phone = $phone; - $user->password = password_hash($password, PASSWORD_DEFAULT); // 密码加密 - $user->cardid = $idcard; - $user->birthday = $idCardInfo['data']['birthDate']; // 出生日期 - $user->gender = $idCardInfo['data']['gender']; // 性别 - $user->avatar = ''; // 头像 - $user->save(); - - return FunctionResponse::success(200, ['$phone' => $phone], '注册成功'); - } - - /** - * 检查身份证号,提取身份证号信息 - * - * @param string $idCard - * @return array - */ - private static function getDetailsFromIdCard($idCard) - { - $birthDate = ''; - $gender = ''; - - // 校验并处理18位身份证 - if (strlen($idCard) === 18) { - // 提取出生日期 - $birthDate = substr($idCard, 6, 8); // 获取出生日期(YYYYMMDD) - - // 性别判断:顺序码第17位奇数为男,偶数为女 - $genderCode = (int) $idCard[16]; - $gender = $genderCode % 2; - } else { - return FunctionResponse::error(400, [], '身份证格式不对'); - } - - // 格式化出生日期 - $birthYear = substr($birthDate, 0, 4); - $birthMonth = substr($birthDate, 4, 2); - $birthDay = substr($birthDate, 6, 2); - $formattedBirthDate = $birthYear . '-' . $birthMonth . '-' . $birthDay; - - return FunctionResponse::success(200, [ - 'birthDate' => $formattedBirthDate, // 出生日期格式化 - 'gender' => $gender, // 性别 - ]); + $userData['today_team_income']=self::today_team_income($user_id); + $userData['today_task_income']=self::today_task_income($user_id); + return $userData; } /** - * 手机号是否唯一 - * @param [string] $phone - * @return [bole] 有手机号返回 true 没有返回flase + * 获取今天推广收益 */ - private static function isThePhoneNumberUnique($phone) - { - return Users::where('phone', $phone)->count() > 0; + 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; } /** - * 修改密码 - * @param [int] $userid 用户id - * @param [string] $phone 密码 + * 获取昨天推广收益 */ - public static function chang_passwd($userid,$password){ - //哈希密码 - $hasa_password=password_hash($password, PASSWORD_DEFAULT); - Users::where('id', $userid)->update(['password' => $hasa_password]); + 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; } /** - * 修改用户名 - * @param [int] $userid 用户id - * @param [string] $nickname 用户名 + * 获取今天任务收益 */ - public static function chang_nickname($userid,$nickname){ - Users::where('id', $userid)->update(['nickname' => $nickname]); + 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; } }