作者 liyuhang

gx

... ... @@ -4,6 +4,8 @@ namespace App\Http\Controllers\Aside\User;
use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\User\ProjectGroupLogic;
use App\Http\Requests\Aside\User\ProjectGroupRequest;
use App\Models\ProjectGroup as ProjectGroupModel;
class ProjectGroupController extends BaseController
... ... @@ -15,4 +17,64 @@ class ProjectGroupController extends BaseController
$lists = $projectGroupModel->lists($this->map,$this->page,$this->row,$this->order);
$this->response('success',Code::SUCCESS,$lists);
}
/**
* @name :添加用户组
* @return void
* @author :liyuhang
* @method
*/
public function add(ProjectGroupRequest $request,ProjectGroupLogic $projectGroupLogic){
$request->validated();
$projectGroupLogic->group_add();
$this->response('success');
}
/**
* @name :编辑用户组
* @return void
* @author :liyuhang
* @method
*/
public function edit(ProjectGroupRequest $request,ProjectGroupLogic $projectGroupLogic){
$request->validate([
'id'=>'required'
],[
'id.required' => 'ID不能为空'
]);
$projectGroupLogic->group_edit();
$this->response('success');
}
/**
* @name :用户组详情
* @return void
* @author :liyuhang
* @method
*/
public function info(ProjectGroupLogic $projectGroupLogic){
$this->request->validate([
'id'=>'required'
],[
'id.required' => 'ID不能为空'
]);
$projectGroupLogic->group_info();
$this->success('success');
}
/**
* @name :删除用户组
* @return void
* @author :liyuhang
* @method
*/
public function del(ProjectGroupLogic $projectGroupLogic){
$this->request->validate([
'id'=>'required'
],[
'id.required' => 'ID不能为空'
]);
$projectGroupLogic->group_del();
$this->success('success');
}
}
... ...
... ... @@ -30,8 +30,8 @@ class ProjectUserController extends BaseController
* @author :liyuhang
* @method
*/
public function info(Request $request,UserLogic $userLogic){
$request->validate([
public function info(UserLogic $userLogic){
$this->request->validate([
'id'=>'required'
],[
'id.required' => 'ID不能为空'
... ... @@ -73,7 +73,7 @@ class ProjectUserController extends BaseController
* @author :liyuhang
* @method
*/
public function del(Request $request,UserLogic $userLogic){
public function del(UserLogic $userLogic){
$this->request->validate([
'id'=>['required','array'],
],[
... ...
... ... @@ -21,7 +21,8 @@ class BlogController extends BaseController
public function lists(BlogModel $blogModel,BlogCategoryLogic $blogCategoryLogic,BlogLabelLogic $blogLabelLogic){
//搜索条件
$this->map['project_id'] = $this->user['project_id'];
$lists = $blogModel->lists($this->map,$this->page,$this->row,$this->order);
$lists = $blogModel->lists($this->map,$this->page,$this->row,$this->order,
['id','category_id','operator_id','status','created_at','updated_at','name','sort']);
if(!empty($lists['list'])){
foreach ($lists['list'] as $k => $v){
//获取分类名称
... ...
... ... @@ -24,7 +24,8 @@ class NewsController extends BaseController
*/
public function lists(NewsModel $news,NewsCategoryLogic $newsCategoryLogic){
$this->map['project_id'] = $this->user['project_id'];
$lists = $news->lists($this->map,$this->page,$this->row,$this->order);
$lists = $news->lists($this->map,$this->page,$this->row,$this->order,
['id','category_id','operator_id','status','created_at','updated_at','name','sort']);
if(!empty($lists['list'])){
foreach ($lists['list'] as $k => $v){
$v = $newsCategoryLogic->get_category_name($v);
... ...
... ... @@ -8,6 +8,7 @@ use Illuminate\Http\Exceptions\HttpResponseException;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Storage;
use Intervention\Image\Facades\Image;
class ImageController
... ... @@ -176,6 +177,12 @@ class ImageController
$imageModel->insertAll($save_data);
return $data;
}
//下载
public function download($filename){
$path = Storage::path('./../uploads/images/'.$filename);
return response()->download($path,$filename);
}
/**
* @name 统一返回参数
* @return JsonResponse
... ...
... ... @@ -5,6 +5,7 @@ namespace App\Http\Logic\Aside;
use App\Enums\Common\Common;
use App\Http\Logic\Logic;
use Illuminate\Support\Facades\Session;
/**
* @notes: 逻辑层基类 控制器调用 统一返回 统一抛出异常
... ... @@ -17,9 +18,12 @@ class BaseLogic extends Logic
protected $side = Common::A;
protected $user = [];
public function __construct()
{
$this->requestAll = request()->all();
$this->user = Session::get('manage');
}
}
... ...
<?php
namespace App\Http\Logic\Aside\User;
use App\Http\Logic\Aside\BaseLogic;
use App\Models\User\ProjectMenu;
class ProjectGroupLogic extends BaseLogic
{
public function __construct()
{
parent::__construct();
$this->model = new ProjectMenu();
$this->param = $this->requestAll;
}
/**
* @name :详情
* @return void
* @author :liyuhang
* @method
*/
public function group_info(){
$info = $this->info($this->param);
return $this->success($info);
}
/**
* @name :添加
* @return void
* @author :liyuhang
* @method
*/
public function group_add(){
//查看当前用户组是否存在
$this->model->read(['name'=>$this->param['name'],'create_id'=>1]);
$rs = $this->model->add($this->param);
if($rs === false){
$this->fail('error');
}
return $this->success();
}
/**
* @name :编辑
* @return void
* @author :liyuhang
* @method
*/
public function group_edit(){
//查看当前用户组是否存在
$this->model->read(['name'=>$this->param['name'],'create_id'=>1]);
return $this->success();
}
/**
* @name :删除
* @return void
* @author :liyuhang
* @method
*/
public function group_del(){
return $this->success();
}
}
... ...
... ... @@ -22,11 +22,8 @@ class ProjectMenuLogic extends BaseLogic
* @method
*/
public function menu_info(){
$info = $this->model->read($this->param);
if($info === false){
$this->fail('当前数据不存在');
}
$this->success($info);
$info = $this->info($this->param);
return $this->success($info);
}
/**
... ... @@ -45,7 +42,7 @@ class ProjectMenuLogic extends BaseLogic
if($rs === false){
$this->fail('添加失败');
}
$this->success();
return $this->success();
}
/**
... ... @@ -60,11 +57,8 @@ class ProjectMenuLogic extends BaseLogic
if($info !== false){
$this->fail('当前菜单名称已存在');
}
$rs = $this->model->edit($this->param,['id'=>$this->param['id']]);
if($rs === false){
$this->fail('编辑失败');
}
$this->success();
$this->edit($this->param,['id'=>$this->param['id']]);
return $this->success();
}
/**
... ... @@ -74,11 +68,19 @@ class ProjectMenuLogic extends BaseLogic
* @method
*/
public function menu_del(){
$ids = $this->param['id'];
//查看当前菜单是否有子菜单
foreach ($ids as $v){
$info = $this->model->read(['pid'=>$v],['id','name']);
if($info !== false){
$this->fail('当前分类存在子分类:'.$info['name'].',不允许删除');
}
}
$this->param['id'] = ['in',$this->param['id']];
$rs = $this->model->del($this->param);
$rs = $this->del($this->param);
if($rs === false){
$this->fail('编辑失败');
}
$this->success();
return $this->success();
}
}
... ...
... ... @@ -39,7 +39,7 @@ class ProjectRoleLogic extends BaseLogic
}
}
}
$this->success($menu);
return $this->success($menu);
}
/**
* @name :详情
... ... @@ -48,11 +48,8 @@ class ProjectRoleLogic extends BaseLogic
* @method
*/
public function role_info(){
$info = $this->model->read($this->param);
if($info === false){
$this->fail('当前数据不存在');
}
$this->success($info);
$info = $this->info($this->param);
return $this->success($info);
}
/**
... ... @@ -71,7 +68,7 @@ class ProjectRoleLogic extends BaseLogic
if($rs === false){
$this->fail('添加失败');
}
$this->success();
return $this->success();
}
/**
... ... @@ -86,11 +83,8 @@ class ProjectRoleLogic extends BaseLogic
if($info !== false){
$this->fail('当前菜单名称已存在');
}
$rs = $this->model->edit($this->param,['id'=>$this->param['id']]);
if($rs === false){
$this->fail('编辑失败');
}
$this->success();
$this->edit($this->param,['id'=>$this->param['id']]);
return $this->success();
}
/**
... ... @@ -102,17 +96,15 @@ class ProjectRoleLogic extends BaseLogic
public function role_del(){
//查询当前角色下是否有用户
$userModel = new UserModel();
foreach ($this->param['id'] as $v){
$ids = $this->param['id'];
foreach ($ids as $v){
$user_info = $userModel->read(['role_id'=>$v]);
if($user_info !== false){
$this->fail('id为{'.$v.'}'.'的角色拥有用户'.$user_info['name'].',不允许删除');
}
}
$this->param['id'] = ['in',$this->param['id']];
$rs = $this->model->del($this->param);
if($rs === false){
$this->fail('编辑失败');
}
$this->success();
$this->del($this->param,$ids);
return $this->success();
}
}
... ...
<?php
namespace App\Http\Requests\Aside\User;
use Illuminate\Foundation\Http\FormRequest;
class ProjectGroupRequest 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 [
'name'=>'required|string',
];
}
public function messages()
{
return [
'name.required'=>'名称必须填写',
];
}
}
... ...
... ... @@ -9,6 +9,62 @@ Route::middleware(['web'])->group(function (){ //admin用渲染默认要加上w
Route::middleware(['aloginauth'])->group(function () {
Route::get('/', [Aside\IndexController::class, 'index'])->name('admin.home.white');
Route::get('/logout', [Aside\LoginController::class, 'logout'])->name('admin.logout.white');
//会员相关
Route::prefix('user')->group(function () {
//会员管理
Route::any('/', [Aside\User\ProjectUserController::class, 'lists'])->name('admin.user_lists');
Route::any('/info', [Aside\User\ProjectUserController::class, 'info'])->name('admin.user_info');
Route::any('/add', [Aside\User\ProjectUserController::class, 'add'])->name('admin.user_add');
Route::any('/edit', [Aside\User\ProjectUserController::class, 'edit'])->name('admin.user_edit');
Route::any('/del', [Aside\User\ProjectUserController::class, 'del'])->name('admin.user_del');
//角色管理
Route::prefix('role')->group(function () {
Route::any('/', [Aside\User\ProjectRoleController::class, 'lists'])->name('admin.role_lists');
Route::any('/info', [Aside\User\ProjectRoleController::class, 'info'])->name('admin.role_info');
Route::any('/get_menu', [Aside\User\ProjectRoleController::class, 'get_menu'])->name('admin.get_menu');
Route::any('/add', [Aside\User\ProjectRoleController::class, 'add'])->name('admin.role_add');
Route::any('/edit', [Aside\User\ProjectRoleController::class, 'edit'])->name('admin.role_edit');
Route::any('/del', [Aside\User\ProjectRoleController::class, 'del'])->name('admin.role_del');
});
//栏目管理
Route::prefix('menu')->group(function () {
Route::any('/', [Aside\User\ProjectMenuController::class, 'lists'])->name('admin.menu_lists');
Route::any('/info', [Aside\User\ProjectMenuController::class, 'info'])->name('admin.menu_info');
Route::any('/add', [Aside\User\ProjectMenuController::class, 'add'])->name('admin.menu_add');
Route::any('/edit', [Aside\User\ProjectMenuController::class, 'edit'])->name('admin.menu_edit');
Route::any('/del', [Aside\User\ProjectMenuController::class, 'del'])->name('admin.menu_del');
});
//用户组
Route::prefix('group')->group(function () {
Route::any('/', [Aside\User\ProjectGroupController::class, 'lists'])->name('admin.group_lists');
Route::any('/info', [Aside\User\ProjectGroupController::class, 'info'])->name('admin.group_info');
Route::any('/add', [Aside\User\ProjectGroupController::class, 'add'])->name('admin.group_add');
Route::any('/edit', [Aside\User\ProjectGroupController::class, 'edit'])->name('admin.group_edit');
Route::any('/del', [Aside\User\ProjectGroupController::class, 'del'])->name('admin.group_del');
});
});
//ai指令
Route::prefix('ai')->group(function () {
Route::any('/', [Aside\Ai\AiCommandController::class, 'lists'])->name('admin.ai_lists');
Route::any('/info', [Aside\Ai\AiCommandController::class, 'info'])->name('admin.ai_info');
Route::any('/add', [Aside\Ai\AiCommandController::class, 'add'])->name('admin.ai_add');
Route::any('/edit', [Aside\Ai\AiCommandController::class, 'edit'])->name('admin.ai_edit');
Route::any('/del', [Aside\Ai\AiCommandController::class, 'del'])->name('admin.ai_del');
});
//站内信
Route::prefix('mail')->group(function () {
Route::any('/', [Aside\Mail\MailController::class, 'lists'])->name('admin.mail_lists');
Route::any('/info', [Aside\Mail\MailController::class, 'info'])->name('admin.mail_info');
Route::any('/add', [Aside\Mail\MailController::class, 'add'])->name('admin.mail_add');
Route::any('/edit', [Aside\Mail\MailController::class, 'edit'])->name('admin.mail_edit');
Route::any('/del', [Aside\Mail\MailController::class, 'del'])->name('admin.mail_del');
});
//管理员
Route::prefix('manage')->group(function () {
... ...