作者 lyh

gx

@@ -14,18 +14,22 @@ use App\Helper\Arr; @@ -14,18 +14,22 @@ use App\Helper\Arr;
14 use App\Http\Controllers\Bside\BaseController; 14 use App\Http\Controllers\Bside\BaseController;
15 use App\Jobs\UpdatePageJob; 15 use App\Jobs\UpdatePageJob;
16 use App\Models\Blog\Blog; 16 use App\Models\Blog\Blog;
  17 +use App\Models\Blog\BlogCategory;
17 use App\Models\Com\Notify; 18 use App\Models\Com\Notify;
18 use App\Models\Com\UpdateLog; 19 use App\Models\Com\UpdateLog;
19 use App\Models\Com\UpdateNotify; 20 use App\Models\Com\UpdateNotify;
20 use App\Models\Com\UpdateProgress; 21 use App\Models\Com\UpdateProgress;
  22 +use App\Models\CustomModule\CustomModuleCategory;
21 use App\Models\CustomModule\CustomModuleContent; 23 use App\Models\CustomModule\CustomModuleContent;
22 use App\Models\Devops\ServerConfig; 24 use App\Models\Devops\ServerConfig;
23 use App\Models\Devops\ServersIp; 25 use App\Models\Devops\ServersIp;
24 use App\Models\Domain\DomainInfo; 26 use App\Models\Domain\DomainInfo;
25 use App\Models\News\News; 27 use App\Models\News\News;
  28 +use App\Models\News\NewsCategory;
26 use App\Models\Product\Category; 29 use App\Models\Product\Category;
27 use App\Models\Product\CategoryRelated; 30 use App\Models\Product\CategoryRelated;
28 use App\Models\Product\Keyword; 31 use App\Models\Product\Keyword;
  32 +use App\Models\Product\Product;
