作者 lyh

gx

@@ -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\CustomModuleCategory;
  17 +use App\Models\CustomModule\CustomModuleContent;
16 use App\Models\News\News; 18 use App\Models\News\News;
17 use App\Models\Product\Product; 19 use App\Models\Product\Product;
18 use App\Models\Project\Project; 20 use App\Models\Project\Project;
@@ -95,45 +97,12 @@ class TranslateController extends BaseController @@ -95,45 +97,12 @@ class TranslateController extends BaseController
95 * @time :2024/1/12 14:34 97 * @time :2024/1/12 14:34
96 */ 98 */
97 public function getUrl(){ 99 public function getUrl(){
98 - $data = [];  
99 - $routeMapModel = new RouteMap();  
100 - $list = $routeMapModel->list();  
101 - foreach ($list as $k => $v){  
102 - //查看项目是5.0还是6.0  
103 - if($this->user['is_upgrade'] == Project::IS_UPGRADE_TRUE){//升级项目  
104 - if(!empty($v['path'])){  
105 - if($v['path'] == 'blog'){  
106 - $v['path'] = $v['path'].'s';  
107 - }  
108 - $route = $v['path'].'/'.$v['route'];  
109 - }else{  
110 - if($v['route'] == 'index'){  
111 - $v['route'] = '';  
112 - }  
113 - $route = $v['route'];  
114 - }  
115 - //  
116 - }else{  
117 - if(!empty($v['path'])){  
118 - if($v['path'] == 'blog'){  
119 - $v['path'] = $v['path'].'s';  
120 - }elseif ($v['path'] == RouteMap::PATH_NEWS_CATE){  
121 - $routeMapModel->edit(['path'=>''],['id'=>$v['id']]);  
122 - $v['path'] = '';  
123 - }elseif ($v['path'] == RouteMap::PATH_NEWS_CATE){  
124 - $routeMapModel->edit(['path'=>''],['id'=>$v['id']]);  
125 - $v['path'] = '';  
126 - }  
127 - $route = $v['path'].'/'.$v['route'];  
128 - }else{  
129 - if($v['route'] == 'index'){  
130 - $v['route'] = '';  
131 - }  
132 - $route = $v['route'];  
133 - }  
134 - } 100 + //查看项目是5.0还是6.0
  101 + if($this->user['is_upgrade'] == Project::IS_UPGRADE_TRUE){//升级项目
  102 + $data = $this->getFiveUrl();
  103 + }else {
  104 + $data = $this->getSixUrl();
135 } 105 }
136 - $data[] = $this->user['domain'].$route;  
137 $this->response('success',Code::SUCCESS,$data); 106 $this->response('success',Code::SUCCESS,$data);
138 } 107 }
139 108
@@ -152,9 +121,9 @@ class TranslateController extends BaseController @@ -152,9 +121,9 @@ class TranslateController extends BaseController
152 switch ($v['source']){ 121 switch ($v['source']){
153 case RouteMap::SOURCE_PAGE: 122 case RouteMap::SOURCE_PAGE:
154 if($v['route'] == 'index'){ 123 if($v['route'] == 'index'){
155 - $data[] = $this->user['domain']; 124 + $data[] = '/';
156 }else{ 125 }else{
157 - $data[] = $this->user['domain'].$v['route']; 126 + $data[] = $v['route'].'/';
158 } 127 }
159 break; 128 break;
160 case RouteMap::SOURCE_PRODUCT_CATE: 129 case RouteMap::SOURCE_PRODUCT_CATE:
@@ -164,26 +133,105 @@ class TranslateController extends BaseController @@ -164,26 +133,105 @@ class TranslateController extends BaseController
164 $this->pageList($data,$count,$v,1,15); 133 $this->pageList($data,$count,$v,1,15);
165 break; 134 break;
166 case RouteMap::SOURCE_BLOG: 135 case RouteMap::SOURCE_BLOG:
167 - $data[] = $v['path'].'/'.$v['route']; 136 + case RouteMap::SOURCE_NEWS:
  137 + $data[] = $v['path'].'/'.$v['route'].'/';
168 break; 138 break;
169 case RouteMap::SOURCE_BLOG_CATE: 139 case RouteMap::SOURCE_BLOG_CATE:
170 $blogModel = new Blog(); 140 $blogModel = new Blog();
171 $count = $blogModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%']])->count(); 141 $count = $blogModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%']])->count();
172 $this->pageList($data,$count,$v,2,10); 142 $this->pageList($data,$count,$v,2,10);
173 break; 143 break;
  144 + case RouteMap::SOURCE_NEWS_CATE:
  145 + $newsModel = new News();
  146 + $count = $newsModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%']])->count();
  147 + $this->pageList($data,$count,$v,3,10);
  148 + break;
  149 + case RouteMap::SOURCE_MODULE:
  150 + $customModel = new CustomModuleContent();
  151 + $contentInfo = $customModel->read(['id'=>$v['source_id']]);
  152 + if(!empty($contentInfo) && !empty(trim($contentInfo['category_id'],','))){
  153 + $categoryIdArr = explode(',',trim($contentInfo['category_id'],','));
  154 + $cate_id = (int)array_shift($categoryIdArr);
  155 + $routeInfo = $routeMapModel->read(['source'=>RouteMap::SOURCE_MODULE_CATE,'source_id'=>$cate_id]);
  156 + $v['path'] = $routeInfo['route'] ?? '';
  157 + }
  158 + $data[] = $v['path'].'/'.$v['route'].'/';
  159 + break;
  160 + case RouteMap::SOURCE_MODULE_CATE:
  161 + $customModel = new CustomModuleCategory();
  162 + $count = $customModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%']])->count();
  163 + $this->pageSixList($data,$count,$v,3,10);
  164 + break;
  165 + default:
  166 + $data[] = $v['route'].'/';
  167 + break;
  168 + }
  169 + }
  170 + return $this->success($data);
  171 + }
  172 +
  173 + /**
  174 + * @remark :获取6.0的url
  175 + * @name :getSixUrl
  176 + * @author :lyh
  177 + * @method :post
  178 + * @time :2024/1/17 15:04
  179 + */
  180 + public function getSixUrl(){
  181 + $data = [];
  182 + $routeMapModel = new RouteMap();
  183 + $list = $routeMapModel->list();
  184 + foreach ($list as $k => $v){
  185 + switch ($v['source']){
  186 + case RouteMap::SOURCE_PAGE:
  187 + if($v['route'] == 'index'){
  188 + $data[] = '/';//首页
  189 + }else{
  190 + $data[] = $v['route'].'/';
  191 + }
  192 + break;
  193 + case RouteMap::SOURCE_PRODUCT_CATE:
  194 + //获取当前产品分类关联多少产品
  195 + $productModel = new Product();
  196 + $count = $productModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%']])->count();
  197 + $this->pageSixList($data,$count,$v,1,15);
  198 + break;
  199 + case RouteMap::SOURCE_BLOG:
174 case RouteMap::SOURCE_NEWS: 200 case RouteMap::SOURCE_NEWS:
175 - $data[] = $v['path'].'/'.$v['route']; 201 + $data[] = $v['path'].'/'.$v['route'].'/';
  202 + break;
  203 + case RouteMap::SOURCE_BLOG_CATE:
  204 + $blogModel = new Blog();
  205 + $count = $blogModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%']])->count();
  206 + $this->pageSixList($data,$count,$v,2,10);
176 break; 207 break;
177 case RouteMap::SOURCE_NEWS_CATE: 208 case RouteMap::SOURCE_NEWS_CATE:
178 $newsModel = new News(); 209 $newsModel = new News();
179 $count = $newsModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%']])->count(); 210 $count = $newsModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%']])->count();
180 - $this->pageList($data,$count,$v,3,10); 211 + $this->pageSixList($data,$count,$v,3,10);
  212 + break;
  213 + case RouteMap::SOURCE_MODULE:
  214 + $customModel = new CustomModuleContent();
  215 + $contentInfo = $customModel->read(['id'=>$v['source_id']]);
  216 + if(!empty($contentInfo) && !empty(trim($contentInfo['category_id'],','))){
  217 + $categoryIdArr = explode(',',trim($contentInfo['category_id'],','));
  218 + $cate_id = (int)array_shift($categoryIdArr);
  219 + $routeInfo = $routeMapModel->read(['source'=>RouteMap::SOURCE_MODULE_CATE,'source_id'=>$cate_id]);
  220 + $v['path'] = $routeInfo['route'] ?? '';
  221 + }
  222 + $data[] = $v['path'].'/'.$v['route'].'/';
  223 + break;
  224 + case RouteMap::SOURCE_MODULE_CATE:
  225 + $customModel = new CustomModuleCategory();
  226 + $count = $customModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%']])->count();
  227 + $this->pageSixList($data,$count,$v,3,10);
