作者 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;
use App\Helper\Arr;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\DeptLogic;
use App\Http\Requests\Aside\DeptRequest;
use App\Http\Logic\Aside\Manage\DeptLogic;
use App\Http\Requests\Aside\Manage\DeptRequest;
use App\Rules\Ids;
use Illuminate\Http\Request;
... ...
... ... @@ -4,8 +4,8 @@ namespace App\Http\Controllers\Aside\Manage;
use App\Helper\Arr;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\GroupLogic;
use App\Http\Requests\Aside\GroupRequest;
use App\Http\Logic\Aside\Manage\GroupLogic;
use App\Http\Requests\Aside\Manage\GroupRequest;
use App\Rules\Ids;
use Illuminate\Http\Request;
... ...
... ... @@ -4,8 +4,8 @@ namespace App\Http\Controllers\Aside\Manage;
use App\Helper\Arr;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\ManageLogic;
use App\Http\Requests\Aside\ManageRequest;
use App\Http\Logic\Aside\Manage\ManageLogic;
use App\Http\Requests\Aside\Manage\ManageRequest;
use App\Rules\Ids;
use Illuminate\Http\Request;
... ...
... ... @@ -4,8 +4,8 @@ namespace App\Http\Controllers\Aside\Manage;
use App\Helper\Arr;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\MenuLogic;
use App\Http\Requests\Aside\MenuRequest;
use App\Http\Logic\Aside\Manage\MenuLogic;
use App\Http\Requests\Aside\Manage\MenuRequest;
use App\Rules\Ids;
use Illuminate\Http\Request;
... ...
... ... @@ -5,7 +5,7 @@ namespace App\Http\Controllers\Bside\Product;
use App\Helper\Arr;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Bside\Product\AttrLogic;
use App\Http\Requests\Bside\product\AttrRequest;
use App\Http\Requests\Bside\Product\AttrRequest;
use App\Rules\Ids;
use Illuminate\Http\Request;
... ...
... ... @@ -5,7 +5,7 @@ namespace App\Http\Controllers\Bside\Product;
use App\Helper\Arr;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Bside\Product\CategoryLogic;
use App\Http\Requests\Bside\product\CategoryRequest;
use App\Http\Requests\Bside\Product\CategoryRequest;
use App\Rules\Ids;
use Illuminate\Http\Request;
... ...
... ... @@ -5,7 +5,7 @@ namespace App\Http\Controllers\Bside\Product;
use App\Helper\Arr;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Bside\Product\DescribeLogic;
use App\Http\Requests\Bside\product\DescribeRequest;
use App\Http\Requests\Bside\Product\DescribeRequest;
use App\Rules\Ids;
use Illuminate\Http\Request;
... ...
... ... @@ -5,7 +5,7 @@ namespace App\Http\Controllers\Bside\Product;
use App\Helper\Arr;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Bside\Product\KeywordLogic;
use App\Http\Requests\Bside\product\KeywordRequest;
use App\Http\Requests\Bside\Product\KeywordRequest;
use App\Rules\Ids;
use Illuminate\Http\Request;
... ...
... ... @@ -7,7 +7,7 @@ use App\Exceptions\BsideGlobalException;
use App\Helper\Arr;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Bside\Product\ProductLogic;
use App\Http\Requests\Bside\product\ProductRequest;
use App\Http\Requests\Bside\Product\ProductRequest;
use App\Rules\Ids;
use Illuminate\Http\Request;
... ...
<?php
namespace App\Http\Logic\Aside;
namespace App\Http\Logic\Aside\Manage;
use App\Helper\Arr;
use App\Http\Logic\Aside\BaseLogic;
use App\Models\Manage\Dept;
use Illuminate\Database\Eloquent\Model;
/**
* Class DeptLogic
... ...
<?php
namespace App\Http\Logic\Aside;
namespace App\Http\Logic\Aside\Manage;
use App\Helper\Arr;
use App\Http\Logic\Aside\BaseLogic;
use App\Models\Manage\Group;
/**
... ...
<?php
namespace App\Http\Logic\Aside;
namespace App\Http\Logic\Aside\Manage;
use App\Helper\Arr;
use App\Http\Logic\Aside\BaseLogic;
use App\Models\Manage\Manage;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Hash;
/**
... ...
<?php
namespace App\Http\Logic\Aside;
namespace App\Http\Logic\Aside\Manage;
use App\Helper\Arr;
use App\Http\Logic\Aside\BaseLogic;
use App\Models\Manage\Menu;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Str;
... ...
... ... @@ -3,7 +3,9 @@
namespace App\Http\Logic\Aside;
use App\Models\ServerConfig;
use App\Services\ProjectServer;
use Illuminate\Support\Facades\DB;
/**
... ... @@ -35,9 +37,14 @@ class ServerConfigLogic extends BaseLogic
$data['mysql_id'] = $res['id'];
}
//todo 创建数据库 初始化表
(new ProjectLogic())->save($data);
(new ProjectLogic)->save($data);
//数据库配置
$project = ProjectServer::useProject($param['project_id']);
//创建数据库
ProjectServer::createDatabase($project);
//创建表
ProjectServer::initTable($project);
DB::commit();
} catch (\Exception $e) {
... ...
<?php
namespace App\Http\Requests\Aside;
namespace App\Http\Requests\Aside\Manage;
use Illuminate\Foundation\Http\FormRequest;
... ...
<?php
namespace App\Http\Requests\Aside;
namespace App\Http\Requests\Aside\Manage;
use App\Models\Manage\Group;
use Illuminate\Foundation\Http\FormRequest;
... ...
<?php
namespace App\Http\Requests\Aside;
namespace App\Http\Requests\Aside\Manage;
use App\Models\Manage\Manage;
use App\Rules\Mobile;
... ...
<?php
namespace App\Http\Requests\Aside;
namespace App\Http\Requests\Aside\Manage;
use App\Models\Manage\Menu;
use Illuminate\Foundation\Http\FormRequest;
... ...
<?php
namespace App\Http\Requests\Bside\product;
namespace App\Http\Requests\Bside\Product;
use Illuminate\Foundation\Http\FormRequest;
... ...
<?php
namespace App\Http\Requests\Bside\product;
namespace App\Http\Requests\Bside\Product;
use Illuminate\Foundation\Http\FormRequest;
... ...
<?php
namespace App\Http\Requests\Bside\product;
namespace App\Http\Requests\Bside\Product;
use Illuminate\Foundation\Http\FormRequest;
... ...
<?php
namespace App\Http\Requests\Bside\product;
namespace App\Http\Requests\Bside\Product;
use Illuminate\Foundation\Http\FormRequest;
... ...
<?php
namespace App\Http\Requests\Bside\product;
namespace App\Http\Requests\Bside\Product;
use App\Enums\Common\Code;
use App\Exceptions\BsideGlobalException;
... ...
... ... @@ -78,25 +78,25 @@ class ServerConfig extends Base
/**
* @return mixed
*/
public function getUserAttribute()
public function getUserAttribute($value)
{
return decrypt($this->user);
return decrypt($value);
}
/**
* @return mixed
*/
public function getPasswordAttribute()
public function getPasswordAttribute($value)
{
return decrypt($this->password);
return decrypt($value);
}
/**
* @return mixed
*/
public function getPortAttribute()
public function getPortAttribute($value)
{
return decrypt($this->port);
return decrypt($value);
}
}
... ...
... ... @@ -28,11 +28,11 @@ class ProjectServer extends BaseService
if (empty($project))
return false;
// 设置 database.connections.custom_mysql 配置
config(['database.connections.custom_mysql.host' => $project->mysqlConfig()->host]);
config(['database.connections.custom_mysql.port' => $project->mysqlConfig()->port]);
config(['database.connections.custom_mysql.host' => $project->mysqlConfig->host]);
config(['database.connections.custom_mysql.port' => $project->mysqlConfig->port]);
config(['database.connections.custom_mysql.database' => $project->databaseName()]);
config(['database.connections.custom_mysql.username' => $project->mysqlConfig()->user]);
config(['database.connections.custom_mysql.password' => $project->mysqlConfig()->password]);
config(['database.connections.custom_mysql.username' => $project->mysqlConfig->user]);
config(['database.connections.custom_mysql.password' => $project->mysqlConfig->password]);
// 设置 redis 配置
return $project;
}
... ... @@ -40,40 +40,39 @@ class ProjectServer extends BaseService
/**
* 创建数据库
* @param $project_id
* @param $project
* @return bool
* @author zbj
* @date 2023/4/23
*/
public static function createDatabase($project_id){
$project = self::useProject($project_id);
DB::connection('custom_mysql')->statement("CREATE DATABASE IF NOT EXISTS {$project->databaseName()}");
public static function createDatabase($project)
{
$conn = new \mysqli($project->mysqlConfig->host, $project->mysqlConfig->user, $project->mysqlConfig->password);
$conn->query("CREATE DATABASE IF NOT EXISTS {$project->databaseName()}");
return true;
}
/**
* @param $project_id
* @param $project
* @return bool
* @throws \Doctrine\DBAL\Exception
* @author zbj
* @date 2023/4/23
*/
public static function initTable($project_id){
$project = self::useProject($project_id);
public static function initTable($project)
{
$database_name = DB::connection('custom_tmp_mysql')->getDatabaseName();
$table = Schema::connection('custom_tmp_mysql')->getAllTables();
$table = array_column($table, 'Tables_in_' . $database_name);
foreach ($table as $v) {
$has_table = Schema::connection('custom_mysql')->hasTable($v);
if ($has_table)
if ($has_table) {
continue;
}
$connection = DB::connection('custom_tmp_mysql');
$sql = $connection->getDoctrineSchemaManager()
->getDatabasePlatform()
->getCreateTableSQL($connection->getDoctrineSchemaManager()->listTableDetails($v));
DB::connection('custom_mysql')->select($sql[0]);
$sql = DB::connection('custom_tmp_mysql')->select("SHOW CREATE TABLE {$v}");
DB::connection('custom_mysql')->statement(get_object_vars($sql[0])['Create Table']);
}
return true;
}
... ...