Merge branch 'master' of http://47.244.231.31:8099/zhl/globalso-v6
正在显示
9 个修改的文件
包含
141 行增加
和
47 行删除
| @@ -83,7 +83,7 @@ class RemainDay extends Command | @@ -83,7 +83,7 @@ class RemainDay extends Command | ||
| 83 | * @time :2025/4/2 10:48 | 83 | * @time :2025/4/2 10:48 |
| 84 | */ | 84 | */ |
| 85 | public function saveRemainDay(){ | 85 | public function saveRemainDay(){ |
| 86 | - $list = $this->project->list(['type'=>['in',[Project::TYPE_TWO,Project::TYPE_THREE,Project::TYPE_FOUR]]],'id',['id','type','uptime','remain_day','is_remain_today','pause_days','finish_remain_day']); | 86 | + $list = $this->project->list(['extend_type'=>Project::TYPE_ZERO,'type'=>['in',[Project::TYPE_TWO,Project::TYPE_THREE,Project::TYPE_FOUR]]],'id',['id','type','uptime','remain_day','is_remain_today','pause_days','finish_remain_day']); |
| 87 | foreach ($list as $item){ | 87 | foreach ($list as $item){ |
| 88 | $deploy_build = $this->deployBuild->read(['project_id'=>$item['id']],['service_duration','seo_service_duration','plan','seo_plan']); | 88 | $deploy_build = $this->deployBuild->read(['project_id'=>$item['id']],['service_duration','seo_service_duration','plan','seo_plan']); |
| 89 | echo 'start->项目id:' . $item['id'] . '执行时间:'. date('Y-m-d H:i:s') . PHP_EOL; | 89 | echo 'start->项目id:' . $item['id'] . '执行时间:'. date('Y-m-d H:i:s') . PHP_EOL; |
| @@ -97,8 +97,29 @@ class RemainDay extends Command | @@ -97,8 +97,29 @@ class RemainDay extends Command | ||
| 97 | $this->project->edit(['pause_days'=>$pause_days],['id'=>$item['id']]); | 97 | $this->project->edit(['pause_days'=>$pause_days],['id'=>$item['id']]); |
| 98 | continue; | 98 | continue; |
| 99 | } | 99 | } |
| 100 | - //白帽版本的系统 | ||
| 101 | - if($deploy_build['seo_plan'] == 1){ | 100 | + //白帽版本单独计算 |
| 101 | + $this->seoRemainDay($deploy_build,$item); | ||
| 102 | + //默认版本统计 | ||
| 103 | + if($deploy_build['service_duration'] == 0){ | ||
| 104 | + continue; | ||
| 105 | + } | ||
| 106 | + $this->remainDay($item,$deploy_build); | ||
| 107 | + echo 'end->项目id:' . $item['id'] . '执行时间:'. date('Y-m-d H:i:s') . PHP_EOL; | ||
| 108 | + } | ||
| 109 | + return true; | ||
| 110 | + } | ||
| 111 | + | ||
| 112 | + /** | ||
| 113 | + * @remark :白帽版本单独计算 | ||
| 114 | + * @name :seoRemainDay | ||
| 115 | + * @author :lyh | ||
| 116 | + * @method :post | ||
| 117 | + * @time :2025/4/25 14:24 | ||
| 118 | + */ | ||
| 119 | + public function seoRemainDay($deploy_build,$item){ | ||
| 120 | + //白帽版本的系统 | ||
| 121 | + if($deploy_build['seo_plan'] == 1){ | ||
| 122 | + if($deploy_build['seo_service_duration'] != 0){ | ||
| 102 | if($item['uptime']){ | 123 | if($item['uptime']){ |
| 103 | $diff = time() - strtotime($item['uptime']); | 124 | $diff = time() - strtotime($item['uptime']); |
| 104 | $seo_remain_day = $deploy_build['seo_service_duration'] - floor($diff / (60 * 60 * 24)); | 125 | $seo_remain_day = $deploy_build['seo_service_duration'] - floor($diff / (60 * 60 * 24)); |
| @@ -110,45 +131,54 @@ class RemainDay extends Command | @@ -110,45 +131,54 @@ class RemainDay extends Command | ||
| 110 | } | 131 | } |
| 111 | if($deploy_build['plan'] == 0 && $seo_remain_day == 0 && $deploy_build['seo_service_duration'] != 0){//只有白帽版本的项目且剩余服务时常未0,放入未续费中 | 132 | if($deploy_build['plan'] == 0 && $seo_remain_day == 0 && $deploy_build['seo_service_duration'] != 0){//只有白帽版本的项目且剩余服务时常未0,放入未续费中 |
| 112 | $this->project->edit(['seo_remain_day'=>$seo_remain_day,'extend_type'=>Project::TYPE_FIVE],['id'=>$item['id']]); | 133 | $this->project->edit(['seo_remain_day'=>$seo_remain_day,'extend_type'=>Project::TYPE_FIVE],['id'=>$item['id']]); |
| 113 | - continue; | 134 | + }else{ |
| 135 | + //同时包括白帽版本+默认版本的项目 | ||
| 136 | + $this->project->edit(['seo_remain_day'=>$seo_remain_day],['id'=>$item['id']]); | ||
| 114 | } | 137 | } |
| 115 | - //同时包括白帽版本+默认版本的项目 | ||
| 116 | - $this->project->edit(['seo_remain_day'=>$seo_remain_day],['id'=>$item['id']]); | ||
| 117 | } | 138 | } |
| 118 | - //默认版本计算剩余服务时常 | ||
| 119 | - if($item['type'] == Project::TYPE_TWO || $item['type'] == Project::TYPE_FOUR){ | ||
| 120 | - if(in_array($item['id'],$this->projectId)){//已开始优化的时间结算 | ||
| 121 | - $optimizeModel = new DeployOptimize(); | ||
| 122 | - $opInfo = $optimizeModel->read(['project_id'=>$item['id']],['start_date']); | ||
| 123 | - if($opInfo === false){ | ||
| 124 | - continue; | ||
| 125 | - } | ||
| 126 | - $diff = time() - strtotime($opInfo['start_date'] ?? $item['uptime']); | ||
| 127 | - $compliance_day = floor($diff / (60 * 60 * 24)); | ||
| 128 | - $remain_day = $deploy_build['service_duration'] - $compliance_day; | 139 | + } |
| 140 | + return true; | ||
| 141 | + } | ||
| 129 | 142 | ||
| 130 | - }else{ | ||
| 131 | - $compliance_day = ($item['finish_remain_day'] ?? 0); | ||
| 132 | - $remain_day = $deploy_build['service_duration'] - $compliance_day; | 143 | + /** |
| 144 | + * @remark :普通版本剩余服务时常 | ||
| 145 | + * @name :RemainDay | ||
| 146 | + * @author :lyh | ||
| 147 | + * @method :post | ||
| 148 | + * @time :2025/4/25 14:31 | ||
| 149 | + */ | ||
| 150 | + public function remainDay($item,$deploy_build){ | ||
| 151 | + //默认版本计算剩余服务时常 | ||
| 152 | + if($item['type'] == Project::TYPE_TWO || $item['type'] == Project::TYPE_FOUR){ | ||
| 153 | + if(in_array($item['id'],$this->projectId)){//已开始优化的时间结算 | ||
| 154 | + $optimizeModel = new DeployOptimize(); | ||
| 155 | + $opInfo = $optimizeModel->read(['project_id'=>$item['id']],['start_date']); | ||
| 156 | + if($opInfo === false){ | ||
| 157 | + return true; | ||
| 133 | } | 158 | } |
| 159 | + $diff = time() - strtotime($opInfo['start_date'] ?? $item['uptime']); | ||
| 160 | + $compliance_day = floor($diff / (60 * 60 * 24)); | ||
| 161 | + $remain_day = $deploy_build['service_duration'] - $compliance_day; | ||
| 134 | }else{ | 162 | }else{ |
| 135 | - //普通建站项目 | ||
| 136 | - if($item['uptime']){ | ||
| 137 | - $diff = time() - strtotime($item['uptime']); | ||
| 138 | - $compliance_day = floor($diff / (60 * 60 * 24)); | ||
| 139 | - $remain_day = $deploy_build['service_duration'] - $compliance_day; | ||
| 140 | - }else{ | ||
| 141 | - $remain_day = $deploy_build['service_duration']; | ||
| 142 | - } | 163 | + $compliance_day = ($item['finish_remain_day'] ?? 0); |
| 164 | + $remain_day = $deploy_build['service_duration'] - $compliance_day; | ||
| 143 | } | 165 | } |
| 144 | - $extend_type = 0; | ||
| 145 | - if($remain_day < 0 && $deploy_build['service_duration'] != 0){ | ||
| 146 | - $remain_day = 0; | ||
| 147 | - $extend_type = Project::TYPE_FIVE; | 166 | + }else{ |
| 167 | + //普通建站项目 | ||
| 168 | + if($item['uptime']){ | ||
| 169 | + $diff = time() - strtotime($item['uptime']); | ||
| 170 | + $compliance_day = floor($diff / (60 * 60 * 24)); | ||
| 171 | + $remain_day = $deploy_build['service_duration'] - $compliance_day; | ||
| 172 | + }else{ | ||
| 173 | + $remain_day = $deploy_build['service_duration']; | ||
| 148 | } | 174 | } |
| 149 | - $this->project->edit(['remain_day'=>$remain_day,'extend_type'=>$extend_type,'finish_remain_day'=>$compliance_day ?? 0],['id'=>$item['id']]); | ||
| 150 | - echo 'end->项目id:' . $item['id'] . '执行时间:'. date('Y-m-d H:i:s') . PHP_EOL; | ||
| 151 | } | 175 | } |
| 176 | + $extend_type = 0; | ||
| 177 | + if($remain_day < 0 && $deploy_build['service_duration'] != 0){ | ||
| 178 | + $remain_day = 0; | ||
| 179 | + $extend_type = Project::TYPE_FIVE; | ||
| 180 | + } | ||
| 181 | + $this->project->edit(['remain_day'=>$remain_day,'extend_type'=>$extend_type,'finish_remain_day'=>$compliance_day ?? 0],['id'=>$item['id']]); | ||
| 152 | return true; | 182 | return true; |
| 153 | } | 183 | } |
| 154 | } | 184 | } |
| @@ -9,8 +9,10 @@ | @@ -9,8 +9,10 @@ | ||
| 9 | 9 | ||
| 10 | namespace App\Console\Commands\LyhTest; | 10 | namespace App\Console\Commands\LyhTest; |
| 11 | 11 | ||
| 12 | +use App\Console\Commands\Domain\DomainInfo; | ||
| 12 | use App\Models\Com\NoticeLog; | 13 | use App\Models\Com\NoticeLog; |
| 13 | use App\Models\Project\AiBlogTask; | 14 | use App\Models\Project\AiBlogTask; |
| 15 | +use App\Models\Project\DeployBuild; | ||
| 14 | use App\Models\Project\Project; | 16 | use App\Models\Project\Project; |
| 15 | use Illuminate\Console\Command; | 17 | use Illuminate\Console\Command; |
| 16 | use Illuminate\Support\Facades\Artisan; | 18 | use Illuminate\Support\Facades\Artisan; |
| @@ -33,9 +35,14 @@ class lyhDemo extends Command | @@ -33,9 +35,14 @@ class lyhDemo extends Command | ||
| 33 | protected $description = '更新路由'; | 35 | protected $description = '更新路由'; |
| 34 | 36 | ||
| 35 | public function handle(){ | 37 | public function handle(){ |
| 36 | - $projectModel = new Project(); | ||
| 37 | - $noticeModel = new NoticeLog(); | ||
| 38 | - $lists = $projectModel->list(['from_order_id'=>null]); | 38 | + $projectBuildModel = new DeployBuild(); |
| 39 | + $projectList = $projectBuildModel->list(['plan'=>0,'seo_plan'=>1],'project_id'); | ||
| 40 | + foreach ($projectList as $val){ | ||
| 41 | + if(!empty($val['service_duration']) && empty($val['seo_service_duration'])){ | ||
| 42 | + $projectBuildModel->edit(['seo_service_duration'=>$val['service_duration']],['id'=>$val['id']]); | ||
| 43 | + echo '项目id:'.$val['project_id'].PHP_EOL; | ||
| 44 | + } | ||
| 45 | + } | ||
| 39 | return true; | 46 | return true; |
| 40 | } | 47 | } |
| 41 | } | 48 | } |
| @@ -9,6 +9,7 @@ namespace App\Console\Commands\Monitor; | @@ -9,6 +9,7 @@ namespace App\Console\Commands\Monitor; | ||
| 9 | 9 | ||
| 10 | use App\Models\Domain\DomainInfo; | 10 | use App\Models\Domain\DomainInfo; |
| 11 | use App\Models\Product\Keyword; | 11 | use App\Models\Product\Keyword; |
| 12 | +use App\Models\Project\DeployOptimize; | ||
| 12 | use App\Models\Project\OnlineCheck; | 13 | use App\Models\Project\OnlineCheck; |
| 13 | use App\Models\Project\Project; | 14 | use App\Models\Project\Project; |
| 14 | use App\Repositories\ToolRepository; | 15 | use App\Repositories\ToolRepository; |
| @@ -259,9 +260,29 @@ class Supervisory extends Command | @@ -259,9 +260,29 @@ class Supervisory extends Command | ||
| 259 | file_put_contents(storage_path('data/robots/' . date('Ymd'). 'log.json'), json_encode($tmp, 256)); | 260 | file_put_contents(storage_path('data/robots/' . date('Ymd'). 'log.json'), json_encode($tmp, 256)); |
| 260 | unset($tmp); | 261 | unset($tmp); |
| 261 | 262 | ||
| 263 | + // 所有路由 | ||
| 262 | $domain = array_column($spot_projects, 'domain'); | 264 | $domain = array_column($spot_projects, 'domain'); |
| 263 | $domain = array_unique(array_filter($domain)); | 265 | $domain = array_unique(array_filter($domain)); |
| 264 | 266 | ||
| 267 | + // 通知对应优化师 | ||
| 268 | + $tmp = []; | ||
| 269 | + foreach ($spot_projects as $item) { | ||
| 270 | + $tmp[$item['domain']] = $item['project_id']; | ||
| 271 | + } | ||
| 272 | + $project_ids = array_column($spot_projects, 'project_id'); | ||
| 273 | + $optimist = DeployOptimize::leftJoin('gl_manage', 'gl_project_deploy_optimize.optimist_mid', '=', 'gl_manage.id') | ||
| 274 | + ->whereIn('project_id', $project_ids) | ||
| 275 | + ->pluck('mobile', 'project_id') | ||
| 276 | + ->toArray(); | ||
| 277 | + | ||
| 278 | + $notice = []; | ||
| 279 | + $all_url = array_merge($error_url, $error, $page_404, $tdk_error); | ||
| 280 | + foreach ($all_url as $url) { | ||
| 281 | + if (FALSE == empty($optimist[$tmp[parse_url($url, PHP_URL_HOST)]])) | ||
| 282 | + $notice[] = '86' . $optimist[$tmp[parse_url($url, PHP_URL_HOST)]]; | ||
| 283 | + } | ||
| 284 | + $notice = array_filter(array_unique($notice)); | ||
| 285 | + | ||
| 265 | $message[] = '开启robots项目数:' . count($robots_ids); | 286 | $message[] = '开启robots项目数:' . count($robots_ids); |
| 266 | $message[] = '关闭robots项目:' . ($close_ids ? implode(',', $close_ids) : '无'); | 287 | $message[] = '关闭robots项目:' . ($close_ids ? implode(',', $close_ids) : '无'); |
| 267 | $message[] = '抽查项目数量: ' . count($domain); | 288 | $message[] = '抽查项目数量: ' . count($domain); |
| @@ -282,6 +303,7 @@ class Supervisory extends Command | @@ -282,6 +303,7 @@ class Supervisory extends Command | ||
| 282 | 'keyword' => '项目数据推送', | 303 | 'keyword' => '项目数据推送', |
| 283 | 'msg' => $msg, | 304 | 'msg' => $msg, |
| 284 | 'isAtAll' => false, // 是否@所有人 | 305 | 'isAtAll' => false, // 是否@所有人 |
| 306 | + 'atMobiles' => $notice | ||
| 285 | ]; | 307 | ]; |
| 286 | $dingService->handle($body, $link); | 308 | $dingService->handle($body, $link); |
| 287 | } | 309 | } |
| @@ -839,7 +839,7 @@ function getCustomRouteMap($module_route,$route = '') | @@ -839,7 +839,7 @@ function getCustomRouteMap($module_route,$route = '') | ||
| 839 | if($module_route == $route){ | 839 | if($module_route == $route){ |
| 840 | $resultRoute = $route; | 840 | $resultRoute = $route; |
| 841 | }else{ | 841 | }else{ |
| 842 | - $resultRoute = $module_route.'_catelog/'.$route; | 842 | + $resultRoute = $module_route.'_catalog/'.$route; |
| 843 | } | 843 | } |
| 844 | return $resultRoute; | 844 | return $resultRoute; |
| 845 | } | 845 | } |
| @@ -147,8 +147,8 @@ class OptimizeController extends BaseController | @@ -147,8 +147,8 @@ class OptimizeController extends BaseController | ||
| 147 | $data = APublicModel::getNumByProjectId($item['id']); | 147 | $data = APublicModel::getNumByProjectId($item['id']); |
| 148 | } | 148 | } |
| 149 | $manageModel = new ManageHr(); | 149 | $manageModel = new ManageHr(); |
| 150 | - $plan = Project::planMap(); | ||
| 151 | - $seo_plan = Project::seoMap(); | 150 | +// $plan = Project::planMap(); |
| 151 | +// $seo_plan = Project::seoMap(); | ||
| 152 | $item['channel'] = Channel::getChannelText($item['channel']['user_id'] ?? 0); | 152 | $item['channel'] = Channel::getChannelText($item['channel']['user_id'] ?? 0); |
| 153 | $item['build_leader'] = $manageModel->getName($item['leader_mid']); | 153 | $item['build_leader'] = $manageModel->getName($item['leader_mid']); |
| 154 | $item['build_manager'] = $manageModel->getName($item['manager_mid']); | 154 | $item['build_manager'] = $manageModel->getName($item['manager_mid']); |
| @@ -159,8 +159,6 @@ class OptimizeController extends BaseController | @@ -159,8 +159,6 @@ class OptimizeController extends BaseController | ||
| 159 | $item['optimize_assist'] = $manageModel->getName($item['optimize_assist_mid']); | 159 | $item['optimize_assist'] = $manageModel->getName($item['optimize_assist_mid']); |
| 160 | $item['optimize_tech'] = $manageModel->getName($item['optimize_tech_mid']); | 160 | $item['optimize_tech'] = $manageModel->getName($item['optimize_tech_mid']); |
| 161 | $item['quality_mid_name'] = $manageModel->getName($item['quality_mid']); | 161 | $item['quality_mid_name'] = $manageModel->getName($item['quality_mid']); |
| 162 | - $item['plan'] = $plan[$item['plan']] ?? 0; | ||
| 163 | - $item['seo_plan'] = $seo_plan[$item['plan']] ?? 0; | ||
| 164 | $item['created_at'] = date('Y年m月d日', strtotime($item['cooperate_date'])); | 162 | $item['created_at'] = date('Y年m月d日', strtotime($item['cooperate_date'])); |
| 165 | $item['autologin_code'] = getAutoLoginCode($item['id']); | 163 | $item['autologin_code'] = getAutoLoginCode($item['id']); |
| 166 | $item['domain'] = 'https://'.$item['domain'].'/'; | 164 | $item['domain'] = 'https://'.$item['domain'].'/'; |
| @@ -194,6 +192,7 @@ class OptimizeController extends BaseController | @@ -194,6 +192,7 @@ class OptimizeController extends BaseController | ||
| 194 | 'gl_project.finish_remain_day AS finish_remain_day', | 192 | 'gl_project.finish_remain_day AS finish_remain_day', |
| 195 | 'gl_project.is_remain_today AS is_remain_today', | 193 | 'gl_project.is_remain_today AS is_remain_today', |
| 196 | 'gl_project.remain_day AS remain_day', | 194 | 'gl_project.remain_day AS remain_day', |
| 195 | + 'gl_project.seo_remain_day AS seo_remain_day', | ||
| 197 | 'gl_project.robots AS robots', | 196 | 'gl_project.robots AS robots', |
| 198 | 'gl_project.is_minor_languages AS is_minor_languages', | 197 | 'gl_project.is_minor_languages AS is_minor_languages', |
| 199 | 'gl_project.is_translate AS is_translate', | 198 | 'gl_project.is_translate AS is_translate', |
| @@ -13,6 +13,8 @@ use App\Enums\Common\Code; | @@ -13,6 +13,8 @@ use App\Enums\Common\Code; | ||
| 13 | use App\Http\Controllers\Bside\BaseController; | 13 | use App\Http\Controllers\Bside\BaseController; |
| 14 | use App\Http\Logic\Bside\Setting\TranslateLogic; | 14 | use App\Http\Logic\Bside\Setting\TranslateLogic; |
| 15 | use App\Models\Blog\Blog; | 15 | use App\Models\Blog\Blog; |
| 16 | +use App\Models\CustomModule\CustomModule; | ||
| 17 | +use App\Models\CustomModule\CustomModuleCategory; | ||
| 16 | use App\Models\CustomModule\CustomModuleContent; | 18 | use App\Models\CustomModule\CustomModuleContent; |
| 17 | use App\Models\News\News; | 19 | use App\Models\News\News; |
| 18 | use App\Models\Product\Product; | 20 | use App\Models\Product\Product; |
| @@ -279,7 +281,19 @@ class TranslateController extends BaseController | @@ -279,7 +281,19 @@ class TranslateController extends BaseController | ||
| 279 | case RouteMap::SOURCE_MODULE_CATE: | 281 | case RouteMap::SOURCE_MODULE_CATE: |
| 280 | $customModel = new CustomModuleContent(); | 282 | $customModel = new CustomModuleContent(); |
| 281 | $count = $customModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%']])->count(); | 283 | $count = $customModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%']])->count(); |
| 282 | - $this->pageSixList($data,$count,$v,3,10); | 284 | + //获取module_id |
| 285 | + $customCateModel = new CustomModuleCategory(); | ||
| 286 | + $cateInfo = $customCateModel->read(['route'=>$v['route']],['module_id']); | ||
| 287 | + if($cateInfo !== false){ | ||
| 288 | + $model = new CustomModule(); | ||
| 289 | + $moduleInfo = $model->read(['id'=>$cateInfo['module_id']],['route']); | ||
| 290 | + if($moduleInfo !== false){ | ||
| 291 | + if($v['route'] != $moduleInfo['route']){ | ||
| 292 | + $v['route'] = $moduleInfo['route'].'/'.$v['route']; | ||
| 293 | + } | ||
| 294 | + } | ||
| 295 | + } | ||
| 296 | + $this->pageList($data,$count,$v,3,10); | ||
| 283 | break; | 297 | break; |
| 284 | default: | 298 | default: |
| 285 | $data[] = $v['route']; | 299 | $data[] = $v['route']; |
| @@ -393,7 +407,7 @@ class TranslateController extends BaseController | @@ -393,7 +407,7 @@ class TranslateController extends BaseController | ||
| 393 | } | 407 | } |
| 394 | 408 | ||
| 395 | /** | 409 | /** |
| 396 | - * @remark : | 410 | + * @remark :5.0列表页路由处理 |
| 397 | * @name :pageList | 411 | * @name :pageList |
| 398 | * @author :lyh | 412 | * @author :lyh |
| 399 | * @method :post | 413 | * @method :post |
| @@ -412,6 +426,15 @@ class TranslateController extends BaseController | @@ -412,6 +426,15 @@ class TranslateController extends BaseController | ||
| 412 | } | 426 | } |
| 413 | $page = ceil($count / $pageNum);//向上取整 | 427 | $page = ceil($count / $pageNum);//向上取整 |
| 414 | } | 428 | } |
| 429 | + if($v['source'] == RouteMap::SOURCE_NEWS_CATE){ | ||
| 430 | + if($v['route'] != 'news'){ | ||
| 431 | + $v['route'] = RouteMap::PATH_NEWS_CATE.'/'.$v['route']; | ||
| 432 | + } | ||
| 433 | + }elseif($v['source'] == RouteMap::SOURCE_BLOG_CATE){ | ||
| 434 | + if($v['route'] != 'blog'){ | ||
| 435 | + $v['route'] = RouteMap::PATH_BLOG_CATE.'/'.$v['route']; | ||
| 436 | + } | ||
| 437 | + } | ||
| 415 | for ($i = 1;$i <= $page;$i++){ | 438 | for ($i = 1;$i <= $page;$i++){ |
| 416 | if($i == 1){ | 439 | if($i == 1){ |
| 417 | $data[] = $v['route']; | 440 | $data[] = $v['route']; |
| @@ -423,7 +446,7 @@ class TranslateController extends BaseController | @@ -423,7 +446,7 @@ class TranslateController extends BaseController | ||
| 423 | } | 446 | } |
| 424 | 447 | ||
| 425 | /** | 448 | /** |
| 426 | - * @remark : | 449 | + * @remark :6.0列表路由处理 |
| 427 | * @name :pageList | 450 | * @name :pageList |
| 428 | * @author :lyh | 451 | * @author :lyh |
| 429 | * @method :post | 452 | * @method :post |
| @@ -59,7 +59,7 @@ class MonthCountLogic extends BaseLogic | @@ -59,7 +59,7 @@ class MonthCountLogic extends BaseLogic | ||
| 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 = []; |
| 62 | - foreach ($lists as $k=>$v){ | 62 | + foreach ($lists as $v){ |
| 63 | $month = date('Y-m', strtotime($v['date'])); | 63 | $month = date('Y-m', strtotime($v['date'])); |
| 64 | if(!isset($groupedData[$month])){ | 64 | if(!isset($groupedData[$month])){ |
| 65 | $groupedData[$month] = []; | 65 | $groupedData[$month] = []; |
| @@ -10,6 +10,7 @@ use App\Models\RouteMap\RouteMap; | @@ -10,6 +10,7 @@ use App\Models\RouteMap\RouteMap; | ||
| 10 | use App\Services\ProjectServer; | 10 | use App\Services\ProjectServer; |
| 11 | use Illuminate\Database\Eloquent\SoftDeletes; | 11 | use Illuminate\Database\Eloquent\SoftDeletes; |
| 12 | use Illuminate\Support\Facades\DB; | 12 | use Illuminate\Support\Facades\DB; |
| 13 | +use Illuminate\Support\Str; | ||
| 13 | 14 | ||
| 14 | class Keyword extends Base | 15 | class Keyword extends Base |
| 15 | { | 16 | { |
| @@ -136,6 +137,18 @@ class Keyword extends Base | @@ -136,6 +137,18 @@ class Keyword extends Base | ||
| 136 | foreach ($suffix_array as $suffix) { | 137 | foreach ($suffix_array as $suffix) { |
| 137 | array_push($result, trim($keyword . $suffix)); | 138 | array_push($result, trim($keyword . $suffix)); |
| 138 | array_push($result, trim($prefix . $keyword . $suffix)); | 139 | array_push($result, trim($prefix . $keyword . $suffix)); |
| 140 | + | ||
| 141 | + // 复数形式, 需要将单数的词也拼接上 | ||
| 142 | + if (Str::contains($suffix, ['Products', 'Exporters', 'Suppliers', 'Manufacturers'])) { | ||
| 143 | + $suffix = trim($suffix, 's'); | ||
| 144 | + array_push($result, trim($keyword . $suffix)); | ||
| 145 | + array_push($result, trim($prefix . $keyword . $suffix)); | ||
| 146 | + } | ||
| 147 | + if (Str::contains($suffix, [ 'Companies', 'Factories'])) { | ||
| 148 | + $suffix = trim($suffix, 'ies'); | ||
| 149 | + array_push($result, trim($keyword . $suffix . 'y')); | ||
| 150 | + array_push($result, trim($prefix . $keyword . $suffix . 'y')); | ||
| 151 | + } | ||
| 139 | } | 152 | } |
| 140 | } catch (\Exception $e) { | 153 | } catch (\Exception $e) { |
| 141 | continue; | 154 | continue; |
| @@ -39,7 +39,7 @@ class DingService | @@ -39,7 +39,7 @@ class DingService | ||
| 39 | 'content' => $body['keyword'] . PHP_EOL . $body['msg'] | 39 | 'content' => $body['keyword'] . PHP_EOL . $body['msg'] |
| 40 | ], | 40 | ], |
| 41 | 'at' => [ | 41 | 'at' => [ |
| 42 | - 'atMobiles' => [], | 42 | + 'atMobiles' => $body['atMobiles'], |
| 43 | 'atUserIds' => [], | 43 | 'atUserIds' => [], |
| 44 | 'isAtAll' => $body['isAtAll'], | 44 | 'isAtAll' => $body['isAtAll'], |
| 45 | ] | 45 | ] |
-
请 注册 或 登录 后发表评论