作者 zhl

'优化列表'

  1 +<?php
  2 +/**
  3 + * Created by PhpStorm.
  4 + * User: zhl
  5 + * Date: 2024/1/6
  6 + * Time: 17:41
  7 + */
  8 +namespace App\Http\Controllers\Api;
  9 +
  10 +use App\Models\Project\OnlineCheck;
  11 +use App\Models\Project\Project;
  12 +use Illuminate\Http\Request;
  13 +
  14 +/**
  15 + * Class PrivateController
  16 + * @package App\Http\Controllers\Api
  17 + */
  18 +class PrivateController extends BaseController
  19 +{
  20 + /**
  21 + * 优化中项目列表
  22 + * @param Request $request
  23 + * @return false|string
  24 + */
  25 + public function optimizeProjectList(Request $request)
  26 + {
  27 + $page_size = $request->input('page_size', 20);
  28 + $field = ['gl_project.id', 'gl_project.company', 'gl_project.is_upgrade', 'b.start_date', 'd.domain'];
  29 + $result = Project::select($field)->leftJoin('gl_project_deploy_optimize as b', 'gl_project.id', '=', 'b.project_id')
  30 + ->leftJoin('gl_project_online_check as c', 'gl_project.id', '=', 'c.project_id')
  31 + ->leftJoin('gl_domain_info as d', 'gl_project.id', '=', 'd.project_id')
  32 + ->where('c.qa_status', '=', OnlineCheck::STATUS_ONLINE_TRUE)
  33 + ->whereIn('gl_project.type', [Project::TYPE_TWO, Project::TYPE_FOUR])
  34 + ->paginate($page_size)
  35 + ->toArray();
  36 + return $this->success($result);
  37 + }
  38 +}
@@ -9,4 +9,6 @@ class OnlineCheck extends Base @@ -9,4 +9,6 @@ class OnlineCheck extends Base
9 //设置关联表名 9 //设置关联表名
10 protected $table = 'gl_project_online_check'; 10 protected $table = 'gl_project_online_check';
11 11
  12 + const STATUS_ONLINE_FALSE = 0;
  13 + const STATUS_ONLINE_TRUE = 1;
12 } 14 }
@@ -18,4 +18,5 @@ Route::middleware('auth:sanctum')->get('/user', function (Request $request) { @@ -18,4 +18,5 @@ Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
18 return $request->user(); 18 return $request->user();
19 }); 19 });
20 20
21 -Route::any('traffic_visit', [\App\Http\Controllers\Api\NoticeController::class, 'trafficVisit'])->name('api.traffic_visit');  
  21 +Route::any('traffic_visit', [\App\Http\Controllers\Api\NoticeController::class, 'trafficVisit'])->name('api.traffic_visit');
  22 +Route::get('optimize_project_list', [\App\Http\Controllers\Api\PrivateController::class, 'optimizeProjectList'])->name('api.optimize_project_list');