all(); if(empty($params['id']))return showJsonErr('模板id不能为空'); if(empty($params['content']))return showJsonErr('模板内容不能为空'); if(empty($params['title']))return showJsonErr('模板标题不能为空'); $r=MsgTemplate::editById($params['id'],$params['content'],$params['title']); if($r['code']==false) return showJsonErr($r['message']); return showJsonSucc($r['message']); } /** * 管理员列表 * @author fatty * @date 2019/1/8 * @description */ public function index(Request $request) { $param = $request->all(); $res = User::whereIsFrontend(0); if (Auth::user()->is_super == 3) { $res = $res->whereIn('id', getIds()); } if (!empty($param['mobile'])) { $res->where('mobile', 'like', "%{$param['mobile']}%"); } if (!empty($param['real_name'])) { $res->where('real_name', 'like', "%{$param['real_name']}%"); } $res->with(['roles' => function () { }]); $res = $res->paginate(perPage()); if ($res->isNotEmpty()) { collect($res->items())->each(function ($item, $key) { $adminarea=AdminArea::where('admin_id','=',$item->id)->first(); // $adminarea=DB::table('admin_area')->where('admin_id', $item->id)->first(); if(!empty($adminarea)){ $item->manageProvince=$adminarea->province; $item->manageCity=$adminarea->city; $item->manageDistrict=$adminarea->district; } }); } return showJson(101, 1001, $res); } /** *系统日志 wsl 20190806 * */ public function operationLogs(Request $request){ $logs=DB::table('system_operation_log as s')->join('user as u','s.operator','=','u.id') ->select('s.*','u.mobile','u.nick_name') ->orderBy('s.id','desc') ->groupBy('s.id') ->paginate(perPage()); return showJsonSucc('数据读取成功',$logs); } /** * 用户拥有的权限 * @author fatty * @date 2019/1/8 * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response * @description */ public function userPermission() { return showJson(101, 1001, \Auth::user()->permissions); } /** * 添加管理员 * @author fatty * @date 2019/1/8 * @param Request $request * @description */ public function create(Request $request) { $validator = Validator::make($param = $request->all(), [ 'mobile' => [ 'required', 'string', ], 'password' => 'required|min:6', 'real_name' => 'required', ]); if ($validator->fails()) { return showJson(102, $validator->errors()->first()); } // 判断是否存在账号 if (User::whereMobile($param['mobile'])->whereIsFrontend(0)->exists() !== false) { return showJsonErr('当前账号已存在'); } // 如果当前用户是代理管理员,则创建的用户是影子用户 if (Auth::user()->is_super == 3) { $shadow = 1; $is_super = 3; } $users = User::create([ 'mobile' => $param['mobile'], 'real_name' => $param['real_name'], 'password' => bcrypt($param['password']), 'is_super' => isset($is_super) ? $is_super : 2, 'invitor' => Auth::id(), 'shadow' => isset($shadow) ? $shadow : 0 ]); if (is_int($users)) { return showJson(102, $users); } return showJson(101, '添加成功', $users); } /** * 当前用户的权限 * @author fatty * @date 2019/1/8 * @description */ public function permission() { return showJson(101, 1001, Auth::user()->getAllPermissions()); } /** * 编辑管理员信息 * @author fatty * @date 2019/1/8 * @description */ public function edit(Request $request) { $validator = Validator::make($param = $request->all(), [ 'mobile' => [ 'string', function ($attribute, $value, $fail) { // 判断是否存在账号 if (SystemUser::where('mobile', $value)->exists() !== false) { return $fail(lang(10001)); } }, ], 'password' => 'min:6', 'id' => 'required|exists:user,id', 'role' => 'string', 'status' => 'integer|between:1,2' ]); if ($validator->fails()) { return showJson(102, $validator->errors()->first()); } if (isset($param['password'])) { $param['password'] = bcrypt($param['password']); } // if (isset($param['role'])) { // SystemUser::givePermissionTo('edit articles'); // } $users = User::whereId($param['id'])->update($param); if (empty($users)) { return showJson(102, '编辑失败'); } return showJson(101, '编辑成功'); } /** * 删除管理员 * @author fatty * @date 2019/1/8 * @param $id * @description */ public function del($id) { $user = User::find($id); if (empty($user)) { return showJsonErr('管理员记录不存在'); } // 如果待删除的管理员是超管则不可删除 if ($user->is_super == 1) { return showJson(101, '抱歉您没有权限删除该管理员'); } // 如果待删除的用户是影子代理商可删除 if ($user->is_super == 3 && $user->shadow == 0) { return showJson(101, '抱歉,该用户是地区代理,不能删除'); } $role = $user->getRoleNames(); foreach ($role as $item) { $user->removeRole($item); } if (!$user->delete()) { return showJson(102, '删除管理员失败'); } return showJson(101, '删除管理员成功'); } /** * 更新密码 * @author fatty * @date 2019/3/11 * @param Request $request * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response * @description */ public function update(Request $request) { $password = $request->post('password', null); if (empty($password)) { return showJson(102, '修改密码失败'); } if (!SystemUser::whereId(Auth::id())->update(['password' => User::encodePassword($password)])) { return showJson(102, '修改密码失败'); } return showJson(101, '修改密码成功'); } }