Merge branch 'dev' of http://47.244.231.31:8099/zhl/globalso-v6 into dev
正在显示
12 个修改的文件
包含
168 行增加
和
73 行删除
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -namespace App\Http\Controllers\Aside; | ||
| 4 | - | ||
| 5 | -use App\Enums\Common\Code; | ||
| 6 | - | ||
| 7 | -use App\Models\Project as ProjectModel; | ||
| 8 | - | ||
| 9 | -/** | ||
| 10 | - * @name:项目信息 | ||
| 11 | - */ | ||
| 12 | -class ProjectController extends BaseController | ||
| 13 | -{ | ||
| 14 | - /** | ||
| 15 | - * @name :项目列表 | ||
| 16 | - * @return void | ||
| 17 | - * @author :liyuhang | ||
| 18 | - * @method | ||
| 19 | - */ | ||
| 20 | - public function lists(){ | ||
| 21 | - $projectModel = new ProjectModel(); | ||
| 22 | - $lists = $projectModel->lists($this->map,$this->p,$this->row,$this->order); | ||
| 23 | - $this->response('success',Code::SUCCESS,$lists); | ||
| 24 | - } | ||
| 25 | - | ||
| 26 | - /** | ||
| 27 | - * @name :添加项目 | ||
| 28 | - * @return void | ||
| 29 | - * @author :liyuhang | ||
| 30 | - * @method | ||
| 31 | - */ | ||
| 32 | - public function add(){ | ||
| 33 | - $projectModel = new ProjectModel(); | ||
| 34 | - } | ||
| 35 | -} |
| @@ -5,7 +5,7 @@ namespace App\Http\Controllers\Bside; | @@ -5,7 +5,7 @@ namespace App\Http\Controllers\Bside; | ||
| 5 | use App\Enums\Common\Code; | 5 | use App\Enums\Common\Code; |
| 6 | use App\Helper\Common; | 6 | use App\Helper\Common; |
| 7 | use App\Http\Controllers\Controller; | 7 | use App\Http\Controllers\Controller; |
| 8 | -use App\Models\User\User; | 8 | +use App\Models\User\User as UserModel; |
| 9 | use Illuminate\Http\JsonResponse; | 9 | use Illuminate\Http\JsonResponse; |
| 10 | use Illuminate\Http\Request; | 10 | use Illuminate\Http\Request; |
| 11 | use Illuminate\Http\Exceptions\HttpResponseException; | 11 | use Illuminate\Http\Exceptions\HttpResponseException; |
| @@ -155,12 +155,16 @@ class BaseController extends Controller | @@ -155,12 +155,16 @@ class BaseController extends Controller | ||
| 155 | $data[$k] = ''; | 155 | $data[$k] = ''; |
| 156 | continue; | 156 | continue; |
| 157 | } | 157 | } |
| 158 | + //获取操作人 | ||
| 158 | switch ((string) $k) { | 159 | switch ((string) $k) { |
| 159 | case 'image': | 160 | case 'image': |
| 160 | $data['image_link'] = url('/b/image/' . $v); | 161 | $data['image_link'] = url('/b/image/' . $v); |
| 161 | break; | 162 | break; |
| 162 | case 'operator_id': | 163 | case 'operator_id': |
| 163 | - $data['operator_name'] = '1111'; | 164 | + if(!empty($v)){ |
| 165 | + $name = $this->get_name(['operator_id'=>$v]); | ||
| 166 | + $data['operator_name'] = isset($name) && !empty($name) ? $name : '无名称'; | ||
| 167 | + } | ||
| 164 | break; | 168 | break; |
| 165 | 169 | ||
| 166 | } | 170 | } |
| @@ -168,7 +172,17 @@ class BaseController extends Controller | @@ -168,7 +172,17 @@ class BaseController extends Controller | ||
| 168 | } | 172 | } |
| 169 | return $data; | 173 | return $data; |
| 170 | } | 174 | } |
| 171 | - | 175 | + /** |
| 176 | + * @name :获取操作人名称 | ||
| 177 | + * @return void | ||
| 178 | + * @author :liyuhang | ||
| 179 | + * @method | ||
| 180 | + */ | ||
| 181 | + public function get_name($data){ | ||
| 182 | + $user = new UserModel(); | ||
| 183 | + $info = $user->read($data,['name']); | ||
| 184 | + return $info['name']; | ||
| 185 | + } | ||
| 172 | /** | 186 | /** |
| 173 | * @name :写入操作日志 | 187 | * @name :写入操作日志 |
| 174 | * @return void | 188 | * @return void |
| @@ -4,6 +4,7 @@ namespace App\Http; | @@ -4,6 +4,7 @@ namespace App\Http; | ||
| 4 | 4 | ||
| 5 | use App\Http\Middleware\AccessToken; | 5 | use App\Http\Middleware\AccessToken; |
| 6 | use App\Http\Middleware\Aside\BlackListMiddleware as AsideBlackListMiddleware; | 6 | use App\Http\Middleware\Aside\BlackListMiddleware as AsideBlackListMiddleware; |
| 7 | +use App\Http\Middleware\Aside\ManageLogMiddleware; | ||
| 7 | use App\Http\Middleware\Aside\ParamMiddleware as AsideParamMiddleware; | 8 | use App\Http\Middleware\Aside\ParamMiddleware as AsideParamMiddleware; |
| 8 | use App\Http\Middleware\Bside\BlackListMiddleware as BsideBlackListMiddleware; | 9 | use App\Http\Middleware\Bside\BlackListMiddleware as BsideBlackListMiddleware; |
| 9 | use App\Http\Middleware\Bside\ParamMiddleware as BsideParamMiddleware; | 10 | use App\Http\Middleware\Bside\ParamMiddleware as BsideParamMiddleware; |
| @@ -59,7 +60,9 @@ class Kernel extends HttpKernel | @@ -59,7 +60,9 @@ class Kernel extends HttpKernel | ||
| 59 | //黑名单处理中间件 | 60 | //黑名单处理中间件 |
| 60 | AsideBlackListMiddleware::class, | 61 | AsideBlackListMiddleware::class, |
| 61 | //防重复调用接口 | 62 | //防重复调用接口 |
| 62 | - PreventRepeatQuitCallMiddleware::class | 63 | + PreventRepeatQuitCallMiddleware::class, |
| 64 | + //操作日志中间件 | ||
| 65 | + ManageLogMiddleware::class, | ||
| 63 | ], | 66 | ], |
| 64 | //B端中间件组 | 67 | //B端中间件组 |
| 65 | 'bside'=>[ | 68 | 'bside'=>[ |
| @@ -11,8 +11,8 @@ class ProjectLogic extends BaseLogic | @@ -11,8 +11,8 @@ class ProjectLogic extends BaseLogic | ||
| 11 | public function __construct() | 11 | public function __construct() |
| 12 | { | 12 | { |
| 13 | parent::__construct(); | 13 | parent::__construct(); |
| 14 | + | ||
| 14 | $this->model = new Project(); | 15 | $this->model = new Project(); |
| 15 | - $this->param = $this->requestAll; | ||
| 16 | } | 16 | } |
| 17 | 17 | ||
| 18 | } | 18 | } |
| @@ -3,6 +3,7 @@ | @@ -3,6 +3,7 @@ | ||
| 3 | namespace App\Http\Middleware\Aside; | 3 | namespace App\Http\Middleware\Aside; |
| 4 | 4 | ||
| 5 | use App\Enums\Common\Code; | 5 | use App\Enums\Common\Code; |
| 6 | +use App\Http\Logic\Aside\LoginLogic; | ||
| 6 | use App\Models\Manage\Group; | 7 | use App\Models\Manage\Group; |
| 7 | use App\Models\Manage\Manage; | 8 | use App\Models\Manage\Manage; |
| 8 | use App\Models\Manage\Menu; | 9 | use App\Models\Manage\Menu; |
| @@ -23,8 +24,7 @@ class LoginAuthMiddleware | @@ -23,8 +24,7 @@ class LoginAuthMiddleware | ||
| 23 | */ | 24 | */ |
| 24 | public function handle(Request $request, Closure $next) | 25 | public function handle(Request $request, Closure $next) |
| 25 | { | 26 | { |
| 26 | - $manage = Session::get('manage'); | ||
| 27 | - | 27 | + $manage = LoginLogic::manage(); |
| 28 | if (!$manage) { | 28 | if (!$manage) { |
| 29 | if($request->ajax()){ | 29 | if($request->ajax()){ |
| 30 | return response(['status'=> Code::USER_ERROR,'msg'=>'当前用户未登录']); | 30 | return response(['status'=> Code::USER_ERROR,'msg'=>'当前用户未登录']); |
| @@ -33,9 +33,6 @@ class LoginAuthMiddleware | @@ -33,9 +33,6 @@ class LoginAuthMiddleware | ||
| 33 | } | 33 | } |
| 34 | } | 34 | } |
| 35 | //权限 | 35 | //权限 |
| 36 | - $manage['id'] = 2; | ||
| 37 | - $manage['gid'] = 1; | ||
| 38 | - | ||
| 39 | if($manage['id'] != Manage::ADMINISTRATOR_ID){ //排除超级管理员 | 36 | if($manage['id'] != Manage::ADMINISTRATOR_ID){ //排除超级管理员 |
| 40 | $route = Route::getCurrentRoute()->getName(); | 37 | $route = Route::getCurrentRoute()->getName(); |
| 41 | if(!Str::endsWith($route, '.white')){ //排除白名单路由 | 38 | if(!Str::endsWith($route, '.white')){ //排除白名单路由 |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace App\Http\Middleware\Aside; | ||
| 4 | + | ||
| 5 | +use App\Models\Manage\ManageLog; | ||
| 6 | +use Closure; | ||
| 7 | +use Illuminate\Http\Request; | ||
| 8 | + | ||
| 9 | +class ManageLogMiddleware | ||
| 10 | +{ | ||
| 11 | + /** | ||
| 12 | + * @param Request $request | ||
| 13 | + * @param Closure $next | ||
| 14 | + * @return mixed | ||
| 15 | + * @author zbj | ||
| 16 | + * @date 2023/4/25 | ||
| 17 | + */ | ||
| 18 | + public function handle(Request $request, Closure $next) | ||
| 19 | + { | ||
| 20 | + if ($request->isMethod('post')) { | ||
| 21 | + ManageLog::record(); | ||
| 22 | + } | ||
| 23 | + return $next($request); | ||
| 24 | + } | ||
| 25 | +} |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace App\Http\Requests\Aside\Project; | ||
| 4 | + | ||
| 5 | +use Illuminate\Foundation\Http\FormRequest; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * Class ProjectRequest | ||
| 9 | + * @package App\Http\Requests\Aside\product | ||
| 10 | + * @author zbj | ||
| 11 | + * @date 2023/4/25 | ||
| 12 | + */ | ||
| 13 | +class ProjectRequest extends FormRequest | ||
| 14 | +{ | ||
| 15 | + /** | ||
| 16 | + * Determine if the user is authorized to make this request. | ||
| 17 | + * | ||
| 18 | + * @return bool | ||
| 19 | + */ | ||
| 20 | + public function authorize() | ||
| 21 | + { | ||
| 22 | + return true; | ||
| 23 | + } | ||
| 24 | + | ||
| 25 | + /** | ||
| 26 | + * Get the validation rules that apply to the request. | ||
| 27 | + * | ||
| 28 | + * @return array | ||
| 29 | + */ | ||
| 30 | + public function rules() | ||
| 31 | + { | ||
| 32 | + return [ | ||
| 33 | + 'title'=>'required|max:50', | ||
| 34 | + 'remark'=>'max:200', | ||
| 35 | + ]; | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + public function messages() | ||
| 39 | + { | ||
| 40 | + return [ | ||
| 41 | + 'title.required' => '请输入部门名称', | ||
| 42 | + 'title.max' => '部门名称不能超过50个字符', | ||
| 43 | + 'remark.max' => '备注不能超过200个字符', | ||
| 44 | + ]; | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | +} |
app/Models/Manage/ManageLog.php
0 → 100644
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace App\Models\Manage; | ||
| 4 | + | ||
| 5 | +use App\Helper\Arr; | ||
| 6 | +use App\Http\Logic\Aside\LoginLogic; | ||
| 7 | +use App\Models\Base; | ||
| 8 | + | ||
| 9 | +class ManageLog extends Base | ||
| 10 | +{ | ||
| 11 | + //设置关联表名 | ||
| 12 | + protected $table = 'gl_manage_log'; | ||
| 13 | + | ||
| 14 | + const UPDATED_AT = null; | ||
| 15 | + | ||
| 16 | + /** | ||
| 17 | + * 操作日志 | ||
| 18 | + * @author zbj | ||
| 19 | + * @date 2023/4/25 | ||
| 20 | + */ | ||
| 21 | + public static function record(){ | ||
| 22 | + $route_name = request()->route()->getName(); | ||
| 23 | + $menu = Menu::getByRouteName($route_name); | ||
| 24 | + | ||
| 25 | + $log = new self(); | ||
| 26 | + $log->title = $menu ? $menu['title'] : ''; | ||
| 27 | + $log->manage_id = LoginLogic::manage('id'); | ||
| 28 | + $log->route_name = request()->route()->getName(); | ||
| 29 | + $log->action = request()->path(); | ||
| 30 | + $log->method = request()->method(); | ||
| 31 | + $log->url = request()->url(); | ||
| 32 | + $log->param = Arr::a2s(request()->all()); | ||
| 33 | + $log->ip = request()->ip(); | ||
| 34 | + $log->user_agent = request()->server('HTTP_USER_AGENT'); | ||
| 35 | + $log->save(); | ||
| 36 | + } | ||
| 37 | +} |
| @@ -3,6 +3,7 @@ | @@ -3,6 +3,7 @@ | ||
| 3 | namespace App\Models\Manage; | 3 | namespace App\Models\Manage; |
| 4 | 4 | ||
| 5 | use App\Models\Base; | 5 | use App\Models\Base; |
| 6 | +use Illuminate\Support\Facades\Cache; | ||
| 6 | 7 | ||
| 7 | class Menu extends Base | 8 | class Menu extends Base |
| 8 | { | 9 | { |
| @@ -37,4 +38,22 @@ class Menu extends Base | @@ -37,4 +38,22 @@ class Menu extends Base | ||
| 37 | self::TYPE_DELETE => '删除', | 38 | self::TYPE_DELETE => '删除', |
| 38 | ]; | 39 | ]; |
| 39 | } | 40 | } |
| 41 | + | ||
| 42 | + /** | ||
| 43 | + * @param $route_name | ||
| 44 | + * @return mixed | ||
| 45 | + * @author zbj | ||
| 46 | + * @date 2023/4/25 | ||
| 47 | + */ | ||
| 48 | + public static function getByRouteName($route_name){ | ||
| 49 | + $cache_key = 'manage_menu_'.$route_name; | ||
| 50 | + $data = Cache::get($cache_key); | ||
| 51 | + if(!$data){ | ||
| 52 | + $data = self::where('route_name', $route_name)->first(); | ||
| 53 | + if($data){ | ||
| 54 | + Cache::put($cache_key, $data); | ||
| 55 | + } | ||
| 56 | + } | ||
| 57 | + return $data; | ||
| 58 | + } | ||
| 40 | } | 59 | } |
| @@ -2,34 +2,30 @@ | @@ -2,34 +2,30 @@ | ||
| 2 | 2 | ||
| 3 | namespace App\Models; | 3 | namespace App\Models; |
| 4 | 4 | ||
| 5 | -use Illuminate\Support\Facades\DB; | 5 | +use App\Models\Devops\ServerConfig; |
| 6 | 6 | ||
| 7 | class Project extends Base | 7 | class Project extends Base |
| 8 | { | 8 | { |
| 9 | //设置关联表名 | 9 | //设置关联表名 |
| 10 | protected $table = 'gl_project'; | 10 | protected $table = 'gl_project'; |
| 11 | - //自动维护create_at创建时间 updated_at修改时间 | ||
| 12 | - public $timestamps = true; | ||
| 13 | - protected $dateFormat = 'Y-m-d'; | ||
| 14 | 11 | ||
| 15 | const DATABASE_NAME_FIX = 'globalso_project_'; | 12 | const DATABASE_NAME_FIX = 'globalso_project_'; |
| 16 | 13 | ||
| 17 | /** | 14 | /** |
| 18 | - * @name:获取当前对象不分页列表 | 15 | + * 星级客户 |
| 16 | + * @return string[] | ||
| 17 | + * @author zbj | ||
| 18 | + * @date 2023/4/25 | ||
| 19 | */ | 19 | */ |
| 20 | - public function page_lists(){ | ||
| 21 | - $lists = DB::table($this->table)->select(['*'])->where($this->map)->orderBy($this->order)->get(); | ||
| 22 | - return $lists; | ||
| 23 | - } | ||
| 24 | - | ||
| 25 | - /** | ||
| 26 | - * 通过ID获取项目信息 | ||
| 27 | - * @param $id | ||
| 28 | - * @return self | ||
| 29 | - */ | ||
| 30 | - public static function getProjectById($id) | 20 | + public static function levelMap() |
| 31 | { | 21 | { |
| 32 | - return self::where(['id' => $id])->first(); | 22 | + return [ |
| 23 | + 1 => '★★★Ads-Customer', | ||
| 24 | + 2 => '暂停优化', | ||
| 25 | + 3 => '告知书一', | ||
| 26 | + 4 => '告知书二', | ||
| 27 | + 5 => 'Q告知书二', | ||
| 28 | + ]; | ||
| 33 | } | 29 | } |
| 34 | 30 | ||
| 35 | /** | 31 | /** |
| @@ -121,14 +121,4 @@ class User extends Base | @@ -121,14 +121,4 @@ class User extends Base | ||
| 121 | return true; | 121 | return true; |
| 122 | } | 122 | } |
| 123 | 123 | ||
| 124 | - /** | ||
| 125 | - * @name :获取操作人名称 | ||
| 126 | - * @return void | ||
| 127 | - * @author :liyuhang | ||
| 128 | - * @method | ||
| 129 | - */ | ||
| 130 | - public function get_name($data){ | ||
| 131 | - $info = $this->read(['operator_id'=>$data['operator_id']],['name']); | ||
| 132 | - return $info; | ||
| 133 | - } | ||
| 134 | } | 124 | } |
| @@ -44,7 +44,9 @@ Route::middleware(['web'])->group(function (){ //admin用渲染默认要加上w | @@ -44,7 +44,9 @@ Route::middleware(['web'])->group(function (){ //admin用渲染默认要加上w | ||
| 44 | 44 | ||
| 45 | //项目管理 | 45 | //项目管理 |
| 46 | Route::prefix('project')->group(function () { | 46 | Route::prefix('project')->group(function () { |
| 47 | - | 47 | + Route::get('/', [Aside\Project\ProjectController::class, 'list'])->name('admin.project'); |
| 48 | + Route::get('/info', [Aside\Project\ProjectController::class, 'info'])->name('admin.project_info'); | ||
| 49 | + Route::post('/save', [Aside\Project\ProjectController::class, 'save'])->name('admin.project_save'); | ||
| 48 | }); | 50 | }); |
| 49 | 51 | ||
| 50 | //运维 | 52 | //运维 |
-
请 注册 或 登录 后发表评论