Merge branch 'develop' of http://47.244.231.31:8099/zhl/globalso-v6 into bate
正在显示
1 个修改的文件
包含
187 行增加
和
25 行删除
| @@ -12,8 +12,14 @@ namespace App\Http\Controllers\Bside\Setting; | @@ -12,8 +12,14 @@ namespace App\Http\Controllers\Bside\Setting; | ||
| 12 | use App\Enums\Common\Code; | 12 | 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; | ||
| 16 | +use App\Models\CustomModule\CustomModuleCategory; | ||
| 17 | +use App\Models\CustomModule\CustomModuleContent; | ||
| 18 | +use App\Models\News\News; | ||
| 19 | +use App\Models\Product\Product; | ||
| 15 | use App\Models\Project\Project; | 20 | use App\Models\Project\Project; |
| 16 | use App\Models\RouteMap\RouteMap; | 21 | use App\Models\RouteMap\RouteMap; |
| 22 | +use App\Models\WebSetting\SettingNum; | ||
| 17 | use App\Models\WebSetting\WebLanguage; | 23 | use App\Models\WebSetting\WebLanguage; |
| 18 | 24 | ||
| 19 | class TranslateController extends BaseController | 25 | class TranslateController extends BaseController |
| @@ -91,44 +97,200 @@ class TranslateController extends BaseController | @@ -91,44 +97,200 @@ class TranslateController extends BaseController | ||
| 91 | * @time :2024/1/12 14:34 | 97 | * @time :2024/1/12 14:34 |
| 92 | */ | 98 | */ |
| 93 | public function getUrl(){ | 99 | public function getUrl(){ |
| 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(); | ||
| 105 | + } | ||
| 106 | + $this->response('success',Code::SUCCESS,$data); | ||
| 107 | + } | ||
| 108 | + | ||
| 109 | + /** | ||
| 110 | + * @remark :获取5.0的所有路由 | ||
| 111 | + * @name :getFiveUrl | ||
| 112 | + * @author :lyh | ||
| 113 | + * @method :post | ||
| 114 | + * @time :2024/1/17 11:09 | ||
| 115 | + */ | ||
| 116 | + public function getFiveUrl(){ | ||
| 94 | $data = []; | 117 | $data = []; |
| 95 | $routeMapModel = new RouteMap(); | 118 | $routeMapModel = new RouteMap(); |
| 96 | $list = $routeMapModel->list(); | 119 | $list = $routeMapModel->list(); |
| 97 | foreach ($list as $k => $v){ | 120 | foreach ($list as $k => $v){ |
| 98 | - //查看项目是5.0还是6.0 | ||
| 99 | - if($this->user['is_upgrade'] == Project::IS_UPGRADE_TRUE){//升级项目 | ||
| 100 | - if(!empty($v['path'])){ | ||
| 101 | - if($v['path'] == 'blog'){ | ||
| 102 | - $v['path'] = $v['path'].'s'; | ||
| 103 | - } | ||
| 104 | - $route = $v['path'].'/'.$v['route']; | 121 | + switch ($v['source']){ |
| 122 | + case RouteMap::SOURCE_PAGE: | ||
| 123 | + if($v['route'] == 'index'){ | ||
| 124 | + $data[] = '/'; | ||
| 105 | }else{ | 125 | }else{ |
| 126 | + $data[] = $v['route'].'/'; | ||
| 127 | + } | ||
| 128 | + break; | ||
| 129 | + case RouteMap::SOURCE_PRODUCT_CATE: | ||
| 130 | + //获取当前产品分类关联多少产品 | ||
| 131 | + $productModel = new Product(); | ||
| 132 | + $count = $productModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%']])->count(); | ||
| 133 | + $this->pageList($data,$count,$v,1,15); | ||
| 134 | + break; | ||
| 135 | + case RouteMap::SOURCE_BLOG: | ||
| 136 | + case RouteMap::SOURCE_NEWS: | ||
| 137 | + $data[] = $v['path'].'/'.$v['route'].'/'; | ||
| 138 | + break; | ||
| 139 | + case RouteMap::SOURCE_BLOG_CATE: | ||
| 140 | + $blogModel = new Blog(); | ||
| 141 | + $count = $blogModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%']])->count(); | ||
| 142 | + $this->pageList($data,$count,$v,2,10); | ||
| 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: | ||
| 106 | if($v['route'] == 'index'){ | 187 | if($v['route'] == 'index'){ |
| 107 | - $v['route'] = ''; | 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: | ||
| 200 | + case RouteMap::SOURCE_NEWS: | ||
| 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); | ||
| 207 | + break; | ||
| 208 | + case RouteMap::SOURCE_NEWS_CATE: | ||
| 209 | + $newsModel = new News(); | ||
| 210 | + $count = $newsModel->formatQuery(['category_id'=>['like','%,'.$v['source_id'].',%']])->count(); | ||
| 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); | ||
| 228 | + break; | ||
| 229 | + default: | ||
| 230 | + $data[] = $v['route'].'/'; | ||
| 231 | + break; | ||
| 232 | + } | ||
| 233 | + } | ||
| 234 | + return $this->success($data); | ||
| 235 | + } | ||
| 236 | + | ||
| 237 | + /** | ||
| 238 | + * @remark : | ||
| 239 | + * @name :pageList | ||
| 240 | + * @author :lyh | ||
| 241 | + * @method :post | ||
| 242 | + * @time :2024/1/17 14:15 | ||
| 243 | + */ | ||
| 244 | + public function pageList(&$data,$count,$v,$type = 1,$pageNum = 15){ | ||
| 245 | + $page = 1; | ||
| 246 | + if($count != 0){ | ||
| 247 | + //获取默认条数 | ||
| 248 | + $settingNumModel = new SettingNum(); | ||
| 249 | + $numInfo = $settingNumModel->read(['type'=>$type],['num']); | ||
| 250 | + if(!empty($numInfo)){ | ||
| 251 | + $pageNum = $numInfo['num']; | ||
| 252 | + }else{ | ||
| 253 | + $pageNum = $pageNum; | ||
| 108 | } | 254 | } |
| 109 | - $route = $v['route']; | 255 | + $page = ceil($count / $pageNum);//向上取整 |
| 110 | } | 256 | } |
| 257 | + for ($i = 1;$i <= $page;$i++){ | ||
| 258 | + if($i == 1){ | ||
| 259 | + $data[] = $v['route']; | ||
| 111 | }else{ | 260 | }else{ |
| 112 | - if(!empty($v['path'])){ | ||
| 113 | - if($v['path'] == 'blog'){ | ||
| 114 | - $v['path'] = $v['path'].'s'; | ||
| 115 | - }elseif ($v['path'] == RouteMap::PATH_NEWS_CATE){ | ||
| 116 | - $routeMapModel->edit(['path'=>''],['id'=>$v['id']]); | ||
| 117 | - $v['path'] = ''; | ||
| 118 | - }elseif ($v['path'] == RouteMap::PATH_NEWS_CATE){ | ||
| 119 | - $routeMapModel->edit(['path'=>''],['id'=>$v['id']]); | ||
| 120 | - $v['path'] = ''; | ||
| 121 | - } | ||
| 122 | - $route = $v['path'].'/'.$v['route']; | 261 | + $data[] = $v['route'].'/page/'.$i.'/'; |
| 262 | + } | ||
| 263 | + } | ||
| 264 | + return true; | ||
| 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']; | ||
| 123 | }else{ | 282 | }else{ |
| 124 | - if($v['route'] == 'index'){ | ||
| 125 | - $v['route'] = ''; | 283 | + $pageNum = $pageNum; |
| 126 | } | 284 | } |
| 127 | - $route = $v['route']; | 285 | + $page = ceil($count / $pageNum);//向上取整 |
| 128 | } | 286 | } |
| 287 | + for ($i = 1;$i <= $page;$i++){ | ||
| 288 | + if($i == 1){ | ||
| 289 | + $data[] = $v['route'].'/'; | ||
| 290 | + }else{ | ||
| 291 | + $data[] = $v['route'].'/'.$i.'/'; | ||
| 129 | } | 292 | } |
| 130 | } | 293 | } |
| 131 | - $data[] = $this->user['domain'].$route; | ||
| 132 | - $this->response('success',Code::SUCCESS,$data); | 294 | + return true; |
| 133 | } | 295 | } |
| 134 | } | 296 | } |
-
请 注册 或 登录 后发表评论