<?php

namespace app\controller\api\v1;

use support\Request;
use hg\apidoc\annotation as Apidoc;

use App\Utils\ApiResponse;

use App\model\Invite;
// use App\dao\UserDao;

/**
 * @Apidoc\Title("用户层级")
 */
class InviteController
{  
     /**
     * @Apidoc\Title("根据username找父级")
     * @Apidoc\Url("/api/v1/Invite/getDayId")
     * @Apidoc\Method("POST")
     * @Apidoc\Query("id", type="string",require=true, desc="账户id",default="1")
     */
    public function getDayId(Request $request)
    {
        $data = $request->post();
        //根据id查找用户
        $db = Invite::where('invitename', $data['id'])->first();
        //操作不成功
        if (!$db) {
            return ApiResponse::error (402, '操作失败');
        }
        return ApiResponse::success (200, $db );
    }

         /**
     * @Apidoc\Title("根据username找子级")
     * @Apidoc\Url("/api/v1/Invite/getSonId")
     * @Apidoc\Method("POST")
     * @Apidoc\Query("id", type="string",require=true, desc="账户id",default="1")
     */
    public function getSonId(Request $request)
    {
        $data = $request->post();
        $db = Invite::where('username', $data['id'])->get();

        // 如果查询结果为空,返回错误信息
        if ($db->isEmpty()) {
            return ApiResponse::error(402, '操作失败');
        }
    
        // 成功时返回查询结果
        return ApiResponse::success(200, $db);
    }


    

    // /**
    //  * @Apidoc\Title("1.0 登录")
    //  * @Apidoc\Url("api/v1/user/login")
    //  * @Apidoc\Method("POST")
    //  * @Apidoc\Param("phone", type="string",require=true, desc="用户名|手机号")
    //  * @Apidoc\Param("password", type="string",require=true, desc="密码")
    //  * @Apidoc\Returned("user", type="object", desc="用户信息")
    //  * @Apidoc\Returned("token", type="object", desc="令牌")
    //  */
    // public function login(Request $request)
    // {
    //     // 获取请求数据
    //     $data = $request->post();

    //     // 根据手机号查询用户
    //     $db = Users::where('phone', '=', $data['phone'])->first();

    //     // 如果未找到用户,返回错误
    //     if (!$db) {
    //         return ApiResponse::error(402, '用户未注册');
    //     }

    //     // 获取用户输入的密码
    //     $password = $data['password'];

    //     // 验证密码是否正确
    //     if (password_verify($password, $db->password)) {
    //         $user = [
    //             'id'  => $db->id,
    //             'nickname'  => $db->nickname,
    //             'phone' => $db->phone
    //         ];
    //         // 如果密码正确,生成 JWT 令牌
    //         $token = JwtToken::generateToken($user);

    //         // 返回成功响应和用户信息(可以将 token 添加到响应中)
    //         return ApiResponse::success(200, [
    //             'user' => $user,  // 返回用户信息
    //             'token' => $token  // 返回生成的 token
    //         ]);
    //     } else {
    //         // 密码错误,返回错误响应
    //         return ApiResponse::error(402, '密码错误');
    //     }
    // }
    // /**
    //  * @Apidoc\Title("1.0 注册")
    //  * @Apidoc\Url("api/v1/user/register")
    //  * @Apidoc\Method("POST")
    //  * @Apidoc\Param("phone", type="string",require=true, desc="用户名|手机号")
    //  * @Apidoc\Param("password", type="string",require=true, desc="密码")
    //  * @Apidoc\Param("idcard", type="string",require=true, desc="身份证号")
    //  * @Apidoc\Returned("token", type="object", desc="令牌")
    //  */
    // public function register(Request $request)
    // {
    //     $data = $request->post();
    //     $user = UserDao::register($data['phone'], $data['password'], $data['idcard']);
    //     if ($user['code'] != 200) {
    //         return ApiResponse::error(402, [], $user['message']);
    //     }
    //     $db = Users::where('phone', '=', $data['phone'])->first();
    //     $user = [
    //         'id'  => $db->id,
    //         'nickname'  => $db->nickname,
    //         'phone' => $db->phone
    //     ];
    //     // 如果密码正确,生成 JWT 令牌
    //     $token = JwtToken::generateToken($user);
    //     $msg = new Message();
    //     $msg->title ="系统提醒";
    //     $msg->content = "您已注册成功";
    //     $msg->type =0;
    //     $msg->userid =$db->id;
    //     $msg->parameters="";
    //     // 返回成功响应和用户信息(可以将 token 添加到响应中)
    //     return ApiResponse::success(200, [
    //         'user' => $user,  // 返回用户信息
    //         'token' => $token  // 返回生成的 token
    //     ]);
    // }

