作者 lyh

gx

<?php
/**
* @remark :
* @name :OnlineController.php
* @author :lyh
* @method :post
* @time :2023/8/18 15:41
*/
namespace App\Http\Controllers\Aside\Optimize;
use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Models\Channel\Channel;
use App\Models\Manage\Manage;
use App\Models\Project\Project;
/**
* @remark :上线审核列表
* @name :OnlineController
* @author :lyh
* @method :post
* @time :2023/8/18 15:41
*/
class OnlineController extends BaseController
{
/**
* @remark :上线审核列表
* @name :middleGroundList
* @author :lyh
* @method :post
* @time :2023/8/18 10:49
*/
public function lists(Project $project){
$query = $project->leftJoin('gl_project_payment', 'gl_project.id', '=', 'gl_project_payment.project_id')
->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id')
->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')
->leftJoin('gl_project_payment', 'gl_project.id', '=', 'gl_project_payment.project_id');
$query = $this->searchParam($query);
$lists = $query->paginate($this->row, $this->selectParam(), 'page', $this->page)->toArray();
if(!empty($lists['list'])){
$manager = new Manage();
foreach ($lists['list'] as $k => $v){
$v['plan'] = $project::planMap()[$v['plan']];
$v['optimist_mid_name'] = $manager->read(['id'=>$v['optimist_mid']])['name'];
$v['tech_mid_name'] = $manager->read(['id'=>$v['tech_mid']])['name'];
$lists['list'][$k] = $v;
}
}
$this->response('success',Code::SUCCESS,$lists);
}
/**
* @remark :查询字段处理
* @name :selectParam
* @author :lyh
* @method :post
* @time :2023/8/18 10:59
*/
public function selectParam(){
$select = [
'gl_project.*',
'gl_project_deploy_build.key AS key',
'gl_project_deploy_build.day AS day',
'gl_project_payment.amount AS amount',
'gl_project_deploy_build.leader_mid AS leader_mid',
'gl_project_deploy_build.manager_mid AS manager_mid',
'gl_project_deploy_build.designer_mid AS designer_mid',
'gl_project_deploy_build.tech_mid AS tech_mid',
'gl_project_deploy_build.test_domain AS test_domain',
'gl_project_deploy_build.plan AS plan',
'gl_project_deploy_optimize.manager_mid AS optimize_manager_mid',
'gl_project_deploy_optimize.optimist_mid AS optimize_optimist_mid',
'gl_project_deploy_optimize.assist_mid AS optimize_assist_mid',
'gl_project_deploy_optimize.tech_mid AS optimize_tech_mid',
'gl_project_deploy_optimize.domain AS domain',
'gl_project_payment.amount AS amount',
'gl_project_deploy_optimize.optimist_mid AS optimist_mid',
'gl_project_deploy_optimize.tech_mid AS tech_mid',
];
return $select;
}
/**
* @remark :搜索参数处理
* @name :searchParam
* @author :lyh
* @method :post
* @time :2023/8/18 10:58
*/
public function searchParam(&$query){
//搜索条件处理
if(isset($this->map['title'])){
$query = $query->where('gl_project.title','like','%'.$this->map['title'].'%');
}
$query = $query->where('gl_project.status','in',[1]);//TODO::已提交审核
return $query;
}
}
... ...
... ... @@ -10,7 +10,7 @@ use App\Models\Project\Project;
use Illuminate\Support\Facades\DB;
/**
* @remark :授权域名
* @remark :优化
* @name :OptimizeController
* @author :lyh
* @time :2023/6/20 14:33
... ...