ExtensionModuleLogic.php 2.4 KB
<?php
/**
 * @remark :
 * @name   :ExtensionModuleLogic.php
 * @author :lyh
 * @method :post
 * @time   :2024/8/7 15:48
 */

namespace App\Http\Logic\Aside\ExtensionModule;

use App\Http\Logic\Bside\BaseLogic;
use App\Models\ExtentModule\ExtensionModule;
use App\Models\ExtentModule\ExtensionModuleField;
use App\Services\ProjectServer;
use Illuminate\Support\Facades\DB;

class ExtensionModuleLogic extends BaseLogic
{
    public function __construct()
    {
        parent::__construct();
        $this->param = $this->requestAll;
    }

    /**
     * @remark :保存数据
     * @name   :saveExtensionModule
     * @author :lyh
     * @method :post
     * @time   :2024/8/7 15:50
     */
    public function saveExtensionModule(){
        ProjectServer::useProject($this->param['project_id']);
        unset($this->param['project_id']);
        $this->model = new ExtensionModule();
        //查看数据是否存在
        if(isset($this->param['id']) && !empty($this->param['id'])){
            $info = $this->model->read(['title'=>$this->param['title'],'id'=>['!=',$this->param['id']]]);
        }else{
            $info = $this->model->read(['title'=>$this->param['title']]);
        }
        if($info !== false){
            $this->fail('当前拓展数据名称已存在');
        }
        $this->param['data'] = empty($this->param['data']) ? null : json_encode($this->param['data']);
        if(isset($this->param['id']) && !empty($this->param['id'])){
            $id = $this->param['id'];
            $this->model->edit($this->param,['id'=>$id]);
        }else{
            $id = $this->model->addReturnId($this->param);
        }
        DB::disconnect('custom_mysql');
        return $this->success(['id'=>$id]);
    }

    /**
     * @remark :删除扩展数据模块
     * @name   :delExtensionModule
     * @author :lyh
     * @method :post
     * @time   :2024/8/7 16:07
     */
    public function delExtensionModule(){
        ProjectServer::useProject($this->param['project_id']);
        unset($this->param['project_id']);
        $moduleFiledModel = new ExtensionModuleField();
        $info = $moduleFiledModel->read(['module_id'=>$this->param['id']]);
        if($info !== false){
            $this->fail('请先删除当前模块的字段,在进行删除');
        }
        $this->model = new ExtensionModule();
        $this->model->del(['id'=>$this->param['id']]);
        DB::disconnect('custom_mysql');
        return $this->success();
    }
}