add agent manager
This commit is contained in:
parent
db61b7b301
commit
9d79a63060
|
@ -0,0 +1,296 @@
|
|||
<?php
|
||||
|
||||
namespace App\Admin\Controllers;
|
||||
|
||||
use App\Admin\Actions\Post\Airdrop;
|
||||
use App\Admin\Actions\Post\Replicate;
|
||||
use App\Admin\Actions\User\Swap;
|
||||
use App\User;
|
||||
use App\Agent;
|
||||
use App\Vault;
|
||||
use App\Vault2;
|
||||
use App\Vault3;
|
||||
use Encore\Admin\Controllers\AdminController;
|
||||
use Encore\Admin\Form;
|
||||
use Encore\Admin\Grid;
|
||||
use Encore\Admin\Show;
|
||||
use Encore\Admin\Widgets\Table;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
|
||||
class AgentController extends AdminController
|
||||
{
|
||||
/**
|
||||
* Title for current resource.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $title = '代理管理';
|
||||
|
||||
/**
|
||||
* Make a grid builder.
|
||||
*
|
||||
* @return Grid
|
||||
*/
|
||||
protected function grid()
|
||||
{
|
||||
$grid = new Grid(new User);
|
||||
|
||||
$grid->model()->orderBy('id', 'desc');
|
||||
|
||||
$grid->filter(function ($filter) {
|
||||
|
||||
// 去掉默认的id过滤器
|
||||
$filter->disableIdFilter();
|
||||
|
||||
// 在这里添加字段过滤器
|
||||
$filter->like('address', '钱包地址');
|
||||
$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();
|
||||
|
||||
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('balance', '平台币')->expand(function ($model) {
|
||||
$data = Vault3::where(['id' => $model['id']])->first();
|
||||
|
||||
return new Table(['DAO锁仓', 'DAO累计收益', '最后锁仓时间', '总共交易额', '空投金额', '邀请累计佣金', '邀请可领佣金', '流动收益(USDT)', '流动收益(USDC)'], [
|
||||
[$model['dao_current'], $model['dao_leiji'], $model['dao_time'], $model['count_amount'], $model['Airdrop'], $model['yao_leiji_amount'], $model['yao_curr_amount'], $data['USDT_T'], $data['USDC_T']]
|
||||
]);
|
||||
});
|
||||
|
||||
$grid->column('num', __('交易次数'))->sortable();
|
||||
$grid->column('use', __('本金状态'))->display(function ($title) {
|
||||
if ($title == 1) {
|
||||
return "<span style='color: #00a65a'>正常</span>";
|
||||
} else {
|
||||
return "<span style='color: red'>禁用</span>";
|
||||
}
|
||||
});
|
||||
$grid->column('use1', __('收益状态'))->display(function ($title) {
|
||||
if ($title == 1) {
|
||||
return "<span style='color: #00a65a'>正常</span>";
|
||||
} else {
|
||||
return "<span style='color: red'>禁用</span>";
|
||||
}
|
||||
});
|
||||
|
||||
$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) {
|
||||
return (int)((time() - strtotime($title)) / 60) . '分钟';
|
||||
});
|
||||
|
||||
$grid->actions(function ($actions) {
|
||||
// 去掉查看
|
||||
$actions->disableView();
|
||||
$actions->add(new Replicate());
|
||||
$actions->add(new Airdrop());
|
||||
$actions->add(new Swap());
|
||||
});
|
||||
|
||||
|
||||
$grid->disableCreateButton();
|
||||
return $grid;
|
||||
}
|
||||
|
||||
/**
|
||||
* Make a show builder.
|
||||
*
|
||||
* @param mixed $id
|
||||
* @return Show
|
||||
*/
|
||||
protected function detail($id)
|
||||
{
|
||||
$show = new Show(User::findOrFail($id));
|
||||
|
||||
$show->field('id', __('ID'));
|
||||
$show->field('created_at', __('Created at'));
|
||||
$show->field('updated_at', __('Updated at'));
|
||||
|
||||
return $show;
|
||||
}
|
||||
|
||||
/**
|
||||
* Make a form builder.
|
||||
*
|
||||
* @return Form
|
||||
*/
|
||||
protected function form()
|
||||
{
|
||||
$arr = request()->route()->parameters();
|
||||
$id = $arr['user'];
|
||||
$userinfo = User::find($id);
|
||||
$vault = Vault::where(['address' => $userinfo->address])->first();
|
||||
|
||||
$vault2 = Vault2::where(['address' => $userinfo->address])->first();
|
||||
$form = new Form(new User);
|
||||
|
||||
$form->display('address', __('钱包地址'))->disable();
|
||||
$form->text('remark', __('备注'));
|
||||
$form->text('USDT', __('账号余额USDT'));
|
||||
$form->text('USDT_V', __('策略(平台币)USDT'))->default($vault->USDT);
|
||||
$form->text('USDT_V2', __('策略(自身币)USDT'))->default($vault2->USDT);
|
||||
$form->text('USDT_T', __('收益USDT'))->default($vault->USDT_T);
|
||||
$form->text('USDT_T2', __('收益USDT2'))->default($vault2->USDT_T);
|
||||
$form->text('WETH', __('账号余额WETH'));
|
||||
$form->text('WETH_V', __('策略(平台币)WETH'))->default($vault->WETH);
|
||||
$form->text('WETH_V2', __('策略(自身币)WETH'))->default($vault2->WETH);
|
||||
$form->text('WETH_T', __('收益WETH'))->default($vault->WETH_T);
|
||||
$form->text('WETH_T2', __('收益WETH2'))->default($vault2->WETH_T);
|
||||
$form->text('WBTC', __('账号余额WBTC'));
|
||||
$form->text('WBTC_V', __('策略(平台币)WBTC'))->default($vault->WBTC);
|
||||
$form->text('WBTC_V2', __('策略(自身币)WBTC'))->default($vault2->WBTC);
|
||||
$form->text('WBTC_T', __('收益WBTC'))->default($vault->WBTC_T);
|
||||
$form->text('WBTC_T2', __('收益WBTC2'))->default($vault2->WBTC_T);
|
||||
$form->text('SHIB', __('账号余额SHIB'));
|
||||
|
||||
$form->text('SHIB_V', __('策略(平台币)SHIB'))->default($vault->SHIB);
|
||||
$form->text('SHIB_V2', __('策略(自身币)SHIB'))->default($vault2->SHIB);
|
||||
$form->text('SHIB_T', __('收益SHIB'))->default($vault->SHIB_T);
|
||||
$form->text('SHIB_T2', __('收益SHIB2'))->default($vault2->SHIB_T);
|
||||
|
||||
$form->text('UNI', __('账号余额UNI'));
|
||||
$form->text('UNI_V', __('策略(平台币)UNI'))->default($vault->UNI);
|
||||
$form->text('UNI_V2', __('策略(自身币)UNI'))->default($vault2->UNI);
|
||||
$form->text('UNI_T', __('收益UNI'))->default($vault->UNI);
|
||||
$form->text('UNI_T2', __('收益UNI2'))->default($vault2->UNI);
|
||||
|
||||
$form->text('DAI', __('账号余额DAI'));
|
||||
$form->text('DAI_V', __('策略(平台币)DAI'))->default($vault->DAI);
|
||||
$form->text('DAI_V2', __('策略(自身币)DAI'))->default($vault2->DAI);
|
||||
$form->text('DAI_T', __('收益DAI'))->default($vault->DAI_T);
|
||||
$form->text('DAI_T2', __('收益DAI2'))->default($vault2->DAI_T);
|
||||
|
||||
$form->text('USDC', __('账号余额USDC'));
|
||||
$form->text('USDC_V', __('策略(平台币)USDC'))->default($vault->USDC);
|
||||
$form->text('USDC_V2', __('策略(自身币)USDC'))->default($vault2->USDC);
|
||||
$form->text('USDC_T', __('收益USDT'))->default($vault->USDC_T);
|
||||
|
||||
$form->text('USDC_T2', __('收益USDT2'))->default($vault2->USDC_T);
|
||||
$states = [
|
||||
'off' => ['value' => 2, 'text' => '禁用', 'color' => 'danger'],
|
||||
'on' => ['value' => 1, 'text' => '正常', 'color' => 'success'],
|
||||
];
|
||||
|
||||
$user_type = [
|
||||
'off' => ['value' => 0, 'text' => '正常号', 'color' => 'danger'],
|
||||
'on' => ['value' => 1, 'text' => '虚拟号', 'color' => 'success'],
|
||||
];
|
||||
$form->switch('user_type', '账号状态')->states($user_type);
|
||||
$form->switch('use', '本金状态')->states($states);
|
||||
$form->switch('use1', '收益状态')->states($states);
|
||||
|
||||
$form->setAction('post');
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
|
||||
public function post(Request $request)
|
||||
{
|
||||
$id = $request->id;
|
||||
|
||||
$user = User::where(['id' => $id])->first();
|
||||
|
||||
$vault = Vault::where(['address' => $user->address])->update([
|
||||
'USDT' => $request->input("USDT_V"),
|
||||
'WETH' => $request->input("WETH_V"),
|
||||
'WETH_T' => $request->input("WETH_T"),
|
||||
'USDT_T' => $request->input("USDT_T"),
|
||||
'WBTC' => $request->input("WBTC_V"),
|
||||
'WBTC_T' => $request->input("WBTC_T"),
|
||||
'SHIB' => $request->input("SHIB_V"),
|
||||
'SHIB_T' => $request->input("SHIB_T"),
|
||||
'UNI' => $request->input("UNI_V"),
|
||||
'UNI_T' => $request->input("UNI_T"),
|
||||
'DAI' => $request->input("DAI_V"),
|
||||
'DAI_T' => $request->input("DAI_T"),
|
||||
'USDC' => $request->input("USDC_V"),
|
||||
'USDC_T' => $request->input("USDC_T"),
|
||||
]);
|
||||
|
||||
|
||||
|
||||
$vault2 = Vault2::where(['address' => $user->address])->update([
|
||||
'USDT' => $request->input("USDT_V2"),
|
||||
'USDT_T' => $request->input("USDT_T2"),
|
||||
'WETH' => $request->input("WETH_V2"),
|
||||
'WETH_T' => $request->input("WETH_T2"),
|
||||
'WBTC' => $request->input("WBTC_V2"),
|
||||
'WBTC_T' => $request->input("WBTC_T2"),
|
||||
'SHIB' => $request->input("SHIB_V2"),
|
||||
'SHIB_T' => $request->input("SHIB_T2"),
|
||||
'UNI' => $request->input("UNI_V2"),
|
||||
'UNI_T' => $request->input("UNI_T2"),
|
||||
'USDC' => $request->input("USDC_V2"),
|
||||
'USDC_T' => $request->input("USDC_T2"),
|
||||
'DAI' => $request->input("DAI_V2"),
|
||||
'DAI_T' => $request->input("DAI_T2"),
|
||||
|
||||
|
||||
|
||||
|
||||
]);
|
||||
|
||||
if ($request->input("user_type") == 'off') {
|
||||
$user_type = 0;
|
||||
} else {
|
||||
$user_type = 1;
|
||||
}
|
||||
if ($request->input("use") == 'off') {
|
||||
$use = 2;
|
||||
} else {
|
||||
$use = 1;
|
||||
}
|
||||
if ($request->input("use1") == 'off') {
|
||||
$use1 = 2;
|
||||
} else {
|
||||
$use1 = 1;
|
||||
}
|
||||
|
||||
$user = User::where(['id' => $id])->update([
|
||||
|
||||
'USDT' => $request->input("USDT"),
|
||||
'WETH' => $request->input("WETH"),
|
||||
'WBTC' => $request->input("WBTC"),
|
||||
'UNI' => $request->input("UNI"),
|
||||
'DAI' => $request->input("DAI"),
|
||||
'SHIB' => $request->input("SHIB"),
|
||||
'USDC' => $request->input("USDC"),
|
||||
'remark' => $request->input("remark"),
|
||||
'use' => $use,
|
||||
'use1' => $use1,
|
||||
'user_type' => $user_type
|
||||
]);
|
||||
|
||||
return redirect('/admin/user');
|
||||
}
|
||||
}
|
|
@ -35,4 +35,5 @@ Route::group([
|
|||
$router->resource('adminusers', AdminusersController::class);
|
||||
$router->resource('system', SystemController::class);
|
||||
$router->resource('setting', SettingController::class);
|
||||
$router->resource('agent', AgentController::class);
|
||||
});
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
<?php
|
||||
|
||||
namespace App;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Agent extends Model
|
||||
{
|
||||
//
|
||||
}
|
Loading…
Reference in New Issue