作者 liyuhang

Merge branch 'dev' of http://47.244.231.31:8099/zhl/globalso-v6 into dev

正在显示 25 个修改的文件 包含 64 行增加57 行删除
@@ -4,8 +4,8 @@ namespace App\Http\Controllers\Aside\Manage; @@ -4,8 +4,8 @@ namespace App\Http\Controllers\Aside\Manage;
4 4
5 use App\Helper\Arr; 5 use App\Helper\Arr;
6 use App\Http\Controllers\Aside\BaseController; 6 use App\Http\Controllers\Aside\BaseController;
7 -use App\Http\Logic\Aside\DeptLogic;  
8 -use App\Http\Requests\Aside\DeptRequest; 7 +use App\Http\Logic\Aside\Manage\DeptLogic;
  8 +use App\Http\Requests\Aside\Manage\DeptRequest;
9 use App\Rules\Ids; 9 use App\Rules\Ids;
10 use Illuminate\Http\Request; 10 use Illuminate\Http\Request;
11 11
@@ -4,8 +4,8 @@ namespace App\Http\Controllers\Aside\Manage; @@ -4,8 +4,8 @@ namespace App\Http\Controllers\Aside\Manage;
4 4
5 use App\Helper\Arr; 5 use App\Helper\Arr;
6 use App\Http\Controllers\Aside\BaseController; 6 use App\Http\Controllers\Aside\BaseController;
7 -use App\Http\Logic\Aside\GroupLogic;  
8 -use App\Http\Requests\Aside\GroupRequest; 7 +use App\Http\Logic\Aside\Manage\GroupLogic;
  8 +use App\Http\Requests\Aside\Manage\GroupRequest;
9 use App\Rules\Ids; 9 use App\Rules\Ids;
10 use Illuminate\Http\Request; 10 use Illuminate\Http\Request;
11 11
@@ -4,8 +4,8 @@ namespace App\Http\Controllers\Aside\Manage; @@ -4,8 +4,8 @@ namespace App\Http\Controllers\Aside\Manage;
4 4
5 use App\Helper\Arr; 5 use App\Helper\Arr;
6 use App\Http\Controllers\Aside\BaseController; 6 use App\Http\Controllers\Aside\BaseController;
7 -use App\Http\Logic\Aside\ManageLogic;  
8 -use App\Http\Requests\Aside\ManageRequest; 7 +use App\Http\Logic\Aside\Manage\ManageLogic;
  8 +use App\Http\Requests\Aside\Manage\ManageRequest;
9 use App\Rules\Ids; 9 use App\Rules\Ids;
10 use Illuminate\Http\Request; 10 use Illuminate\Http\Request;
11 11
@@ -4,8 +4,8 @@ namespace App\Http\Controllers\Aside\Manage; @@ -4,8 +4,8 @@ namespace App\Http\Controllers\Aside\Manage;
4 4
5 use App\Helper\Arr; 5 use App\Helper\Arr;
6 use App\Http\Controllers\Aside\BaseController; 6 use App\Http\Controllers\Aside\BaseController;
7 -use App\Http\Logic\Aside\MenuLogic;  
8 -use App\Http\Requests\Aside\MenuRequest; 7 +use App\Http\Logic\Aside\Manage\MenuLogic;
  8 +use App\Http\Requests\Aside\Manage\MenuRequest;
