Merge branch 'master' of http://47.244.231.31:8099/zhl/globalso-v6
正在显示
7 个修改的文件
包含
193 行增加
和
22 行删除
| @@ -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.title','gl_project.finish_remain_day','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 | } |
| @@ -54,7 +54,7 @@ class LyhImportTest extends Command | @@ -54,7 +54,7 @@ class LyhImportTest extends Command | ||
| 54 | public function handle(){ | 54 | public function handle(){ |
| 55 | ProjectServer::useProject(2140); | 55 | ProjectServer::useProject(2140); |
| 56 | echo date('Y-m-d H:i:s') . 'start' . PHP_EOL; | 56 | echo date('Y-m-d H:i:s') . 'start' . PHP_EOL; |
| 57 | - $this->import2140CustomModule('https://ecdn6.globalso.com/upload/p/2140/file/2025-05/2025-16.csv',2140); | 57 | + $this->import2140CustomModule('https://ecdn6.globalso.com/upload/p/2140/file/2025-05/daoru.csv',2140); |
| 58 | DB::disconnect('custom_mysql'); | 58 | DB::disconnect('custom_mysql'); |
| 59 | echo date('Y-m-d H:i:s') . 'end' . PHP_EOL; | 59 | echo date('Y-m-d H:i:s') . 'end' . PHP_EOL; |
| 60 | } | 60 | } |
| @@ -487,22 +487,30 @@ class LyhImportTest extends Command | @@ -487,22 +487,30 @@ class LyhImportTest extends Command | ||
| 487 | $customContentModel->edit(['category_id'=>$categoryId],['id'=>$contentId]); | 487 | $customContentModel->edit(['category_id'=>$categoryId],['id'=>$contentId]); |
| 488 | } | 488 | } |
| 489 | $saveData = [ | 489 | $saveData = [ |
| 490 | - ['key'=>'pd_extended_field_10', 'type'=>1, 'values'=>$item[3], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | 490 | + ['key'=>'pd_extended_field_1', 'type'=>1, 'values'=>$item[3], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], |
| 491 | ['key'=>'pd_extended_field_2', 'type'=>1, 'values'=>$item[4], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | 491 | ['key'=>'pd_extended_field_2', 'type'=>1, 'values'=>$item[4], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], |
| 492 | - ['key'=>'pd_extended_field_9', 'type'=>1, 'values'=>$item[5], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 493 | - ['key'=>'pd_extended_field_8', 'type'=>1, 'values'=>$item[6], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 494 | - ['key'=>'pd_extended_field_6', 'type'=>1, 'values'=>$item[7], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 495 | - ['key'=>'pd_extended_field_20', 'type'=>1, 'values'=>$item[8]??'', 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 496 | - ['key'=>'pd_extended_field_3', 'type'=>1, 'values'=>$item[9], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 497 | - ['key'=>'pd_extended_field_5', 'type'=>1, 'values'=>$item[10], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 498 | - ['key'=>'pd_extended_field_7', 'type'=>1, 'values'=>$item[11], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 499 | - ['key'=>'pd_extended_field_12', 'type'=>1, 'values'=>$item[12], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 500 | - ['key'=>'pd_extended_field_4', 'type'=>1, 'values'=>$item[13], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 501 | - ['key'=>'pd_extended_field_1', 'type'=>1, 'values'=>$item[14] ?? '', 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 502 | - ['key'=>'pd_extended_field_14', 'type'=>1, 'values'=>$item[15], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 503 | -// ['key'=>'pd_extended_field_22', 'type'=>1, 'values'=>$item[16], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 504 | -// ['key'=>'pd_extended_field_24', 'type'=>1, 'values'=>$item[17], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 505 | -// ['key'=>'pd_extended_field_23', 'type'=>1, 'values'=>$item[18], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | 492 | + ['key'=>'pd_extended_field_3', 'type'=>1, 'values'=>$item[5], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], |
| 493 | + ['key'=>'pd_extended_field_4', 'type'=>1, 'values'=>$item[6], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 494 | + ['key'=>'pd_extended_field_5', 'type'=>1, 'values'=>$item[7], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 495 | + ['key'=>'pd_extended_field_6', 'type'=>1, 'values'=>$item[8]??'', 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 496 | + ['key'=>'pd_extended_field_7', 'type'=>1, 'values'=>$item[9], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 497 | + ['key'=>'pd_extended_field_8', 'type'=>1, 'values'=>$item[10], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 498 | + ['key'=>'pd_extended_field_9', 'type'=>1, 'values'=>$item[11], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 499 | + ['key'=>'pd_extended_field_10', 'type'=>1, 'values'=>$item[12], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 500 | + ['key'=>'pd_extended_field_11', 'type'=>1, 'values'=>$item[13], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 501 | + ['key'=>'pd_extended_field_12', 'type'=>1, 'values'=>$item[14] ?? '', 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 502 | + ['key'=>'pd_extended_field_13', 'type'=>1, 'values'=>$item[15], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 503 | + ['key'=>'pd_extended_field_14', 'type'=>1, 'values'=>$item[16], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 504 | + ['key'=>'pd_extended_field_15', 'type'=>1, 'values'=>$item[17], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 505 | + ['key'=>'pd_extended_field_16', 'type'=>1, 'values'=>$item[18], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 506 | + ['key'=>'pd_extended_field_17', 'type'=>1, 'values'=>$item[19], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 507 | + ['key'=>'pd_extended_field_18', 'type'=>1, 'values'=>$item[20], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 508 | + ['key'=>'pd_extended_field_19', 'type'=>1, 'values'=>$item[21], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 509 | + ['key'=>'pd_extended_field_20', 'type'=>1, 'values'=>$item[22], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 510 | + ['key'=>'pd_extended_field_21', 'type'=>1, 'values'=>$item[23], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 511 | + ['key'=>'pd_extended_field_22', 'type'=>1, 'values'=>$item[24], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 512 | + ['key'=>'pd_extended_field_23', 'type'=>1, 'values'=>$item[25], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 513 | + ['key'=>'pd_extended_field_24', 'type'=>1, 'values'=>$item[26], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>7, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], | ||
| 506 | ]; | 514 | ]; |
| 507 | $customExtendContentTModel->insert($saveData); | 515 | $customExtendContentTModel->insert($saveData); |
| 508 | // }catch (\Exception $e){ | 516 | // }catch (\Exception $e){ |
| @@ -30,6 +30,7 @@ use App\Models\Workchat\MessagePush; | @@ -30,6 +30,7 @@ use App\Models\Workchat\MessagePush; | ||
| 30 | use App\Services\AiBlogService; | 30 | use App\Services\AiBlogService; |
| 31 | use App\Services\ProjectServer; | 31 | use App\Services\ProjectServer; |
| 32 | use Illuminate\Console\Command; | 32 | use Illuminate\Console\Command; |
| 33 | +use Illuminate\Support\Facades\Schema; | ||
| 33 | use Illuminate\Support\Facades\Artisan; | 34 | use Illuminate\Support\Facades\Artisan; |
| 34 | use Illuminate\Support\Facades\DB; | 35 | use Illuminate\Support\Facades\DB; |
| 35 | 36 | ||
| @@ -50,6 +51,7 @@ class lyhDemo extends Command | @@ -50,6 +51,7 @@ class lyhDemo extends Command | ||
| 50 | protected $description = '更新路由'; | 51 | protected $description = '更新路由'; |
| 51 | 52 | ||
| 52 | public function handle(){ | 53 | public function handle(){ |
| 54 | + dd(111); | ||
| 53 | $projectModel = new Project(); | 55 | $projectModel = new Project(); |
| 54 | $lists = $projectModel->list(['delete_status' => 0,'extend_type'=>0,'type'=>['in',[1,2,3,4,6]]], 'id', ['id']); | 56 | $lists = $projectModel->list(['delete_status' => 0,'extend_type'=>0,'type'=>['in',[1,2,3,4,6]]], 'id', ['id']); |
| 55 | foreach ($lists as $val) { | 57 | foreach ($lists as $val) { |
| @@ -125,4 +127,61 @@ class lyhDemo extends Command | @@ -125,4 +127,61 @@ class lyhDemo extends Command | ||
| 125 | return $aiSettingInfo; | 127 | return $aiSettingInfo; |
| 126 | } | 128 | } |
| 127 | 129 | ||
| 130 | + | ||
| 131 | + public function _actions() { | ||
| 132 | + echo '开始执行...' . PHP_EOL; | ||
| 133 | + ProjectServer::useProject(565); | ||
| 134 | + $table = 'gl_product_category'; | ||
| 135 | + $connection = DB::connection('custom_mysql'); | ||
| 136 | + $dbName = $connection->getDatabaseName(); | ||
| 137 | + $brandsStr = 'Trimos,insize,Fowler,Mahr,Starrett,Tesa,Mitutoyo,Wixey,Shars,Fisso,Spi,Grizzly,Accumaster,Accuremote,Baker,Sharpe,Compac,Earth,Etalon,Federal,Fell,Fisso,Fowler,Gem,Grizzly,Husky,iGaging,Insize,Kanetec,Magnetics,Mighty,Mitutoyo,Noga,Pittsburgh,Procheck,Saker,Scherr Tumico,Shars,Shinwa,SPI,Starrett,Tesa,Technidea,Trimos,Verdict,Wyler,Wixey'; | ||
| 138 | + $brands = array_unique(array_map('trim', explode(',', $brandsStr))); | ||
| 139 | + // 获取文本字段 | ||
| 140 | + $columns = $connection->table('information_schema.columns') | ||
| 141 | + ->where('table_schema', $dbName) | ||
| 142 | + ->where('table_name', $table) | ||
| 143 | + ->whereIn('data_type', ['varchar', 'text', 'mediumtext', 'longtext']) | ||
| 144 | + ->pluck('column_name') | ||
| 145 | + ->toArray(); | ||
| 146 | + if (empty($columns)) { | ||
| 147 | + echo "未找到文本字段,退出。" . PHP_EOL; | ||
| 148 | + return; | ||
| 149 | + } | ||
| 150 | + foreach ($columns as $field) { | ||
| 151 | + $sqlField = "`$field`"; | ||
| 152 | + // 构造第一轮REPLACE表达式(原样品牌) | ||
| 153 | + $replaceExprRaw = $sqlField; | ||
| 154 | + foreach ($brands as $brand) { | ||
| 155 | + $safeBrand = addslashes($brand); | ||
| 156 | + $replaceExprRaw = "REPLACE(REPLACE($replaceExprRaw, '$safeBrand-', ''), '$safeBrand', '')"; | ||
| 157 | + } | ||
| 158 | + // 构造第二轮REPLACE表达式(小写品牌) | ||
| 159 | + $lowerBrands = array_map('strtolower', $brands); | ||
| 160 | + $replaceExprLower = $sqlField; | ||
| 161 | + foreach ($lowerBrands as $brand) { | ||
| 162 | + $safeBrand = addslashes($brand); | ||
| 163 | + $replaceExprLower = "REPLACE(REPLACE($replaceExprLower, '$safeBrand-', ''), '$safeBrand', '')"; | ||
| 164 | + } | ||
| 165 | + // 先执行原样品牌替换 | ||
| 166 | + $sqlRaw = "UPDATE `$table` SET $sqlField = $replaceExprRaw WHERE $sqlField IS NOT NULL AND $sqlField != ''"; | ||
| 167 | + echo "执行字段(品牌原样替换):$field" . PHP_EOL; | ||
| 168 | + try { | ||
| 169 | + $connection->update($sqlRaw); | ||
| 170 | + } catch (\Exception $e) { | ||
| 171 | + echo "字段 $field 原样替换出错:" . $e->getMessage() . PHP_EOL; | ||
| 172 | + } | ||
| 173 | + // 再执行小写品牌替换 | ||
| 174 | + $sqlLower = "UPDATE `$table` SET $sqlField = $replaceExprLower WHERE $sqlField IS NOT NULL AND $sqlField != ''"; | ||
| 175 | + echo "执行字段(品牌小写替换):$field" . PHP_EOL; | ||
| 176 | + try { | ||
| 177 | + $connection->update($sqlLower); | ||
| 178 | + } catch (\Exception $e) { | ||
| 179 | + echo "字段 $field 小写替换出错:" . $e->getMessage() . PHP_EOL; | ||
| 180 | + } | ||
| 181 | + } | ||
| 182 | + | ||
| 183 | + echo '执行结束' . PHP_EOL; | ||
| 184 | + | ||
| 185 | + DB::disconnect('custom_mysql'); | ||
| 186 | + } | ||
| 128 | } | 187 | } |
| @@ -159,7 +159,7 @@ class NoticeController extends BaseController | @@ -159,7 +159,7 @@ class NoticeController extends BaseController | ||
| 159 | 159 | ||
| 160 | //新增重定向任务 | 160 | //新增重定向任务 |
| 161 | $redirect_model = new DomainRedirectTask(); | 161 | $redirect_model = new DomainRedirectTask(); |
| 162 | - $task_redirect_info = $redirect_model->read(['origin_domain'=>$origin_domain],['id']); | 162 | + $task_redirect_info = $redirect_model->read(['origin_domain'=>$origin_domain],['id','status']); |
| 163 | if(!$task_redirect_info){ | 163 | if(!$task_redirect_info){ |
| 164 | $redirect_model->add([ | 164 | $redirect_model->add([ |
| 165 | 'origin_domain'=> $origin_domain, | 165 | 'origin_domain'=> $origin_domain, |
| @@ -167,7 +167,9 @@ class NoticeController extends BaseController | @@ -167,7 +167,9 @@ class NoticeController extends BaseController | ||
| 167 | 'target_domain' => $target_domain | 167 | 'target_domain' => $target_domain |
| 168 | ]); | 168 | ]); |
| 169 | }else{ | 169 | }else{ |
| 170 | - $redirect_model->edit(['status'=>DomainRedirectTask::STATUS_UN],['id'=>$task_redirect_info['id']]); | 170 | + if($task_redirect_info['status'] == DomainRedirectTask::STATUS_FAL){ |
| 171 | + $redirect_model->edit(['status'=>DomainRedirectTask::STATUS_UN,'error_msg'=>null],['id'=>$task_redirect_info['id']]); | ||
| 172 | + } | ||
| 171 | } | 173 | } |
| 172 | 174 | ||
| 173 | return $this->success(); | 175 | return $this->success(); |
| @@ -340,13 +340,17 @@ class DomainInfoLogic extends BaseLogic | @@ -340,13 +340,17 @@ class DomainInfoLogic extends BaseLogic | ||
| 340 | //新增重定向任务 | 340 | //新增重定向任务 |
| 341 | $redirect_model = new DomainRedirectTask(); | 341 | $redirect_model = new DomainRedirectTask(); |
| 342 | if($domain_301){ | 342 | if($domain_301){ |
| 343 | - $task_redirect_info = $redirect_model->read(['origin_domain'=>$domain_301]); | 343 | + $task_redirect_info = $redirect_model->read(['origin_domain'=>$domain_301],['id','status']); |
| 344 | if(!$task_redirect_info){ | 344 | if(!$task_redirect_info){ |
| 345 | $redirect_model->add([ | 345 | $redirect_model->add([ |
| 346 | 'origin_domain'=> $domain_301, | 346 | 'origin_domain'=> $domain_301, |
| 347 | 'other_domain' => json_encode([]), | 347 | 'other_domain' => json_encode([]), |
| 348 | 'target_domain' => $info['domain'] | 348 | 'target_domain' => $info['domain'] |
| 349 | ]); | 349 | ]); |
| 350 | + }else{ | ||
| 351 | + if($task_redirect_info['status'] == DomainRedirectTask::STATUS_FAL){ | ||
| 352 | + $redirect_model->edit(['status'=>DomainRedirectTask::STATUS_UN,'error_msg'=>null],['id'=>$task_redirect_info['id']]); | ||
| 353 | + } | ||
| 350 | } | 354 | } |
| 351 | } | 355 | } |
| 352 | 356 |
| @@ -25,7 +25,7 @@ class MonthCountLogic extends BaseLogic | @@ -25,7 +25,7 @@ class MonthCountLogic extends BaseLogic | ||
| 25 | */ | 25 | */ |
| 26 | public function getCountLists($map,$order = 'created_at',$filed = ['*']){ | 26 | public function getCountLists($map,$order = 'created_at',$filed = ['*']){ |
| 27 | $map['project_id'] = $this->user['project_id']; | 27 | $map['project_id'] = $this->user['project_id']; |
| 28 | - $lists = $this->model->list($map,$order,$filed,'desc',20); | 28 | + $lists = $this->model->list($map,$order,$filed,'desc',12); |
| 29 | if(isset($this->project['is_record_china_visit']) && ($this->project['is_record_china_visit'] == 0)){ | 29 | if(isset($this->project['is_record_china_visit']) && ($this->project['is_record_china_visit'] == 0)){ |
| 30 | foreach ($lists as $k => $v){ | 30 | foreach ($lists as $k => $v){ |
| 31 | if(empty($v['source_country'])){ | 31 | if(empty($v['source_country'])){ |
| @@ -55,7 +55,7 @@ class MonthCountLogic extends BaseLogic | @@ -55,7 +55,7 @@ class MonthCountLogic extends BaseLogic | ||
| 55 | */ | 55 | */ |
| 56 | public function getIpPvCount(){ | 56 | public function getIpPvCount(){ |
| 57 | $count = new Count(); | 57 | $count = new Count(); |
| 58 | - $startTime = date("Y-m-d", strtotime("-9 months", mktime(0, 0, 0))); | 58 | + $startTime = date("Y-m-d", strtotime("-11 months", mktime(0, 0, 0))); |
| 59 | $ensTime = date('Y-m-d',time()); | 59 | $ensTime = date('Y-m-d',time()); |
| 60 | $lists = $count->list(['date'=>['between',[$startTime,$ensTime]],'project_id'=>$this->user['project_id']],'id',['*'],'asc'); | 60 | $lists = $count->list(['date'=>['between',[$startTime,$ensTime]],'project_id'=>$this->user['project_id']],'id',['*'],'asc'); |
| 61 | $groupedData = []; | 61 | $groupedData = []; |
| @@ -42,6 +42,7 @@ class LinkDataLogic extends BaseLogic | @@ -42,6 +42,7 @@ class LinkDataLogic extends BaseLogic | ||
| 42 | $data[] = [ | 42 | $data[] = [ |
| 43 | 'url'=>$v['url'], | 43 | 'url'=>$v['url'], |
| 44 | 'da_values'=>$v['da_values'], | 44 | 'da_values'=>$v['da_values'], |
| 45 | + 'send_time'=>$v['send_time'] ?? date('Y-m-d H:i:s') | ||
| 45 | ]; | 46 | ]; |
| 46 | } | 47 | } |
| 47 | if(!empty($data)){ | 48 | if(!empty($data)){ |
-
请 注册 或 登录 后发表评论