Merge remote-tracking branch 'origin/master' into akun
正在显示
6 个修改的文件
包含
89 行增加
和
11 行删除
| @@ -55,8 +55,13 @@ class BlogController extends BaseController | @@ -55,8 +55,13 @@ class BlogController extends BaseController | ||
| 55 | $query = $query->where('project_id',$this->user['project_id']); | 55 | $query = $query->where('project_id',$this->user['project_id']); |
| 56 | if (isset($this->map['category_id']) && !empty($this->map['category_id'])) { | 56 | if (isset($this->map['category_id']) && !empty($this->map['category_id'])) { |
| 57 | $str = []; | 57 | $str = []; |
| 58 | + $str[] = $this->map['category_id']; | ||
| 58 | $this->getAllSub($this->map['category_id'],$str); | 59 | $this->getAllSub($this->map['category_id'],$str); |
| 59 | - $query = $query->whereIn('category_id',$str); | 60 | + $query->where(function ($subQuery) use ($str) { |
| 61 | + foreach ($str as $v) { | ||
| 62 | + $subQuery->orWhereRaw("FIND_IN_SET(?, category_id) > 0", [$v]); | ||
| 63 | + } | ||
| 64 | + }); | ||
| 60 | } | 65 | } |
| 61 | if(isset($this->map['status'])){ | 66 | if(isset($this->map['status'])){ |
| 62 | $query = $query->where('status',$this->map['status']); | 67 | $query = $query->where('status',$this->map['status']); |
| @@ -58,8 +58,13 @@ class NewsController extends BaseController | @@ -58,8 +58,13 @@ class NewsController extends BaseController | ||
| 58 | $query = $query->where('project_id',$this->user['project_id']); | 58 | $query = $query->where('project_id',$this->user['project_id']); |
| 59 | if (isset($this->map['category_id']) && !empty($this->map['category_id'])) { | 59 | if (isset($this->map['category_id']) && !empty($this->map['category_id'])) { |
| 60 | $str = []; | 60 | $str = []; |
| 61 | + $str[] = $this->map['category_id']; | ||
| 61 | $this->getAllSub($this->map['category_id'],$str); | 62 | $this->getAllSub($this->map['category_id'],$str); |
| 62 | - $query = $query->whereIn('category_id',$str); | 63 | + $query->where(function ($subQuery) use ($str) { |
| 64 | + foreach ($str as $v) { | ||
| 65 | + $subQuery->orWhereRaw("FIND_IN_SET(?, category_id) > 0", [$v]); | ||
| 66 | + } | ||
| 67 | + }); | ||
| 63 | } | 68 | } |
| 64 | if(isset($this->map['status'])){ | 69 | if(isset($this->map['status'])){ |
| 65 | $query = $query->where('status',$this->map['status']); | 70 | $query = $query->where('status',$this->map['status']); |
| @@ -79,8 +79,13 @@ class ProductController extends BaseController | @@ -79,8 +79,13 @@ class ProductController extends BaseController | ||
| 79 | $query = $query->where('project_id',$this->user['project_id']); | 79 | $query = $query->where('project_id',$this->user['project_id']); |
| 80 | if (isset($this->map['category_id']) && !empty($this->map['category_id'])) { | 80 | if (isset($this->map['category_id']) && !empty($this->map['category_id'])) { |
| 81 | $str = []; | 81 | $str = []; |
| 82 | + $str[] = $this->map['category_id']; | ||
| 82 | $this->getAllSub($this->map['category_id'],$str); | 83 | $this->getAllSub($this->map['category_id'],$str); |
| 83 | - $query = $query->whereIn('category_id',$str); | 84 | + $query->where(function ($subQuery) use ($str) { |
| 85 | + foreach ($str as $v) { | ||
| 86 | + $subQuery->orWhereRaw("FIND_IN_SET(?, category_id) > 0", [$v]); | ||
| 87 | + } | ||
| 88 | + }); | ||
| 84 | } | 89 | } |
| 85 | if(isset($this->map['title']) && !empty($this->map['title'])){ | 90 | if(isset($this->map['title']) && !empty($this->map['title'])){ |
| 86 | $query = $query->where('title','like','%'.$this->map['title'].'%'); | 91 | $query = $query->where('title','like','%'.$this->map['title'].'%'); |
| @@ -75,6 +75,18 @@ class BTemplateController extends BaseController | @@ -75,6 +75,18 @@ class BTemplateController extends BaseController | ||
| 75 | } | 75 | } |
| 76 | 76 | ||
| 77 | /** | 77 | /** |
| 78 | + * @remark :可视化装修数据类型设置 | ||
| 79 | + * @name :moduleSetting | ||
| 80 | + * @author :lyh | ||
| 81 | + * @method :post | ||
| 82 | + * @time :2023/7/17 15:55 | ||
| 83 | + */ | ||
| 84 | + public function getModuleTypes(BTemplateLogic $BTemplateLogic){ | ||
| 85 | + $list = $BTemplateLogic->getModuleTypes(); | ||
| 86 | + $this->response('success',Code::SUCCESS,$list); | ||
| 87 | + } | ||
| 88 | + | ||
| 89 | + /** | ||
| 78 | * @remark :公共主题设置公共head | 90 | * @remark :公共主题设置公共head |
| 79 | * @name :setHead | 91 | * @name :setHead |
| 80 | * @author :lyh | 92 | * @author :lyh |
| @@ -6,6 +6,7 @@ use App\Http\Logic\Bside\BaseLogic; | @@ -6,6 +6,7 @@ use App\Http\Logic\Bside\BaseLogic; | ||
| 6 | use App\Models\Blog\Blog; | 6 | use App\Models\Blog\Blog; |
| 7 | use App\Models\Blog\BlogCategory; | 7 | use App\Models\Blog\BlogCategory; |
| 8 | use App\Models\CustomModule\CustomModule; | 8 | use App\Models\CustomModule\CustomModule; |
| 9 | +use App\Models\CustomModule\CustomModuleCategory; | ||
| 9 | use App\Models\News\News; | 10 | use App\Models\News\News; |
| 10 | use App\Models\News\NewsCategory; | 11 | use App\Models\News\NewsCategory; |
| 11 | use App\Models\Product\Category; | 12 | use App\Models\Product\Category; |
| @@ -697,18 +698,67 @@ class BTemplateLogic extends BaseLogic | @@ -697,18 +698,67 @@ class BTemplateLogic extends BaseLogic | ||
| 697 | public function getModuleTypes(){ | 698 | public function getModuleTypes(){ |
| 698 | $data['module'] = ['默认','产品','新闻','博客','产品分类']; | 699 | $data['module'] = ['默认','产品','新闻','博客','产品分类']; |
| 699 | $data = [ | 700 | $data = [ |
| 700 | - ['id'=>'0',"name"=>'默认','category'=>[["id"=>"all", "title"=>"全部"], ["id"=>"hot", "title"=>"热销产品",], ["id"=>"recommend", "title"=>"推荐产品",]]], | ||
| 701 | - ['id'=>'1',"name"=>'产品','category'=>[]], | ||
| 702 | - ['id'=>'2',"name"=>'新闻','category'=>[]], | ||
| 703 | - ['id'=>'3',"name"=>'博客','category'=>[]], | 701 | + ['id'=>'0',"name"=>'默认','category'=>[]], |
| 702 | + ['id'=>'1',"name"=>'产品','category'=>[["id"=>"all", "title"=>"全部"], ["id"=>"hot", "title"=>"热销产品",], ["id"=>"recommend", "title"=>"推荐产品"]]], | ||
| 703 | + ['id'=>'2',"name"=>'新闻','category'=>[["id"=>"all", "name"=>"全部",], ["id"=>"new", "name"=>"最新"]]], | ||
| 704 | + ['id'=>'3',"name"=>'博客','category'=>[["id"=>"all", "name"=>"全部",], ["id"=>"new", "name"=>"最新"]]], | ||
| 704 | ['id'=>'4','name'=>'产品分类','category'=>[]], | 705 | ['id'=>'4','name'=>'产品分类','category'=>[]], |
| 705 | ]; | 706 | ]; |
| 707 | + $data = $this->handleCategory($data); | ||
| 706 | //获取当前项目的扩展模块 | 708 | //获取当前项目的扩展模块 |
| 707 | $moduleModel = new CustomModule(); | 709 | $moduleModel = new CustomModule(); |
| 708 | $moduleList = $moduleModel->list(['status'=>0]); | 710 | $moduleList = $moduleModel->list(['status'=>0]); |
| 709 | foreach ($moduleList as $v){ | 711 | foreach ($moduleList as $v){ |
| 710 | - $data[] = ['id'=>'custom-'.$v['id'],'name'=>$v['name'],'category'=>[]]; | 712 | + $moduleCategory = $this->getCategoryList((new CustomModuleCategory()),0,['id','name','pid']); |
| 713 | + $categoryList = [["id"=>"all", "name"=>"全部"], ["id"=>"new", "name"=>"最新"]]; | ||
| 714 | + foreach ($moduleCategory as $values){ | ||
| 715 | + $categoryList[] = $values; | ||
| 716 | + } | ||
| 717 | + $data[] = ['id'=>'custom-'.$v['id'],'name'=>$v['name'],'category'=>$categoryList]; | ||
| 718 | + } | ||
| 719 | + return $this->success($data); | ||
| 720 | + } | ||
| 721 | + | ||
| 722 | + /** | ||
| 723 | + * @remark :处理默认分类 | ||
| 724 | + * @name :handleCategory | ||
| 725 | + * @author :lyh | ||
| 726 | + * @method :post | ||
| 727 | + * @time :2023/12/21 18:31 | ||
| 728 | + */ | ||
| 729 | + public function handleCategory($data){ | ||
| 730 | + foreach ($data as $key => $values){ | ||
| 731 | + switch ($values['name']){ | ||
| 732 | + case '产品': | ||
| 733 | + $productCategory = $this->getCategoryList((new Category()),1,['id','title','pid']); | ||
| 734 | + if(!empty($productCategory)){ | ||
| 735 | + foreach ($productCategory as $item){ | ||
| 736 | + $values['category'][] = $item; | ||
| 737 | + } | ||
| 738 | + } | ||
| 739 | + break; | ||
| 740 | + case '新闻': | ||
| 741 | + $newCategory = $this->getCategoryList((new NewsCategory()),0,['id','name','pid']); | ||
| 742 | + if(!empty($newCategory)){ | ||
| 743 | + foreach ($newCategory as $item){ | ||
| 744 | + $values['category'][] = $item; | ||
| 745 | + } | ||
| 746 | + } | ||
| 747 | + break; | ||
| 748 | + case '博客': | ||
| 749 | + $blogCategory = $this->getCategoryList((new BlogCategory()),0,['id','name','pid']); | ||
| 750 | + if(!empty($blogCategory)){ | ||
| 751 | + foreach ($blogCategory as $item){ | ||
| 752 | + $values['category'][] = $item; | ||
| 753 | + } | ||
| 754 | + } | ||
| 755 | + break; | ||
| 756 | + default: | ||
| 757 | + break; | ||
| 758 | + } | ||
| 759 | + $data[$key] = $values; | ||
| 711 | } | 760 | } |
| 761 | + return $this->success($data); | ||
| 712 | } | 762 | } |
| 713 | 763 | ||
| 714 | /** | 764 | /** |
| @@ -718,12 +768,12 @@ class BTemplateLogic extends BaseLogic | @@ -718,12 +768,12 @@ class BTemplateLogic extends BaseLogic | ||
| 718 | * @method :post | 768 | * @method :post |
| 719 | * @time :2023/12/20 10:26 | 769 | * @time :2023/12/20 10:26 |
| 720 | */ | 770 | */ |
| 721 | - public function getCategoryList($categoryModel,$status = 0){ | 771 | + public function getCategoryList($categoryModel,$status = 0,$filed = ['*']){ |
| 722 | $data = array(); | 772 | $data = array(); |
| 723 | - $list = $categoryModel->list(['pid'=>0,'status'=>$status]); | 773 | + $list = $categoryModel->list(['pid'=>0,'status'=>$status],['sort','id'],$filed); |
| 724 | foreach ($list as $v){ | 774 | foreach ($list as $v){ |
| 725 | $data[] = $v; | 775 | $data[] = $v; |
| 726 | - $son_list = $categoryModel->list(['pid'=>$v['id'],'status'=>$status]); | 776 | + $son_list = $categoryModel->list(['pid'=>$v['id'],'status'=>$status],['sort','id'],$filed); |
| 727 | foreach ($son_list as $v1){ | 777 | foreach ($son_list as $v1){ |
| 728 | $data[] = $v1; | 778 | $data[] = $v1; |
| 729 | } | 779 | } |
| @@ -310,6 +310,7 @@ Route::middleware(['bloginauth'])->group(function () { | @@ -310,6 +310,7 @@ Route::middleware(['bloginauth'])->group(function () { | ||
| 310 | Route::any('/save', [\App\Http\Controllers\Bside\Template\BTemplateController::class, 'save'])->name('template_save'); | 310 | Route::any('/save', [\App\Http\Controllers\Bside\Template\BTemplateController::class, 'save'])->name('template_save'); |
| 311 | //可视化保存获取数据类型 | 311 | //可视化保存获取数据类型 |
| 312 | Route::any('/getTypeSetting', [\App\Http\Controllers\Bside\Template\BTemplateController::class, 'getTypeSetting'])->name('template_getTypeSetting'); | 312 | Route::any('/getTypeSetting', [\App\Http\Controllers\Bside\Template\BTemplateController::class, 'getTypeSetting'])->name('template_getTypeSetting'); |
| 313 | + Route::any('/getModuleTypes', [\App\Http\Controllers\Bside\Template\BTemplateController::class, 'getModuleTypes'])->name('template_getModuleTypes'); | ||
| 313 | Route::any('/getHeadFooter', [\App\Http\Controllers\Bside\Template\BTemplateController::class, 'getHeadFooter'])->name('template_getHeadFooter'); | 314 | Route::any('/getHeadFooter', [\App\Http\Controllers\Bside\Template\BTemplateController::class, 'getHeadFooter'])->name('template_getHeadFooter'); |
| 314 | Route::any('/setHeadFooter', [\App\Http\Controllers\Bside\Template\BTemplateController::class, 'setHeadFooter'])->name('template_setHeadFooter'); | 315 | Route::any('/setHeadFooter', [\App\Http\Controllers\Bside\Template\BTemplateController::class, 'setHeadFooter'])->name('template_setHeadFooter'); |
| 315 | Route::any('/savePublicTemplate', [\App\Http\Controllers\Bside\Template\BTemplateController::class, 'savePublicTemplate'])->name('template_savePublicTemplate'); | 316 | Route::any('/savePublicTemplate', [\App\Http\Controllers\Bside\Template\BTemplateController::class, 'savePublicTemplate'])->name('template_savePublicTemplate'); |
-
请 注册 或 登录 后发表评论