作者 刘锟

Merge remote-tracking branch 'origin/master' into akun

@@ -4,6 +4,7 @@ namespace App\Console\Commands; @@ -4,6 +4,7 @@ namespace App\Console\Commands;
4 4
5 5
6 use App\Exceptions\InquiryFilterException; 6 use App\Exceptions\InquiryFilterException;
  7 +use App\Models\Project\Project;
7 use App\Services\SyncSubmitTaskService; 8 use App\Services\SyncSubmitTaskService;
8 use Illuminate\Console\Command; 9 use Illuminate\Console\Command;
9 use App\Models\SyncSubmitTask\SyncSubmitTask as SyncSubmitTaskModel; 10 use App\Models\SyncSubmitTask\SyncSubmitTask as SyncSubmitTaskModel;
@@ -48,6 +49,9 @@ class SyncSubmitTask extends Command @@ -48,6 +49,9 @@ class SyncSubmitTask extends Command
48 continue; 49 continue;
49 } 50 }
50 try { 51 try {
  52 + $project = Project::getProjectByDomain($task_info['data']['domain'] ?? '');
  53 + $task_info->project_id = $project->id;
  54 +
51 SyncSubmitTaskService::handler($task_info); 55 SyncSubmitTaskService::handler($task_info);
52 $task_info->status = 1; 56 $task_info->status = 1;
53 $task_info->save(); 57 $task_info->save();
@@ -11,6 +11,7 @@ use App\Models\Inquiry\InquiryFormData; @@ -11,6 +11,7 @@ use App\Models\Inquiry\InquiryFormData;
11 use App\Models\Nav\BNav; 11 use App\Models\Nav\BNav;
12 use App\Models\Nav\BNavGroup; 12 use App\Models\Nav\BNavGroup;
13 use App\Models\Project\Project; 13 use App\Models\Project\Project;
  14 +use App\Models\SyncSubmitTask\SyncSubmitTask as SyncSubmitTaskModel;
14 use App\Models\WebSetting\Translate as TranslateModel; 15 use App\Models\WebSetting\Translate as TranslateModel;
15 use App\Services\ProjectServer; 16 use App\Services\ProjectServer;
16 use Illuminate\Console\Command; 17 use Illuminate\Console\Command;
@@ -55,6 +56,25 @@ class Test extends Command @@ -55,6 +56,25 @@ class Test extends Command
55 */ 56 */
56 public function handle() 57 public function handle()
57 { 58 {
  59 +
  60 + $i=0;
  61 + while (true){
  62 + $list = SyncSubmitTaskModel::where('project_id', 0)->limit(1000)->get();
  63 + if(!$list){
  64 + exit;
  65 + }
  66 + foreach ($list as $item){
  67 + $project = Project::getProjectByDomain($item['data']['domain'] ?? '');
  68 + $item->project_id = $project->id;
  69 + $item->save();
  70 + }
  71 + echo $i . PHP_EOL;
  72 + $i++;
  73 + }
  74 +
  75 + exit;
  76 +
  77 +
58 ProjectServer::useProject(3); 78 ProjectServer::useProject(3);
59 $data = [ 79 $data = [
60 'c' => 'c', 80 'c' => 'c',
@@ -14,6 +14,7 @@ use App\Http\Controllers\Bside\BaseController; @@ -14,6 +14,7 @@ use App\Http\Controllers\Bside\BaseController;
14 use App\Http\Logic\Bside\CustomModule\CustomModuleContentLogic; 14 use App\Http\Logic\Bside\CustomModule\CustomModuleContentLogic;
15 use App\Models\CustomModule\CustomModuleCategory; 15 use App\Models\CustomModule\CustomModuleCategory;
16 use App\Models\CustomModule\CustomModuleContent; 16 use App\Models\CustomModule\CustomModuleContent;
  17 +use App\Models\RouteMap\RouteMap;
17 use App\Models\User\User; 18 use App\Models\User\User;
18 19
19 class CustomModuleContentController extends BaseController 20 class CustomModuleContentController extends BaseController
@@ -36,6 +37,7 @@ class CustomModuleContentController extends BaseController @@ -36,6 +37,7 @@ class CustomModuleContentController extends BaseController
36 if(!empty($lists)){ 37 if(!empty($lists)){
37 $data = $this->getAllCategoryName(); 38 $data = $this->getAllCategoryName();
38 foreach ($lists['list'] as $k=>$v){ 39 foreach ($lists['list'] as $k=>$v){
  40 + $v['url'] = $this->getUrl($v);
39 $v['category_name'] = $this->categoryName($v['category_id'],$data); 41 $v['category_name'] = $this->categoryName($v['category_id'],$data);
40 $v['image_link'] = getImageUrl($v['image'],$this->user['storage_type'],$this->user['project_location']); 42 $v['image_link'] = getImageUrl($v['image'],$this->user['storage_type'],$this->user['project_location']);
41 $v['operator_name'] = (new User())->getName($v['operator_id']); 43 $v['operator_name'] = (new User())->getName($v['operator_id']);
@@ -46,6 +48,27 @@ class CustomModuleContentController extends BaseController @@ -46,6 +48,27 @@ class CustomModuleContentController extends BaseController
46 } 48 }
47 49
48 /** 50 /**
  51 + * @remark :获取连接
  52 + * @name :getUrl
  53 + * @author :lyh
  54 + * @method :post
  55 + * @time :2024/1/29 14:56
  56 + */
  57 + public function getUrl($v){
  58 + $routeMapModel = new RouteMap();
  59 + if(!empty($v) && !empty($v['category_id'])){
  60 + $categoryIdArr = $v['category_id'];
  61 + $cate_id = (int)array_shift($categoryIdArr);
  62 + $routeInfo = $routeMapModel->read(['source'=>RouteMap::SOURCE_MODULE_CATE,'source_id'=>$cate_id]);
  63 + $v['path'] = ($routeInfo['route'] ?? '');
  64 + if(!empty($v['path'])){
  65 + $v['path'] = $v['path'].'/';
  66 + }
  67 + }
  68 + return $this->user['domain'].$v['path'].$v['route'];
  69 + }
  70 +
  71 + /**
49 * @remark :获取所有分类名称 72 * @remark :获取所有分类名称
50 * @name :getAllCategoryName 73 * @name :getAllCategoryName
51 * @author :lyh 74 * @author :lyh
@@ -311,15 +311,23 @@ class Project extends Base @@ -311,15 +311,23 @@ class Project extends Base
311 */ 311 */
312 public static function getProjectByDomain($domain) 312 public static function getProjectByDomain($domain)
313 { 313 {
314 - $domain_parse = parse_url($domain);  
315 - $domain = $domain_parse['host'] ?? $domain;  
316 - //是否测试域名  
317 - $project_id = DeployBuild::where('test_domain', 'https://' . $domain . '/')->value('project_id');  
318 - //是否正式域名  
319 - if (!$project_id) {  
320 - $project_id = \App\Models\Domain\DomainInfo::where('domain', $domain)->value('project_id'); 314 + $cache_key = 'getProjectByDomain_' . $domain;
  315 + $project = Cache::get($cache_key);
  316 + if(!$project){
  317 + $domain_parse = parse_url($domain);
  318 + $domain = $domain_parse['host'] ?? $domain;
  319 + //是否测试域名
  320 + $project_id = DeployBuild::where('test_domain', 'https://' . $domain . '/')->value('project_id');
  321 + //是否正式域名
  322 + if (!$project_id) {
  323 + $project_id = \App\Models\Domain\DomainInfo::where('domain', $domain)->value('project_id');
  324 + }
  325 + $project = self::find($project_id ?: 0);
  326 + if($project){
  327 + Cache::put($cache_key, $project, 3600);
  328 + }
321 } 329 }
322 - return self::find($project_id ?: 0); 330 + return $project;
323 } 331 }
324 332
325 /** 333 /**