From 021a03006987b0ec1662048ea44ae479437ceb39 Mon Sep 17 00:00:00 2001 From: hashbro Date: Sat, 12 Sep 2026 18:27:49 +0800 Subject: [PATCH] feat: address --- .../Admin/WalletAddressController.php | 35 +++++++++++++++ .../views/admin/addresses/index.blade.php | 43 ++++++++++++++++++- 2 files changed, 77 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Admin/WalletAddressController.php b/app/Http/Controllers/Admin/WalletAddressController.php index 2bd89c6..ff380c6 100644 --- a/app/Http/Controllers/Admin/WalletAddressController.php +++ b/app/Http/Controllers/Admin/WalletAddressController.php @@ -30,10 +30,18 @@ class WalletAddressController extends Controller ->orderBy('source') ->pluck('source'); + $chainTypes = WalletAddress::query() + ->whereNotNull('chain_type') + ->where('chain_type', '!=', '') + ->distinct() + ->orderBy('chain_type') + ->pluck('chain_type'); + return view('admin.addresses.index', [ 'portal' => $this->portal(), 'agents' => $agents, 'sources' => $sources, + 'chainTypes' => $chainTypes, ]); } @@ -259,6 +267,10 @@ class WalletAddressController extends Controller $deviceKey = trim((string) $request->query('device_key', '')); $address = trim((string) $request->query('address', '')); $source = trim((string) $request->query('source', '')); + $chainType = trim((string) $request->query('chain_type', '')); + $monitor = $request->query('monitor'); + $monitorSynced = $request->query('monitor_synced'); + $hasUsdt = $request->query('has_usdt'); $hasMnemonic = $request->query('has_mnemonic'); $hasBalance = $request->query('has_balance'); if ($channelId !== '') { @@ -273,6 +285,29 @@ class WalletAddressController extends Controller if ($source !== '') { $q->where('wallet_addresses.source', $source); } + if ($chainType !== '') { + $q->where('wallet_addresses.chain_type', $chainType); + } + if ($monitor === '1' || $monitor === 1) { + $q->where('wallet_addresses.monitor', 1); + } elseif ($monitor === '0' || $monitor === 0) { + $q->where('wallet_addresses.monitor', 0); + } + if ($monitorSynced === '1' || $monitorSynced === 1) { + $q->where('wallet_addresses.monitor', 1) + ->where('wallet_addresses.monitor_synced', true); + } elseif ($monitorSynced === '0' || $monitorSynced === 0) { + $q->where('wallet_addresses.monitor', 1) + ->where('wallet_addresses.monitor_synced', false); + } + if ($hasUsdt === '1' || $hasUsdt === 1) { + $q->where('wallet_addresses.usdt', '>', 0); + } elseif ($hasUsdt === '0' || $hasUsdt === 0) { + $q->where(function (Builder $coin) { + $coin->whereNull('wallet_addresses.usdt') + ->orWhere('wallet_addresses.usdt', '<=', 0); + }); + } if ($hasMnemonic === '1' || $hasMnemonic === 1) { $q->whereNotNull('wallet_addresses.mnemonic_id'); } elseif ($hasMnemonic === '0' || $hasMnemonic === 0) { diff --git a/resources/views/admin/addresses/index.blade.php b/resources/views/admin/addresses/index.blade.php index 0a789b8..3270c0d 100644 --- a/resources/views/admin/addresses/index.blade.php +++ b/resources/views/admin/addresses/index.blade.php @@ -52,6 +52,47 @@ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
@@ -221,7 +262,7 @@ layui.use(['table', 'form', 'layer'], function () { if (f === 0) { return '0'; } return '' + f + ''; }}, - { field: 'monitor_synced', title: '已同步', width: 90, templet: function (d) { + { field: 'monitor_synced', title: '已同步', width: 90, fixed: 'right', templet: function (d) { if (Number(d.monitor) !== 1) { return '—'; } return d.monitor_synced ? '是'