webman_duanju/app/admin/controller/UserInfo.php

84 lines
2.5 KiB
PHP

<?php
namespace app\admin\controller;
use app\common\controller\Backend;
use app\common\library\DatabaseRoute;
use think\facade\Db;
class UserInfo extends Backend
{
protected array $noNeedLogin = ['*'];
public function list()
{
$params = $this->request->param();
$result = DatabaseRoute::paginateAllDb('user_info', function ($query) use ($params) {
if (!empty($params['phone'])) {
$user = DatabaseRoute::getAllDbData('tb_user', function ($q) use ($params) {
return $q->where('phone', $params['phone']);
})->find();
$userId = $user ? $user['user_id'] : -99999;
$query->where('user_id', $userId);
}
if (!empty($name)) {
$query->whereLike('cert_name', "%{$name}%");
}
return $query;
}, $params['page'], $params['limit'], 'id', 'id');
// 用户信息补全
$userInfoList = $result['list'];
$userIds = array_column($userInfoList, 'user_id');
if (!empty($userIds)) {
$userMap = DatabaseRoute::getAllDbData('tb_user', function ($query) use ($params, $userIds) {
return $query
->whereIn('user_id', $userIds);
})->select();
foreach ($userInfoList as &$item) {
$user = $userMap[$item['user_id']] ?? null;
$item['name'] = $user['user_name'] ?? null;
$item['phone'] = $user['phone'] ?? null;
}
unset($item);
$result['list'] = $userInfoList;
}
$this->successWithData($result);
}
public function update()
{
$params = $this->request->put();
if (empty($params['userId'])) {
$this->error('参数错误');
}
$params['update_time'] = getNormalDate();
DatabaseRoute::getDb('user_info', $params['userId'], true, true)->update([
'cert_name' => $params['certName'] ?? '',
'cert_no' => $params['certNo'] ?? '',
'account_no' => $params['accountNo'] ?? '',
'mobile' => $params['mobile'] ?? '',
'bank_name' => $params['bankName'] ?? '',
]);
$this->success();
}
public function delete()
{
$params = $this->request->delete();
if (empty($params['userId'])) {
$this->error('参数错误');
}
DatabaseRoute::getDb('user_info', $params['userId'], true, true)->delete();
$this->success();
}
}