ExtensionModuleFieldLogic.php 2.1 KB
<?php
/**
 * @remark :
 * @name   :ExtensionModuleFieldLogic.php
 * @author :lyh
 * @method :post
 * @time   :2024/8/7 16:30
 */

namespace App\Http\Logic\Bside\ExtensionModule;

use App\Http\Logic\Bside\BaseLogic;
use App\Models\ExtentModule\ExtensionModuleField;
use App\Models\ExtentModule\ExtensionModuleValue;

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

    /**
     * @remark :保存字段
     * @name   :saveModuleField
     * @author :lyh
     * @method :post
     * @time   :2024/8/7 16:47
     */
    public function saveModuleField(){
        //先查看当前字段是否存在
        if(isset($this->param['id']) && !empty($this->param['id'])){
            $info = $this->model->read(['field_name'=>$this->param['field_name'],'id'=>['!=',$this->param['id']]]);
        }else{
            $info = $this->model->read(['field_name'=>$this->param['field_name']]);
        }
        if($info !== false){
            $this->fail('当前字段名已存在');
        }
        if(isset($this->param['data']) && !empty($this->param['data'])){
            $this->param['data'] = 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);
        }

        return $this->success(['id'=>$id]);
    }

    /**
     * @remark :删除字段
     * @name   :delModuleField
     * @author :lyh
     * @method :post
     * @time   :2024/8/7 17:14
     */
    public function delModuleField(){
        //查看当前字段是否在使用
        $moduleValueModel = new ExtensionModuleValue();
        $info = $moduleValueModel->read(['field_id'=>$this->param['field_id']]);
        if($info !== false){
            $this->fail('当前字段正在使用中,不允许删除');
        }
        $this->model->del(['id'=>$this->param['field_id']]);
        return $this->success();
    }
}