9 use App\Rules\Ids; 9 use App\Rules\Ids;
10 use Illuminate\Http\Request; 10 use Illuminate\Http\Request;
11 11
@@ -5,7 +5,7 @@ namespace App\Http\Controllers\Bside\Product; @@ -5,7 +5,7 @@ namespace App\Http\Controllers\Bside\Product;
5 use App\Helper\Arr; 5 use App\Helper\Arr;
6 use App\Http\Controllers\Bside\BaseController; 6 use App\Http\Controllers\Bside\BaseController;
7 use App\Http\Logic\Bside\Product\AttrLogic; 7 use App\Http\Logic\Bside\Product\AttrLogic;
8 -use App\Http\Requests\Bside\product\AttrRequest; 8 +use App\Http\Requests\Bside\Product\AttrRequest;
9 use App\Rules\Ids; 9 use App\Rules\Ids;
10 use Illuminate\Http\Request; 10 use Illuminate\Http\Request;
11 11
@@ -5,7 +5,7 @@ namespace App\Http\Controllers\Bside\Product; @@ -5,7 +5,7 @@ namespace App\Http\Controllers\Bside\Product;
5 use App\Helper\Arr; 5 use App\Helper\Arr;
6 use App\Http\Controllers\Bside\BaseController; 6 use App\Http\Controllers\Bside\BaseController;
7 use App\Http\Logic\Bside\Product\CategoryLogic; 7 use App\Http\Logic\Bside\Product\CategoryLogic;
8 -use App\Http\Requests\Bside\product\CategoryRequest; 8 +use App\Http\Requests\Bside\Product\CategoryRequest;
9 use App\Rules\Ids; 9 use App\Rules\Ids;
10 use Illuminate\Http\Request; 10 use Illuminate\Http\Request;
11 11
@@ -5,7 +5,7 @@ namespace App\Http\Controllers\Bside\Product; @@ -5,7 +5,7 @@ namespace App\Http\Controllers\Bside\Product;
5 use App\Helper\Arr; 5 use App\Helper\Arr;
6 use App\Http\Controllers\Bside\BaseController; 6 use App\Http\Controllers\Bside\BaseController;
7 use App\Http\Logic\Bside\Product\DescribeLogic; 7 use App\Http\Logic\Bside\Product\DescribeLogic;
8 -use App\Http\Requests\Bside\product\DescribeRequest; 8 +use App\Http\Requests\Bside\Product\DescribeRequest;
9 use App\Rules\Ids; 9 use App\Rules\Ids;
10 use Illuminate\Http\Request; 10 use Illuminate\Http\Request;
11 11
@@ -5,7 +5,7 @@ namespace App\Http\Controllers\Bside\Product; @@ -5,7 +5,7 @@ namespace App\Http\Controllers\Bside\Product;
5 use App\Helper\Arr; 5 use App\Helper\Arr;
6 use App\Http\Controllers\Bside\BaseController; 6 use App\Http\Controllers\Bside\BaseController;
7 use App\Http\Logic\Bside\Product\KeywordLogic; 7 use App\Http\Logic\Bside\Product\KeywordLogic;
8 -use App\Http\Requests\Bside\product\KeywordRequest; 8 +use App\Http\Requests\Bside\Product\KeywordRequest;
9 use App\Rules\Ids; 9 use App\Rules\Ids;
10 use Illuminate\Http\Request; 10 use Illuminate\Http\Request;
11 11
@@ -7,7 +7,7 @@ use App\Exceptions\BsideGlobalException; @@ -7,7 +7,7 @@ use App\Exceptions\BsideGlobalException;
7 use App\Helper\Arr; 7 use App\Helper\Arr;
8 use App\Http\Controllers\Bside\BaseController; 8 use App\Http\Controllers\Bside\BaseController;
9 use App\Http\Logic\Bside\Product\ProductLogic; 9 use App\Http\Logic\Bside\Product\ProductLogic;
10 -use App\Http\Requests\Bside\product\ProductRequest; 10 +use App\Http\Requests\Bside\Product\ProductRequest;
11 use App\Rules\Ids; 11 use App\Rules\Ids;
12 use Illuminate\Http\Request; 12 use Illuminate\Http\Request;
13 13
1 <?php 1 <?php
2 2
3 -namespace App\Http\Logic\Aside; 3 +namespace App\Http\Logic\Aside\Manage;
4 4
5 use App\Helper\Arr; 5 use App\Helper\Arr;
  6 +use App\Http\Logic\Aside\BaseLogic;
