正在显示
1 个修改的文件
包含
122 行增加
和
44 行删除
| @@ -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 | } |
-
请 注册 或 登录 后发表评论