作者 lyh

gx

<?php
namespace App\Http\Controllers\Aside\Optimize;
use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\Optimize\ProcessLogic;
/**
* @remark :上线审核
* @class :ProcessController.php
* @author :lyh
* @time :2023/7/20 11:05
*/
class ProcessController extends BaseController
{
/**
* @remark :上线审核列表
* @name :lists
* @author :lyh
* @method :post
* @time :2023/7/20 11:05
*/
public function lists(ProcessLogic $processLogic){
$lists = $processLogic->processList($this->map,$this->page,$this->row,$this->order);
$this->response('success',Code::SUCCESS,$lists);
}
/**
* @remark :审核
* @name :save
* @author :lyh
* @method :post
* @time :2023/7/20 13:45
*/
public function save(ProcessLogic $processLogic){
$this->request->validate([
'project_id'=>'required',
],[
'project_id.required' => '项目ID不能为空',
]);
$processLogic->processSave();
$this->response('success');
}
}
<?php
namespace App\Http\Logic\Aside\Optimize;
use App\Http\Logic\Aside\BaseLogic;
use App\Http\Logic\Aside\Manage\ManageLogic;
use App\Models\Channel\Channel;
use App\Models\Optimize\Process;
use App\Models\Project\OnlineCheck;
use App\Models\Project\Project;
/**
* @remark :
* @class :ProcessLogic.php
* @author :lyh
* @time :2023/7/20 11:07
*/
class ProcessLogic extends BaseLogic
{
public function __construct()
{
parent::__construct();
$this->param = $this->requestAll;
$this->model = new OnlineCheck();
}
/**
* @remark :获取审核列表
* @name :processList
* @author :lyh
* @method :post
* @time :2023/7/20 13:51
*/
public function processList($map,$page,$row,$order = 'id',$filed = ['*']){
$projectModel = new Project();
$lists = $projectModel->with('deploy_build')
->with('deploy_optimize')->with('payment')->with('online_check')
->select($filed)->orderBy($order,'desc')->where($map)
->paginate($row, ['*'], 'page', $page);
//数据处理
if(!empty($lists)){
$lists = $lists->toArray();
foreach ($lists['list'] as $k => $v){
$item = $this->paramHandle($v);
$lists['list'][$k] = $item;
}
}
return $this->success($lists);
}
/**
* @remark :参数处理
* @name :paramHandle
* @author :lyh
* @method :post
* @time :2023/7/20 14:29
*/
public function paramHandle($item){
$items = [
'id' => $item['id'],
'title' => $item['title'],
'channel' => Channel::getChannelText($item['channel']['user_id'] ?? 0),
'key' => $item['deploy_build']['keyword_num'] ?? 0,
'day' => $item['deploy_build']['service_duration'] ?? 0,
'amount' => $item['payment']['amount'] ?? 0,
'build_leader' => ManageLogic::getCacheName($item['deploy_build']['leader_mid'] ?? 0), //组长
'build_manager' => ManageLogic::getCacheName($item['deploy_build']['manager_mid'] ?? 0), //项目经理
'build_designer' => ManageLogic::getCacheName($item['deploy_build']['designer_mid'] ?? 0), //设计师
'build_tech' => ManageLogic::getCacheName($item['deploy_build']['tech_mid'] ?? 0), //技术助理
'optimize_manager' => ManageLogic::getCacheName($item['deploy_optimize']['manager_mid'] ?? 0), //优化服务经理
'optimize_optimist' => ManageLogic::getCacheName($item['deploy_optimize']['optimist_mid'] ?? 0), //优化师
'optimize_assist' => ManageLogic::getCacheName($item['deploy_optimize']['assist_mid'] ?? 0), //优化助理
'optimize_tech' => ManageLogic::getCacheName($item['deploy_optimize']['tech_mid'] ?? 0), //售后技术
'type' => Project::typeMap()[$item['type']] ?? '',
'test_domain' => $item['deploy_build']['test_domain'] ?? 0,
'domain' => $item['deploy_optimize']['domain'] ?? 0,
'created_at' => date('Y年m月d日', strtotime($item['created_at'])),
'optimist_status'=>$item['process']['optimist_status'] ?? 0,
'qa_status'=>$item['process']['qa_status'] ?? 0,
'status'=>$item['process']['status'] ?? 0,
];
return $items;
}
/**
* @remark :优化审核
* @name :processSave
* @author :lyh
* @method :post
* @time :2023/7/20 15:22
*/
public function processSave(){
//优化师审核状态
if(isset($this->param['optimist_status']) && $this->param['optimist_mid'] == $this->manage['id']){
$this->param['optimist_check_time'] = date('Y-m-d H:i:s');
$this->fail('当前登录用户无权限');
}
//品控审核状态
if(isset($this->param['qa_status']) && $this->param['qa_mid'] == $this->manage['id']){
$this->param['qa_check_time'] = date('Y-m-d H:i:s');
$this->fail('当前登录用户无权限');
}
$rs = $this->model->edit($this->param,['project_id'=>$this->param['project_id']]);
if($rs === false){
$this->fail('error');
}
return $this->success();
}
}