黄陂区建设招标网站,前端网页代码模板,海市科技网站建设,现在哪些做进口商品的电商网站最近写了一段比较不错的代码#xff0c;记录一下#xff0c;tp3.1临时连接指定数据库#xff0c;切片分类in查询#xff0c;带过滤需要的数据
/*** 获取季度报告总结* author Bruce 2025/6/10*/public function getQuarterReportSummarize() {// 获取全部数据$allData $t…最近写了一段比较不错的代码记录一下tp3.1临时连接指定数据库切片分类in查询带过滤需要的数据
/*** 获取季度报告总结* author Bruce 2025/6/10*/public function getQuarterReportSummarize() {// 获取全部数据$allData $this-getAllProtectedDomains();if ($allData[code] ! 1) {return $this-ajaxError($allData[message]);}// 分批处理大量数据每批500个$batchSize 500;$result [];$totalDomains count($allData[list]);for ($i 0; $i $totalDomains; $i $batchSize) {$batch array_slice($allData[list], $i, $batchSize);$configs D(WangZhanDomainHost)-getConfigs($batch);foreach ($configs as $key$config) {$messages [];if (!$config[iswaf]) $messages[] Web漏洞防护未开启;if (!$config[cc_switch]) $messages[] CC防护未开启;if (!$config[cs_switch]) $messages[] 爬虫防护未开启;if (!empty($messages)) {$result[$key] implode(, $messages) . ;}}// 释放内存unset($batch, $configs);}return $this-ajaxSuccess($result);}
# WangZhanDomainHostModel.class.php
/*** 获取配置信息优化版*/public function getConfigs($data []){if (empty($data)) return [];// 提取所有host和zone组合$hosts [];$zones [];$hostZoneMap [];foreach ($data as $item) {if (empty($item[host]) || empty($item[zone])) continue;$host addslashes($item[host]);$zone addslashes($item[zone]);$hosts[$host] $host;$zones[$zone] $zone;$hostZoneMap[$host][$zone] true;}if (empty($hosts) || empty($zones)) return [];// 使用IN查询替代大量OR条件$allConfigs $this-alias(dh)-join(LEFT JOIN anti_cc_config cc ON dh.host cc.host AND dh.zone cc.zone)-join(LEFT JOIN anti_cs_config cs ON dh.host cs.host AND dh.zone cs.zone)-where([dh.host [IN, array_unique($hosts)],dh.zone [IN, array_unique($zones)],])-field(dh.host, dh.zone, IFNULL(dh.iswaf, 0) as iswaf,IFNULL(cc.main_switch, 0) as cc_switch,IFNULL(cs.main_switch, 0) as cs_switch)-select();// 过滤出真正需要的记录$finalConfigs [];foreach ($allConfigs as $config) {if (isset($hostZoneMap[$config[host]][$config[zone]])) {$finalConfigs[$config[host]...$config[zone]] $config;}}return $finalConfigs;}