181 break; 228 break;
182 default: 229 default:
183 - $data[] = $v['route']; 230 + $data[] = $v['route'].'/';
184 break; 231 break;
185 } 232 }
186 } 233 }
  234 + return $this->success($data);
187 } 235 }
188 236
189 /** 237 /**
@@ -215,4 +263,34 @@ class TranslateController extends BaseController @@ -215,4 +263,34 @@ class TranslateController extends BaseController
215 } 263 }
216 return true; 264 return true;
217 } 265 }
  266 +
  267 + /**
  268 + * @remark :
  269 + * @name :pageList
  270 + * @author :lyh
  271 + * @method :post
  272 + * @time :2024/1/17 14:15
  273 + */
  274 + public function pageSixList(&$data,$count,$v,$type = 1,$pageNum = 15){
  275 + $page = 1;
  276 + if($count != 0){
  277 + //获取默认条数
  278 + $settingNumModel = new SettingNum();
  279 + $numInfo = $settingNumModel->read(['type'=>$type],['num']);
  280 + if(!empty($numInfo)){
  281 + $pageNum = $numInfo['num'];
  282 + }else{
  283 + $pageNum = $pageNum;
  284 + }
  285 + $page = ceil($count / $pageNum);//向上取整
  286 + }
  287 + for ($i = 1;$i <= $page;$i++){
  288 + if($i == 1){
  289 + $data[] = $v['route'].'/';
  290 + }else{
  291 + $data[] = $v['route'].'/'.$i.'/';
  292 + }
  293 + }
  294 + return true;
  295 + }
218 } 296 }