ProcessLogic.php 3.3 KB
<?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\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 Project();
    }

    /**
     * @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' => $this->model::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;
    }
}