From 6907165cb2a60a01eaed186b19b8020ab2f71525 Mon Sep 17 00:00:00 2001 From: chuan <2154243450@qq.com> Date: Thu, 24 Apr 2025 10:24:06 +0800 Subject: [PATCH] user trade frozen --- app/admin/controller/User.php | 8 +++++++ app/admin/route/app.php | 1 + app/admin/service/UserService.php | 39 +++++++++++++++++++++++++++++++ app/model/TradeFrozenModel.php | 7 ++++++ 4 files changed, 55 insertions(+) create mode 100644 app/model/TradeFrozenModel.php diff --git a/app/admin/controller/User.php b/app/admin/controller/User.php index e8cf56c..74c5e86 100644 --- a/app/admin/controller/User.php +++ b/app/admin/controller/User.php @@ -43,6 +43,14 @@ class User extends AdminBaseController return json($result); } + // 交易开关 + public function tradeFrozen() + { + $service = new UserService(); + $result = $service->tradeFrozen($this->request->param()); + return json($result); + } + // 用户资金管理 public function change() { diff --git a/app/admin/route/app.php b/app/admin/route/app.php index 93d9e2f..bb6490b 100644 --- a/app/admin/route/app.php +++ b/app/admin/route/app.php @@ -170,6 +170,7 @@ Route::group('/', function () { Route::post('/user/real_list', 'User/RealList'); Route::post('/user/status', 'User/status'); Route::post('/user/frozen', 'User/frozen'); + Route::post('/user/trade_frozen', 'User/tradeFrozen'); // 用户交易开关 Route::post('/user/change', 'User/change')->middleware('admin_log'); Route::post('/user/relation', 'User/relation'); Route::post('/user/reg_phone', 'User/reg_phone')->middleware('admin_log'); diff --git a/app/admin/service/UserService.php b/app/admin/service/UserService.php index f5492a2..3efca34 100644 --- a/app/admin/service/UserService.php +++ b/app/admin/service/UserService.php @@ -9,6 +9,7 @@ use app\model\AdminModel; use app\model\CountryModel; use app\model\FileModel; use app\model\StockMarketModel; +use app\model\TradeFrozenModel; use app\model\UserBankModel; use app\model\UserContractModel; use app\model\UserContractSecModel; @@ -219,6 +220,12 @@ class UserService extends AdminBaseService $accountFrozenList = AccountFrozenModel::where('user_id', 'in', $userIdArr) ->column('frozen_recharge,frozen_withdraw', 'user_id'); } + // 查询用户交易冻结状态 + $tradeFrozenList = []; + if ($userIdArr) { + $tradeFrozenList = TradeFrozenModel::where('user_id', 'in', $userIdArr) + ->column('user_id, trade_status', 'user_id'); + } //最近登录IP、最近登录国家 @@ -230,12 +237,14 @@ class UserService extends AdminBaseService foreach ($userList as $item) { $frozenRecharge = isset($accountFrozenList[$item['user_id']]['frozen_recharge']) ? $accountFrozenList[$item['user_id']]['frozen_recharge'] : 0; $frozenWithdraw = isset($accountFrozenList[$item['user_id']]['frozen_withdraw']) ? $accountFrozenList[$item['user_id']]['frozen_withdraw'] : 0; + $tradeStatus = isset($tradeFrozenList[$item['user_id']]['trade_status']) ? $tradeFrozenList[$item['user_id']]['trade_status'] : 1; $key = 'LEVERAGE:' . $item['user_id']; $leverage_num=empty(Cache::store('redis')->get($key))? 1: Cache::store('redis')->get($key); $userRow= [ 'id' => $item['user_id'], 'frozen_recharge' => $frozenRecharge, 'frozen_withdraw' => $frozenWithdraw, + 'trade_status' => $tradeStatus, 'user_no' => $item['user_no'], 'nickname' => $item['nick_name'], 'regTime' => $item['create_time'], @@ -536,6 +545,36 @@ class UserService extends AdminBaseService } } + // 交易开关 + public function tradeFrozen($param) + { + try { + // 参数校验 + if (empty($param['user_id']) || !isset($param['trade_status'])) { + return $this->toData('400', '缺少参数'); + } + if (!in_array($param['trade_status'], [1, 0])) { + return $this->toData('400', '参数值错误'); + } + // 获取用户信息 + $user = UserModel::where('user_id', $param['user_id'])->find(); + if (empty($user)) { + return $this->toData('500', '用户不存在'); + } + // 查询冻结记录 + $accountFrozen = TradeFrozenModel::where('user_id', $param['user_id'])->find(); + if (empty($accountFrozen)) { + TradeFrozenModel::create(['user_id'=>$param['user_id'], 'trade_status' => $param['trade_status']]); + } else { + $accountFrozen->trade_status = $param['trade_status']; + $accountFrozen->save(); + } + return $this->toData('0', 'SUCCESS'); + } catch (\Exception $exception) { + return $this->toData('1', '系统异常 请稍后重试', [$exception->getMessage(), $exception->getTrace()]); + } + } + // 资产修改 public function change($param, $adminId) { diff --git a/app/model/TradeFrozenModel.php b/app/model/TradeFrozenModel.php new file mode 100644 index 0000000..e32bae8 --- /dev/null +++ b/app/model/TradeFrozenModel.php @@ -0,0 +1,7 @@ +