|
@ -19,6 +19,7 @@ use app\model\UserDigitalModel; |
|
|
use app\model\UserForexModel; |
|
|
use app\model\UserForexModel; |
|
|
use app\model\UserLoginLog; |
|
|
use app\model\UserLoginLog; |
|
|
use app\model\UserModel; |
|
|
use app\model\UserModel; |
|
|
|
|
|
use app\model\UserStageStateModel; |
|
|
use app\model\UserStockBrlModel; |
|
|
use app\model\UserStockBrlModel; |
|
|
use app\model\UserStockEurModel; |
|
|
use app\model\UserStockEurModel; |
|
|
use app\model\UserStockFurModel; |
|
|
use app\model\UserStockFurModel; |
|
@ -124,10 +125,13 @@ class UserService extends AdminBaseService |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
$userList = UserModel::where($where)->where($whereU)->page($param['page'], $param['limit'])->order('user_id', 'desc')->select(); |
|
|
$userList = UserModel::where($where)->where($whereU)->page($param['page'], $param['limit'])->order('user_id', 'desc')->select(); |
|
|
|
|
|
if (empty($userList)) { |
|
|
|
|
|
return $this->toData('0', 'SUCCESS', ['total' => 0, 'list' => [], 'extent' => ['market_type_list' => StockMarketModel::STOCK_MARKET_TYPE, 'is_agent' => $IsAgent, 'agent_list' => $agentNameArr, 'market_rate' => $marketRate, 'market_tape_list' => $tapeList]]); |
|
|
|
|
|
} |
|
|
$total = UserModel::where($where)->where($whereU)->count(); |
|
|
$total = UserModel::where($where)->where($whereU)->count(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$rows = []; |
|
|
$rows = []; |
|
|
if (!empty($userList)) { |
|
|
|
|
|
$userIdArr = []; |
|
|
$userIdArr = []; |
|
|
$parentIdArr = []; |
|
|
$parentIdArr = []; |
|
|
foreach ($userList as $value) { |
|
|
foreach ($userList as $value) { |
|
@ -224,6 +228,9 @@ class UserService extends AdminBaseService |
|
|
$customerNames = AdminModel::where('id', 'in', $customerIds)->column('nick_name', 'id'); |
|
|
$customerNames = AdminModel::where('id', 'in', $customerIds)->column('nick_name', 'id'); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 查询用户充值、提款冻结状态 |
|
|
|
|
|
$accountFrozenList = AccountFrozenModel::where('user_id', 'in', $userIdArr)->column('frozen_recharge,frozen_withdraw', 'user_id'); |
|
|
|
|
|
|
|
|
// 用户实名认证信息 |
|
|
// 用户实名认证信息 |
|
|
$realNameTranslation = UserVerifyLogModel::where('user_id', 'in', $userIdArr)->column('user_id,name,code,front_img,back_img,status,country', 'user_id'); |
|
|
$realNameTranslation = UserVerifyLogModel::where('user_id', 'in', $userIdArr)->column('user_id,name,code,front_img,back_img,status,country', 'user_id'); |
|
|
if ($realNameTranslation) { |
|
|
if ($realNameTranslation) { |
|
@ -243,6 +250,9 @@ class UserService extends AdminBaseService |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 用户阶段信息 |
|
|
|
|
|
$userStageStateList = UserStageStateModel::where('user_id', 'in', $userIdArr)->column('first_stage,first_stage_state,second_stage,second_stage_state,third_stage,third_stage_state', 'user_id'); |
|
|
|
|
|
|
|
|
//最近登录IP、最近登录国家 |
|
|
//最近登录IP、最近登录国家 |
|
|
$subQuery = UserLoginLog::field('user_id,MAX(login_date) AS last_login_date') |
|
|
$subQuery = UserLoginLog::field('user_id,MAX(login_date) AS last_login_date') |
|
|
->where('user_id', 'in', $userIdArr)->group('user_id')->buildSql(); |
|
|
->where('user_id', 'in', $userIdArr)->group('user_id')->buildSql(); |
|
@ -272,6 +282,14 @@ class UserService extends AdminBaseService |
|
|
'customer_id' => $itmCustomerId, |
|
|
'customer_id' => $itmCustomerId, |
|
|
'customer_name' => $itmCustomerName, |
|
|
'customer_name' => $itmCustomerName, |
|
|
'real_name_translation' => $realNameTranslation[$item['user_id']] ?? [], |
|
|
'real_name_translation' => $realNameTranslation[$item['user_id']] ?? [], |
|
|
|
|
|
'frozen_recharge' => $accountFrozenList[$item['user_id']]['frozen_recharge'] ?? 0, |
|
|
|
|
|
'frozen_withdraw' => $accountFrozenList[$item['user_id']]['frozen_withdraw'] ?? 0, |
|
|
|
|
|
'first_stage' => $userStageStateList[$item['user_id']]['first_stage'] ?? '', |
|
|
|
|
|
'first_stage_state' => $userStageStateList[$item['user_id']]['first_stage_state'] ?? 0, |
|
|
|
|
|
'second_stage' => $userStageStateList[$item['user_id']]['second_stage'] ?? '', |
|
|
|
|
|
'second_stage_state' => $userStageStateList[$item['user_id']]['second_stage_state'] ?? 0, |
|
|
|
|
|
'third_stage' => $userStageStateList[$item['user_id']]['third_stage'] ?? '', |
|
|
|
|
|
'third_stage_state' => $userStageStateList[$item['user_id']]['third_stage_state'] ?? 0, |
|
|
|
|
|
|
|
|
//余额 |
|
|
//余额 |
|
|
'digital' => $userDigitalList[$item['user_id']]['usable_num'] ?? '0', |
|
|
'digital' => $userDigitalList[$item['user_id']]['usable_num'] ?? '0', |
|
@ -330,7 +348,6 @@ class UserService extends AdminBaseService |
|
|
'agent_name' => $item['agent_id'] > 0 ? $agentNameArr[$item['agent_id']] ?? '-' : '-', |
|
|
'agent_name' => $item['agent_id'] > 0 ? $agentNameArr[$item['agent_id']] ?? '-' : '-', |
|
|
]; |
|
|
]; |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return $this->toData('0', 'SUCCESS', ['total' => $total, 'list' => $rows, 'extent' => ['market_type_list' => StockMarketModel::STOCK_MARKET_TYPE, 'is_agent' => $IsAgent, 'agent_list' => $agentNameArr, 'market_rate' => $marketRate, 'market_tape_list' => $tapeList]]); |
|
|
return $this->toData('0', 'SUCCESS', ['total' => $total, 'list' => $rows, 'extent' => ['market_type_list' => StockMarketModel::STOCK_MARKET_TYPE, 'is_agent' => $IsAgent, 'agent_list' => $agentNameArr, 'market_rate' => $marketRate, 'market_tape_list' => $tapeList]]); |
|
|
} catch (ValidateException $validateException) { |
|
|
} catch (ValidateException $validateException) { |
|
@ -1166,6 +1183,51 @@ class UserService extends AdminBaseService |
|
|
return $this->toData('1', '系统异常 请稍后重试', [$exception->getMessage(), $exception->getTrace()]); |
|
|
return $this->toData('1', '系统异常 请稍后重试', [$exception->getMessage(), $exception->getTrace()]); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 编辑用户阶段信息 |
|
|
|
|
|
public function editUserStage($param) |
|
|
|
|
|
{ |
|
|
|
|
|
try { |
|
|
|
|
|
if (empty($param['user_id'])) { |
|
|
|
|
|
return $this->toData('400', '缺少参数'); |
|
|
|
|
|
} |
|
|
|
|
|
// 检测用户数据 |
|
|
|
|
|
$user = UserModel::where('user_id', $param['user_id'])->findOrEmpty()->toArray(); |
|
|
|
|
|
if (empty($user)) { |
|
|
|
|
|
return $this->toData('1', '用户不存在'); |
|
|
|
|
|
} |
|
|
|
|
|
// 检测用户阶段数据 |
|
|
|
|
|
$userStageState = UserStageStateModel::where(['user_id'=>$user['user_id']])->find(); |
|
|
|
|
|
if (empty($userStageState)) { |
|
|
|
|
|
UserStageStateModel::create([ |
|
|
|
|
|
'user_id' => $user['user_id'], |
|
|
|
|
|
'first_stage' => $param['first_stage'] ?? '', |
|
|
|
|
|
'first_stage_state' => $param['first_stage_state'] ?? 0, |
|
|
|
|
|
'second_stage' => $param['second_stage'] ?? '', |
|
|
|
|
|
'second_stage_state' => $param['second_stage_state'] ?? 0, |
|
|
|
|
|
'third_stage' => $param['third_stage'] ?? '', |
|
|
|
|
|
'third_stage_state' => $param['third_stage_state'] ?? 0, |
|
|
|
|
|
]); |
|
|
|
|
|
} else { |
|
|
|
|
|
if (isset($param['first_stage'])) { |
|
|
|
|
|
$userStageState->first_stage = $param['first_stage']; |
|
|
|
|
|
$userStageState->first_stage_state = $param['first_stage_state'] ?? 0; |
|
|
|
|
|
} |
|
|
|
|
|
if (isset($param['second_stage'])) { |
|
|
|
|
|
$userStageState->second_stage = $param['second_stage']; |
|
|
|
|
|
$userStageState->second_stage_state = $param['second_stage_state'] ?? 0; |
|
|
|
|
|
} |
|
|
|
|
|
if (isset($param['third_stage'])) { |
|
|
|
|
|
$userStageState->third_stage = $param['third_stage']; |
|
|
|
|
|
$userStageState->third_stage_state = $param['third_stage_state'] ?? 0; |
|
|
|
|
|
} |
|
|
|
|
|
$userStageState->save(); |
|
|
|
|
|
} |
|
|
|
|
|
return $this->toData('0', 'SUCCESS'); |
|
|
|
|
|
} catch (\Exception $exception) { |
|
|
|
|
|
return $this->toData('500', '系统异常 请稍后重试', [$exception->getMessage(), $exception->getTrace()]); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|