作者 lyh

gx数据

@@ -295,4 +295,21 @@ class KeywordController extends BaseController @@ -295,4 +295,21 @@ class KeywordController extends BaseController
295 $logic->delAllKeyword(); 295 $logic->delAllKeyword();
296 $this->response('success'); 296 $this->response('success');
297 } 297 }
  298 +
  299 + /**
  300 + * @remark :删除关键词所有关联产品
  301 + * @name :delRelatedProductId
  302 + * @author :lyh
  303 + * @method :post
  304 + * @time :2025/4/17 11:01
  305 + */
  306 + public function delRelatedProductId(KeywordLogic $logic){
  307 + $this->request->validate([
  308 + 'keyword_id'=>'required',
  309 + ],[
  310 + 'keyword_id.required' => '关键词ID不能为空',
  311 + ]);
  312 + $logic->delAllRelated($this->param['keyword_id']);
  313 + $this->response('success');
  314 + }
298 } 315 }
@@ -827,21 +827,4 @@ class ProductController extends BaseController @@ -827,21 +827,4 @@ class ProductController extends BaseController
827 return $keyword_name; 827 return $keyword_name;
828 } 828 }
829 829
830 - /**  
831 - * @remark :删除关联产品  
832 - * @name :delRelatedProductId  
833 - * @author :lyh  
834 - * @method :post  
835 - * @time :2025/4/17 11:01  
836 - */  
837 - public function delRelatedProductId(){  
838 - $this->request->validate([  
839 - 'id'=>'required',  
840 - ],[  
841 - 'id.required' => '产品ID不能为空',  
842 - ]);  
843 - $productModel = new Product();  
844 - $data = $productModel->edit(['related_product_id'=>null],['id'=>$this->param['id']]);  
845 - $this->response('success',Code::SUCCESS,$data);  
846 - }  
847 } 830 }
@@ -298,6 +298,23 @@ class KeywordLogic extends BaseLogic @@ -298,6 +298,23 @@ class KeywordLogic extends BaseLogic
298 } 298 }
299 299
300 /** 300 /**
  301 + * @remark :对应删除关联关系
  302 + * @name :delRelated
  303 + * @author :lyh
  304 + * @method :post
  305 + * @time :2024/11/28 9:46
  306 + */
  307 + public function delAllRelated($keyword_id){
  308 + $productModel = new Product();
  309 + $productModel->update(['keyword_id' => DB::raw("REPLACE(keyword_id, ',$keyword_id,' , ',')"),'keyword_video_id' => DB::raw("REPLACE(keyword_video_id, ',$keyword_id,' , ',')")]);
  310 + $productModel->where('keyword_id',',')->orWhere('keyword_video_id',',')
  311 + ->update(['keyword_id' => DB::raw("REPLACE(keyword_id, ',' , '')"),'keyword_video_id' => DB::raw("REPLACE(keyword_video_id, ',' , '')")]);
  312 + $keywordRelatedModel = new KeywordRelated();
  313 + $keywordRelatedModel->del(['keyword_id'=>$keyword_id]);
  314 + return $this->success();
  315 + }
  316 +
  317 + /**
301 * @remark :删除所有的关键字 318 * @remark :删除所有的关键字
302 * @name :delAllKeyword 319 * @name :delAllKeyword
303 * @author :lyh 320 * @author :lyh
@@ -283,7 +283,7 @@ Route::middleware(['bloginauth'])->group(function () { @@ -283,7 +283,7 @@ Route::middleware(['bloginauth'])->group(function () {
283 Route::any('/delProductType', [\App\Http\Controllers\Bside\Product\ProductController::class, 'delProductType'])->name('product_delProductType'); 283 Route::any('/delProductType', [\App\Http\Controllers\Bside\Product\ProductController::class, 'delProductType'])->name('product_delProductType');
284 Route::any('/getButton', [\App\Http\Controllers\Bside\Product\ProductController::class, 'getButton'])->name('product_getButton'); 284 Route::any('/getButton', [\App\Http\Controllers\Bside\Product\ProductController::class, 'getButton'])->name('product_getButton');
285 Route::any('/batchSetKeyword', [\App\Http\Controllers\Bside\Product\ProductController::class, 'batchSetKeyword'])->name('product_batchSetKeyword'); 285 Route::any('/batchSetKeyword', [\App\Http\Controllers\Bside\Product\ProductController::class, 'batchSetKeyword'])->name('product_batchSetKeyword');
286 - Route::any('/delRelatedProductId', [\App\Http\Controllers\Bside\Product\ProductController::class, 'delRelatedProductId'])->name('product_delRelatedProductId'); 286 +
287 //产品分类batchSetKeyword 287 //产品分类batchSetKeyword
288 Route::get('category', [\App\Http\Controllers\Bside\Product\CategoryController::class, 'index'])->name('product_category'); 288 Route::get('category', [\App\Http\Controllers\Bside\Product\CategoryController::class, 'index'])->name('product_category');
289 Route::get('category/info', [\App\Http\Controllers\Bside\Product\CategoryController::class, 'info'])->name('product_category_info'); 289 Route::get('category/info', [\App\Http\Controllers\Bside\Product\CategoryController::class, 'info'])->name('product_category_info');
@@ -305,6 +305,7 @@ Route::middleware(['bloginauth'])->group(function () { @@ -305,6 +305,7 @@ Route::middleware(['bloginauth'])->group(function () {
305 Route::any('keyword/batchUpdateKeyword', [\App\Http\Controllers\Bside\Product\KeywordController::class, 'batchUpdateKeyword'])->name('product_keyword_batchUpdateKeyword'); 305 Route::any('keyword/batchUpdateKeyword', [\App\Http\Controllers\Bside\Product\KeywordController::class, 'batchUpdateKeyword'])->name('product_keyword_batchUpdateKeyword');
306 Route::any('keyword/batchKeywordIsVideo', [\App\Http\Controllers\Bside\Product\KeywordController::class, 'batchKeywordIsVideo'])->name('product_keyword_batchKeywordIsVideo'); 306 Route::any('keyword/batchKeywordIsVideo', [\App\Http\Controllers\Bside\Product\KeywordController::class, 'batchKeywordIsVideo'])->name('product_keyword_batchKeywordIsVideo');
307 Route::any('keyword/batchKeywordFiled', [\App\Http\Controllers\Bside\Product\KeywordController::class, 'batchKeywordFiled'])->name('product_keyword_batchKeywordFiled'); 307 Route::any('keyword/batchKeywordFiled', [\App\Http\Controllers\Bside\Product\KeywordController::class, 'batchKeywordFiled'])->name('product_keyword_batchKeywordFiled');
  308 + Route::any('/delRelatedProductId', [\App\Http\Controllers\Bside\Product\KeywordController::class, 'delRelatedProductId'])->name('product_keyword_delRelatedProductId');
308 //产品参数 309 //产品参数
309 Route::get('attr', [\App\Http\Controllers\Bside\Product\AttrController::class, 'index'])->name('product_attr'); 310 Route::get('attr', [\App\Http\Controllers\Bside\Product\AttrController::class, 'index'])->name('product_attr');
310 Route::get('attr/info', [\App\Http\Controllers\Bside\Product\AttrController::class, 'info'])->name('product_attr_info'); 311 Route::get('attr/info', [\App\Http\Controllers\Bside\Product\AttrController::class, 'info'])->name('product_attr_info');