154 lines
4.1 KiB
PHP
154 lines
4.1 KiB
PHP
<?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('领取成功');
|
|
}
|
|
}
|