2025-02-16 19:34:37 +08:00
|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace app\controller\api;
|
|
|
|
|
|
2025-02-17 10:33:26 +08:00
|
|
|
|
use app\dao\UserDao;
|
2025-02-16 19:34:37 +08:00
|
|
|
|
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\GetLodeLog;
|
|
|
|
|
use app\model\UserPhone;
|
|
|
|
|
use App\model\VipLevel;
|
2025-02-17 15:51:43 +08:00
|
|
|
|
use App\model\PhoneLog;
|
2025-02-16 19:34:37 +08:00
|
|
|
|
use App\Utils\API\SendCode;
|
|
|
|
|
use App\Utils\ApiResponseApp;
|
2025-02-17 14:49:07 +08:00
|
|
|
|
use App\dao\UserRewardDao;
|
2025-02-16 19:34:37 +08:00
|
|
|
|
use Tinywan\Jwt\JwtToken;
|
|
|
|
|
use GuzzleHttp\Client;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
use hg\apidoc\annotation as Apidoc;
|
|
|
|
|
use support\Db;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @Apidoc\Title("任务控制器")
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
class TaskController
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @Apidoc\Title("1.0 查询当前用户积分")
|
|
|
|
|
* @Apidoc\Url("api/task/index")
|
|
|
|
|
* @Apidoc\Method("POST")
|
|
|
|
|
*/
|
|
|
|
|
public function index(Request $request)
|
|
|
|
|
{
|
|
|
|
|
$user_id = $request->data['id'];
|
|
|
|
|
//挂机总时长 单位秒
|
2025-02-17 13:27:10 +08:00
|
|
|
|
$res['time'] = UserDao::all_task_income($user_id) / 20 * 3600;
|
2025-02-16 19:34:37 +08:00
|
|
|
|
//今天积分=0;
|
2025-02-17 10:33:26 +08:00
|
|
|
|
$res['today_money'] = UserDao::today_task_income($user_id);
|
2025-02-16 19:34:37 +08:00
|
|
|
|
//昨天积分
|
2025-02-17 10:33:26 +08:00
|
|
|
|
$res['yesterday_money'] = UserDao::today_task_income_old($user_id);
|
2025-02-16 19:34:37 +08:00
|
|
|
|
return ApiResponseApp::success($res);
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* @Apidoc\Title("1.0 发送验证码 ")
|
|
|
|
|
* @Apidoc\Url("api/task/send_code")
|
|
|
|
|
* @Apidoc\Method("POST")
|
2025-02-17 13:27:10 +08:00
|
|
|
|
*
|
2025-02-16 19:34:37 +08:00
|
|
|
|
*/
|
|
|
|
|
public function send_code(Request $request)
|
|
|
|
|
{
|
2025-02-17 13:27:10 +08:00
|
|
|
|
$phone = $request->post('phone');
|
|
|
|
|
$res = SendCode::send_code($phone);
|
|
|
|
|
$GetLodeLog = new GetLodeLog();
|
|
|
|
|
$GetLodeLog->phone = $phone;
|
|
|
|
|
$GetLodeLog->status = 0;
|
|
|
|
|
$GetLodeLog->save();
|
2025-02-16 19:34:37 +08:00
|
|
|
|
$user_id = $request->data['id'];
|
|
|
|
|
return ApiResponseApp::success([]);
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* @Apidoc\Title("1.0 获取验证码")
|
|
|
|
|
* @Apidoc\Url("api/task/send_code")
|
|
|
|
|
* @Apidoc\Method("POST")
|
|
|
|
|
*/
|
|
|
|
|
public function get_code(Request $request)
|
|
|
|
|
{
|
2025-02-17 13:27:10 +08:00
|
|
|
|
$user_id = $request->data['id'];
|
2025-02-16 19:34:37 +08:00
|
|
|
|
$phone = $request->post('phone');
|
2025-02-17 13:27:10 +08:00
|
|
|
|
$GetLodeLog = GetLodeLog::where('phone', $phone)->first();
|
|
|
|
|
if ($GetLodeLog->status == 0) {
|
|
|
|
|
return ApiResponseApp::success([]);
|
|
|
|
|
}
|
|
|
|
|
if ($GetLodeLog->status == 1) {
|
|
|
|
|
$GetLodeLog->status=2;
|
2025-02-16 19:34:37 +08:00
|
|
|
|
$GetLodeLog->save();
|
2025-02-17 13:27:10 +08:00
|
|
|
|
return ApiResponseApp::success(['code' => $GetLodeLog->code]);
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* 这里查询是否上号成功 2是等待上号
|
|
|
|
|
*/
|
|
|
|
|
if ($GetLodeLog->status == 2) {
|
|
|
|
|
$ws_build_status=SendCode::get_ws_status($phone) == 0;
|
|
|
|
|
//上号成功
|
|
|
|
|
if (UserPhone::where('phone', $phone)->count() == 0&&$ws_build_status) {
|
|
|
|
|
$UserPhone = new UserPhone();
|
|
|
|
|
$UserPhone->phone = $phone;
|
|
|
|
|
$UserPhone->user_id = $user_id;
|
|
|
|
|
$UserPhone->score = 0;
|
|
|
|
|
$UserPhone->status = 0;
|
|
|
|
|
$UserPhone->time = 0;
|
|
|
|
|
$UserPhone->save();
|
2025-02-16 19:34:37 +08:00
|
|
|
|
$GetLodeLog->delete();
|
|
|
|
|
}
|
2025-02-17 14:49:07 +08:00
|
|
|
|
//首次成功关联,赠送50积分
|
|
|
|
|
$this->first_phone($phone,$user_id);
|
2025-02-17 13:27:10 +08:00
|
|
|
|
return ApiResponseApp::success([]);
|
2025-02-16 19:34:37 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return ApiResponseApp::success([]);
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* @Apidoc\Title("1.0 返回用户ws号在线状态")
|
|
|
|
|
* @Apidoc\Url("api/task/phone_list")
|
|
|
|
|
* @Apidoc\Method("POST")
|
|
|
|
|
*/
|
|
|
|
|
public static function phone_list(Request $request)
|
|
|
|
|
{
|
|
|
|
|
$user_id = $request->data['id'];
|
|
|
|
|
$user = User::find($user_id);
|
|
|
|
|
$user_phones = UserPhone::where('user_id', $user_id)->get();
|
|
|
|
|
$res = [];
|
|
|
|
|
foreach ($user_phones as $key => $value) {
|
|
|
|
|
$data = [
|
|
|
|
|
'id' => $value->id,
|
|
|
|
|
'username' => $user->username,
|
|
|
|
|
'user_id' => $value->user_id,
|
|
|
|
|
//ws手机号
|
|
|
|
|
'phone' => $value->phone,
|
|
|
|
|
//积分
|
|
|
|
|
'score' => $value->score,
|
|
|
|
|
//当前在线状态 1在线0不在线
|
|
|
|
|
'status' => $value->status,
|
|
|
|
|
//创建时间
|
|
|
|
|
'createtime' => 1739275956,
|
|
|
|
|
//最后在线时间?
|
|
|
|
|
'last_time' => 1739564458,
|
|
|
|
|
//应该是在线时间单位 秒
|
|
|
|
|
'time' => $value->time,
|
|
|
|
|
'back_times' => 80,
|
|
|
|
|
'updatetime' => 1739564458,
|
|
|
|
|
'login_success' => 1,
|
|
|
|
|
'priority' => 0,
|
|
|
|
|
//备注
|
|
|
|
|
'remark' => $value->remark,
|
|
|
|
|
'proxy' => '154.200.10.132:6051',
|
|
|
|
|
'smscode' => '12345678',
|
|
|
|
|
'smsstatus' => null,
|
|
|
|
|
'send_count' => 8,
|
|
|
|
|
'del' => 0,
|
|
|
|
|
'send_time' => 0,
|
|
|
|
|
'today_count' => 0,
|
|
|
|
|
'last_sent_time' => 1739564482,
|
|
|
|
|
'uu_id' => $user->invite_code,
|
|
|
|
|
'quhao' => '',
|
|
|
|
|
'proxy_id' => 10782,
|
|
|
|
|
'device_name' => 'HK4-10264D',
|
|
|
|
|
//任务状态?
|
|
|
|
|
'task_status' => 1,
|
|
|
|
|
'status_text' => 'Status 1',
|
|
|
|
|
'last_time_text' => '2025-02-15 04:20:58',
|
|
|
|
|
'hang_up_time_text' => ''
|
|
|
|
|
];
|
|
|
|
|
$res[] = $data;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return ApiResponseApp::success($res);
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* @Apidoc\Title("1.0 设置用户ws号码备注名")
|
|
|
|
|
* @Apidoc\Url("api/task/edit_phone")
|
|
|
|
|
* @Apidoc\Method("POST")
|
|
|
|
|
*/
|
|
|
|
|
public static function edit_phone(Request $request)
|
|
|
|
|
{
|
|
|
|
|
// phone: 601160880622
|
|
|
|
|
// remark: 4
|
|
|
|
|
$phone = $request->post('phone');
|
|
|
|
|
$remark = $request->post('remark');
|
|
|
|
|
$user_id = $request->data['id'];
|
|
|
|
|
$user_phones = UserPhone::where('user_id', $user_id)->where('phone', $phone)->first();
|
|
|
|
|
$user_phones->remark = $remark;
|
|
|
|
|
$user_phones->save();
|
|
|
|
|
return ApiResponseApp::success([]);
|
|
|
|
|
}
|
2025-02-17 14:49:07 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 首次上号送50积分
|
|
|
|
|
*/
|
|
|
|
|
public static function first_phone($phone,$user_id)
|
|
|
|
|
{
|
|
|
|
|
//查找数据库中是否存在该手机号
|
2025-02-17 16:54:12 +08:00
|
|
|
|
$user_phone = PhoneLog::where('phone', $phone)->first();
|
2025-02-17 14:49:07 +08:00
|
|
|
|
//如果不存在则送用户50积分
|
|
|
|
|
if (!$user_phone) {
|
|
|
|
|
UserRewardDao::base($user_id, 4, 50, '首次关联此手机号送50积分');
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-02-17 22:24:02 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 有效下级
|
|
|
|
|
*/
|
|
|
|
|
public static function effective_junior()
|
|
|
|
|
{
|
|
|
|
|
//获取今天在线时间超过6小时的用户
|
|
|
|
|
$UserPhone = UserPhone::where('time', '>', 360)->get();
|
|
|
|
|
//判断用户绑定Whatsapp首次登录
|
|
|
|
|
foreach ($UserPhone as $key => $value) {
|
|
|
|
|
$user_id = $value->user_id;
|
|
|
|
|
$user = User::find($user_id);
|
|
|
|
|
//判断用户绑定Whatsapp首次登录
|
|
|
|
|
// if ($user->bind_whatsapp == 0) {
|
|
|
|
|
//满足则加80积分
|
|
|
|
|
UserRewardDao::base($user_id, 6, 80, '任务佣金');
|
|
|
|
|
//vip_id等级加1,并更新数据库
|
|
|
|
|
$user->vip_id +=1;
|
|
|
|
|
$user->save();
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//满足则加80积分
|
|
|
|
|
// UserRewardDao::base($user_id, 6, 80, '任务佣金');
|
|
|
|
|
|
|
|
|
|
}
|
2025-02-16 19:34:37 +08:00
|
|
|
|
}
|