You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.3 KiB
81 lines
2.3 KiB
<?php
|
|
|
|
namespace App\Http\Controllers\Api\V1;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\User;
|
|
use App\Models\UserWalletLog;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Cache;
|
|
|
|
class GeneralizeController extends ApiController
|
|
{
|
|
// 推广
|
|
public function invite_qrcode(){
|
|
|
|
}
|
|
|
|
//获取推广信息
|
|
public function getGeneralizeInfo()
|
|
{
|
|
$user = $this->current_user();
|
|
|
|
$data = [];
|
|
|
|
$log_types = ['dividend'];
|
|
$logs = UserWalletLog::query()->where('user_id', $user['user_id'])
|
|
->where('rich_type', 'usable_balance')
|
|
->whereIn('log_type', $log_types)
|
|
->get()->groupBy('coin_name');
|
|
$amt = 0;
|
|
foreach ($logs as $coin_name => $items) {
|
|
if ($coin_name == 'USDT') {
|
|
$price = 1;
|
|
} else {
|
|
$ticker = Cache::store('redis')->get('market:' . strtolower($coin_name) . 'usdt' . '_detail');
|
|
$price = $ticker['close'] ?? 1;
|
|
}
|
|
$amount = abs($items->sum('amount'));
|
|
$amt += PriceCalculate($amount, '*', $price, 4);
|
|
}
|
|
|
|
$data['invite_user_num'] = User::query()->where('pid', $user['user_id'])->count();
|
|
$data['invite_dividend'] = $amt;
|
|
$data['invite_code'] = $user['invite_code'];
|
|
$data['invite_url'] = config('app.pc_url') . "/#/sign-up?invite_code=" . $user['invite_code'];
|
|
|
|
return $this->successWithData($data);
|
|
}
|
|
|
|
//推广邀请记录
|
|
public function generalizeList(Request $request)
|
|
{
|
|
$user = $this->current_user();
|
|
|
|
$per_page = $request->input('per_page', 10);
|
|
|
|
// $data = User::query()->where('referrer',$user['user_id'])->paginate();
|
|
$data = User::query()->where('pid', $user['user_id'])->paginate($per_page);
|
|
return $this->successWithData($data);
|
|
}
|
|
|
|
//推广返佣记录
|
|
public function generalizeRewardLogs(Request $request)
|
|
{
|
|
$user = $this->current_user();
|
|
|
|
$log_types = ['dividend'];
|
|
|
|
$logs = UserWalletLog::query()->where('user_id', $user['user_id'])
|
|
->where('rich_type', 'usable_balance')
|
|
->whereIn('log_type', $log_types)
|
|
->paginate();
|
|
|
|
return $this->successWithData($logs);
|
|
}
|
|
|
|
//申请代理
|
|
public function applyAgency(Request $request)
|
|
{
|
|
}
|
|
}
|
|
|