<?php

namespace app\controller\api;

use app\model\User;
use support\Request;

use App\Utils\ApiResponse;

use App\model\Carousel;
use App\model\Project;
use App\model\ProjectDetailed;
use App\model\ProjectRegister;
use App\model\Carouselad;
use App\model\UserReward;
use App\model\VipLevel;
use App\dao\UserRewardDao;
use App\Utils\ApiResponseApp;
use Tinywan\Jwt\JwtToken;

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

/**
 * @Apidoc\Title("用户vip控制器")
 */

class Vip_salaryController
{
    protected $noNeedLogin = ['get_project', 'get_projectdetailed', 'get_mechanism_list'];
    /**
     * @Apidoc\Title("1.0 获取当前用户vip等级")
     * @Apidoc\Url("api/vip_salary/product")
     * @Apidoc\Method("POST")
     */
    public function user_count(Request $request)
    {
        $user_id = $request->data['id'];
        $user = User::find($user_id);
        return ApiResponseApp::success(['user_count' => $user->vip_id]);
    }
    /**
     * @Apidoc\Title("1.0 获取vip等级赠送积分")
     * @Apidoc\Url("api/vip_salary/product")
     * @Apidoc\Method("POST")
     */
    public function product(Request $request)
    {
        $res = VipLevel::all();
        return ApiResponseApp::success($res);
    }

    /**
     * @Apidoc\Title("1.0 获取vip等级赠送积分")
     * @Apidoc\Url("api/vip_salary/check_status")
     * @Apidoc\Method("POST")
     */
    public function  check_status(Request $request)
    {
        //获取当前用户
        $user_id=$request->data['id'];
        $user=User::find($user_id);
        $datas = [
            [
                "vip_id" => 1,
                "status" => 0,
                '$userCount' => 0,
                "user_count" => 5
            ],
            [
                "vip_id" => 2,
                "status" => 0,
                '$userCount' => 0,
                "user_count" => 100
            ],
            [
                "vip_id" => 3,
                "status" => 0,
                '$userCount' => 0,
                "user_count" => 1000
            ],
            [
                "vip_id" => 4,
                "status" => 0,
                '$userCount' => 0,
                "user_count" => 2000
            ]
        ];
        //获取该用户今天的领奖记录
        $UserRewasrds = UserReward::where('user_id', $user_id)
        ->whereDate('created_at', date('Y-m-d'))
        ->where('memo', 'like', '%' . '晋升奖励' . '%')
        ->get();
        // 遍历每个用户记录并更新 status 字段
        foreach ($datas as &$data) {
            foreach ($UserRewasrds as $UserRewasrd) {
                if (strpos($UserRewasrd->memo, $data['vip_id'].'晋升奖励') !== false) {
                    $data['status'] = 2;
                    break;
                }
            }
            if ($data['status'] == 2) {
                continue;
            }
            if ($user->vip_id >= $data['user_count']) {
                $data['status'] = 1; // 满足条件时设置状态为1
            } else {
                $data['status'] = 0; // 不满足条件时设置状态为0
            }
        }
        return ApiResponseApp::success($datas);
    }
 /**
     * @Apidoc\Title("1.0 晋升奖励")
     * @Apidoc\Url("api/vip_salary/receive")
     * @Apidoc\Method("GET")
     */
    public function receive(Request $request)
    {
        $input = $request->all();
        $vip_id = $input['vip_id'];
 
        $user_id=$request->data['id'];

        $datas = [
            [
                "vip_id" => 1,
                "money" => 50,
            ],
            [
                "vip_id" => 2,
                "money" => 100,
            ],
            [
                "vip_id" => 3,
                "money" => 500,
            ],
            [
                "vip_id" => 4,
                "money" => 5000,
            ]
        ];
        $money = null;
        foreach ($datas as &$data) {
            if ($vip_id == $data['vip_id']) {
                $money = $data['money'];
                break;
            }
        }
        // UserRewardDao::base($user_id, 6, $money, 'VIP'.$vip_id.'晋升奖励');
        return ApiResponseApp::success('领取成功');
    }
}