6 use App\Models\Manage\Dept; 7 use App\Models\Manage\Dept;
7 -use Illuminate\Database\Eloquent\Model;  
8 8
9 /** 9 /**
10 * Class DeptLogic 10 * Class DeptLogic
1 <?php 1 <?php
2 2
3 -namespace App\Http\Logic\Aside; 3 +namespace App\Http\Logic\Aside\Manage;
4 4
5 5
6 -use App\Helper\Arr; 6 +use App\Http\Logic\Aside\BaseLogic;
7 use App\Models\Manage\Group; 7 use App\Models\Manage\Group;
8 8
9 /** 9 /**
1 <?php 1 <?php
2 2
3 -namespace App\Http\Logic\Aside; 3 +namespace App\Http\Logic\Aside\Manage;
4 4
5 -use App\Helper\Arr; 5 +
  6 +use App\Http\Logic\Aside\BaseLogic;
6 use App\Models\Manage\Manage; 7 use App\Models\Manage\Manage;
7 -use Illuminate\Database\Eloquent\Model;  
8 use Illuminate\Support\Facades\Hash; 8 use Illuminate\Support\Facades\Hash;
9 9
10 /** 10 /**
1 <?php 1 <?php
2 2
3 -namespace App\Http\Logic\Aside; 3 +namespace App\Http\Logic\Aside\Manage;
4 4
5 5
6 use App\Helper\Arr; 6 use App\Helper\Arr;
  7 +use App\Http\Logic\Aside\BaseLogic;
7 use App\Models\Manage\Menu; 8 use App\Models\Manage\Menu;
8 use Illuminate\Support\Facades\Route; 9 use Illuminate\Support\Facades\Route;
9 use Illuminate\Support\Str; 10 use Illuminate\Support\Str;
@@ -3,7 +3,9 @@ @@ -3,7 +3,9 @@
3 namespace App\Http\Logic\Aside; 3 namespace App\Http\Logic\Aside;
4 4
5 5
  6 +
6 use App\Models\ServerConfig; 7 use App\Models\ServerConfig;
  8 +use App\Services\ProjectServer;
7 use Illuminate\Support\Facades\DB; 9 use Illuminate\Support\Facades\DB;
8 10
9 /** 11 /**
@@ -35,9 +37,14 @@ class ServerConfigLogic extends BaseLogic @@ -35,9 +37,14 @@ class ServerConfigLogic extends BaseLogic
35 $data['mysql_id'] = $res['id']; 37 $data['mysql_id'] = $res['id'];
36 } 38 }
37 39
38 - //todo 创建数据库 初始化表 40 + (new ProjectLogic())->save($data);
39 41
40 - (new ProjectLogic)->save($data); 42 + //数据库配置
  43 + $project = ProjectServer::useProject($param['project_id']);
  44 + //创建数据库
  45 + ProjectServer::createDatabase($project);
  46 + //创建表
  47 + ProjectServer::initTable($project);
41 48
42 DB::commit(); 49 DB::commit();
43 } catch (\Exception $e) { 50 } catch (\Exception $e) {
1 <?php 1 <?php
2 2
3 -namespace App\Http\Requests\Aside; 3 +namespace App\Http\Requests\Aside\Manage;
4 4
5 use Illuminate\Foundation\Http\FormRequest; 5 use Illuminate\Foundation\Http\FormRequest;
6 6
1 <?php 1 <?php
2 2
3 -namespace App\Http\Requests\Aside; 3 +namespace App\Http\Requests\Aside\Manage;
4 4
5 use App\Models\Manage\Group; 5 use App\Models\Manage\Group;
6 use Illuminate\Foundation\Http\FormRequest; 6 use Illuminate\Foundation\Http\FormRequest;
1 <?php 1 <?php
2 2
3 -namespace App\Http\Requests\Aside; 3 +namespace App\Http\Requests\Aside\Manage;
4 4
5 use App\Models\Manage\Manage; 5 use App\Models\Manage\Manage;
6 use App\Rules\Mobile; 6 use App\Rules\Mobile;
1 <?php 1 <?php
2 2
3 -namespace App\Http\Requests\Aside; 3 +namespace App\Http\Requests\Aside\Manage;
4 4
5 use App\Models\Manage\Menu; 5 use App\Models\Manage\Menu;
6 use Illuminate\Foundation\Http\FormRequest; 6 use Illuminate\Foundation\Http\FormRequest;
1 <?php 1 <?php
2 2
3 -namespace App\Http\Requests\Bside\product; 3 +namespace App\Http\Requests\Bside\Product;
4 4
5 use Illuminate\Foundation\Http\FormRequest; 5 use Illuminate\Foundation\Http\FormRequest;
6 6
1 <?php 1 <?php
2 2
3 -namespace App\Http\Requests\Bside\product; 3 +namespace App\Http\Requests\Bside\Product;
4 4
5 use Illuminate\Foundation\Http\FormRequest; 5 use Illuminate\Foundation\Http\FormRequest;
6 6
1 <?php 1 <?php
2 2
3 -namespace App\Http\Requests\Bside\product; 3 +namespace App\Http\Requests\Bside\Product;
4 4
5 use Illuminate\Foundation\Http\FormRequest; 5 use Illuminate\Foundation\Http\FormRequest;
6 6
1 <?php 1 <?php
2 2
3 -namespace App\Http\Requests\Bside\product; 3 +namespace App\Http\Requests\Bside\Product;
4 4
5 use Illuminate\Foundation\Http\FormRequest; 5 use Illuminate\Foundation\Http\FormRequest;
6 6
1 <?php 1 <?php
2 2
3 -namespace App\Http\Requests\Bside\product; 3 +namespace App\Http\Requests\Bside\Product;
4 4
5 use App\Enums\Common\Code; 5 use App\Enums\Common\Code;
6 use App\Exceptions\BsideGlobalException; 6 use App\Exceptions\BsideGlobalException;
@@ -78,25 +78,25 @@ class ServerConfig extends Base @@ -78,25 +78,25 @@ class ServerConfig extends Base
78 /** 78 /**
79 * @return mixed 79 * @return mixed
80 */ 80 */
81 - public function getUserAttribute() 81 + public function getUserAttribute($value)
82 { 82 {
83 - return decrypt($this->user); 83 + return decrypt($value);
84 } 84 }
85 85
86 /** 86 /**
87 * @return mixed 87 * @return mixed
88 */ 88 */
89 - public function getPasswordAttribute() 89 + public function getPasswordAttribute($value)
90 { 90 {
91 - return decrypt($this->password); 91 + return decrypt($value);
92 } 92 }
93 93
94 /** 94 /**
95 * @return mixed 95 * @return mixed
96 */ 96 */
97 - public function getPortAttribute() 97 + public function getPortAttribute($value)
98 { 98 {
99 - return decrypt($this->port); 99 + return decrypt($value);
100 } 100 }
101 101
102 } 102 }
@@ -28,11 +28,11 @@ class ProjectServer extends BaseService @@ -28,11 +28,11 @@ class ProjectServer extends BaseService
28 if (empty($project)) 28 if (empty($project))
29 return false; 29 return false;
30 // 设置 database.connections.custom_mysql 配置 30 // 设置 database.connections.custom_mysql 配置
31 - config(['database.connections.custom_mysql.host' => $project->mysqlConfig()->host]);  
32 - config(['database.connections.custom_mysql.port' => $project->mysqlConfig()->port]); 31 + config(['database.connections.custom_mysql.host' => $project->mysqlConfig->host]);
  32 + config(['database.connections.custom_mysql.port' => $project->mysqlConfig->port]);
