|
@@ -22,7 +22,7 @@ class AdminUser extends Auth{
|
|
|
* 列表页
|
|
|
*
|
|
|
* */
|
|
|
- public function index(Model $Model,AdminRule $AdminRule){
|
|
|
+ public function index(Model $Model){
|
|
|
$mp = [];
|
|
|
$session = session('userRule');
|
|
|
if ($session){
|
|
@@ -35,8 +35,9 @@ class AdminUser extends Auth{
|
|
|
$mp['admin_rule.type'] = 1;
|
|
|
}
|
|
|
// 查询系统用户
|
|
|
- $list = $Model::query()->join('admin_rule','admin_rule.admin_uid','=','admin.uid')
|
|
|
- ->where($mp)
|
|
|
+ $list = $Model::query();
|
|
|
+ if($mp) $list->join('admin_rule','admin_rule.admin_uid','=','admin.uid');
|
|
|
+ $list = $list->where($mp)
|
|
|
->orderByDesc('admin.uid')
|
|
|
->paginate(config('page_num',10));
|
|
|
// 循环处理
|
|
@@ -95,68 +96,63 @@ class AdminUser extends Auth{
|
|
|
// 验证参数
|
|
|
$request->scene('add')->validate();
|
|
|
// 接收数据
|
|
|
- $data['username'] = request('username','');
|
|
|
- $data['phone'] = request('phone','');
|
|
|
- $data['password'] = request('password','');
|
|
|
- $data['password'] = md5($data['password']);
|
|
|
- $data_type = request('data_type','');
|
|
|
- $ruleData = [];
|
|
|
- if ($data_type){
|
|
|
- $ruleData['data_type'] = $data_type;
|
|
|
- }
|
|
|
- $session = session('userRule');
|
|
|
- if ($session){
|
|
|
- $ruleData['company_id'] = $session['company_id'];
|
|
|
- if ($session['business_id']){
|
|
|
- $ruleData['business_id'] = $session['business_id'];
|
|
|
- }
|
|
|
- }
|
|
|
+ $data['username'] = request('username','');
|
|
|
+ $data['phone'] = request('phone','');
|
|
|
+ $data['password'] = request('password','');
|
|
|
+ $data['password'] = md5($data['password']);
|
|
|
+ $dataType = request('data_type',1);
|
|
|
+ // 角色数据
|
|
|
+ $ruleData = ['menu_type'=>1,'data_type'=>$dataType,'type'=>1,'company_id'=>1,'business_id'=>0];
|
|
|
+ // 当前登录用户角色数据
|
|
|
+ $session = session('userRule') ? session('userRule') : ['menu_type'=>0,'company_id'=>0,'business_id'=>0];
|
|
|
+ // 修改数据
|
|
|
+ if( $session['menu_type'] ) $ruleData['menu_type'] = $session['menu_type'];
|
|
|
+ if( $session['company_id'] ) $ruleData['company_id'] = $session['company_id'];
|
|
|
+ if( $session['business_id'] ) $ruleData['business_id'] = $session['business_id'];
|
|
|
// 所属权限组
|
|
|
- $groups = (array) request('groups',[]);
|
|
|
+ $groups = (array) request('groups',[]);
|
|
|
// 开启事务
|
|
|
DB::beginTransaction();
|
|
|
// 写入数据表
|
|
|
- $uid = $Model->add($data);
|
|
|
+ $uid = $Model->add($data);
|
|
|
// 如果操作失败
|
|
|
if( !$uid ) {
|
|
|
// 回滚事务
|
|
|
- DB::rollBack();
|
|
|
+ DB::rollBack();
|
|
|
// 告知错误
|
|
|
- return json_send(['code'=>'error','msg'=>'新增失败']);
|
|
|
+ return json_send(['code'=>'error','msg'=>'新增失败']);
|
|
|
}
|
|
|
// 权限组
|
|
|
- $access = [];
|
|
|
+ $access = [];
|
|
|
// 循环数据
|
|
|
foreach ( $groups as $group_id) {
|
|
|
// 追加数据
|
|
|
- $access[] = ['group_id'=>$group_id,'user_uid'=>$uid];
|
|
|
+ $access[] = ['group_id'=>$group_id,'user_uid'=>$uid];
|
|
|
}
|
|
|
// 写入用户权限组
|
|
|
- $result = DB::table('auth_group_access')->insert($access);
|
|
|
+ $result = DB::table('auth_group_access')->insert($access);
|
|
|
// 如果操作失败
|
|
|
if( !$result ) {
|
|
|
// 回滚事务
|
|
|
- DB::rollBack();
|
|
|
+ DB::rollBack();
|
|
|
// 告知错误
|
|
|
- return json_send(['code'=>'error','msg'=>'权限分配失败']);
|
|
|
+ return json_send(['code'=>'error','msg'=>'权限分配失败']);
|
|
|
+ }
|
|
|
+ //写入用户角色表
|
|
|
+ $ruleData['admin_uid'] = $uid;
|
|
|
+ $ruleUid = $AdminRule->add($ruleData);
|
|
|
+ // 如果操作失败
|
|
|
+ if( !$ruleUid ){
|
|
|
+ // 回滚事务
|
|
|
+ DB::rollBack();
|
|
|
+ return json_send(['code'=>'error','msg'=>'新增管理员角色失败']);
|
|
|
}
|
|
|
- //写入用户角色表
|
|
|
- $ruleData['admin_uid'] = $uid;
|
|
|
- $ruleData['type'] = 1;
|
|
|
- $ruleData['menu_type'] = $session['menu_type'];
|
|
|
- $ruleUid = $AdminRule->add($ruleData);
|
|
|
- // 如果操作失败
|
|
|
- if( !$ruleUid ){
|
|
|
- // 回滚事务
|
|
|
- DB::rollBack();
|
|
|
- return json_send(['code'=>'error','msg'=>'新增管理员角色失败']);
|
|
|
- }
|
|
|
// 提交事务
|
|
|
- DB::commit();
|
|
|
+ DB::commit();
|
|
|
// 记录行为
|
|
|
$this->addAdminHistory(admin('uid'),$Model->getTable(),$uid,1,[],$data);
|
|
|
// 告知结果
|
|
|
- return json_send(['code'=>'success','msg'=>'新增成功','action'=>'add']);
|
|
|
+ return json_send(['code'=>'success','msg'=>'新增成功','action'=>'add']);
|
|
|
}
|
|
|
$whereGroup = [];
|
|
|
// 如果不是超管 查询当前用户所属组
|
|
@@ -190,30 +186,40 @@ class AdminUser extends Auth{
|
|
|
* */
|
|
|
public function edit(Request $request,Model $Model,AdminRule $AdminRule){
|
|
|
// 接收参数
|
|
|
- $uid = request('uid',0);
|
|
|
+ $uid = request('uid',0);
|
|
|
// 查询用户
|
|
|
- $oldData = $Model->where(['uid'=>$uid])->first();
|
|
|
+ $oldData = $Model->where(['uid'=>$uid])->first();
|
|
|
if(request()->isMethod('post')){
|
|
|
// 验证参数
|
|
|
$request->scene('edit')->validate();
|
|
|
// 接收数据
|
|
|
- $data['username'] = request('username','');
|
|
|
- $data['phone'] = request('phone','');
|
|
|
- $data_type = request('data_type','');
|
|
|
+ $data['username'] = request('username','');
|
|
|
+ $data['phone'] = request('phone','');
|
|
|
+ $dataType = request('data_type',1);
|
|
|
+ // 角色数据
|
|
|
+ $ruleData = $AdminRule::query()->where([['admin_uid','=',$uid]])->first(['id','admin_uid','menu_type','data_type','type','company_id','business_id']);
|
|
|
+ // 如果不存在的话
|
|
|
+ $ruleData = $ruleData ? $ruleData->toArray() : ['admin_uid'=>$uid,'menu_type'=>1,'data_type'=>$dataType,'type'=>1,'company_id'=>1,'business_id'=>0];
|
|
|
+ // 当前登录用户角色数据
|
|
|
+ $session = session('userRule') ? session('userRule') : ['menu_type'=>0,'company_id'=>0,'business_id'=>0];
|
|
|
+ // 修改数据
|
|
|
+ if( $session['menu_type'] ) $ruleData['menu_type'] = $session['menu_type'];
|
|
|
+ if( $session['company_id'] ) $ruleData['company_id'] = $session['company_id'];
|
|
|
+ if( $session['business_id'] ) $ruleData['business_id'] = $session['business_id'];
|
|
|
// 密码
|
|
|
- $password = request('password','');
|
|
|
+ $password = request('password','');
|
|
|
// 所属权限组
|
|
|
- $groups = (array) request('groups',[]);
|
|
|
+ $groups = (array) request('groups',[]);
|
|
|
// 如果用户不存在
|
|
|
- if( !$oldData ) return json_send(['code'=>'error','msg'=>'用户不存在']);
|
|
|
+ if( !$oldData ) return json_send(['code'=>'error','msg'=>'用户不存在']);
|
|
|
// 不能修改超管的账号
|
|
|
if( $oldData['username'] == config('administrator') ) return json_send(['code'=>'error','msg'=>'这是被禁止的操作']);
|
|
|
// 如果要修密码
|
|
|
- if( $password ) $data['password'] = md5($password);
|
|
|
+ if( $password ) $data['password'] = md5($password);
|
|
|
// 开启事务
|
|
|
DB::beginTransaction();
|
|
|
// 写入数据表
|
|
|
- $result = $Model->edit($uid,$data);
|
|
|
+ $result = $Model->edit($uid,$data);
|
|
|
// 如果操作失败
|
|
|
if( !$result ) {
|
|
|
// 回滚事务
|
|
@@ -239,17 +245,15 @@ class AdminUser extends Auth{
|
|
|
// 告知错误
|
|
|
return json_send(['code'=>'error','msg'=>'权限分配失败']);
|
|
|
}
|
|
|
- if ($data_type){
|
|
|
- // 写入数据表
|
|
|
- $result = $AdminRule::query()->where('admin_uid','=',$uid)->update(['data_type'=>$data_type]);
|
|
|
- // 如果操作失败
|
|
|
- if( !$result ) {
|
|
|
- // 回滚事务
|
|
|
- DB::rollBack();
|
|
|
- // 告知错误
|
|
|
- return json_send(['code'=>'error','msg'=>'新增失败']);
|
|
|
- }
|
|
|
- }
|
|
|
+ // 写入数据表
|
|
|
+ $result = empty($ruleData['id']) ? $AdminRule->add($ruleData) : $AdminRule->edit($ruleData['id'],$ruleData);
|
|
|
+ // 如果操作失败
|
|
|
+ if( !$result ) {
|
|
|
+ // 回滚事务
|
|
|
+ DB::rollBack();
|
|
|
+ // 告知错误
|
|
|
+ return json_send(['code'=>'error','msg'=>'修改失败']);
|
|
|
+ }
|
|
|
// 提交事务
|
|
|
DB::commit();
|
|
|
// 记录行为
|