作者 李宇航

合并分支 'lyh-server' 到 'master'

更新售后数据统计



查看合并请求 !2008
@@ -9,6 +9,8 @@ @@ -9,6 +9,8 @@
9 9
10 namespace App\Console\Commands\DayCount; 10 namespace App\Console\Commands\DayCount;
11 11
  12 +use App\Models\ASide\APublicModel;
  13 +use App\Models\Channel\Channel;
12 use App\Models\Manage\ManageHr; 14 use App\Models\Manage\ManageHr;
13 use App\Models\Project\Project; 15 use App\Models\Project\Project;
14 use App\Models\RankData\RankDataLog; 16 use App\Models\RankData\RankDataLog;
@@ -130,10 +132,18 @@ class AfterDayCount extends Command @@ -130,10 +132,18 @@ class AfterDayCount extends Command
130 ->where('gl_project.is_remain_today',1) 132 ->where('gl_project.is_remain_today',1)
131 ->whereIn('gl_project_deploy_optimize.optimist_mid',$idArr) 133 ->whereIn('gl_project_deploy_optimize.optimist_mid',$idArr)
132 ->whereIn('gl_project.type',[2,4,6]) 134 ->whereIn('gl_project.type',[2,4,6])
  135 + ->leftJoin('gl_project_payment', 'gl_project.id', '=', 'gl_project_payment.project_id')
  136 + ->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id')
  137 + ->leftJoin('gl_domain_info', 'gl_project.id', '=', 'gl_domain_info.project_id')
133 ->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id') 138 ->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')
  139 + ->leftJoin('gl_project_online_check', 'gl_project.id', '=', 'gl_project_online_check.project_id')
134 ->whereRaw("FIND_IN_SET('2', gl_project.level) = 0 AND FIND_IN_SET('3', gl_project.level) = 0") 140 ->whereRaw("FIND_IN_SET('2', gl_project.level) = 0 AND FIND_IN_SET('3', gl_project.level) = 0")
135 ->whereRaw("FIND_IN_SET('7', gl_project_deploy_optimize.special) = 0 AND FIND_IN_SET('8', gl_project_deploy_optimize.special) = 0") 141 ->whereRaw("FIND_IN_SET('7', gl_project_deploy_optimize.special) = 0 AND FIND_IN_SET('8', gl_project_deploy_optimize.special) = 0")
136 - ->select(['gl_project.*','gl_project_deploy_optimize.start_date'])->get()->toArray(); 142 + ->select($this->selectParam())->get()->toArray();
  143 + foreach ($data as $k=>$val){
  144 + $this->handleParam($val);
  145 + $data[$k] = $val;
  146 + }