    // /**
    //  * @Apidoc\Title("1.0 修改用户信息")
    //  * @Apidoc\Url("api/v1/user/edi")
    //  * @Apidoc\Method("POST")
    //  * @Apidoc\Param("nickname", type="string",require=true, desc="昵称")
    //  * @Apidoc\Param("oldpassword", type="string",require=true, desc="旧密码")
    //  * @Apidoc\Param("password", type="string",require=true, desc="密码")
    //  */
    // public function edi(Request $request)
    // {
    //     $data = $request->post();
    //     $user = $request->data;
    //     $userid = $user['id'];
    //     $db = Users::where('id', '=', $userid)->first();
    //     if (isset($data['password']) && $data['password'] != '') {
    //         if (password_verify($data['oldpassword'], $db->password)) {
    //             UserDao::chang_passwd($userid, $data['password']);
    //             return ApiResponse::success(200, [], "修改密码成功");
    //         }
    //         return ApiResponse::success(402, [], "旧密码错误");
    //     }
    //     if (isset($data['nickname']) && $data['nickname'] != '') {
    //         UserDao::chang_nickname($userid, $data['nickname']);

    //         $user = [
    //             'id'  => $db->id,
    //             'nickname'  => $data['nickname'],
    //         ];
    //         // 返回成功响应和用户信息(可以将 token 添加到响应中)
    //         return ApiResponse::success(200, [
    //             'user' => $user,  // 返回用户信息
    //         ]);
    //     }
    // }

    // /**
    //  * @Apidoc\Title("1.0 获取用户信息")
    //  * @Apidoc\Url("api/v1/user/get_info")
    //  * @Apidoc\Method("POST")
    //  */
    // public function get_info(Request $request)
    // {
    //     $data = $request->post();
    //     $user = $request->data;
    //     $userid = $user['id'];
    //     $db = Users::where('id', '=', $userid)->first(['phone', 'nickname']);
    //     return ApiResponse::success(200, $db);
    // }
    
    // /**
    //  * @Apidoc\Title("1.0 设置用户短信是否接受")
    //  * @Apidoc\Url("api/v1/user/set_msg_setting")
    //  * @Apidoc\Param("acceptmessages", type="int",require=true, desc="1接受0不接受")
    //  * @Apidoc\Method("POST")
    //  */
    // public function set_msg_setting(Request $request)
    // {
    //     $data = $request->post();
    //     $user = $request->data;
    //     $userid = $user['id'];
    //     $db = Users::where('id', '=', $userid)->first();
    //     $db->acceptmessages=$data['acceptmessages'];
    //     $db->save();
    //     return ApiResponse::success(200, $db);
    // }
    // /**
    //  * @Apidoc\Title("1.0 获取用户短信设置")
    //  * @Apidoc\Url("api/v1/user/get_msg_setting")
    //  * @Apidoc\Method("POST")
    //  */
    // public function get_msg_setting(Request $request)
    // {
    //     $data = $request->post();
    //     $user = $request->data;
    //     $userid = $user['id'];
    //     $db = Users::where('id', '=', $userid)->first(['acceptmessages']);
    //     return ApiResponse::success(200, $db);
    // }
}