作者 Your Name

Merge branch 'dev' of http://47.244.231.31:8099/zhl/globalso-v6 into dev

<?php
namespace App\Http\Controllers\Aside;
use App\Helper\Arr;
use App\Http\Logic\Aside\DeptLogic;
use App\Http\Requests\Aside\DeptRequest;
use App\Rules\Ids;
use Illuminate\Http\Request;
/**
* Class DeptController
* @package App\Http\Controllers\Aside
* @author zbj
* @date 2023/4/20
*/
class DeptController extends BaseController
{
public function index(DeptLogic $logic)
{
$map = [];
if(!empty($this->param['search'])){
$map[] = ['title', 'like', "%{$this->param['search']}%"];
}
$sort = ['id' => 'desc'];
$data = $logic->getList($map, $sort, ['id', 'pid', 'title'],0);
return $this->success(Arr::listToTree($data));
}
public function info(Request $request, DeptLogic $logic){
$request->validate([
'id'=>'required'
],[
'id.required' => 'ID不能为空'
]);
$data = $logic->getInfo($this->param['id']);
return $this->success(Arr::twoKeepKeys($data, ['id', 'pid', 'title', 'manager_uids', 'remark']));
}
public function save(DeptRequest $request, DeptLogic $logic)
{
$data = $logic->save($this->param);
return $this->success($data);
}
public function delete(Request $request, DeptLogic $logic)
{
$request->validate([
'ids'=>['required', new Ids()]
],[
'ids.required' => 'ID不能为空'
]);
$data = $logic->delete($this->param['ids']);
return $this->success($data);
}
}
... ...
... ... @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Aside;
use App\Helper\Arr;
use App\Http\Logic\Aside\GroupLogic;
use App\Http\Requests\Aside\GroupRequest;
use App\Rules\Ids;
use Illuminate\Http\Request;
... ... @@ -33,7 +34,7 @@ class GroupController extends BaseController
return $this->success($data);
}
public function save(GroupLogic $request, GroupLogic $logic){
public function save(GroupRequest $request, GroupLogic $logic){
$data = $logic->save($this->param);
return $this->success($data);
}
... ...
... ... @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Aside;
use App\Helper\Arr;
use App\Http\Logic\Aside\MenuLogic;
use App\Http\Requests\Aside\MenuRequest;
use App\Rules\Ids;
use Illuminate\Http\Request;
... ... @@ -35,7 +36,7 @@ class MenuController extends BaseController
return $this->success($data);
}
public function save(MenuLogic $request, MenuLogic $logic){
public function save(MenuRequest $request, MenuLogic $logic){
$data = $logic->save($this->param);
return $this->success($data);
}
... ...
... ... @@ -3,21 +3,21 @@
namespace App\Http\Controllers\Bside;
use App\Helper\Arr;
use App\Http\Logic\Bside\DepartmentLogic;
use App\Http\Requests\Bside\DepartmentRequest;
use App\Http\Logic\Bside\DeptLogic;
use App\Http\Requests\Bside\DeptRequest;
use App\Rules\Ids;
use Illuminate\Http\Request;
/**
* Class DepartmentController
* Class DeptController
* @package App\Http\Controllers\Bside
* @author zbj
* @date 2023/4/18
*/
class DepartmentController extends BaseController
class DeptController extends BaseController
{
public function index(DepartmentLogic $logic)
public function index(DeptLogic $logic)
{
$map = [];
if(!empty($this->param['search'])){
... ... @@ -28,7 +28,7 @@ class DepartmentController extends BaseController
return $this->success(Arr::listToTree($data));
}
public function info(Request $request, DepartmentLogic $logic){
public function info(Request $request, DeptLogic $logic){
$request->validate([
'id'=>'required'
],[
... ... @@ -38,13 +38,13 @@ class DepartmentController extends BaseController
return $this->success(Arr::twoKeepKeys($data, ['id', 'pid', 'title', 'manager_uids', 'remark']));
}
public function save(DepartmentRequest $request, DepartmentLogic $logic)
public function save(DeptRequest $request, DeptLogic $logic)
{
$data = $logic->save($this->param);
return $this->success($data);
}
public function delete(Request $request, DepartmentLogic $logic)
public function delete(Request $request, DeptLogic $logic)
{
$request->validate([
'ids'=>['required', new Ids()]
... ...
<?php
namespace App\Http\Logic\Aside;
use App\Helper\Arr;
use App\Models\ManageDept;
use Illuminate\Database\Eloquent\Model;
/**
* Class DeptLogic
* @package App\Http\Logic\Aside\Department
* @author zbj
* @date 2023/4/20
*/
class DeptLogic extends BaseLogic
{
public function __construct()
{
parent::__construct();
$this->model = new ManageDept();
}
public function save($param){
if(!empty($param['pid'])){
if(!empty($param['id']) && $param['pid'] == $param['id']){
$this->fail('上级部门不能是本部门');
}
$p_cate = $this->getCacheInfo($param['pid']);
if(!$p_cate){
$this->fail('上级部门不存在');
}
}
return parent::save($param);
}
public function delete($ids){
$ids= array_filter(Arr::splitFilterToArray($ids), 'intval');
foreach ($ids as $id){
$info = $this->getCacheInfo($id);
if(!$info){
continue;
}
//是否有子部门
if(ManageDept::where('pid', $id)->count()){
$this->fail("部门{$info['title']}存在下级部门,不能删除");
}
}
return parent::delete($ids);
}
}
... ...
... ... @@ -20,32 +20,4 @@ class GroupLogic extends BaseLogic
$this->model = new Group();
}
public function save($param){
if(!empty($param['pid'])){
if(!empty($param['id']) && $param['pid'] == $param['id']){
$this->fail('上级菜单不能是本菜单');
}
$p_Group = $this->getCacheInfo($param['pid']);
if(!$p_Group){
$this->fail('上级菜单不存在');
}
}
return parent::save($param);
}
public function delete($ids, $map = []){
$ids= array_filter(Arr::splitFilterToArray($ids), 'intval');
foreach ($ids as $id){
$info = $this->getCacheInfo($id);
if(!$info){
continue;
}
//是否有子菜单
if(Group::where('pid', $id)->count()){
$this->fail("菜单{$info['title']}存在子菜单,不能删除");
}
}
return parent::delete($ids);
}
}
... ...
... ... @@ -3,6 +3,7 @@
namespace App\Http\Logic\Aside;
use App\Models\Manage;
use App\Models\ManageLoginLog;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Session;
... ... @@ -25,18 +26,21 @@ class LoginLogic extends BaseLogic
public function login()
{
$info = $this->model->where('mobile', $this->requestAll['mobile'])->first();
$manage = $this->model->where('mobile', $this->requestAll['mobile'])->first();
if (!$info){
if (!$manage){
$this->fail('登录用户名不存在');
}
if (Manage::STATUS_DISABLE == $info->status) {
if (Manage::STATUS_DISABLE == $manage->status) {
$this->fail('帐号已被禁用');
}
if (!Hash::check($this->requestAll['password'], $info->password)) {
if (!Hash::check($this->requestAll['password'], $manage->password)) {
$this->fail('登录密码不正确');
}
Session::put('manage', $info->toArray());
Session::put('manage', $manage->toArray());
ManageLoginLog::addLog($manage->id);
return $this->success();
}
... ...
... ... @@ -3,21 +3,21 @@
namespace App\Http\Logic\Bside;
use App\Helper\Arr;
use App\Models\Department;
use App\Models\ProjectDept;
/**
* Class DepartmentLogic
* Class DeptLogic
* @package App\Http\Logic\Bside\Department
* @author zbj
* @date 2023/4/18
*/
class DepartmentLogic extends BaseLogic
class DeptLogic extends BaseLogic
{
public function __construct()
{
parent::__construct();
$this->model = new Department();
$this->model = new ProjectDept();
}
public function save($param){
... ... @@ -41,7 +41,7 @@ class DepartmentLogic extends BaseLogic
continue;
}
//是否有子部门
if(Department::where('project_id', $this->user['project_id'])->where('pid', $id)->count()){
if(ProjectDept::where('project_id', $this->user['project_id'])->where('pid', $id)->count()){
$this->fail("部门{$info['title']}存在下级部门,不能删除");
}
}
... ...
<?php
namespace App\Http\Requests\Aside;
use Illuminate\Foundation\Http\FormRequest;
/**
* Class DeptRequest
* @package App\Http\Requests\Aside\product
* @author zbj
* @date 2023/4/20
*/
class DeptRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'title'=>'required|max:50',
'remark'=>'max:200',
];
}
public function messages()
{
return [
'title.required' => '请输入部门名称',
'title.max' => '部门名称不能超过50个字符',
'remark.max' => '备注不能超过200个字符',
];
}
}
... ...
... ... @@ -5,12 +5,12 @@ namespace App\Http\Requests\Bside;
use Illuminate\Foundation\Http\FormRequest;
/**
* Class DepartmentRequest
* Class DeptRequest
* @package App\Http\Requests\Bside\product
* @author zbj
* @date 2023/4/18
*/
class DepartmentRequest extends FormRequest
class DeptRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
... ...
... ... @@ -4,11 +4,11 @@ namespace App\Models;
use Illuminate\Database\Eloquent\SoftDeletes;
class Department extends Base
class ManageDept extends Base
{
use SoftDeletes;
//设置关联表名
protected $table = 'gl_department';
protected $table = 'gl_manage_dept';
}
... ...
<?php
namespace App\Models;
use Illuminate\Support\Facades\Session;
class ManageLoginLog extends Base
{
//设置关联表名
protected $table = 'gl_manage_login_log';
const UPDATED_AT = null;
/**
* 登录日志
* @param $manage_id
* @author zbj
* @date 2023/4/20
*/
public function addLog($manage_id){
$log = new self();
$log->manage_id = $manage_id;
$log->session_id = Session::getId();
$log->ip = request()->ip();
$log->save();
}
}
... ...
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\SoftDeletes;
class ProjectDept extends Base
{
use SoftDeletes;
//设置关联表名
protected $table = 'gl_project_dept';
}
... ...
... ... @@ -128,10 +128,10 @@ Route::middleware(['bloginauth'])->group(function () {
//组织架构
Route::prefix('department')->group(function () {
Route::get('/', [\App\Http\Controllers\Bside\DepartmentController::class, 'index'])->name('department');
Route::get('/info', [\App\Http\Controllers\Bside\DepartmentController::class, 'info'])->name('department_info');
Route::post('/save', [\App\Http\Controllers\Bside\DepartmentController::class, 'save'])->name('department_save');
Route::any('/delete', [\App\Http\Controllers\Bside\DepartmentController::class, 'delete'])->name('department_delete');
Route::get('/', [\App\Http\Controllers\Bside\DeptController::class, 'index'])->name('department');
Route::get('/info', [\App\Http\Controllers\Bside\DeptController::class, 'info'])->name('department_info');
Route::post('/save', [\App\Http\Controllers\Bside\DeptController::class, 'save'])->name('department_save');
Route::any('/delete', [\App\Http\Controllers\Bside\DeptController::class, 'delete'])->name('department_delete');
});
});
... ...