ProjectUserController.php
3.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<?php
namespace App\Http\Controllers\Aside\User;
use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\User\UserLogic;
use App\Http\Requests\Aside\User\UserRequest;
use App\Models\User\User;
use App\Models\User\User as UserModel;
/**
* @remark :b端用户管理
* @name :ProjectUserController
* @author :lyh
* @time :2023/6/17 16:24
*/
class ProjectUserController extends BaseController
{
//超级管理员
const ROLE_ID = 0;
/**
* @remark :超级管理员用户列表
* @name :lists
* @author :lyh
* @method :post
* @time :2023/6/25 9:27
*/
public function lists(){
$userModel = new UserModel();
$query = $userModel->leftJoin('gl_project', 'gl_project_user.project_id', '=', 'gl_project.id')
->leftJoin('gl_project_role', 'gl_project_user.role_id', '=', 'gl_project_role.id');
$query = $this->searchParam($query);
$lists = $query->paginate($this->row, $this->selectParam(), 'page', $this->page);
$this->response('列表',Code::SUCCESS,$lists);
}
/**
* @remark :查询字段
* @name :selectParam
* @author :lyh
* @method :post
* @time :2023/8/4 11:44
*/
public function selectParam(){
$select = [
'gl_project_user.id AS id',
'gl_project.title AS title',
'gl_project_user.project_id AS project_id',
'gl_project_user.mobile AS mobile',
'gl_project_user.email AS email',
'gl_project_user.status AS status',
'gl_project_user.name AS name',
'gl_project_role.name AS role_name',
];
return $select;
}
public function searchParam(&$query){
//搜索条件处理
if(isset($this->map['title'])){
$query = $query->where('gl_project.title','like','%'.$this->map['title'].'%');
}
if(isset($this->map['name'])){
$query = $query->where('gl_project_user.name',$this->map['name'][0],$this->map['name'][1]);
}
if(isset($this->map['mobile'])){
$query = $query->where('gl_project_user.mobile','like','%'.$this->map['mobile'].'%');
}
return $query;
}
/**
* @remark :用户详情
* @name :info
* @author :lyh
* @method :post
* @time :2023/6/25 9:27
*/
public function info(UserLogic $userLogic){
$this->request->validate([
'id'=>'required'
],[
'id.required' => 'ID不能为空'
]);
$info = $userLogic->user_info();
$this->response('success',Code::SUCCESS,$info);
}
/**
* @remark :保存用户
* @name :edit
* @author :lyh
* @method :post
* @time :2023/6/25 9:28
*/
public function save(UserRequest $request,UserLogic $userLogic){
$request->validated();
$userLogic->projectUserSave();
$this->response('success');
}
/**
* @param UserLogic $userLogic
* @remark :编辑用户
* @name :del
* @author :lyh
* @method :post
* @time :2023/6/25 9:28
*/
public function del(UserLogic $userLogic){
$this->request->validate([
'id'=>['required','array'],
],[
'id.required' => 'ID不能为空',
'id.array' => 'ID为数组',
]);
$userLogic->user_del();
$this->response('success');
}
}