作者 李宇航

合并分支 'lyh-server' 到 'master'

gx



查看合并请求 !1522
... ... @@ -11,6 +11,7 @@ namespace App\Http\Controllers\Bside\SeoSetting;
use App\Enums\Common\Code;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Bside\SeoSetting\DomainSettingLogic;
use App\Models\Domain\DomainInfo;
use App\Models\WebSetting\WebSetting;
use Illuminate\Http\Request;
... ... @@ -49,52 +50,13 @@ class DomainSettingController extends BaseController
* @method :post
* @time :2025/3/20 11:29
*/
public function save(){
public function save(DomainSettingLogic $logic){
$this->request->validate([
'domain'=>['required'],
],[
'domain.required' => 'domain不能为空',
]);
$domain = parse_url($this->param['domain'], PHP_URL_HOST);
if(!empty($domain)){
$this->param['domain'] = trim($domain['host']);
}
//保存一条主域名记录
try {
$this->saveWebSetting($this->param['domain']);
//添加域名到域名管理
$info = $this->model->read(['project_id'=>$this->user['project_id']]);
if($info === false){
//保存数据
$this->param['domain'] = str_replace('www','blog',$this->param['domain']);
$id = $this->model->addReturnId(['domain'=>$this->param['domain'],'project_id'=>$this->user['project_id'],'belong_to'=>2,'status'=>1]);
$projectModel = new Project();
$projectModel->edit(['domain'=>$id],['project_id'=>$this->user['project_id']]);
}else{
$this->model->edit(['domain'=>$this->param['domain']],['project_id'=>$this->user['project_id']]);
}
}catch (\Exception $e){
$this->fail('保存失败,请联系管理员');
}
$this->response('success');
}
/**
* @remark :保存主域名设置
* @name :saveWebSetting
* @author :lyh
* @method :post
* @time :2025/3/20 15:38
*/
public function saveWebSetting($domain){
$webSettingModel = new WebSetting();
$settingInfo = $webSettingModel->read(['project_id'=>$this->user['project_id']]);
if($settingInfo === false){
$webSettingModel->add(['seo_domain'=>$domain,'project_id'=>$this->user['project_id']]);
}else{
$webSettingModel->edit(['seo_domain'=>$domain],['id'=>$settingInfo['id']]);
}
return $this->success();
$data = $logic->saveDomain();
$this->response('success',Code::SUCCESS,$data);
}
}
... ...
<?php
/**
* @remark :
* @name :DomainSettingLogic.php
* @author :lyh
* @method :post
* @time :2025/3/20 16:01
*/
namespace App\Http\Logic\Bside\SeoSetting;
use App\Http\Logic\Bside\BaseLogic;
use App\Models\SeoSetting\KeywordUrl;
use App\Models\WebSetting\WebSetting;
class DomainSettingLogic extends BaseLogic
{
public function __construct()
{
parent::__construct();
$this->param = $this->requestAll;
}
/**
* @remark :保存设置
* @name :saveDomain
* @author :lyh
* @method :post
* @time :2025/3/20 16:12
*/
public function saveDomain(){
$domain = parse_url($this->param['domain'], PHP_URL_HOST);
if(!empty($domain)){
$this->param['domain'] = trim($domain['host']);
}
//保存一条主域名记录
try {
$this->saveWebSetting($this->param['domain']);
//添加域名到域名管理
$info = $this->model->read(['project_id'=>$this->user['project_id']]);
if($info === false){
//保存数据
$this->param['domain'] = str_replace('www','blog',$this->param['domain']);
$id = $this->model->addReturnId(['domain'=>$this->param['domain'],'project_id'=>$this->user['project_id'],'belong_to'=>2,'status'=>1]);
$projectModel = new Project();
$projectModel->edit(['domain'=>$id],['project_id'=>$this->user['project_id']]);
}else{
$this->model->edit(['domain'=>$this->param['domain']],['project_id'=>$this->user['project_id']]);
}
}catch (\Exception $e){
$this->fail('保存失败,请联系管理员');
}
}
/**
* @remark :保存主域名设置
* @name :saveWebSetting
* @author :lyh
* @method :post
* @time :2025/3/20 15:38
*/
public function saveWebSetting($domain){
$webSettingModel = new WebSetting();
$settingInfo = $webSettingModel->read(['project_id'=>$this->user['project_id']]);
if($settingInfo === false){
$webSettingModel->add(['seo_domain'=>$domain,'project_id'=>$this->user['project_id']]);
}else{
$webSettingModel->edit(['seo_domain'=>$domain],['id'=>$settingInfo['id']]);
}
return $this->success();
}
}
... ...