29 use App\Models\Project\Country as CountryModel; 33 use App\Models\Project\Country as CountryModel;
30 use App\Models\Project\Project; 34 use App\Models\Project\Project;
31 use App\Models\RouteMap\RouteMap; 35 use App\Models\RouteMap\RouteMap;
@@ -59,27 +63,12 @@ class CNoticeController extends BaseController @@ -59,27 +63,12 @@ class CNoticeController extends BaseController
59 ]); 63 ]);
60 $lang_num = count($this->param['language']); 64 $lang_num = count($this->param['language']);
61 $keyword_num = (new Keyword())->counts(['route'=>['!=',null]]); 65 $keyword_num = (new Keyword())->counts(['route'=>['!=',null]]);
62 -  
63 - $news_num = (new News())->counts(['status'=>1]);  
64 - $blog_num = (new Blog())->counts(['status'=>1]);  
65 - $custom_num = (new CustomModuleContent())->counts();  
66 - $settingModel = new SettingNum();  
67 - $product_page_number = 15;//默认15条  
68 - $news_page_number = $blog_page_number = 10;//默认10条  
69 - $list = $settingModel->list(['type'=>['in',[1,2,3]]]);  
70 - if(!empty($list)){  
71 - foreach ($list as $v){  
72 - if($v['type'] == 1){  
73 - $product_page_number = $v['num'];  
74 - }elseif ($v['type'] == 2){  
75 - $blog_page_number = $v['num'];  
76 - }else{  
77 - $news_page_number = $v['num'];  
78 - }  
79 - } 66 + $data_num = $this->productNum() + $this->CustomNum() + $this->newsNum() + $this->blogNum();
  67 + $number = $keyword_num * 18 + $lang_num * $data_num;
  68 + if($number >= 45000){
  69 + $this->response('success',Code::SUCCESS,['msg'=>'翻译数量过多, 大概页面数量:'.$number.', 磁盘空间占用可能会超过40G,请谨慎使用!']);
80 } 70 }
81 - '翻译数量过多, 大概页面数量:1234567, 磁盘空间占用可能会超过40G,请谨慎使用!';  
82 - $data_num = 0; 71 + $this->response('success');
83 } 72 }
84 73
85 /** 74 /**
@@ -90,7 +79,7 @@ class CNoticeController extends BaseController @@ -90,7 +79,7 @@ class CNoticeController extends BaseController
90 * @time :2025/1/4 10:43 79 * @time :2025/1/4 10:43
91 */ 80 */
92 public function productNum(){ 81 public function productNum(){
93 - $number = (new Project())->counts(['status'=>1]); 82 + $number = (new Product())->counts(['status'=>1]);
94 $settingModel = new SettingNum(); 83 $settingModel = new SettingNum();
95 $info = $settingModel->read(['type'=>1]); 84 $info = $settingModel->read(['type'=>1]);
96 if($info === false){ 85 if($info === false){
@@ -115,6 +104,102 @@ class CNoticeController extends BaseController @@ -115,6 +104,102 @@ class CNoticeController extends BaseController
115 } 104 }
116 105
117 /** 106 /**
  107 + * @remark :新闻数量
  108 + * @name :newsNum
  109 + * @author :lyh
  110 + * @method :post
  111 + * @time :2025/1/4 11:21
  112 + */
  113 + public function newsNum(){
  114 + $newsModel = new News();
  115 + $number = $newsModel->counts(['status'=>1]);
  116 + $settingModel = new SettingNum();
  117 + $info = $settingModel->read(['type'=>2]);
  118 + if($info === false){
  119 + $news_page_number = 10;
  120 + }else{
  121 + $news_page_number = $info['num'];
  122 + }
  123 + $newsCateModel = new NewsCategory();
  124 + $newsCateList = $newsCateModel->list(['status'=>0]);
  125 + if(!empty($newsCateList)){
  126 + foreach ($newsCateList as $v){
  127 + $cate_num = $newsModel->counts(['cate_id'=>['like',','.$v['id'].',']]);
  128 + if($cate_num == 0){
  129 + $number += 1;
  130 + }else{
  131 + $number += ceil($cate_num / $news_page_number);
  132 + }
  133 + }
  134 + }
  135 + return $number;
  136 + }
  137 +
  138 + /**
  139 + * @remark :博客数量
  140 + * @name :blogNum
  141 + * @author :lyh
  142 + * @method :post
  143 + * @time :2025/1/4 11:21
  144 + */
  145 + public function blogNum(){
  146 + $blogModel = new Blog();
  147 + $number = $blogModel->counts(['status'=>1]);
  148 + $settingModel = new SettingNum();
  149 + $info = $settingModel->read(['type'=>3]);
  150 + if($info === false){
  151 + $news_page_number = 10;
  152 + }else{
  153 + $news_page_number = $info['num'];
  154 + }
  155 + $blogCateModel = new BlogCategory();
  156 + $blogCateList = $blogCateModel->list(['status'=>0]);
  157 + if(!empty($blogCateList)){
  158 + foreach ($blogCateList as $v){
  159 + $cate_num = $blogModel->counts(['cate_id'=>['like',','.$v['id'].',']]);
  160 + if($cate_num == 0){
  161 + $number += 1;
  162 + }else{
  163 + $number += ceil($cate_num / $news_page_number);
  164 + }
  165 + }
  166 + }
  167 + return $number;
  168 + }
  169 +
  170 + /**
  171 + * @remark :扩展模块数量
  172 + * @name :blogNum
  173 + * @author :lyh
  174 + * @method :post
  175 + * @time :2025/1/4 11:21
  176 + */
  177 + public function CustomNum(){
  178 + $contentModel = new CustomModuleContent();
  179 + $number = $contentModel->counts(['status'=>0]);
  180 + $settingModel = new SettingNum();
  181 + $info = $settingModel->read(['type'=>2]);
  182 + if($info === false){
  183 + $news_page_number = 10;
  184 + }else{
  185 + $news_page_number = $info['num'];
  186 + }
  187 + $cateModel = new CustomModuleCategory();
  188 + $cateList = $cateModel->list(['status'=>0]);
  189 + if(!empty($cateList)){
  190 + foreach ($cateList as $v){
  191 + $cate_num = $contentModel->counts(['cate_id'=>['like',','.$v['id'].',']]);
  192 + if($cate_num == 0){
  193 + $number += 1;
  194 + }else{
  195 + $number += ceil($cate_num / $news_page_number);
  196 + }
  197 + }
  198 + }
  199 + return $number;
  200 + }
  201 +
  202 + /**
118 * 更新通知C端 203 * 更新通知C端
119 * @param Request $request 204 * @param Request $request
120 * @return \Illuminate\Http\JsonResponse 205 * @return \Illuminate\Http\JsonResponse
@@ -166,6 +166,7 @@ Route::middleware(['bloginauth'])->group(function () { @@ -166,6 +166,7 @@ Route::middleware(['bloginauth'])->group(function () {
166 Route::any('/save', [\App\Http\Controllers\Bside\Setting\WebSettingController::class, 'save'])->name('web_setting_save'); 166 Route::any('/save', [\App\Http\Controllers\Bside\Setting\WebSettingController::class, 'save'])->name('web_setting_save');
167 //通知 167 //通知
168 Route::any('/sendNotify', [\App\Http\Controllers\Bside\BCom\CNoticeController::class, 'sendNotify'])->name('web_setting_sendNotify'); 168 Route::any('/sendNotify', [\App\Http\Controllers\Bside\BCom\CNoticeController::class, 'sendNotify'])->name('web_setting_sendNotify');
  169 + Route::any('/countLanguagePage', [\App\Http\Controllers\Bside\BCom\CNoticeController::class, 'countLanguagePage'])->name('web_setting_countLanguagePage');
169 //已选择的国家 170 //已选择的国家
170 Route::any('/getCountry', [\App\Http\Controllers\Bside\BCom\CNoticeController::class, 'getCountry'])->name('web_setting_getCountry'); 171 Route::any('/getCountry', [\App\Http\Controllers\Bside\BCom\CNoticeController::class, 'getCountry'])->name('web_setting_getCountry');
171 //第三方代码获取与设置 172 //第三方代码获取与设置