作者 lyh

gx

@@ -6,9 +6,16 @@ use App\Enums\Common\Code; @@ -6,9 +6,16 @@ use App\Enums\Common\Code;
6 use App\Enums\Common\Common; 6 use App\Enums\Common\Common;
7 use App\Http\Controllers\Aside\BaseController; 7 use App\Http\Controllers\Aside\BaseController;
8 use App\Http\Logic\Aside\Manage\MenuLogic; 8 use App\Http\Logic\Aside\Manage\MenuLogic;
  9 +use App\Models\Domain\DomainInfo;
9 use App\Models\Inquiry\InquiryData; 10 use App\Models\Inquiry\InquiryData;
10 use App\Models\Manage\Manage; 11 use App\Models\Manage\Manage;
  12 +use App\Models\Product\Keyword;
  13 +use App\Models\Product\Product;
  14 +use App\Models\Project\Project;
  15 +use App\Models\RouteMap\RouteMap;
  16 +use App\Services\ProjectServer;
11 use Illuminate\Support\Facades\Cache; 17 use Illuminate\Support\Facades\Cache;
  18 +use Illuminate\Support\Facades\DB;
12 use Illuminate\Support\Facades\Hash; 19 use Illuminate\Support\Facades\Hash;
13 20
14 /** 21 /**
@@ -96,4 +103,55 @@ class IndexController extends BaseController @@ -96,4 +103,55 @@ class IndexController extends BaseController
96 $this->response('success'); 103 $this->response('success');
97 } 104 }
98 105
  106 + /**
  107 + * @remark :根据关键字获取产品主图
  108 + * @name :getKeywordList
  109 + * @author :lyh
  110 + * @method :post
  111 + * @time :2024/2/23 16:28
  112 + */
  113 + public function getKeywordImage(){
  114 + $arr = explode('/',trim(str_replace('https://', '', $this->param['url']),'/'));
  115 + if(empty($arr) || !is_array($arr)){
  116 + $this->response('当前项目不存在..',Code::SYSTEM_ERROR);
  117 + }
  118 + $domainModel = new DomainInfo();
  119 + $domainInfo = $domainModel->read(['domain'=>$arr[0]]);
  120 + if($domainInfo === false){
  121 + $this->response('当前项目不存在.',Code::SYSTEM_ERROR);
  122 + }
  123 + ProjectServer::useProject($domainInfo['project_id']);
  124 + $routeMapModel = new RouteMap();
  125 + $routeInfo = $routeMapModel->read(['route'=>$arr[1]]);
  126 + if($domainInfo === false){
  127 + $this->response('当前路由不存在.',Code::SYSTEM_ERROR);
  128 + }
  129 + $keywordModel = new Keyword();
  130 + $keywordInfo = $keywordModel->read(['id'=>$routeInfo['source_id']]);
  131 + $count = Product::where('keyword_id','like' ,'%,'.$keywordInfo['id'].',%')->count();
  132 + $productModel = new Product();
  133 + if($count < 5){
  134 + $productList = $productModel->list([],'sort',['thumb','title'],'desc',7);
  135 + //获取7个产品主图
  136 + }else{
  137 + $productList = $productModel->list(['keyword_id'=>['like','%,'.$keywordInfo['id'].',%']],['thumb','title'],'desc',7);
  138 + }
  139 + $product_image = [];
  140 + foreach ($productList as $k => $v){
  141 + $product_image[]['title'] = $v['title'];
  142 + if(!empty($v['thumb']) && !empty($v['thumb']['url'])){
  143 + $product_image[]['image'] = '';
  144 + $product_image[]['image'] = getImageUrl($v['thumb']['url'],$this->user['storage_type'] ?? 0,$this->user['project_location']);
  145 + }
  146 + }
  147 + $data = [
  148 + 'title'=>$keywordInfo['title'],
  149 + 'keyword_title'=>$keywordInfo['keyword_title'],
  150 + 'keyword_content'=>$keywordInfo['keyword_content'],
  151 + 'product_list'=>$product_image
  152 + ];
  153 + DB::disconnect('custom_mysql');
  154 + $this->response('success',Code::SUCCESS,$data);
  155 + }
  156 +
99 } 157 }
@@ -57,7 +57,7 @@ class CopyProjectJob implements ShouldQueue @@ -57,7 +57,7 @@ class CopyProjectJob implements ShouldQueue
57 $data = $data->getAttributes(); 57 $data = $data->getAttributes();
58 $type = $data['type']; 58 $type = $data['type'];
59 $data['type'] = 0; 59 $data['type'] = 0;
60 - $data['old_project_id'] = $this->param['project_id']; 60 + $data['status'] = 0;
61 $data['title'] = $data['title'].'-copy'; 61 $data['title'] = $data['title'].'-copy';
62 unset($data['id']); 62 unset($data['id']);
63 $project_id = $projectModel->insertGetId($data); 63 $project_id = $projectModel->insertGetId($data);
@@ -380,6 +380,7 @@ Route::group([], function () { @@ -380,6 +380,7 @@ Route::group([], function () {
380 Route::any('/collect', [Aside\Collect\CollectController::class, 'index'])->name('admin.collect'); 380 Route::any('/collect', [Aside\Collect\CollectController::class, 'index'])->name('admin.collect');
381 //同步询盘 381 //同步询盘
382 Route::any('/sync_inquiry', [Aside\Com\IndexController::class, 'sync_inquiry'])->name('admin.sync_inquiry'); 382 Route::any('/sync_inquiry', [Aside\Com\IndexController::class, 'sync_inquiry'])->name('admin.sync_inquiry');
  383 + Route::any('/getKeywordImage', [Aside\Com\IndexController::class, 'getKeywordImage'])->name('admin.getKeywordImage');
383 }); 384 });
384 385
385 386