$siteId]; $optimizeDataList = PryOptimizeData::query()->where($where)->get()->groupBy('type'); $optimizeScopeList=PryOptimizeDataScope::query()->get()->groupBy('type'); $seoItemSingle = PrySeoItem::query()->where($where)->first(); $authUser = auth()->user(); if ($authUser->is_super || in_array($authUser->role_id, [Role::TYPE_MANAGE_LEADER])) { $scope = true; } $analyzeSummaryList=PryAnalyzeSummary::query()->where($where)->get(); $analyzeSummaryScopeList=PryAnalyzeSummaryScope::query()->get(); return view('admin.promote_year.index', [ 'siteId' => $siteId, 'optimizeDataList' => $optimizeDataList, 'optimizeDataScopeList' => $optimizeScopeList, 'seoItemSingle' => $seoItemSingle, 'seoItemScopeList' => PrySeoItemScope::query()->get(), 'analyzeSummaryList'=>$analyzeSummaryList, 'analyzeSummaryScopeList'=>$analyzeSummaryScopeList, 'scope' => $scope ?? false ]); } //优化师数据保存 public function saveOptimizeData(Request $request, $siteId) { $dataList = $request->input('dataList') ?? []; $type= $request->input('type'); if (!in_array($type,['keyword','inquire','profile','traffic'])) { return response()->json(['message' => '参数类型错误'], 400); } $site = Site::query()->select(['old_id'])->find($siteId); if (!$site) { return response()->json(['message' => '站点不存在'], 400); } $scopeIds=PryOptimizeData::query()->where(['type'=>$type,'site_id'=>$siteId])->pluck('id')->toArray(); $requestIds=array_column($dataList,'id'); $delIds=array_diff($scopeIds,$requestIds); if ($delIds) { PryOptimizeData::destroy($delIds); } foreach ($dataList as $item){ if (empty($item['id'])) { PryOptimizeData::query()->create([ 'site_id'=>$siteId, 'old_id'=>$site->old_id, 'content'=>$item['content'], 'type'=>$type ]); }else { PryOptimizeData::query()->where(['id'=>$item['id']]) ->update(['content'=>$item['content']]); } } return response()->json(['message' => '操作成功','data'=>PryOptimizeData::query()->where(['site_id'=>$siteId,'type'=>$type])->get()]); } //优化师数据固定话语保存 public function saveOptimizeDataScope(Request $request) { $dataList = $request->input('dataList') ?? []; $type= $request->input('type'); if (!in_array($type,['keyword','inquire','profile','traffic'])) { return response()->json(['message' => '参数类型错误'], 400); } $scopeIds=PryOptimizeDataScope::query()->where(['type'=>$type])->pluck('id')->toArray(); $requestIds=array_column($dataList,'id'); $delIds=array_diff($scopeIds,$requestIds); if ($delIds) { PryOptimizeDataScope::destroy($delIds); } foreach ($dataList as $item){ if (empty($item['id'])) { PryOptimizeDataScope::query()->create([ 'content'=>$item['content'], 'type'=>$type ]); }else { PryOptimizeDataScope::query()->where(['id'=>$item['id']]) ->update(['content'=>$item['content']]); } } return response()->json(['message' => '操作成功','data'=>PryOptimizeDataScope::query()->where(['type'=>$type])->get()]); } //获取seo固定选项 public function getSeoItemScope() { $result = PrySeoItemScope::query()->get(); return response()->json(['data' => $result]); } //保存seo public function saveSeoItem(Request $request, $siteId) { $site = Site::query()->select(['old_id'])->find($siteId); if (!$site) { return response()->json(['message' => '站点不存在'], 400); } $checked_list = $request->input('checked_list') ?? []; $data = PrySeoItem::query()->where(['site_id' => $siteId])->first(); if ($data) { $data->checked_list = $checked_list; $data->save(); } else { PrySeoItem::query()->create([ 'site_id' => $siteId, 'old_id' => $site->old_id, 'checked_list' => $checked_list ]); } return response()->json(['message' => '操作成功']); } //seo固定选项保存 public function saveSeoItemScope(Request $request) { $dataList = $request->input('dataList') ?? []; $insertData = []; $datetime = date('Y-m-d H:i:s'); $idMapList = PrySeoItemScope::query()->get(); $seoItemIds = array_filter(array_column($dataList, 'seoItemId')); foreach ($idMapList as $item) { if (!in_array($item->id, $seoItemIds)) { $item->delete(); } foreach ($dataList as $v) { if ($v['seoItemId'] == $item->id && $v['content'] != $item->content) { $item->update(['content' => $v['content']]); } } } foreach ($dataList as $value) { if (empty($value['seoItemId'])) { $insertData[] = [ 'content' => $value['content'], 'created_at' => $datetime, 'updated_at' => $datetime ]; } } if ($dataList) { PrySeoItemScope::query()->insert($insertData); } return response()->json(['message' => '操作成功']); } //优化师分析保存 public function saveAnalyzeSummary(Request $request, $siteId) { $dataList = $request->input('dataList') ?? []; $site = Site::query()->select(['old_id'])->find($siteId); if (!$site) { return response()->json(['message' => '站点不存在'], 400); } $scopeIds=PryAnalyzeSummary::query()->where(['site_id'=>$siteId])->pluck('id')->toArray(); $requestIds=array_column($dataList,'id'); $delIds=array_diff($scopeIds,$requestIds); if ($delIds) { PryAnalyzeSummary::destroy($delIds); } foreach ($dataList as $item){ if (empty($item['id'])) { PryAnalyzeSummary::query()->create([ 'site_id'=>$siteId, 'old_id'=>$site->old_id, 'content'=>$item['content'], ]); }else { PryAnalyzeSummary::query()->where(['id'=>$item['id']]) ->update(['content'=>$item['content']]); } } return response()->json(['message' => '操作成功','data'=>PryAnalyzeSummary::query()->where(['site_id'=>$siteId])->get()]); } //优化师分析固定话语保存 public function saveAnalyzeSummaryScope(Request $request) { $dataList = $request->input('dataList') ?? []; $scopeIds=PryAnalyzeSummaryScope::query()->pluck('id')->toArray(); $requestIds=array_column($dataList,'id'); $delIds=array_diff($scopeIds,$requestIds); if ($delIds) { PryAnalyzeSummaryScope::destroy($delIds); } foreach ($dataList as $item){ if (empty($item['id'])) { PryAnalyzeSummaryScope::query()->create([ 'content'=>$item['content'], ]); }else { PryAnalyzeSummaryScope::query()->where(['id'=>$item['id']]) ->update(['content'=>$item['content']]); } } return response()->json(['message' => '操作成功','data'=>PryAnalyzeSummaryScope::query()->get()]); } //社交推广保存 public function saveSocial(Request $request, $siteId) { $site = Site::query()->select(['old_id'])->find($siteId); if (!$site) { return response()->json(['message' => '站点不存在'], 400); } $facebook = $request->input('facebook'); $linkedIn = $request->input('linkedIn'); $twitter = $request->input('twitter'); $pin = $request->input('pin'); $facebookHide = $request->input('facebookHide'); $linkedInHide= $request->input('linkedInHide'); $twitterHide = $request->input('twitterHide'); $pinHide = $request->input('pinHide'); if (PrySocial::query()->where(['site_id' => $siteId])->exists()) { PrySocial::query()->where(['site_id' => $siteId])->where(['type' => 'facebook'])->update([ 'data_list' => json_encode($facebook), 'hide'=>$facebookHide, ]); PrySocial::query()->where(['site_id' => $siteId])->where(['type' => 'linkedIn'])->update([ 'data_list' => json_encode($linkedIn), 'hide'=>$linkedInHide, ]); PrySocial::query()->where(['site_id' => $siteId])->where(['type' => 'twitter'])->update([ 'data_list' => json_encode($twitter), 'hide'=>$twitterHide, ]); PrySocial::query()->where(['site_id' => $siteId])->where(['type' => 'pin'])->update([ 'data_list' => json_encode($pin), 'hide'=>$pinHide, ]); } else { PrySocial::query()->create([ 'type' => 'facebook', 'site_id' => $siteId, 'old_id' => $site->old_id, 'data_list' => $facebook, 'hide'=>$facebookHide ]); PrySocial::query()->create([ 'type' => 'linkedIn', 'site_id' => $siteId, 'old_id' => $site->old_id, 'data_list' => $linkedIn, 'hide'=>$linkedInHide ]); PrySocial::query()->create([ 'type' => 'twitter', 'site_id' => $siteId, 'old_id' => $site->old_id, 'data_list' => $twitter, 'hide'=>$twitterHide ]); PrySocial::query()->create([ 'type' => 'pin', 'site_id' => $siteId, 'old_id' => $site->old_id, 'data_list' => $pin, 'hide'=>$pinHide ]); } return response()->json(['message' => '操作成功']); } }