<?php // +---------------------------------------------------------------------- // | likeadmin快速开发前后端分离管理后台(PHP版) // +---------------------------------------------------------------------- // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力 // | 开源版本可自由商用,可去除界面版权logo // | gitee下载:https://gitee.com/likeshop_gitee/likeadmin // | github下载:https://github.com/likeshop-github/likeadmin // | 访问官网:https://www.likeadmin.cn // | likeadmin团队 版权所有 拥有最终解释权 // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- namespace app\adminapi\controller\auth; use app\adminapi\controller\BaseAdminController; use app\adminapi\lists\auth\AdminLists; use app\adminapi\validate\auth\AdminValidate; use app\adminapi\logic\auth\AdminLogic; use app\adminapi\validate\auth\editSelfValidate; use app\common\model\auth\Admin; use app\common\model\dept\Dept; use app\common\model\dept\Jobs; use app\common\model\dept\Orgs; /** * 管理员控制器 * Class AdminController * @package app\adminapi\controller\auth */ class AdminController extends BaseAdminController { /** * @notes 查看管理员列表 * @return \think\response\Json * @author 段誉 * @date 2021/12/29 9:55 */ public function lists() { return $this->dataLists(new AdminLists()); } /** * @notes 添加管理员 * @return \think\response\Json * @author 段誉 * @date 2021/12/29 10:21 */ public function add() { $params = (new AdminValidate())->post()->goCheck('add'); $result = AdminLogic::add($params); if (true === $result) { return $this->success('操作成功', [], 1, 1); } return $this->fail(AdminLogic::getError()); } /** * @notes 编辑管理员 * @return \think\response\Json * @author 段誉 * @date 2021/12/29 11:03 */ public function edit() { $params = (new AdminValidate())->post()->goCheck('edit'); $result = AdminLogic::edit($params); if (true === $result) { return $this->success('操作成功', [], 1, 1); } return $this->fail(AdminLogic::getError()); } /** * @notes 删除管理员 * @return \think\response\Json * @author 段誉 * @date 2021/12/29 11:03 */ public function delete() { $params = (new AdminValidate())->post()->goCheck('delete'); $result = AdminLogic::delete($params); if (true === $result) { return $this->success('操作成功', [], 1, 1); } return $this->fail(AdminLogic::getError()); } /** * @notes 查看管理员详情 * @return \think\response\Json * @author 段誉 * @date 2021/12/29 11:07 */ public function detail() { $params = (new AdminValidate())->goCheck('detail'); $result = AdminLogic::detail($params); return $this->data($result); } /** * @notes 获取当前管理员信息 * @return \think\response\Json * @author 段誉 * @date 2021/12/31 10:53 */ public function mySelf() { $result = AdminLogic::detail(['id' => $this->adminId], 'auth'); return $this->data($result); } /** * @notes 编辑超级管理员信息 * @return \think\response\Json * @author 段誉 * @date 2022/4/8 17:54 */ public function editSelf() { $params = (new editSelfValidate())->post()->goCheck('', ['admin_id' => $this->adminId]); $result = AdminLogic::editSelf($params); return $this->success('操作成功', [], 1, 1); } //获取所有人员 public function getAdminsByAll(): \think\response\Json { $data = Admin::field('id,name,avatar,org_id,dept_id,job_id')->select()->each(function($item){ $job = Jobs::field('name')->where('id',$item['job_id'])->findOrEmpty(); $dept = Dept::field('name')->where('id',$item['dept_id'])->findOrEmpty(); $org = Orgs::field('name')->where('id',$item['org_id'])->findOrEmpty(); $item['job_name'] = $job->isEmpty() ? '' : $job['name']; $item['dept_name'] = $dept->isEmpty() ? '' : $dept['name']; $item['org_name'] = $org->isEmpty() ? '' : $org['name']; unset($item['org_id'],$item['dept_id'],$item['job_id']); return $item; })->toArray(); foreach($data as $k=>$v){ unset($data[$k]['role_id']); } return $this->success('请求成功',$data); } //获取某个部门下的所有人员 public function getAdminsByDept(): \think\response\Json { $dept_id = $this->request->get('dept_id'); if(empty($dept_id)){ return $this->fail('参数错误'); } $data = Admin::field('id,name,avatar,org_id,dept_id,job_id')->where('dept_id',$dept_id)->select()->each(function($item){ $job = Jobs::field('name')->where('id',$item['job_id'])->findOrEmpty(); $dept = Dept::field('name')->where('id',$item['dept_id'])->findOrEmpty(); $org = Orgs::field('name')->where('id',$item['org_id'])->findOrEmpty(); $item['job_name'] = $job->isEmpty() ? '' : $job['name']; $item['dept_name'] = $dept->isEmpty() ? '' : $dept['name']; $item['org_name'] = $org->isEmpty() ? '' : $org['name']; unset($item['org_id'],$item['dept_id'],$item['job_id']); return $item; })->toArray(); foreach($data as $k=>$v){ unset($data[$k]['role_id']); } return $this->success('请求成功',$data); } //获取某个岗位下的所有人员 public function getAdminsByJob(): \think\response\Json { $job_id = $this->request->get('job_id'); if(empty($job_id)){ return $this->fail('参数错误'); } $data = Admin::field('id,name,avatar,org_id,dept_id,job_id')->where('job_id',$job_id)->select()->each(function($item){ $job = Jobs::field('name')->where('id',$item['job_id'])->findOrEmpty(); $dept = Dept::field('name')->where('id',$item['dept_id'])->findOrEmpty(); $org = Orgs::field('name')->where('id',$item['org_id'])->findOrEmpty(); $item['job_name'] = $job->isEmpty() ? '' : $job['name']; $item['dept_name'] = $dept->isEmpty() ? '' : $dept['name']; $item['org_name'] = $org->isEmpty() ? '' : $org['name']; unset($item['org_id'],$item['dept_id'],$item['job_id']); return $item; })->toArray(); foreach($data as $k=>$v){ unset($data[$k]['role_id']); } return $this->success('请求成功',$data); } }