作者 liyuhang

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

... ... @@ -7,9 +7,7 @@ namespace App\Console\Commands;
use App\Helper\Arr;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\DB;
use Symfony\Component\Process\Process;
class DiffDb extends Command
{
... ... @@ -34,21 +32,12 @@ class DiffDb extends Command
public function handle()
{
//C端
// $process = new Process(['git', 'pull']);
// $process->run();
// dump($process->getExitCodeText());
// dump($process->getExitCode());
// dump($process->getErrorOutput());
// $output = explode(PHP_EOL, $process->getOutput());
// dump($output);
// exit;
$custom_mysql_config = [
'database.connections.custom_mysql.host' => '43.154.15.250',
'database.connections.custom_mysql.port' => '6063',
'database.connections.custom_mysql.database' => 'globalso_v6',
'database.connections.custom_mysql.username' => 'globalso_v6',
'database.connections.custom_mysql.password' => 'PFxFdzj4ha6w7T3j',
'database.connections.custom_mysql.host' => '127.0.0.1',
'database.connections.custom_mysql.port' => '3306',
'database.connections.custom_mysql.database' => 'globalso_project_1',
'database.connections.custom_mysql.username' => 'root',
'database.connections.custom_mysql.password' => 'root',
];
config($custom_mysql_config);
... ...
<?php
namespace App\Http\Controllers\Aside\Devops;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Aside\Devops\ServerConfigLogic;
use App\Http\Requests\Aside\Devops\ServerConfigRequest;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
use Illuminate\Validation\Rule;
/**
* 项目服务器、数据库配置
* Class ServerConfigController
* @package App\Http\Controllers\Aside
* @author zbj
* @date 2023/4/24
*/
class ServerConfigController extends BaseController
{
/**
* 保存配置
* @param ServerConfigRequest $request
* @param ServerConfigLogic $logic
* @author zbj
* @date 2023/4/23
*/
public function save(ServerConfigRequest $request, ServerConfigLogic $logic){
$data = $logic->save($this->param);
return $this->success($data);
}
/**
* 更新表结构
* @param ServerConfigLogic $logic
* @author zbj
* @date 2023/4/24
*/
public function updateDatabase(Request $request, ServerConfigLogic $logic){
$request->validate([
'type' => 'in:1,2,3',
'id'=> Rule::requiredIf($request->type == 1),
'sql' => ['required', function ($attribute, $value, $fail) {
if(Str::contains(Str::lower($value), ['drop', 'delete', 'truncate'])){
$fail('危险操作');
}
}]
],[
'id.required' => 'ID不能为空',
'sql.required' => '请输入Sql语句',
]);
switch ($this->param['type']){
case "1":
$data = $logic->updateTable($this->param);
break;
case "2":
$data = $logic->updateLocalTable($this->param);
break;
case "3":
$data = $logic->updateAllTable($this->param);
break;
}
return $this->success($data);
}
/**
* 更新代码
* @param ServerConfigLogic $logic
* @author zbj
* @date 2023/4/24
*/
public function updateCode(){
//todo
//C端
// $process = new Process(['git', 'pull']);
// $process->run();
// dump($process->getExitCodeText());
// dump($process->getExitCode());
// dump($process->getErrorOutput());
// $output = explode(PHP_EOL, $process->getOutput());
// dump($output);
// exit;
}
}
... ...
... ... @@ -5,13 +5,7 @@ namespace App\Http\Controllers\Aside;
use App\Enums\Common\Code;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Aside\ServerConfigLogic;
use App\Http\Requests\Aside\ServerConfigRequest;
use App\Models\Project as ProjectModel;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
use Illuminate\Validation\Rule;
use Illuminate\Validation\ValidationException;
/**
* @name:项目信息
... ... @@ -39,51 +33,4 @@ class ProjectController extends BaseController
public function add(){
$projectModel = new ProjectModel();
}
/**
* 保存配置
* @param ServerConfigRequest $request
* @param ServerConfigLogic $logic
* @author zbj
* @date 2023/4/23
*/
public function saveServerConfig(ServerConfigRequest $request, ServerConfigLogic $logic){
$data = $logic->save($this->param);
return $this->success($data);
}
/**
* 更新表结构
* @param ServerConfigLogic $logic
* @author zbj
* @date 2023/4/24
*/
public function updateDatabase(Request $request, ServerConfigLogic $logic){
$request->validate([
'type' => 'in:1,2,3',
'id'=> Rule::requiredIf($request->type == 1),
'sql' => ['required', function ($attribute, $value, $fail) {
if(Str::contains(Str::lower($value), ['drop', 'delete', 'truncate'])){
$fail('危险操作');
}
}]
],[
'id.required' => 'ID不能为空',
'sql.required' => '请输入Sql语句',
]);
switch ($this->param['type']){
case "1":
$data = $logic->updateTable($this->param);
break;
case "2":
$data = $logic->updateLocalTable($this->param);
break;
case "3":
$data = $logic->updateAllTable($this->param);
break;
}
return $this->success($data);
}
}
... ...
<?php
namespace App\Http\Logic\Aside;
namespace App\Http\Logic\Aside\Devops;
use App\Http\Logic\Aside\BaseLogic;
use App\Http\Logic\Aside\Project\ProjectLogic;
use App\Models\Project;
use App\Models\ServerConfig;
use App\Services\ProjectServer;
... ...
<?php
namespace App\Http\Logic\Aside;
namespace App\Http\Logic\Aside\Project;
use App\Http\Logic\Aside\BaseLogic;
use App\Models\Project;
class ProjectLogic extends BaseLogic
... ...
<?php
namespace App\Http\Requests\Aside;
namespace App\Http\Requests\Aside\Devops;
use App\Models\ServerConfig;
use Illuminate\Foundation\Http\FormRequest;
... ...
... ... @@ -44,8 +44,17 @@ Route::middleware(['web'])->group(function (){ //admin用渲染默认要加上w
//项目管理
Route::prefix('project')->group(function () {
Route::post('/save_server_config', [Aside\ProjectController::class, 'saveServerConfig'])->name('admin.project.save_server_config');
Route::post('/update_database', [Aside\ProjectController::class, 'updateDatabase'])->name('admin.project.update_database');
});
//运维
Route::prefix('devops')->group(function () {
//服务器配置
Route::prefix('server_config')->group(function () {
Route::post('/save', [Aside\Devops\ServerConfigController::class, 'save'])->name('admin.devops.server_config.save');
Route::post('/update_database', [Aside\Devops\ServerConfigController::class, 'updateDatabase'])->name('admin.devops.server_config.update_database');
Route::post('/update_code', [Aside\Devops\ServerConfigController::class, 'updateCode'])->name('admin.devops.server_config.update_code');
});
});
});
... ...