Files
sentos/app/controller/auth/Department.php
2023-10-21 17:45:00 +08:00

124 lines
3.2 KiB
PHP

<?php
// +----------------------------------------------------------------------
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
// +----------------------------------------------------------------------
namespace app\controller\auth;
use think\facade\Request;
use app\model\auth\Departments;
use app\services\auth\DepartmentService;
use Xin\Support\Arr;
use app\controller\Base;
class Department extends Base {
/**
* @title 部门列表
*
* @time 2020年01月09日
* @param Departments $department
* @return Array
*/
public function index() {
$list = app()->make(DepartmentService::class)->getDepartmentList($this->request)->toArray();
if(count($list) > 0){
$root = '';
foreach ($list as $value) {
if($root == ''){
$root = $value['parent_id'];
}else{
if($root > $value['parent_id']){
$root = $value['parent_id'];
}
}
}
$tree = Arr::tree($list, null, 0, ['id'=>'id', 'parent' => 'parent_id', 'child' => 'children']);
if(empty($tree)){
$this->data['data'] = $list;
}else{
$this->data['data'] = $tree;
}
}else{
$this->data['data'] = [];
}
return $this->data;
}
/**
* @title 添加部门
*
* @time 2020年01月09日
* @return Array
*/
public function add() {
$data = request()->post();
$data['creator_id'] = request()->user['uid'];
try {
$result = Departments::create($data);
$this->data['message'] = '添加成功!';
} catch (\Exception $e) {
$this->data['code'] = 0;
$this->data['message'] = $e->getMessage();
}
return $this->data;
}
/**
* @title 更新部门
*
* @time 2020年01月09日
* @param $id
* @param Request $request
* @return Array
*/
public function edit() {
$data = request()->post();
$data['creator_id'] = request()->user['uid'];
try {
$result = Departments::update($data);
$this->data['message'] = '更新成功!';
} catch (\Exception $e) {
$this->data['code'] = 0;
$this->data['message'] = $e->getMessage();
}
return $this->data;
}
/**
* @title 删除部门
*
* @time 2020年01月09日
* @param $id
* @return Array
*/
public function delete() {
$data = request()->post('id');
$map = [];
if(is_array($data)){
$map[] = ['id', 'IN', $data];
}else if(is_numeric($data)){
$map[] = ['id', '=', $data];
}
try {
$result = Departments::destroy(function($query) use ($map){
$query->where($map);
});
$this->data['message'] = '删除成功!';
} catch (\Exception $e) {
$this->data['code'] = 0;
$this->data['message'] = $e->getMessage();
}
return $this->data;
}
/**
* @title 获取班级
*
* @return void
*/
public function studentclass(){
$this->data['data'] = app()->make(DepartmentService::class)->getStudentClassList();
$this->data['code'] = 1;
return $this->data;
}
}