作者 lyh

gx批量设置扩展模块分类

... ... @@ -12,6 +12,7 @@ namespace App\Http\Controllers\Bside\CustomModule;
use App\Enums\Common\Code;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Bside\CustomModule\CustomModuleContentLogic;
use App\Http\Logic\Bside\Product\ProductLogic;
use App\Models\CustomModule\CustomModule;
use App\Models\CustomModule\CustomModuleCategory;
use App\Models\CustomModule\CustomModuleContent;
... ... @@ -325,4 +326,23 @@ class CustomModuleContentController extends BaseController
}
$this->response('success',Code::SUCCESS,$info);
}
/**
* @remark :批量设置产品分类
* @name :batchSetCategory
* @author :lyh
* @method :post
* @time :2023/8/15 17:51
*/
public function batchSetCategory(CustomModuleContentLogic $logic){
$this->request->validate([
'id'=>'required',
'category_id'=>'required',
],[
'id.required' => '产品ID不能为空',
'category_id.required' => '分类ID不能为空',
]);
$logic->batchSetCategory();
$this->response('success');
}
}
... ...
... ... @@ -485,4 +485,34 @@ class CustomModuleContentLogic extends BaseLogic
];
return $this->success($param);
}
/**
* @remark :批量设置产品分类及状态
* @name :batchSetCategory
* @author :lyh
* @method :post
* @time :2023/8/15 17:53
*/
public function batchSetCategory(){
if(!isset($this->param['category_id']) || empty($this->param['category_id'])){
$this->fail('请选择分类');
}
try {
if(!isset($this->param['is_cover']) || ($this->param['is_cover'] == 1)){
$category_ids = ','.implode(',',$this->param['category_id']).',';
$this->model->edit(['category_id'=>$category_ids],['id'=>['in',$this->param['id']]]);
}else{
foreach ($this->param['id'] as $id){
//获取当前产品的分类
$contentInfo = $this->model->read(['id'=>$id],['id','category_id']);
$category_ids_arr = array_values(array_unique(array_merge($contentInfo['category_id'],$this->param['category_id'])));
$category_ids = ','.implode(',',$category_ids_arr).',';
$this->model->edit(['category_id'=>$category_ids],['id'=>$id]);
}
}
}catch (\Exception $e){
$this->fail('设置分类失败,请联系管理员');
}
return $this->success();
}
}
... ...
... ... @@ -546,6 +546,7 @@ Route::middleware(['bloginauth'])->group(function () {
Route::any('/copyModuleContent', [\App\Http\Controllers\Bside\CustomModule\CustomModuleContentController::class, 'copyModuleContent'])->name('custom_content_copyModuleContent');
Route::any('/setCustomSort', [\App\Http\Controllers\Bside\CustomModule\CustomModuleContentController::class, 'setCustomSort'])->name('custom_content_setCustomSort');
Route::any('/getCustomSort', [\App\Http\Controllers\Bside\CustomModule\CustomModuleContentController::class, 'getCustomSort'])->name('custom_content_getCustomSort');
Route::any('/batchSetCategory', [\App\Http\Controllers\Bside\CustomModule\CustomModuleContentController::class, 'batchSetCategory'])->name('custom_content_batchSetCategory');
});
Route::prefix('extend')->group(function () {
... ...