Merge remote-tracking branch 'origin/master' into akun
正在显示
9 个修改的文件
包含
97 行增加
和
96 行删除
| @@ -16,6 +16,8 @@ use App\Models\Manage\BelongingGroup; | @@ -16,6 +16,8 @@ use App\Models\Manage\BelongingGroup; | ||
| 16 | use App\Models\Manage\Dept; | 16 | use App\Models\Manage\Dept; |
| 17 | use App\Models\Manage\EntryPosition; | 17 | use App\Models\Manage\EntryPosition; |
| 18 | use App\Models\Manage\ManageHr; | 18 | use App\Models\Manage\ManageHr; |
| 19 | +use App\Models\Nav\BNav; | ||
| 20 | +use App\Models\Nav\BNavGroup; | ||
| 19 | use App\Models\Product\Keyword; | 21 | use App\Models\Product\Keyword; |
| 20 | use App\Models\Product\Product; | 22 | use App\Models\Product\Product; |
| 21 | use App\Models\Project\DeployOptimize; | 23 | use App\Models\Project\DeployOptimize; |
| @@ -264,19 +266,45 @@ class Demo extends Command | @@ -264,19 +266,45 @@ class Demo extends Command | ||
| 264 | // } | 266 | // } |
| 265 | public function handle(){ | 267 | public function handle(){ |
| 266 | $projectModel = new Project(); | 268 | $projectModel = new Project(); |
| 267 | - $list = $projectModel->list(['type'=>['in',[2,3]]]); | ||
| 268 | - foreach ($list as $k => $v){ | ||
| 269 | - $domainModel = new DomainInfo(); | ||
| 270 | - if(empty($v['uptime'])){ | ||
| 271 | - //获取项目域名的时间 | ||
| 272 | - $domainInfo = $domainModel->read(['project_id'=>$v['id']]); | ||
| 273 | - if($domainInfo !== false){ | ||
| 274 | -// dd($domainInfo); | ||
| 275 | - $projectModel->edit(['uptime'=>$domainInfo['created_at']],['id'=>$v['id']]); | ||
| 276 | - echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL; | 269 | + $list = $projectModel->list(['delete_status'=>0,'type'=>['!=',0]]); |
| 270 | + foreach ($list as $v1){ | ||
| 271 | + ProjectServer::useProject($v1['id']); | ||
| 272 | + echo date('Y-m-d H:i:s') . '项目id:'.$v1['id'] . PHP_EOL; | ||
| 273 | + $navGroupModel = new BNavGroup(); | ||
| 274 | + $groupList = $navGroupModel->list(['sort_list'=>['!=','']]); | ||
| 275 | + if(empty($groupList)){ | ||
| 276 | + continue; | ||
| 277 | + } | ||
| 278 | + foreach ($groupList as $k=>$v){ | ||
| 279 | + if(!empty($v['sort_list'])){ | ||
| 280 | + $sort_list = json_decode($v['sort_list']); | ||
| 281 | + $sort = 0; | ||
| 282 | + $this->subSort($sort_list,$sort); | ||
| 283 | + } | ||
| 284 | + } | ||
| 285 | + DB::disconnect('custom_mysql'); | ||
| 286 | + } | ||
| 287 | + return true; | ||
| 277 | } | 288 | } |
| 289 | + | ||
| 290 | + /** | ||
| 291 | + * @remark :处理子集排序 | ||
| 292 | + * @name :subSort | ||
| 293 | + * @author :lyh | ||
| 294 | + * @method :post | ||
| 295 | + * @time :2024/2/29 15:30 | ||
| 296 | + */ | ||
| 297 | + public function subSort($subList,&$sort,$pid = 0){ | ||
| 298 | + $navModel = new BNav(); | ||
| 299 | + foreach ($subList as $k => $v){ | ||
| 300 | + $v = (array)$v; | ||
| 301 | + $sort = $sort+1; | ||
| 302 | + $navModel->edit(['sort'=>$sort],['id'=>$v['id']]); | ||
| 303 | + if(!empty($v['sub'])){ | ||
| 304 | + $this->subSort($v['sub'],$sort,$v['id']); | ||
| 278 | } | 305 | } |
| 279 | } | 306 | } |
| 307 | + return true; | ||
| 280 | } | 308 | } |
| 281 | // public function handle(){ | 309 | // public function handle(){ |
| 282 | // $projectModel = new DeployOptimize(); | 310 | // $projectModel = new DeployOptimize(); |
| @@ -12,6 +12,7 @@ namespace App\Http\Controllers\Aside\Project; | @@ -12,6 +12,7 @@ namespace App\Http\Controllers\Aside\Project; | ||
| 12 | use App\Enums\Common\Code; | 12 | use App\Enums\Common\Code; |
| 13 | use App\Http\Controllers\Aside\BaseController; | 13 | use App\Http\Controllers\Aside\BaseController; |
| 14 | use App\Models\Project\MinorLanguages; | 14 | use App\Models\Project\MinorLanguages; |
| 15 | +use App\Models\WebSetting\WebLanguage; | ||
| 15 | 16 | ||
| 16 | /** | 17 | /** |
| 17 | * @remark :小语种 | 18 | * @remark :小语种 |
| @@ -22,6 +23,13 @@ use App\Models\Project\MinorLanguages; | @@ -22,6 +23,13 @@ use App\Models\Project\MinorLanguages; | ||
| 22 | */ | 23 | */ |
| 23 | class MinorLanguagesController extends BaseController | 24 | class MinorLanguagesController extends BaseController |
| 24 | { | 25 | { |
| 26 | + /** | ||
| 27 | + * @remark :小语种列表 | ||
| 28 | + * @name :getMinorLanguageList | ||
| 29 | + * @author :lyh | ||
| 30 | + * @method :post | ||
| 31 | + * @time :2024/3/1 10:35 | ||
| 32 | + */ | ||
| 25 | public function getMinorLanguageList(){ | 33 | public function getMinorLanguageList(){ |
| 26 | $this->request->validate([ | 34 | $this->request->validate([ |
| 27 | 'project_id'=>'required', | 35 | 'project_id'=>'required', |
| @@ -29,7 +37,20 @@ class MinorLanguagesController extends BaseController | @@ -29,7 +37,20 @@ class MinorLanguagesController extends BaseController | ||
| 29 | 'project_id.required' => 'keyword不能为空', | 37 | 'project_id.required' => 'keyword不能为空', |
| 30 | ]); | 38 | ]); |
| 31 | $languageModel = new MinorLanguages(); | 39 | $languageModel = new MinorLanguages(); |
| 32 | - $lists = $languageModel->list($this->map,'id',['language','type','keywords','service_day']); | 40 | + $lists = $languageModel->list($this->map,'id',['language','type','keywords','service_day','lang']); |
| 41 | + $this->response('success',Code::SUCCESS,$lists); | ||
| 42 | + } | ||
| 43 | + | ||
| 44 | + /** | ||
| 45 | + * @remark :获取所有的小语种 | ||
| 46 | + * @name :getLanguages | ||
| 47 | + * @author :lyh | ||
| 48 | + * @method :post | ||
| 49 | + * @time :2024/3/1 10:11 | ||
| 50 | + */ | ||
| 51 | + public function getLanguages(){ | ||
| 52 | + $webLanguageModel = new WebLanguage(); | ||
| 53 | + $lists = $webLanguageModel->list($this->map,'id',['short','chinese']); | ||
| 33 | $this->response('success',Code::SUCCESS,$lists); | 54 | $this->response('success',Code::SUCCESS,$lists); |
| 34 | } | 55 | } |
| 35 | } | 56 | } |
| @@ -28,9 +28,9 @@ class NavController extends BaseController | @@ -28,9 +28,9 @@ class NavController extends BaseController | ||
| 28 | * @method :post | 28 | * @method :post |
| 29 | * @time :2023/12/4 15:00 | 29 | * @time :2023/12/4 15:00 |
| 30 | */ | 30 | */ |
| 31 | - public function index(BNav $nav,BNavGroup $navGroup){ | 31 | + public function index(BNav $nav){ |
| 32 | $this->map['project_id'] = $this->user['project_id']; | 32 | $this->map['project_id'] = $this->user['project_id']; |
| 33 | - $lists = $nav->list($this->map,$this->order = ['sort','id']); | 33 | + $lists = $nav->list($this->map,$this->order = ['sort','id'],['*'],'asc'); |
| 34 | $data = array(); | 34 | $data = array(); |
| 35 | if(!empty($lists)){ | 35 | if(!empty($lists)){ |
| 36 | foreach ($lists as $v){ | 36 | foreach ($lists as $v){ |
| @@ -41,13 +41,6 @@ class NavController extends BaseController | @@ -41,13 +41,6 @@ class NavController extends BaseController | ||
| 41 | $data[] = $v; | 41 | $data[] = $v; |
| 42 | } | 42 | } |
| 43 | } | 43 | } |
| 44 | - //获取菜单组排序字段 | ||
| 45 | - $groupInfo = $navGroup->read(['id'=>$this->param['group_id']]); | ||
| 46 | - if(!empty($groupInfo['sort_list'])){ | ||
| 47 | - $sort_list = json_decode($groupInfo['sort_list']); | ||
| 48 | - $detailsList = $this->getIdDetailsList($data); | ||
| 49 | - $data = $this->findDetailsLists($sort_list,$detailsList); | ||
| 50 | - } | ||
| 51 | } | 44 | } |
| 52 | $this->response('success',Code::SUCCESS,$data); | 45 | $this->response('success',Code::SUCCESS,$data); |
| 53 | } | 46 | } |
| @@ -70,66 +63,6 @@ class NavController extends BaseController | @@ -70,66 +63,6 @@ class NavController extends BaseController | ||
| 70 | } | 63 | } |
| 71 | 64 | ||
| 72 | /** | 65 | /** |
| 73 | - * @remark :根据固定的数组排序 | ||
| 74 | - * @name :findDetailsInList | ||
| 75 | - * @author :lyh | ||
| 76 | - * @method :post | ||
| 77 | - * @time :2023/12/18 14:54 | ||
| 78 | - */ | ||
| 79 | - public function findDetailsLists($sort_list, $detailsList) | ||
| 80 | - { | ||
| 81 | - $result = []; | ||
| 82 | - foreach ($sort_list as $val) { | ||
| 83 | - $val = (array)$val; | ||
| 84 | - if (!empty($val['sub']) && is_array($val['sub']) && isset($detailsList[$val['id']]['sub'])){ | ||
| 85 | - $detailsList[$val['id']]['sub'] = $this->findDetailsLists($val['sub'], $detailsList[$val['id']]['sub']); | ||
| 86 | - } | ||
| 87 | - if (empty($detailsList[$val['id']])){ | ||
| 88 | - continue; | ||
| 89 | - } | ||
| 90 | - if(!empty($detailsList[$val['id']]['sub']) && is_array($detailsList[$val['id']]['sub'])){ | ||
| 91 | - $detailsList[$val['id']]['sub'] = $this->handleDetailsSub($detailsList[$val['id']]['sub']); | ||
| 92 | - } | ||
| 93 | - $result[] = $detailsList[$val['id']]; | ||
| 94 | - unset($detailsList[$val['id']]); | ||
| 95 | - } | ||
| 96 | - $result = array_merge($result, $detailsList); | ||
| 97 | - return $this->success($result); | ||
| 98 | - } | ||
| 99 | - | ||
| 100 | - /** | ||
| 101 | - * @remark :处理子集 | ||
| 102 | - * @name :handleDetailsSub | ||
| 103 | - * @author :lyh | ||
| 104 | - * @method :post | ||
| 105 | - * @time :2023/12/21 16:36 | ||
| 106 | - */ | ||
| 107 | - public function handleDetailsSub($detailsList){ | ||
| 108 | - if(!empty($detailsList['sub']) && is_array($detailsList['sub'])){ | ||
| 109 | - $detailsList['sub'] = $this->handleDetailsSub($detailsList['sub']); | ||
| 110 | - } | ||
| 111 | - return array_merge($detailsList); | ||
| 112 | - } | ||
| 113 | - | ||
| 114 | - /** | ||
| 115 | - * @remark :根据id组装数据 | ||
| 116 | - * @name :getDetailsList | ||
| 117 | - * @author :lyh | ||
| 118 | - * @method :post | ||
| 119 | - * @time :2023/12/20 18:52 | ||
| 120 | - */ | ||
| 121 | - public function getIdDetailsList($data){ | ||
| 122 | - $detailsList = []; | ||
| 123 | - foreach ($data as $v) { | ||
| 124 | - if (!empty($v['sub'])){ | ||
| 125 | - $v['sub'] = $this->getIdDetailsList($v['sub']); | ||
| 126 | - } | ||
| 127 | - $detailsList[$v['id']] = $v; | ||
| 128 | - } | ||
| 129 | - return $this->success($detailsList); | ||
| 130 | - } | ||
| 131 | - | ||
| 132 | - /** | ||
| 133 | * @remark :获取当前id下的所有子集 | 66 | * @remark :获取当前id下的所有子集 |
| 134 | * @name :getSubList | 67 | * @name :getSubList |
| 135 | * @author :lyh | 68 | * @author :lyh |
| @@ -233,10 +166,8 @@ class NavController extends BaseController | @@ -233,10 +166,8 @@ class NavController extends BaseController | ||
| 233 | */ | 166 | */ |
| 234 | public function setSortList(NavLogic $navLogic){ | 167 | public function setSortList(NavLogic $navLogic){ |
| 235 | $this->request->validate([ | 168 | $this->request->validate([ |
| 236 | - 'id'=>'required', | ||
| 237 | 'sort_list'=>'required', | 169 | 'sort_list'=>'required', |
| 238 | ],[ | 170 | ],[ |
| 239 | - 'id.required' => 'ID不能为空', | ||
| 240 | 'sort_list.required' => '排序不能为空', | 171 | 'sort_list.required' => '排序不能为空', |
| 241 | ]); | 172 | ]); |
| 242 | $navLogic->setSortList(); | 173 | $navLogic->setSortList(); |
| @@ -322,12 +322,14 @@ class ProjectLogic extends BaseLogic | @@ -322,12 +322,14 @@ class ProjectLogic extends BaseLogic | ||
| 322 | if(!empty($minor_language)){ | 322 | if(!empty($minor_language)){ |
| 323 | foreach ($minor_language as $k => $v){ | 323 | foreach ($minor_language as $k => $v){ |
| 324 | if(!empty($v['language'])){ | 324 | if(!empty($v['language'])){ |
| 325 | + $v['created_at'] = date('Y-m-d H:i:s'); | ||
| 326 | + $v['updated_at'] = date('Y-m-d H:i:s'); | ||
| 325 | $v['project_id'] = $this->param['id']; | 327 | $v['project_id'] = $this->param['id']; |
| 326 | $data[] = $v; | 328 | $data[] = $v; |
| 327 | } | 329 | } |
| 328 | } | 330 | } |
| 329 | if(!empty($data)){ | 331 | if(!empty($data)){ |
| 330 | - $languageModel->insert($minor_language); | 332 | + $languageModel->insert($data); |
| 331 | } | 333 | } |
| 332 | } | 334 | } |
| 333 | return $this->success(); | 335 | return $this->success(); |
| @@ -260,11 +260,30 @@ class NavLogic extends BaseLogic | @@ -260,11 +260,30 @@ class NavLogic extends BaseLogic | ||
| 260 | * @time :2023/12/18 13:47 | 260 | * @time :2023/12/18 13:47 |
| 261 | */ | 261 | */ |
| 262 | public function setSortList(){ | 262 | public function setSortList(){ |
| 263 | - $navGroupModel = new BNavGroup(); | ||
| 264 | - if(!empty($this->param['sort_list'])){ | ||
| 265 | - $this->param['sort_list'] = json_encode($this->param['sort_list']); | 263 | + $navList = $this->param['sort_list']; |
| 264 | + if(!empty($navList)){ | ||
| 265 | + $sort = 0; | ||
| 266 | + $this->subSort($navList,$sort); | ||
| 266 | } | 267 | } |
| 267 | - $navGroupModel->edit(['sort_list'=>$this->param['sort_list']],['id'=>$this->param['id']]); | ||
| 268 | return $this->success(); | 268 | return $this->success(); |
| 269 | } | 269 | } |
| 270 | + | ||
| 271 | + /** | ||
| 272 | + * @remark :处理子集排序 | ||
| 273 | + * @name :subSort | ||
| 274 | + * @author :lyh | ||
| 275 | + * @method :post | ||
| 276 | + * @time :2024/2/29 15:30 | ||
| 277 | + */ | ||
| 278 | + public function subSort($subList,&$sort,$pid = 0){ | ||
| 279 | + $navModel = new BNav(); | ||
| 280 | + foreach ($subList as $k => $v){ | ||
| 281 | + $sort = $sort+1; | ||
| 282 | + $navModel->edit(['pid'=>$pid,'sort'=>$sort],['id'=>$v['id']]); | ||
| 283 | + if(!empty($v['sub'])){ | ||
| 284 | + $this->subSort($v['sub'],$sort,$v['id']); | ||
| 285 | + } | ||
| 286 | + } | ||
| 287 | + return true; | ||
| 288 | + } | ||
| 270 | } | 289 | } |
| @@ -45,7 +45,7 @@ class ProductLogic extends BaseLogic | @@ -45,7 +45,7 @@ class ProductLogic extends BaseLogic | ||
| 45 | $category_ids = $this->handleCategory(); | 45 | $category_ids = $this->handleCategory(); |
| 46 | //处理其他字段 | 46 | //处理其他字段 |
| 47 | $this->param = $this->handleSaveParam($this->param); | 47 | $this->param = $this->handleSaveParam($this->param); |
| 48 | - try { | 48 | +// try { |
| 49 | if(isset($this->param['id']) && !empty($this->param['id'])){ | 49 | if(isset($this->param['id']) && !empty($this->param['id'])){ |
| 50 | $is_upgrade = $this->param['is_upgrade'] ?? 0;//1:5.0数据 0:6.0 | 50 | $is_upgrade = $this->param['is_upgrade'] ?? 0;//1:5.0数据 0:6.0 |
| 51 | $six_read = $this->param['six_read'] ?? 0;//是否按6.0显示 | 51 | $six_read = $this->param['six_read'] ?? 0;//是否按6.0显示 |
| @@ -66,10 +66,10 @@ class ProductLogic extends BaseLogic | @@ -66,10 +66,10 @@ class ProductLogic extends BaseLogic | ||
| 66 | CategoryRelated::saveRelated($id, $category_ids); | 66 | CategoryRelated::saveRelated($id, $category_ids); |
| 67 | //保存扩展字段 | 67 | //保存扩展字段 |
| 68 | $this->saveExtendInfo($id,$extend); | 68 | $this->saveExtendInfo($id,$extend); |
| 69 | - }catch (\Exception $e){ | ||
| 70 | - Log::info('错误信息---'.$e->getMessage()); | ||
| 71 | - $this->fail('系统错误请联系管理员'); | ||
| 72 | - } | 69 | +// }catch (\Exception $e){ |
| 70 | +// Log::info('错误信息---'.$e->getMessage()); | ||
| 71 | +// $this->fail('系统错误请联系管理员'); | ||
| 72 | +// } | ||
| 73 | $this->addUpdateNotify(RouteMap::SOURCE_PRODUCT,$route); | 73 | $this->addUpdateNotify(RouteMap::SOURCE_PRODUCT,$route); |
| 74 | $this->curlDelRoute(['new_route'=>$route]); | 74 | $this->curlDelRoute(['new_route'=>$route]); |
| 75 | return $this->success(); | 75 | return $this->success(); |
| @@ -88,9 +88,9 @@ class RankDataLogic extends BaseLogic | @@ -88,9 +88,9 @@ class RankDataLogic extends BaseLogic | ||
| 88 | $languageList = $languageModel->list(['project_id'=>$project['id']]); | 88 | $languageList = $languageModel->list(['project_id'=>$project['id']]); |
| 89 | if(!empty($languageList) && is_array($languageList)){ | 89 | if(!empty($languageList) && is_array($languageList)){ |
| 90 | foreach($languageList as $lang){ | 90 | foreach($languageList as $lang){ |
| 91 | - $remain_day = $lang_data[$lang['language']]['dabiao_day'] ?? 0; | 91 | + $remain_day = $lang_data[$lang['lang']]['dabiao_day'] ?? 0; |
| 92 | $data['langs'][$lang['language'] ?? ''] = [ | 92 | $data['langs'][$lang['language'] ?? ''] = [ |
| 93 | - 'lang_text' => Translate::getTls($lang['tl'] ?? ''), | 93 | + 'lang_text' => $lang['language'], |
| 94 | 'keyword_num' => $lang['keywords'] ?? 0, | 94 | 'keyword_num' => $lang['keywords'] ?? 0, |
| 95 | 'reach_day' => $lang_data[$lang['language']]['dabiao_day'] ?? 0, | 95 | 'reach_day' => $lang_data[$lang['language']]['dabiao_day'] ?? 0, |
| 96 | 'home_cnt' => $lang_data[$lang['language']]['home_cnt'] ?? 0, | 96 | 'home_cnt' => $lang_data[$lang['language']]['home_cnt'] ?? 0, |
| @@ -488,7 +488,6 @@ class RankDataLogic extends BaseLogic | @@ -488,7 +488,6 @@ class RankDataLogic extends BaseLogic | ||
| 488 | } | 488 | } |
| 489 | } | 489 | } |
| 490 | } | 490 | } |
| 491 | - | ||
| 492 | $model->project_id = $project_id; | 491 | $model->project_id = $project_id; |
| 493 | $model->first_num = $first_num; | 492 | $model->first_num = $first_num; |
| 494 | $model->first_page_num = $first_page_num; | 493 | $model->first_page_num = $first_page_num; |
| @@ -67,7 +67,7 @@ class ProductRequest extends FormRequest | @@ -67,7 +67,7 @@ class ProductRequest extends FormRequest | ||
| 67 | { | 67 | { |
| 68 | return [ | 68 | return [ |
| 69 | 'title.required' => '请输入产品标题', | 69 | 'title.required' => '请输入产品标题', |
| 70 | - 'title.max' => '产品标题不能超过20个字符', | 70 | + 'title.max' => '产品标题不能超过200个字符', |
| 71 | 'route.required' => '请输入产品链接', | 71 | 'route.required' => '请输入产品链接', |
| 72 | 'route.max' => '产品链接不能超过200个字符', | 72 | 'route.max' => '产品链接不能超过200个字符', |
| 73 | // 'gallery.required' => '请上传产品图片', | 73 | // 'gallery.required' => '请上传产品图片', |
| @@ -193,6 +193,7 @@ Route::middleware(['aloginauth'])->group(function () { | @@ -193,6 +193,7 @@ Route::middleware(['aloginauth'])->group(function () { | ||
| 193 | 193 | ||
| 194 | Route::prefix('language')->group(function () { | 194 | Route::prefix('language')->group(function () { |
| 195 | Route::any('/', [Aside\Project\MinorLanguagesController::class, 'getMinorLanguageList'])->name('admin.getMinorLanguageList'); | 195 | Route::any('/', [Aside\Project\MinorLanguagesController::class, 'getMinorLanguageList'])->name('admin.getMinorLanguageList'); |
| 196 | + Route::any('/getLanguages', [Aside\Project\MinorLanguagesController::class, 'getLanguages'])->name('admin.getLanguages'); | ||
| 196 | }); | 197 | }); |
| 197 | //更新项目tdk | 198 | //更新项目tdk |
| 198 | Route::any('/updateSeoTdk', [Aside\Com\UpdateController::class, 'updateSeoTdk'])->name('admin.project_updateSeoTdk'); | 199 | Route::any('/updateSeoTdk', [Aside\Com\UpdateController::class, 'updateSeoTdk'])->name('admin.project_updateSeoTdk'); |
-
请 注册 或 登录 后发表评论