33 config(['database.connections.custom_mysql.database' => $project->databaseName()]); 33 config(['database.connections.custom_mysql.database' => $project->databaseName()]);
34 - config(['database.connections.custom_mysql.username' => $project->mysqlConfig()->user]);  
35 - config(['database.connections.custom_mysql.password' => $project->mysqlConfig()->password]); 34 + config(['database.connections.custom_mysql.username' => $project->mysqlConfig->user]);
  35 + config(['database.connections.custom_mysql.password' => $project->mysqlConfig->password]);
36 // 设置 redis 配置 36 // 设置 redis 配置
37 return $project; 37 return $project;
38 } 38 }
@@ -40,40 +40,39 @@ class ProjectServer extends BaseService @@ -40,40 +40,39 @@ class ProjectServer extends BaseService
40 40
41 /** 41 /**
42 * 创建数据库 42 * 创建数据库
43 - * @param $project_id 43 + * @param $project
  44 + * @return bool
44 * @author zbj 45 * @author zbj
45 * @date 2023/4/23 46 * @date 2023/4/23
46 */ 47 */
47 - public static function createDatabase($project_id){  
48 - $project = self::useProject($project_id);  
49 - DB::connection('custom_mysql')->statement("CREATE DATABASE IF NOT EXISTS {$project->databaseName()}"); 48 + public static function createDatabase($project)
  49 + {
  50 + $conn = new \mysqli($project->mysqlConfig->host, $project->mysqlConfig->user, $project->mysqlConfig->password);
  51 + $conn->query("CREATE DATABASE IF NOT EXISTS {$project->databaseName()}");
  52 + return true;
50 } 53 }
51 54
52 55
53 /** 56 /**
54 - * @param $project_id 57 + * @param $project
55 * @return bool 58 * @return bool
56 - * @throws \Doctrine\DBAL\Exception  
57 * @author zbj 59 * @author zbj
58 * @date 2023/4/23 60 * @date 2023/4/23
59 */ 61 */
60 - public static function initTable($project_id){  
61 - $project = self::useProject($project_id); 62 + public static function initTable($project)
  63 + {
62 $database_name = DB::connection('custom_tmp_mysql')->getDatabaseName(); 64 $database_name = DB::connection('custom_tmp_mysql')->getDatabaseName();
63 65
64 $table = Schema::connection('custom_tmp_mysql')->getAllTables(); 66 $table = Schema::connection('custom_tmp_mysql')->getAllTables();
65 $table = array_column($table, 'Tables_in_' . $database_name); 67 $table = array_column($table, 'Tables_in_' . $database_name);
66 foreach ($table as $v) { 68 foreach ($table as $v) {
67 $has_table = Schema::connection('custom_mysql')->hasTable($v); 69 $has_table = Schema::connection('custom_mysql')->hasTable($v);
68 - if ($has_table) 70 + if ($has_table) {
69 continue; 71 continue;
  72 + }
70 73
71 - $connection = DB::connection('custom_tmp_mysql');  
72 - $sql = $connection->getDoctrineSchemaManager()  
73 - ->getDatabasePlatform()  
74 - ->getCreateTableSQL($connection->getDoctrineSchemaManager()->listTableDetails($v));  
75 -  
76 - DB::connection('custom_mysql')->select($sql[0]); 74 + $sql = DB::connection('custom_tmp_mysql')->select("SHOW CREATE TABLE {$v}");
  75 + DB::connection('custom_mysql')->statement(get_object_vars($sql[0])['Create Table']);
77 } 76 }
78 return true; 77 return true;
79 } 78 }