作者 赵彬吉

搜索产品 AI博客

@@ -7,6 +7,7 @@ use App\Helper\Translate; @@ -7,6 +7,7 @@ use App\Helper\Translate;
7 use App\Models\Product\Category; 7 use App\Models\Product\Category;
8 use App\Models\Product\CategoryRelated; 8 use App\Models\Product\CategoryRelated;
9 use App\Models\Product\Product; 9 use App\Models\Product\Product;
  10 +use App\Models\Project\ProjectAiSetting;
10 use App\Models\RouteMap\RouteMap; 11 use App\Models\RouteMap\RouteMap;
11 use App\Services\CosService; 12 use App\Services\CosService;
12 use App\Services\ProjectServer; 13 use App\Services\ProjectServer;
@@ -251,4 +252,30 @@ class ProductController extends BaseController @@ -251,4 +252,30 @@ class ProductController extends BaseController
251 252
252 return $suggestions; 253 return $suggestions;
253 } 254 }
  255 +
  256 + /**
  257 + * 搜索给AI博客 产品推荐用
  258 + * 全文搜索 产品标题
  259 + * @author zbj
  260 + * @date 2025/5/8
  261 + */
  262 + public function searchProductToAiBlog(Request $request){
  263 + $mch_id = $request->input('mch_id');
  264 + $key = $request->input('key');
  265 + $keyword = $request->input('keyword');
  266 +
  267 + if(!$keyword){
  268 + $this->response('关键词不能为空', Code::SYSTEM_ERROR);
  269 + }
  270 + $project_id = ProjectAiSetting::where('mch_id', $mch_id)->where('key', $key)->value('project_id');
  271 + if($project_id){
  272 + $this->response('项目不存在', Code::SYSTEM_ERROR);
  273 + }
  274 +
  275 + ProjectServer::useProject($project_id);
  276 +
  277 + $product = Product::whereFullText('title', $keyword)->inRandomOrder()->select(['title', 'intro', 'thumb'])->first();
  278 +
  279 + $this->response('success', Code::SUCCESS, $product?:[]);
  280 + }
254 } 281 }
@@ -24,6 +24,7 @@ Route::get('get_project_route', [\App\Http\Controllers\Api\PrivateController::cl @@ -24,6 +24,7 @@ Route::get('get_project_route', [\App\Http\Controllers\Api\PrivateController::cl
24 Route::any('get_product_images', [\App\Http\Controllers\Api\ProductController::class, 'getImages'])->name('api.get_product_images'); 24 Route::any('get_product_images', [\App\Http\Controllers\Api\ProductController::class, 'getImages'])->name('api.get_product_images');
25 Route::any('saveProduct', [\App\Http\Controllers\Api\ProductController::class, 'saveProduct'])->name('api.saveProduct'); 25 Route::any('saveProduct', [\App\Http\Controllers\Api\ProductController::class, 'saveProduct'])->name('api.saveProduct');
26 Route::any('searchProduct', [\App\Http\Controllers\Api\ProductController::class, 'searchProduct'])->name('api.searchProduct'); 26 Route::any('searchProduct', [\App\Http\Controllers\Api\ProductController::class, 'searchProduct'])->name('api.searchProduct');
  27 +Route::any('searchProductToAiBlog', [\App\Http\Controllers\Api\ProductController::class, 'searchProductToAiBlog'])->name('api.searchProductToAiBlog');
27 Route::post('inquiry_submit', [\App\Http\Controllers\Api\InquiryController::class, 'submit'])->name('api.inquiry_submit'); 28 Route::post('inquiry_submit', [\App\Http\Controllers\Api\InquiryController::class, 'submit'])->name('api.inquiry_submit');
28 Route::post('editInquiryStatus', [\App\Http\Controllers\Api\InquiryController::class, 'editInquiryStatus'])->name('api.inquiry_editInquiryStatus'); 29 Route::post('editInquiryStatus', [\App\Http\Controllers\Api\InquiryController::class, 'editInquiryStatus'])->name('api.inquiry_editInquiryStatus');
29 Route::any('get_inquiry_random_ip', [\App\Http\Controllers\Api\InquiryController::class, 'getRandomIp'])->name('api.inquiry_getRandomIp'); 30 Route::any('get_inquiry_random_ip', [\App\Http\Controllers\Api\InquiryController::class, 'getRandomIp'])->name('api.inquiry_getRandomIp');