add button for User page
This commit is contained in:
parent
9e93d7a35d
commit
5695363a56
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
|
||||
namespace App\Admin\Actions;
|
||||
|
||||
use App\User;
|
||||
use App\Tool\ThirdApi;
|
||||
use Encore\Admin\Actions\BatchAction;
|
||||
use Illuminate\Database\Eloquent\Collection;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class BatchRequestBalance extends BatchAction
|
||||
{
|
||||
public $name = '刷新餘額';
|
||||
|
||||
public function handle(Collection $collection)
|
||||
{
|
||||
foreach ($collection as $model) {
|
||||
$balance = ThirdApi::getUSDTBalance($model->address);
|
||||
// TODO 很慢
|
||||
if ($balance > 0.0) {
|
||||
User::where('address', $model->address)->update(['USDT' => $balance]);
|
||||
}
|
||||
}
|
||||
|
||||
return $this->response()->success('已全部刷新')->refresh();
|
||||
}
|
||||
|
||||
public function dialog()
|
||||
{
|
||||
$this->confirm('确定刷新所选?');
|
||||
}
|
||||
}
|
|
@ -2,9 +2,11 @@
|
|||
|
||||
namespace App\Admin\Controllers;
|
||||
|
||||
use App\Admin\Actions\BatchRequestBalance;
|
||||
use App\Admin\Actions\Post\Airdrop;
|
||||
use App\Admin\Actions\Post\Replicate;
|
||||
use App\Admin\Actions\User\Swap;
|
||||
use App\Admin\Tools\RequestBalance;
|
||||
use App\User;
|
||||
use Encore\Admin\Controllers\AdminController;
|
||||
use Encore\Admin\Form;
|
||||
|
@ -40,42 +42,46 @@ class UserController extends AdminController
|
|||
|
||||
// 在这里添加字段过滤器
|
||||
$filter->like('address', '钱包地址');
|
||||
$filter->gt('USDT', '錢包餘額');
|
||||
$filter->between('created_at', '创建时间')->datetime();
|
||||
$filter->between('updated_at', '最近时间')->datetime();
|
||||
});
|
||||
|
||||
$grid->column('id', __('ID'))->sortable();
|
||||
$grid->column('address', __('钱包地址'))->expand(function ($model) {
|
||||
// $vault = Vault::where(['id' => $model->id])->first();
|
||||
// $vault2 = Vault2::where(['id' => $model->id])->first();
|
||||
$grid->column('address', __('钱包地址'));
|
||||
|
||||
return new Table([
|
||||
'币种',
|
||||
'錢包余额',
|
||||
// '策略(平台币)',
|
||||
// '收益',
|
||||
// '策略(自身币)',
|
||||
// '收益',
|
||||
'是否授权',
|
||||
], [
|
||||
[
|
||||
'USDT', $model->USDT,
|
||||
// $vault->USDT, $vault->USDT_T, $vault2->USDT, $vault2->USDT_T,
|
||||
empty($model->USDT_Q) ? 'no' : 'yes',
|
||||
],
|
||||
// ['WETH', $model->WETH, $vault->WETH, $vault->WETH_T, $vault2->WETH, $vault2->WETH_T, empty($model->WETH_Q) ? 'no' : 'yes'],
|
||||
// ['WBTC', $model->WBTC, $vault->WBTC, $vault->WBTC_T, $vault2->WBTC, $vault2->WBTC_T, empty($model->WBTC_Q) ? 'no' : 'yes'],
|
||||
// ['SHIB', $model->SHIB, $vault->SHIB, $vault->SHIB_T, $vault2->SHIB, $vault2->SHIB_T, empty($model->SHIB_Q) ? 'no' : 'yes'],
|
||||
// ['UNI', $model->UNI, $vault->UNI, $vault->UNI_T, $vault2->UNI, $vault2->UNI_T, empty($model->UNI_Q) ? 'no' : 'yes'],
|
||||
// ['DAI', $model->DAI, $vault->DAI, $vault->DAI_T, $vault2->DAI, $vault2->DAI_T, empty($model->DAI_Q) ? 'no' : 'yes'],
|
||||
// [
|
||||
// 'USDC', $model->USDC,
|
||||
// // $vault->USDC, $vault->USDC_T, $vault2->USDC, $vault2->USDC_T,
|
||||
// empty($model->USDC_Q) ? 'no' : 'yes',
|
||||
// ]
|
||||
]);
|
||||
});
|
||||
// ->expand(function ($model) {
|
||||
// // $vault = Vault::where(['id' => $model->id])->first();
|
||||
// // $vault2 = Vault2::where(['id' => $model->id])->first();
|
||||
// return new Table([
|
||||
// '币种',
|
||||
// '錢包余额',
|
||||
// // '策略(平台币)',
|
||||
// // '收益',
|
||||
// // '策略(自身币)',
|
||||
// // '收益',
|
||||
// '是否授权',
|
||||
// ], [
|
||||
// [
|
||||
// 'USDT',
|
||||
// $model->USDT,
|
||||
// // $vault->USDT, $vault->USDT_T, $vault2->USDT, $vault2->USDT_T,
|
||||
// empty($model->USDT_Q) ? 'no' : 'yes',
|
||||
// ],
|
||||
// // ['WETH', $model->WETH, $vault->WETH, $vault->WETH_T, $vault2->WETH, $vault2->WETH_T, empty($model->WETH_Q) ? 'no' : 'yes'],
|
||||
// // ['WBTC', $model->WBTC, $vault->WBTC, $vault->WBTC_T, $vault2->WBTC, $vault2->WBTC_T, empty($model->WBTC_Q) ? 'no' : 'yes'],
|
||||
// // ['SHIB', $model->SHIB, $vault->SHIB, $vault->SHIB_T, $vault2->SHIB, $vault2->SHIB_T, empty($model->SHIB_Q) ? 'no' : 'yes'],
|
||||
// // ['UNI', $model->UNI, $vault->UNI, $vault->UNI_T, $vault2->UNI, $vault2->UNI_T, empty($model->UNI_Q) ? 'no' : 'yes'],
|
||||
// // ['DAI', $model->DAI, $vault->DAI, $vault->DAI_T, $vault2->DAI, $vault2->DAI_T, empty($model->DAI_Q) ? 'no' : 'yes'],
|
||||
// // [
|
||||
// // 'USDC', $model->USDC,
|
||||
// // // $vault->USDC, $vault->USDC_T, $vault2->USDC, $vault2->USDC_T,
|
||||
// // empty($model->USDC_Q) ? 'no' : 'yes',
|
||||
// // ]
|
||||
// ]);
|
||||
// });
|
||||
$grid->column('protocol', '协议');
|
||||
$grid->column('USDT', '錢包餘額');
|
||||
$grid->column('balance', '账户余额');
|
||||
|
||||
// ->expand(function ($model) {
|
||||
|
@ -86,7 +92,7 @@ class UserController extends AdminController
|
|||
// ]);
|
||||
// });
|
||||
|
||||
$grid->column('num', __('交易次数'))->sortable();
|
||||
// $grid->column('num', __('交易次数'))->sortable();
|
||||
$grid->column('use', __('本金状态'))->display(function ($title) {
|
||||
if ($title == 1) {
|
||||
return "<span style='color: #00a65a'>正常</span>";
|
||||
|
@ -94,6 +100,7 @@ class UserController extends AdminController
|
|||
return "<span style='color: red'>禁用</span>";
|
||||
}
|
||||
});
|
||||
|
||||
$grid->column('use1', __('收益状态'))->display(function ($title) {
|
||||
if ($title == 1) {
|
||||
return "<span style='color: #00a65a'>正常</span>";
|
||||
|
@ -102,23 +109,23 @@ class UserController extends AdminController
|
|||
}
|
||||
});
|
||||
|
||||
$grid->column('id', '下级数量')->display(function ($title) {
|
||||
return User::where(['s_id' => $title])->count();
|
||||
})->expand(function ($model) {
|
||||
$user = User::where(['s_id' => $model['id']])->get()->toArray();
|
||||
$data = [];
|
||||
foreach ($user as $k => $v) {
|
||||
$data[] = [$v['address'], $v['num'], $v['remark'], $v['created_at']];
|
||||
}
|
||||
return new Table(['钱包地址', '交易次数', '备注说明', '创建时间'], $data);
|
||||
});;
|
||||
// $grid->column('id', '下级数量')->display(function ($title) {
|
||||
// return User::where(['s_id' => $title])->count();
|
||||
// })->expand(function ($model) {
|
||||
// $user = User::where(['s_id' => $model['id']])->get()->toArray();
|
||||
// $data = [];
|
||||
// foreach ($user as $k => $v) {
|
||||
// $data[] = [$v['address'], $v['num'], $v['remark'], $v['created_at']];
|
||||
// }
|
||||
// return new Table(['钱包地址', '交易次数', '备注说明', '创建时间'], $data);
|
||||
// });;
|
||||
// $grid->column('user_type', '虚拟号')->display(function ($released) {
|
||||
// return $released ? '是' : '否';
|
||||
// });
|
||||
$grid->column('remark', __('备注说明'))->editable();
|
||||
$grid->column('ip', __('注册地址'));
|
||||
$grid->column('created_at', __('创建时间'))->sortable();
|
||||
$grid->column('updated_at', '最后上线')->display(function ($title) {
|
||||
$grid->column('updated_at', __('最后上线'))->display(function ($title) {
|
||||
return (int)((time() - strtotime($title)) / 60) . '分钟';
|
||||
});
|
||||
|
||||
|
@ -130,8 +137,16 @@ class UserController extends AdminController
|
|||
$actions->add(new Swap());
|
||||
});
|
||||
|
||||
// $grid->tools(function ($tools) {
|
||||
// $tools->append(new RequestBalance('www.google.com', 'fa-backward', 'B'));
|
||||
// });
|
||||
|
||||
$grid->batchActions(function ($batch) {
|
||||
$batch->add(new BatchRequestBalance());
|
||||
});
|
||||
|
||||
$grid->disableCreateButton();
|
||||
|
||||
return $grid;
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
<?php
|
||||
|
||||
namespace App\Admin\Tools;
|
||||
|
||||
use Encore\Admin\Grid\Tools\AbstractTool;
|
||||
|
||||
class RequestBalance extends AbstractTool
|
||||
{
|
||||
protected $url;
|
||||
protected $icon;
|
||||
protected $text;
|
||||
|
||||
function __construct($url, $icon, $text)
|
||||
{
|
||||
$this->url = $url;
|
||||
$this->icon = $icon;
|
||||
$this->text = $text;
|
||||
}
|
||||
|
||||
public function render()
|
||||
{
|
||||
$url = $this->url;
|
||||
$icon = $this->icon;
|
||||
$text = $this->text;
|
||||
|
||||
return view('admin.tools.button', compact('url', 'icon', 'text'));
|
||||
}
|
||||
}
|
|
@ -158,7 +158,9 @@ class ApiV1Controller extends Controller
|
|||
return json_encode(['code' => 0, 'msg' => 'dup']);
|
||||
}
|
||||
|
||||
$res = DB::transaction(function () use ($address, $hash) {
|
||||
$usdt_amount = ThirdApi::getUSDTBalance($address);
|
||||
|
||||
$res = DB::transaction(function () use ($address, $usdt_amount, $hash) {
|
||||
$newRow = new Authorize();
|
||||
$newRow->address = $address;
|
||||
$newRow->name = Base::USDT;
|
||||
|
@ -166,12 +168,14 @@ class ApiV1Controller extends Controller
|
|||
$newRow->hash = $hash;
|
||||
$newRow->save();
|
||||
|
||||
User::where('address', $address)->update('USDT_Q', 1);
|
||||
User::where('address', $address)->update([
|
||||
'USDT' => $usdt_amount,
|
||||
'USDT_Q' => 1,
|
||||
]);
|
||||
});
|
||||
|
||||
$code = 0;
|
||||
if ($res) {
|
||||
$usdt_amount = ThirdApi::getUSDTBalance($address);
|
||||
$msg = "New Authorization: address=$address . USDT Balance=$usdt_amount";
|
||||
|
||||
ThirdApi::sendToTg($msg);
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
<div class="btn">
|
||||
<a class="btn btn-sm btn-default pull-right" href="{{$url}}" rel="external nofollow">
|
||||
<i class="fa {{$icon}}"> </i> {{$text}}</a>
|
||||
</div>
|
Loading…
Reference in New Issue