137 $saveData[] = [ 147 $saveData[] = [
138 'date'=>date('Y-m-d'), 148 'date'=>date('Y-m-d'),
139 'type'=> $key, 149 'type'=> $key,
@@ -149,4 +159,91 @@ class AfterDayCount extends Command @@ -149,4 +159,91 @@ class AfterDayCount extends Command
149 return $saveData; 159 return $saveData;
150 } 160 }
151 161
  162 +
  163 + public function selectParam(){
  164 + $select = [
  165 + 'gl_project.id AS id',
  166 + 'gl_project.title AS title',
  167 + 'gl_project.level AS level',
  168 + 'gl_project.channel AS channel',
  169 + 'gl_project.company AS company',
  170 + 'gl_project.type AS type',
  171 + 'gl_project.created_at AS created_at',
  172 + 'gl_project.is_language AS is_language',
  173 + 'gl_project.cooperate_date AS cooperate_date',
  174 + 'gl_project.finish_remain_day AS finish_remain_day',
  175 + 'gl_project.is_remain_today AS is_remain_today',
  176 + 'gl_project.remain_day AS remain_day',
  177 + 'gl_project.seo_remain_day AS seo_remain_day',
  178 + 'gl_project.robots AS robots',
  179 + 'gl_project.is_minor_languages AS is_minor_languages',
  180 + 'gl_project.is_translate AS is_translate',
  181 + 'gl_project.is_translate_tag AS is_translate_tag',
  182 + 'gl_project.is_upgrade AS is_upgrade',
  183 + 'gl_project.site_status AS site_status',
  184 + 'gl_project_online_check.id AS online_check_id',
  185 + 'gl_project_online_check.question AS question',
  186 + 'gl_project_online_check.go_question AS go_question',
  187 + 'gl_project_online_check.optimist_status AS optimist_status',
  188 + 'gl_project_online_check.qa_status AS qa_status',
  189 + 'gl_project_online_check.updated_at AS online_updated_at',
  190 + 'gl_project_payment.amount AS amount',
  191 + 'gl_project_deploy_build.dept_id AS dept_id',
  192 + 'gl_project_deploy_build.keyword_num AS key',
  193 + 'gl_project_deploy_build.service_duration AS day',
  194 + 'gl_project_deploy_build.leader_mid AS leader_mid',
  195 + 'gl_project_deploy_build.manager_mid AS manager_mid',
  196 + 'gl_project_deploy_build.designer_mid AS designer_mid',
  197 + 'gl_project_deploy_build.tech_mid AS tech_mid',
  198 + 'gl_project_deploy_build.test_domain AS test_domain',
  199 + 'gl_project_deploy_build.plan AS plan',
  200 + 'gl_project_deploy_build.seo_plan AS seo_plan',
  201 + 'gl_project_deploy_optimize.dept_id AS optimize_dept_id',
  202 + 'gl_project_deploy_optimize.manager_mid AS optimize_manager_mid',
  203 + 'gl_project_deploy_optimize.optimist_mid AS optimize_optimist_mid',
  204 + 'gl_project_deploy_optimize.assist_mid AS optimize_assist_mid',
  205 + 'gl_project_deploy_optimize.tech_mid AS optimize_tech_mid',
  206 + 'gl_project_deploy_optimize.design_mid AS design_mid',
  207 + 'gl_project_deploy_optimize.tech_leader AS tech_leader',
  208 + 'gl_project_deploy_optimize.quality_mid AS quality_mid',
  209 + 'gl_project_deploy_optimize.design_mid AS design_mid',
  210 + 'gl_project_deploy_optimize.start_date AS start_date',
  211 + 'gl_project_deploy_optimize.backlink AS backlink',
  212 + 'gl_project_deploy_optimize.ai_video AS ai_video',
  213 + 'gl_project_deploy_optimize.api_no AS api_no',
  214 + 'gl_project_deploy_optimize.first_compliance_time AS first_compliance_time',
  215 + 'gl_domain_info.amp_status AS amp_status',
  216 + 'gl_domain_info.domain AS domain',
  217 + ];
  218 + return $select;
  219 + }
  220 +
  221 + public function handleParam(&$item){
  222 + $data = APublicModel::getNumByProjectId($item['id']);
  223 + $manageModel = new ManageHr();
  224 + $plan = Project::planMap();
  225 + $seo_plan = Project::seoMap();
  226 + $item['plan'] = $plan[$item['plan']] ?? $seo_plan[1];
  227 + $item['channel'] = Channel::getChannelText($item['channel']['user_id'] ?? 0);
  228 + $item['build_leader'] = $manageModel->getName($item['leader_mid']);
  229 + $item['build_manager'] = $manageModel->getName($item['manager_mid']);
  230 + $item['build_designer'] = $manageModel->getName($item['designer_mid']);
  231 + $item['build_tech'] = $manageModel->getName($item['tech_mid']);
  232 + $item['optimize_manager'] = $manageModel->getName($item['optimize_manager_mid']);
  233 + $item['optimize_optimist'] = $manageModel->getName($item['optimize_optimist_mid']);
  234 + $item['optimize_assist'] = $manageModel->getName($item['optimize_assist_mid']);
  235 + $item['optimize_tech'] = $manageModel->getName($item['optimize_tech_mid']);
  236 + $item['quality_mid_name'] = $manageModel->getName($item['quality_mid']);
  237 + $item['created_at'] = date('Y年m月d日', strtotime($item['cooperate_date']));
  238 + $item['autologin_code'] = getAutoLoginCode($item['id']);
  239 + $item['domain'] = 'https://'.$item['domain'].'/';
  240 + if(!empty($item['domain']) && $item['amp_status'] == 1){
  241 + $item['amp_domain'] = str_replace('www','m',$item['domain']);
  242 + }
  243 + $item['product_num'] = $data['product'] ?? 0;
  244 + $item['keyword_num'] = $item['key'] ?? 0;
  245 + $item['inquiry_num'] = $data['inquiry'] ?? 0;
  246 + $item['autologin_code'] = getAutoLoginCode($item['id']);
  247 + return $item;
  248 + }
152 } 249 }